第2章 ARM指令分类及寻址方式备份.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 ARM指令分类及寻址方式 ARM指令的分类 ARM指令可以分为跳转指令、数据处理指令、程序状态传输指令、Load/Store指令、 协处理器和异常中断产生指令6类 2.1 ARM指令的一般格式 ??说明?? Cond?? 指令执行的条件编码?? Opcode?? 指令操作符编码?? S?? 决定指令的操作是否影响CPSR的值?? Rd?? 操作目标寄存器编码?? Rn?? 包含第一操作数的寄存器编码?? Shifter_operand?? 表示第二操作数 2.1 ARM指令的一般格式 ARM指令集——条件码 ARM指令集——条件码 2.1 ARM指令的一般格式 ARM指令集——条件码 2.1 ARM指令的一般格式 ARM指令集——条件码 2.1 ARM指令的一般格式 ARM指令集——指令格式 2.1 ARM指令的一般格式 一条指令代码的举例: ADDEQ R5,R7,R3,LSL #2 ;若条件满足Z=1,将R3左移2位与R7相加放入R5 这条指令的二进制编码是: 2.1 ARM指令的一般格式 ARM指令中的第2个操作数 2.1 ARM指令的一般格式 ARM指令中的第2个操作数 在一条ARM指令中获得一个合法的立即数 〈immediate〉= immed_8循环右移(2 X rotate_imm) Quiz #1 下面哪些立即数是数据处理指令中有效的数据? a) 0x000003FC b) 0x000001FE c) 0xF0000000 d) 0x0000FFFF e) 0xF0000001 f) 0xF0000010 立即数(2) 下列命令中,汇编器把立即数转换为移位操作: ?? MOV r0,#4096 ; uses 0x40(immed_8)ror26(rotate_imm=13)?? ADD r1,r2,#0xFF0000 ; uses 0xFF(immed_8) ror16(rotate_imm=8)?? 装载32 bit常数 为允许装载较大的立即数,汇编器提供了一条伪指令:?? LDR Rd, =const?? 推荐使用这种方法把常数装入寄存器 如, LDR R1,=0XFFFFFF00 2.1 ARM指令的一般格式 ARM指令中的第2个操作数 2.1 ARM指令的一般格式 ARM指令中的第2个操作数 2.1 ARM指令的一般格式 ARM指令中的第2个操作数 2.1 ARM指令的一般格式 ARM指令中的第2个操作数 2.2 ARM处理器寻址方式 寻址方式分类 2.2 ARM处理器寻址方式 寻址方式分类——立即寻址 2.2 ARM处理器寻址方式 寻址方式分类——寄存器寻址 2.2 ARM处理器寻址方式 寻址方式分类——寄存器移位寻址 可以采取的移位操作如下: LSL:逻辑左移(Logical Shift Left) LSR:逻辑右移(Logical Shift Right) ASR:算术右移(Arithmetic Shift Right) 最左端的保持不变 ROR:循环右移(Rotate Right) RRX:扩展为1的循环右移(Rotate Right eXtended by 1 place ) 2.2 ARM处理器寻址方式 寻址方式分类——寄存器间接寻址 2.2 ARM处理器寻址方式 寻址方式分类——变址寻址 2.2 ARM处理器寻址方式 基址加偏移-前索引寻址 LDR R0,[R1,#4] ;R0←[R1+4] 基址加偏移-带自动索引的前索引寻址 LDR R0,[R1,#4]! ;R0←[R1+4]、R1←R1+4 基址加偏移-后索引寻址 LDR R0,[R1],#4 ;R0←[R1]、R1←R1+4 基址加索引寻址 LDR R0,[R1,R2] ;R0←[R1+R2] Pre or Post Indexed 寻址 2.2 ARM处理器寻址方式 寻址方式分类——多寄存器寻址 地址增加在先(IB):STMIB,LDMIB;每次传送前地址加4 地址增加在后(IA):STMIA,LDMIA;每次传送后地址加4 地址减少在先(DB):STMDB,LDMDB;每次传送前地址减4 地址减少在后(DA):STMDA,LDMDA;每次传送后地址减4 I:Increment D:Decrement B:Before A:After 2.2 ARM处理器寻址方式 寻址方式分类——堆栈寻址 2.2 ARM处理器寻址方式 寻址方式分类——堆栈寻址 2.2 ARM处理器寻址方式 寻址方式分类——堆栈寻址 2.2 ARM处理器寻址方式 寻址方式分类——堆栈寻址 2.2 ARM处理器寻址方式 STMFA r13!, {r0-r

文档评论(0)

bm5044 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档