成果第3章arm指令集寻址方式.pptxVIP

  • 0
  • 0
  • 约1.3千字
  • 约 54页
  • 2021-09-02 发布于北京
  • 举报
第3章ARM指令集寻址方式;本章内容;一般编码格式;;指令条件码;3.2 数据处理指令寻址方式;1. 数据处理指令第2操作数的构成方式;寄存器方式 操作数即为寄存器中的数值 如: MOV R3,R2 ADD R0,R1,R2;寄存器移位方式 操作数为寄存器的数值做相应的移位而得到。在ARM指令中移位操作包括逻辑左移、逻辑右移、算术左移、算术右移、循环右移和带扩展的循环右移。 ;;3.2 数据处理指令寻址方式;2. 具体寻址类型 (5种类型);2)第二操作数为寄存器 汇编语法格式:Rm 例:ADD R0,R1,R2;3)第二操作数为寄存器移位方式,且移位的位数为一个5位的立即数 汇编语法格式:Rm,shift #shift_imm 可用的移位类型:LSL、LSR、ASR、ROR 例如:MOV R0,R0,LSL #2;4)第二操作数为寄存器移位方式,且移位数值放在寄存器中 汇编语法格式:Rm,shift Rs 可用的移位类型:LSL、LSR、ASR、ROR 例如:ADD R0,R1,R2,ASR R3;5)第二操作数为寄存器进行RRX移位得到 汇编语法格式:Rm,RRX Rm中的数值进行带扩展的循环右移一位;寄存器移位构造第二操作数有什么用呢? 1.在逻辑运算中实现寄存器移位操作。 MOV R1,R1 LSL #4 2.实现特殊的算术运算: ADD R1,R2,R2 LSL #1;3.3 Load/Store指令寻址;地址计算方法 ;;;字、无符号字节寻址;;;;;;;;;半字、有符号字节寻址;加载有符号字节到寄存器: LDR {cond}SB Rd,addressing_mode 加载有符号半字到寄存器: LDR {cond}SH Rd,addressing_mode 加载无符号半字到寄存器: LDR {cond}H Rd,addressing_mode 存储无符号半字到内存: STR {cond}H Rd,addressing_mode ;1.Addressing_mode中的偏移量为立即数 前变址不回写形式: [Rn,#+/-immed_offset8] 前变址回写形式: [Rn,#+/-immed_offset8]! 后变址回写形式: [Rn],#+/-immed_offset8;偏移量为立即数的指令编码类型;2.Addressing_mode偏移量为寄存器的值 前变址不回写形式: [Rn,+/-Rm] 前变址回写形式: [Rn,+/- Rm ]! 后变址回写形式: [Rn],+/- Rm ;偏移量为寄存器值的指令编码类型对应关系;;3.4 批量Load/Store指令寻址方式;编码格式;;;内存操作 ;内存操作 ;堆栈操作;堆栈操作;堆栈操作;块拷贝与栈操作的对应关系 ;3.5 协处理器指令寻址方式;;;;协处理器数据处理指令的寻址方式;思考与练习题;第3章ARM指令集寻址方式

文档评论(0)

1亿VIP精品文档

相关文档