新闻中心

EEPW首页>嵌入式系统>设计应用> arm 汇编指令--LDR

arm 汇编指令--LDR

作者: 时间:2016-11-21 来源:网络 收藏
LDR指令的格式:

本文引用地址://m.amcfsurvey.com/article/201611/319405.htm

LDR{条件}目的寄存器 <存储器地址>

作用:将 存储器地址 所指地址处连续的4个字节(1个字)的数据传送到目的寄存器中。

LDR指令的寻址方式比较灵活,实例如下:

LDR R0,[R1];将存储器地址为R1的字数据读入寄存器R0。

LDR R0,[R1,R2];将存储器地址为R1+R2的字数据读入寄存器R0。

LDR R0,[R1,#8];将存储器地址为R1+8的字数据读入寄存器R0。

LDR R0,[R1],R2;将存储器地址为R1的字数据读入寄存器R0,并将R1+R2的值存入R1。

LDR R0,[R1],#8;将存储器地址为R1的字数据读入寄存器R0,并将R1+8的值存入R1。

LDR R0,[R1,R2]!;将存储器地址为R1+R2的字数据读入寄存器R0,并将R1+R2的值存入R1。

LDR R0,[R1,LSL #3];将存储器地址为R1*8的字数据读入寄存器R0。

LDR R0,[R1,R2,LSL #2];将存储器地址为R1+R2*4的字数据读入寄存器R0。

LDR R0,[R1,,R2,LSL #2]!;将存储器地址为R1+R2*4的字数据读入寄存器R0,并将R1+R2*4的值存入R1。

LDR R0,[R1],R2,LSL #2;将存储器地址为R1的字数据读入寄存器R0,并将R1+R2*4的值存入R1。

LDR R0,Label;Label为程序标号,Label必须是当前指令的-4~4KB范围内。

要注意的是

LDR Rd,[Rn],#0x04;这里Rd不允许是R15。

另外LDRB 的指令格式与LDR相似,只不过它是将存储器地址中的8位(1个字节)读到目的寄存器中。

LDRH的指令格式也与LDR相似,它是将内存中的16位(半字)读到目的寄存器中。

LDR R0,=0xff

这里的LDR不是arm指令,而是伪指令。这个时候与MOVE很相似,只不过MOV指令后的立即数是有限制的。这个立即数必须是0X00-OXFF范围内的数经过偶数次右移得到的数,所以MOV用起来比较麻烦,因为有些数不那么容易看出来是否合法。



关键词:arm汇编指令LD

评论


技术专区

关闭