寄存器移位ARM指令.PPT

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
寄存器移位ARM指令

* * * * * 条件码 ,MI- 负数 minus sign 负号 PL- 正数 plus sign 正号 multiplication * * 关于偏移量及寻址方式和指令格式的讲解,需要结合 编码结构图 尤其是BLX的两种格式 * 问题: 为什么24位偏于量,范围是+- 32MB , +-32MB 26位 因为ARM 强制边界对准,ARM指令地址的最低两位一定为0,所以便宜地址不表示最低两个0 * * * * * MOV R1,0x13 MSREQ CPSR,R1 也可以用指令 MSREQ CPSR,#0x13代替 * 每根输出线与所有的输入线都有交点,最终输出值取决于移动控制信号控制的开关到底闭合于哪一处,因此支持所有的多位数的左、右移操作。 图示,4位移位器,支持左、右移1-3位。 如果左移1位,控制信号有效,对应开关闭合,Out[1]=In[0],Out[2] =In[1],Out[3] = In[2] ,Out[0]补0。 * 附2-- 桶形移位器 开关矩阵 In[3] In[2] In[1] In[0] Out[3] O[2] O[1] O[0] 0= 左移1位 * * * * * * * * * * * * * * * * * * * * Pre indexing- add offset before transfer; Post indexing – add offset after transfer * * * * * * * * 此处,loop和Subr1标号书写错误,出现了大小写不一致问题,供大家思考 * * * ARM指令集-数据处理指令 助记符 指令格式 操作 MOV MOV{cond}{s}Rd,operand Rd=op MVN MVN{cond}{s}Rd, operand Rd=0xFFFFFFFF xor op Operand可以是立即数、寄存器或寄存器移位寻址方式 MVN指令对operand取反后,传送到目的寄存器 MOV/MVN,在加上后缀“S”后,可根据传送数据影响CPSR标志位 – N、Z、C(如果operand使用移位寻址) 数据传送指令 实现立即数、寄存器、寄存器移位到目的寄存器的数据传送 特殊用法: ----------------------- 已知X求 –X MVN取反,加1即可 ----------------------- 中断返回 MOVS pc ,lr 恢复pc断点,同时将spsr拷贝回cpsr ARM指令集-数据处理指令 助记符 指令格式 操作 ADD ADD{cond}{s}Rd,Rn,operand2 Rd=Rn+op2 ADC ADC{cond}{s}Rd,Rn,operand2 Rd=Rn+op2+C SUB SUB {cond}{s}Rd,Rn,operand2 Rd=Rn-op2 SBC SUC {cond}{s}Rd,Rn,operand2 Rd=Rn-op2-1+C RSB RSB{cond}{s}Rd,Rn,operand2 Rd=op2-Rn RSC RSC{cond}{s}Rd,Rn,operand2 Rd=op2-Rn-1+C 算术指令列表 指令格式统一,operand2允许三种寻址方式: 立即数,寄存器,寄存器移位 ARM指令集-指令应用举例 e.g 实现两个128位数据的加/减 首先将第一个数放在R4,5,6,7中,第二个数放在R8,9,10,11中,结果存放在R0,1,2,3中 ADDS R0,R4,R8 ADCS R1,R5,R9 ADCS R2,R6,R10 ADCS R3,R7,R10 请大家写减法程序段 e.g 使用寄存器移位寻址,优化简单乘法 ;r0 = 10 ×r1 MOV r0, r1, LSL #3 ADD r0, r0, r1,LSL #1 已知 X, 利用减法求-X ARM指令集-数据处理指令 助记符 指令格式 操作 AND AND{cond}{s}Rd,Rn,operand2 Rd=Rn and op2 ORR ORR{cond}{s}Rd,Rn,operand2 Rd=Rn or op2 EOR EOR{cond}{s}Rd,Rn,operand2 Rd=Rn xor op2 BIC BIC{cond}{s} Rd,Rn,operand2 Rd=Rn and (!op2) 指令格式与算术指令相同,operand2支持三种寻址 逻辑指令,(加上后缀”S”)根据结果影响CPSR的N和Z标志,如果operand2采用寄存器移

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档