ARM指令的寻址方式有几种,试分别举例说明
发布网友
发布时间:2022-05-05 15:53
我来回答
共1个回答
热心网友
时间:2022-06-27 17:33
共有9种:
1、寄存器寻址 ADD R0,R1,R2 ; R0<--R1+R2
2、立即寻址 ADD R3,R3,#1 ; R3<--R3+1
3、寄存器移位寻址 ADD R3,R2,R1,LSL #3 ; R3<--R2+8×R1
4、寄存器间接寻址 LDR R0,[R1] ; R0<--[R1]
5、变址寻址 LDR R0,[R1,R2] ; R0<--[R1+R2]
6、多寄存器寻址 LDMIA R1,{R0,R2,R5} ; R0<--[R1], R2<--[R1+4], R5<--[R1+8]
7、堆栈寻址 LDMFD SP!,{R1-R7,LR};将数据出栈,放入R1~R7,LR这8个寄存器,同时SP自动更新。
8、块复制寻址 stmia r0!,{r1-r7};将r1-r7的数组保存到以r0开始向上增长的地址空间中
9、相对寻址 BL SUBR ; 转移到SUBR