ARM 处理器寻址方式之间接寻址的几种表达
我们以 LDR 指令为例来分别举例分析。
LDR 指令的格式为:
LDR{条件} 目的寄存器,<存储器地址>
LDR 指令是字加载指令,用于从存储器中将一个 32 位的字数据送到目的寄存器中。该指令通常用于从存储器中读取 32 位的字数据到通用寄存器,然后对数据进行处理。当程序计数器 PC 作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。
指令示例:
LDR R3, [R4] ; 将存储器地址为 R4 的字数据读入寄存器 R3
LDR R3, [R1, #8] ; 将存储地址为 R1+8 的字数据读入寄存器 R3
LDR R3, [R1, R2] ; 将存储器地址为 R1+R2 的字数据读入寄存器 R3
LDR R3, [R1, #8]! ; 将存储器地址为 R1+8 的字数据读入寄存器 R3,并将新地址 R1+8 写入 R1
LDR R3, [R1, R2]! ; 将存储器地址为 R1+R2 的字数据读入寄存器 R3,并将新地址 R1+R2 写入 R1
LDR R3, [R1], R2 ; 将存储器地址为 R1 的字数据读入寄存器 R3,并将新地址 R1+R2 写入 R1
LDR R3, [R1], R2, LSL#3 ; 将存储器地址为 R1 的字数据读入寄存器 R3,并将新地址 R1+R2x8 写入 R1
LDR R3, [R1, R2, LSL#3]! ; 将存储器地址为 R1+R2x8 的字数据读入寄存器 R3,并将新地 R1+R2x8 写入 R1
感谢花费宝贵的时间浏览,
转载请注明出处。
本人将在[资源共享]分类下陆续加入学习过程中一些比较重要且有用处的资料、源码,大家可前往下载,一起进步。
感谢支持!

浙公网安备 33010602011771号