您的位置 首页 报告

ARM 指令的寻址方法

1、立即寻址操作数在指令中直接给出ADDR0,R0,#1;R0larr;R0+1ADDR0,R0,#0x3f;R0larr;R0+0x3f2、寄存器寻址操作数在寄存器AD…

1、当即寻址操作数在指令中直接给出

ADD R0,R0,#1;R0←R0+1
ADD R0,R0,#0x3f;R0←R0+0x3f

2、寄存器寻址操作数在寄存器

ADD R0,R1,R2;R0←R1+R2

3、寄存器直接寻址 操作数的地址在寄存器

ADD R0,R1,[R2];R0←R1+[R2]
LDR R0,[R1];R0←[R1]
STR R0,[R1];[R1]←R0

4、基址变址寻址操作数地址=基址寄存器+指令中给出的地址偏移

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]

5、多寄存器寻址相似寄存器寻址,此处是多个寄存器罢了

LDMIA R0,{R1,R2,R3,R4};R1←[R0]
;R2←[R0+4]
;R3←[R0+8]
;R4←[R0+12]

6、相对寻址方针地址= pc当时值+指令给出的标号偏移地址

BL NEXT;跳转到子程序NEXT处履行
……
NEXT
……
MOV PC,LR;从子程序回来

7、仓库寻址
ARM微处理器支撑这四种类型的仓库工作方式。

-满递加仓库:仓库指针指向最终压入的数据,且由低地址向高地址生成。
-满递减仓库:仓库指针指向最终压入的数据,且由高地址向低地址生成。
-空递加仓库:仓库指针指向下一个即将放入数据的空方位,且由低地址向高地址生成。
-空递减仓库:仓库指针指向下一个即将放入数据的空方位,且由高地址向低地址生成。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/275041.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部