ARM课件第3章 ARM指令集寻址方式.pptVIP

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

半字、有符号字节寻址这类指令可用来加载有符号字节、加载有符号半字、加载/存储无符号半字。Load/Store指令对半字、有符号字节操作指令编码格式如下:为什么要区分有无符号加载有符号字节到寄存器: LDR{cond}SBRd,addressing_mode加载有符号半字到寄存器: LDR{cond}SHRd,addressing_mode加载无符号半字到寄存器: LDR{cond}HRd,addressing_mode存储无符号半字到内存: STR{cond}HRd,addressing_mode半字、有符号字节寻址1.Addressing_mode中的偏移量为立即数 前变址不回写形式:[Rn,#+/-immed_offset8]前变址回写形式:[Rn,#+/-immed_offset8]!后变址回写形式: [Rn],#+/-immed_offset8半字、有符号字节寻址偏移量为立即数的指令编码类型[例3-4]LDRSBR0,[R1,#4]LDRHR2,[R1,#-4]STRHR0,[R1,#4]!LDRSHR0,[R1],#4半字、有符号字节寻址2.Addressing_mode偏移量为寄存器的值 前变址不回写形式: [Rn,+/-Rm]前变址回写形式: [Rn,+/-Rm]!后变址回写形式: [Rn],+/-Rm半字、有符号字节寻址偏移量为寄存器值的指令编码类型对应关系[例3-5]LDRSBR0,[R1,R5]LDRHR2,[R1,-R5]STRHR0,[R1,R5]!LDRSHR0,[R1],R5半字、有符号字节寻址偏移量的提供形式偏移量的作用时间立即数前变址不回写寄存器前变址回写后变址回写半字、有符号字节寻址3.4批量Load/Store指令寻址方式ARM指令系统提供了批量Load/Store指令寻址方式,即通常所说的多寄存器寻址,也就是一次可以传送几个寄存器的值,允许一条指令最多传送16个寄存器。编码格式批量加载:LDM{cond}addr_modeRn{!},register{^}批量存储:STM{cond}addr_modeRn{!},register{^}*TM**TM第3章ARM指令集寻址方式ARM指令寻址方式可分为四大类:数据处理指令寻址Load/Store指令的寻址批量Load/Store指令的寻址协处理指令寻址。本章内容3.1ARM指令的编码格式3.2数据处理指令寻址方式3.3Load/Store指令寻址3.4批量Load/Store指令寻址方式3.5协处理器指令寻址方式一般编码格式每条ARM指令占有4个字节,其指令长度为32位cond(bit[31:28]) 指令执行的条件码;type(bit[27:26]) 指令类型码cond(bit[31:28]) 指令执行的条件码;type(bit[27:26]) 指令类型码cond(bit[31:28]) 指令执行的条件码;type(bit[27:26]) 指令类型码cond(bit[31:28]) 指令执行的条件码;type(bit[27:26]) 指令类型码cond(bit[31:28]) 指令执行的条件码;type(bit[27:26]) 指令类型码cond(bit[31:28]) 指令执行的条件码;type(bit[27:26]) 指令类型码cond(bit[31:28]) 指令执行的条件码type(bit[27:26]) 指令类型码(表3-1)I(bit[25]) 第二操作数类型标志码(针对数据处 理指令:立即数、寄存器或寄存器移位)opcode(bit[24:21])指令操作码S(bit[20]) 决定指令的操作结果是否影响CPSRRn(bit[19:16]) 包含第一个操作数的寄存器编码;Rd(bit[15:12]) 目标寄存器编码;operand2(bit[11:0)指令第二个操作数。ARM汇编指令语法格式:opcode{cond}{S}Rd,Rn,operand2例:ADDSR0,R1,R2指令条件码0000EQ相等 Z=10001NE不相等 Z=00010CS/HS无符号大于等于 C=10011CC/LO无符号小于

文档评论(0)

趁早学习 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档