当前位置: 首页 > wzjs >正文

帝国网站管理系统入门教程今日头条国际军事新闻

帝国网站管理系统入门教程,今日头条国际军事新闻,厦门跨境建站平台,深圳公司装修设计一、RAM分类及ROM分类 1.1 RAM的分类 1.2 ROM的分类 注意:flash闪存中,nor flash是可被CPU直接寻址的,用于存放系统启动程序; nand flash不可被CPU寻址,用于存放额外文件,如文件视频等 ARM的指令集&#x…

一、RAM分类及ROM分类

1.1 RAM的分类

1.2 ROM的分类

注意:flash闪存中,nor flash是可被CPU直接寻址的,用于存放系统启动程序;

                                 nand flash不可被CPU寻址,用于存放额外文件,如文件视频等

ARM的指令集:

        ARM指令集(32bit)

        Thumb指令集(16bit) 

二、ARM处理器工作模式

2.1 ARM的工作模式

ARM有7个基本工作模式:

  • User:非特权模式,大部分任务执行在这种模式;
  • FIQ :当一个高优先级(fast)中断产生时将会进入这种模式;
  • IRQ:当一个低优先级(normal)中断产生时将会进入这种模式;
  • Supervisor:当复位或软中断指令执行时将会进入这种模式;
  • Abort:当存取异常时将会进入这种模式;
  • Undef:当执行未定义指令时会进入这种模式;
  • System:使用和User模式相同寄存器集的特权模式;
  • Cortex-A特有模式;
  • Monitor:(监视模式)是为了安全而扩展出的用于执行安全监控代码的模式:也是一种特权模式; 

2.2 寄存器组织概要

  • 不同的工作模式下,各自管理不同的栈(SP和LR); 

2.3 程序状态寄存器

2.4 异常处理


 注意:

  • 中断的本质也是一种异常;
  • 异常向量表:用于存储不同类型异常发生时,处理器跳转到特定的异常处理程序的地址;

        FIQ中断;

        IRQ中断;

        (保留);

        数据异常;

        预取异常;

        软中断异常;

        未定义异常;

        复位异常;

三、RAM指令学习

  • Keil学习基础指令;
  • 使用指令操作相应端口; 

 

3.1 mov指令

mov指令:加载12位立即数到寄存器或转移一个寄存器的值到另外一个寄存器

mov r0, #2 ;加载立即数2到寄存器r0,MOV{S}<c> <Rd>, #<const>

mov r1, r0 ;将r0寄存器的值加载到r1,MOV{S}<c> <Rd>, <Rm>


  • ASR算术右移
  • LSL逻辑左移

3.2 mvn指令

将要装载的数按位取反

 

3.3 add指令

add指令常用的两种方式:

ADD{S}<c> <Rd>, <Rn>, #<const>

ADDS}<c> <Rd>, <Rn>, <Rm>{, <shift>}

3.4 sub指令

SUB{S}<c> <Rd>, <Rn>, #<const>

SUB{S}<c> <Rd>, <Rn>, <Rm>{, <shift>}

以上四条指令都有立即数作为第二操作数的情况,那么是什么立即数呢?准确的说这里所指的是12位立即数imm12。先说怎么判断某数是不是12位立即数,12位立即数的条件是:

  1. 如果某个数的数值范围是0~0xFF之间,那么这个数一定是立即数;
  2. 把某个数展开成2进制,这个数的最高位1至最低位1之间的二进制数序列的位数不能超过8位;
  3. 这个数的二进制序列凑够8位之后的的右边必须为偶数个连续的 0

3.5 ldr指令

ldr寄存器加载指令:

LDR{<c>}{<q>} <Rt>, <label> ;如ldr r0, =0x2FAB4

ldr指令多用于从ram中将一个32位的字数据传送到目的寄存器中

LDR<c> <Rt>, [<Rn>{, #+/-<imm12>}]

如:LDR   R0,[R1,#4]             //将内存地址为R1+4的字数据读入寄存器R0

LDR<c> <Rt>, [<Rn>], #+/-<imm12>

如:ldr r0, [r1], #8 ;将内存地址R1的字数据读入r0,之后r1+8

LDR<c> <Rt>, [<Rn>, #+/-<imm12>]!

如:LDR   R0,[R1,#8] !          ;将存储器地址为R1+8的字数据读入寄存器R0,并将新地址R1+8写入R1。

 

3.6 str指令

str 将数据存入地址中

如上图中,将r1的内容,写入r0+4的地址 

3.7 bic指令

bic指定位清零指令:

BIC{S}<c> <Rd>, <Rn>, #<const>;将rn中的字数据const为1的比特清零,把结果放入rd 

3.8 orr指令

orr指定位置位指令:

ORR{S}<c> <Rd>, <Rn>, #<const>

        汇编指令的s后缀,几乎所有的汇编指令都可以在指令后面加上s后缀,s后缀的含义是在指令执行过程中会更新cpsr寄存器的N,V,C,Z位

  1. N:在结果是有符号的二进制补码情况下,如果结果为负数,则N=1;如果结果为非负数,则N=0
  2. Z:如果结果为0,则Z=1;如果结果为非零,否则Z=0
  3. C:是针对无符号数最高有效位向更高位进位时C=1;减法中运算结果的最高有效位从更高位借位时C=0
  4. V:该位是针对有符号数的操作,会在下面两种情形变为1,两个最高有效位均为0的数相加,得到的结果最高有效位为1;两个最高有效位均为1的数相加,得到的结果最高有效位为0;除了这两种情况以外V位为0

<c>自选地增加执行条件

3.9 cmp指令

CMP比较指令用于比较两个寄存器的值或者比较一个寄存器和立即数的值,其原理是对待比较的两个数求差,看结果是否为0,这个指令会无条件修改N,V,C,Z位。

3.10 b指令

        b指令类似c语言的goto语句,能够实现无条件跳转。跳转时需要一个lable,表示要跳转到什么地方去 

 

http://www.dtcms.com/wzjs/201901.html

相关文章:

  • 企业建站公司电话上海网络推广团队
  • 建设网站具备的知识英语培训
  • 百度云搜索引擎网站百度快速排名化
  • 有专门做最佳推荐的网站seo免费教程
  • 校园网站模板营销计划书7个步骤
  • 卫计局本年度网站建设工作总结女生seo专员很难吗为什么
  • 深圳网站制作网站建设怎么制作网站深圳博纳免费做网站网站的软件
  • wordpress安装地址郑州seo排名第一
  • 南昌网站免费制作网络优化app哪个好
  • wordpress电商插件seo搜索引擎优化试题及答案
  • 做网站的标签什么意思企业推广宣传方式
  • 微信网站怎么制作流量神器
  • 网站建设管理界面抖音关键词排名查询工具
  • 郑州做商城网站上海网络营销seo
  • 做自媒体常用的图片网站成都关键词排名推广
  • jsp做网站下载图片seo视频教程百度云
  • 个人做电商网站赚钱吗朋友圈的广告推广怎么弄
  • 用wordpress做音乐网站最新舆情信息网
  • 个人申请营业执照流程网站优化外包找谁
  • 一个网站怎么推广网店运营流程步骤
  • 做网站设计电脑需要什么配置交换友情链接的注意事项
  • 清徐网站建设seochinaz查询
  • 纯静态网站是有什么程序做的精准大数据获客系统
  • 合肥做公司网站广东云浮疫情最新情况
  • 通化好的网站建设的公司临沂做网络优化的公司
  • 腾讯云备案流程做优化的网站
  • jquery 网站根目录下载官方正版百度
  • 网络规划设计师教程第二版电子版下载商丘seo外包
  • 河南工程招标网站seo怎么收费seo
  • 企业网站建设前期规划软文范例500字