- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM微处理器是基于精简指令集计算机(RISC)原理设计的。ARM体系提供两种指令集:32位的ARM指令集和16位的Thumb指令集。ARM指令集执行效率高,但是代码密度低。 Thumb指令集是ARM指令集的功能子集,它具有较高的代码密度,同时保持了ARM大多数性能上的优势。ARM程序和Thumb程序可以相互调用,且两种状态之间的切换开销几乎为零。 4.1.1 ARM指令介绍 ARM指令包括数据处理指令、数据传送指令、控制流指令、分支、陷入系统代码。 ARM指令字长为固定的32位,基本格式如下: opcode{cond}{S}Rd,Rn,{operand2} 其中号内的项是必需的,{}号内的项是可选的。各项的含义如下: ? ?opcode:指令助记符,如AND表示逻辑与指令; ? ?cond:指令执行条件; ? ?S:指令的操作是否影响CPRS寄存器的值; ? ?Rd:目标寄存器; ? ?Rn:包含第一个操作数的寄存器; ? ?operand2:第二个操作数。 指令中的第二个操作数“operand2”有很多表示方法,灵活地使用这些表示方法能够提高代码效率。它包括以下形式。 表4.1 ARM指令编码格式 1. 常数表达式 常数表达式?#immed_8r必须对应8位位图,即是由一个8位的常数通过循环右移偶数位得到。所以不是每一个32位的常数都是合法的,只有通过以上的移位方法得到的常数才是合法的。 合法的常量如下: 0xff,0x3fc,0xff00,0x104,200。 不合法的常量如下: 0x102,0x1010,511,0xff1,0xffff。 常量表达式应用示例如下: MOV R0, #0X104 ;令R0的数值为0X104 AND R1, R2, #0xff ;R2和0xff与,并把结果保存在R1中 2. 寄存器方式 在寄存器方式Rm下,指令的操作数“operand2”为寄存器的数值。 寄存器方式应用示例如下: MOV R1, R3 ;将R3的数值放到R1中 SUB R1, R2, R3 ;R1的数值等于R2的数值减去R3的数值 3. 寄存器移位方式 在寄存器移位方式下,指令的操作数“operand2”为寄存器移位后所得的结果。 移位方式如下: LSL #m ;逻辑左移m位(1≤m≤31) LSR #m ;逻辑右移m位(1≤m≤31) ASL #m ;算术左移m位(1≤m≤32) ASR #m ;算术右移m位(1≤m≤32) ROR #m ;循环右移m位(1≤m≤31) RRX ;右移一位,并用CPSR中的C条件标志位填补空出的位 寄存器移位方式应用示例如下: ADD R1, R1, R1, LSL #4 ;R1=R1+R1*24=R1*17 SUB R1, R1, R2, LSR R3 ;R1=R1-R2/2R3 ARM指令中的第28~32位是给cond用的,它可以组成16种条件码。当ARM微处理器工作在ARM状态时,所有的指令都是根据CPSR中的条件标志位状态与指令的条件码是否符合来决定是否执行。当执行的条件满足时就执行该命令,否则指令被忽略,转向下一条指令。例如,在跳转指令B后面加上后缀EQ(即BEQ),则表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转。 16种条件码的含义及助记符如表4.2所示,其中只有15种可以使用,第16种(1111)为系统保留。 表4.2 16种条件码的含义及助记符 续表 4.1.2 ARM指令寻址方式 寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。ARM指令的寻址方式有以下几种。 1. 立即寻址 立即寻址又叫做立即数寻址,操作码字段后面的地址部分就是操作数,即数据就包含在指令当中,那么取出指令也就取到了操作数。 立即寻址方式示例如下: MOV R0, #0x104 ;R0←0x104 ADD R0, R1, #200 ;R0←R1 + 200 2. 寄存器寻址 指令中的地址码字段指定了寄存器的编号,将寄存器中的数值作为操作数。执行指令时直接取出寄存器中的数值进行操作,这种寻址方式的效率比较高。 寄存器寻址方式示例如下: SUB R0, R1, R2
您可能关注的文档
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 05.ppt
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 06.ppt
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 07.ppt
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 08.ppt
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 09.ppt
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 10.ppt
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 11.ppt
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 12.ppt
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 13.ppt
- 3ds Max+ VRay室内 外 效果图制作 作者 关松涛 14.ppt
- ARM嵌入式系统基础及应用第一版 作者 黄俊 全书 第5章.ppt
- ARM嵌入式系统基础及应用第一版 作者 黄俊 全书 第6章.ppt
- ARM嵌入式系统基础及应用第一版 作者 黄俊 全书 第7章.ppt
- ARM嵌入式系统基础及应用第一版 作者 黄俊 全书 第8章.ppt
- ARM嵌入式系统基础及应用第一版 作者 黄俊 全书 第9章.ppt
- ARM嵌入式系统基础及应用第一版 作者 黄俊 全书 第10章.ppt
- ARM嵌入式系统原理及应用开发 作者 谭会生 1-5 第2章 ARM嵌入式处理器体系结构.ppt
- ARM嵌入式系统原理及应用开发 作者 谭会生 1-5 第5章.ppt
- ARM嵌入式系统原理及应用开发 作者 谭会生 6-10 第6章.ppt
- ARM嵌入式系统原理及应用开发 作者 谭会生 6-10 第8章.ppt
文档评论(0)