ARM指令的寻址方式

ARM指令的寻址方式

寻址方式是根据指令中给出的地址码来定位真实的地址,ARM中有9种寻址方法:

寄存器寻址直接用寄存器编号来寻址,最为常用

MOV R1,R2 ;R2->R1立即数寻址即指令中的地址码是操作数本身,可以立即取出使用,立即数前带一个#表示,否则表示一个地址

SUBS R0,R0,#1 ;R0 -1 ->R0注意与SUBS R0,R0,1区别

寄存器偏移寻址这是ARM特有的寻址模式,当第2操作数是寄存器,在执行操作之前,可以做一次移位操作

MOV R0,R2,LSL #3 ;R2的逻辑左移3位,结果放入R0,即R0=R2*8

ANDS R1,R1,R2,LSL R3;RS的值左移R3位,然后和R1相与操作,结果放入R1移位操作有LSL (逻辑左移),LSR(逻辑右移) ,ASR(算术右移),ROR(循环右移)RRX带扩展的循环右移

寄存器间接寻址即寄存器中值是一个地址,用[]来取出定位到地址当中

LDR R2,[R0] ;把R0的值当成地址,取出相应值,赋给R2基址寻址把寄存器的地址值加上一个偏移量

LDR R2,[R3,#0x0F]; R3中的值加上0x0F,从这个地址取出值赋给R@相对寻址基址寻址的变形,由PC寄存器提供基准地址,指令中地址段作为偏移量.两者相加即是有效地址,以下是BL采用相对寻址

BL NEXT

NEXT

MOV PC,LR ;从子程序返回

相关星际资讯

怀旧服上古世纪开服副本攻略详解
365bet体育在线导航

怀旧服上古世纪开服副本攻略详解

🕒 10-19 👁️ 9002
古力娜扎
bat365入口

古力娜扎

🕒 08-08 👁️ 7263
会计职称随身学
365bet体育在线导航

会计职称随身学

🕒 09-02 👁️ 1607