ARM指令的寻址方式-基址变址寻址
张立新
(北京信息职业技术学院)
摘 要:基址寻址是将基址寄存器的内容与指令中给出的偏移量相加,形成操作数的有效地址,
基址寻址用于访问基址附近的存储单元,常用于查表,数组操作,功能部件寄存器访问等。基址变址寻址
就是将寄存器(该寄存器一般称做基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个
操作数的有效地址。变址寻址方式常用于访问某基地址附近的地址单元。变址寻址方式中有前索引寻址和
后索引寻址
关键词:基址寻址; 基址寄存器;偏移量;寄存器访问;前索引寻址;后索引寻址
基址变址寻址就是将寄存器(该寄存器一般称为基址寄存器)的内容与指令中给出的地址偏移量相
加,从而得到一个操作数的有效地址。变址寻址方式常用于访问某基地址附近的地址单元。
采用变址寻址方式的指令有以下几种常见的形式。
LDR R0,[R1,#8] ;R 0 [R1+8]
LDR R0,[R1,#8]! ;R0 [R1+8]、R1 R1+8
LDR R0,[R1],#8 ;R0 [R1]、R1 R1+8
在第 1 条指令中,将寄存器 R1 的内容加上 8 形成操作数的有效地址,从而取得操作数存入寄存器 R0
中,这种基址寻址方式称为基址偏移寻址。见图 1。
LDR R0,[R1,X]
图 1 地址偏移寻址
在第 2 条指令中,将寄存器 R1 的内容加上 8 形成操作数的有效地址,从而取得操作数存入寄存器 R0
中,然后,R1 的内容自增加 8 个字节。这种基址寻址方式称为前索引寻址。见图 2。
LDR R0,[R1,X]!
图 2 前索引寻址
在第 3 条指令中,以寄存器 R1 的内容作为操作数的有效地址,从而取得操作数存入寄存器 R0 中,
然后,R1 中的内容自增加 8 个字节,这种基址寻址方式称为后索引寻址。见图 3。
LDR R0,[R1],X
1 / 2
ARM 指令的寻址方式-基址变址寻址
R1
评论0
最新资源