ARM寻址方式

来源:互联网 发布:淘宝充气娃娃图片 编辑:程序博客网 时间:2024/05/08 09:09

ARM寻址方式

定义

处理器根据指令中给出的信息来找到所需操作数的方式

立即数寻址

操作数本身就在指令中给出,只需要取出指令就得到了操作数的方式。(操作数称为立即数)

ADD R0, R0, #0X3F;//R0 = R0 +3F

第二个数就是操作数,需要用#来作为前缀


寄存器寻址

操作数存在寄存器中,利用寄存器中的数值作为操作数

ADD R0, R1, R2;//R0 = R1 + R2

寄存器间接寻址

寄存器中存放的是操作数在内存中的地址

LDR RO, [R2];//R0 = R2

内存中第1000这个地址存放的是数据5,寄存器间接寻址就是在寄存器中放入的需要的数据在内存里面的地址


基址变址寻址

将寄存器里面的内容(基地址)与指令中给出的地址偏移量想加,从而得到操作数在内存中的地址。

LDR RO, [R2,#4];//R0 = 【R2 +4】

内存中第1004这个地址存放的是数据5,基址变址寻址就是在寄存器中放入的地址加上偏移量得到的就是存放数据的地址。


相对寻址

与基址变址寻址相类似

相对寻址:PC指针当前的值为基地址,指令中的地址编号,作为偏移量,将两址想加之后得到的操作数作为有效地址。

BL Next跳转到子程序Next出执行

Next


Mov PC ,LR从子程序中返回

0 0
原创粉丝点击