首页 > 编程知识 正文

arm跳转指令,arm后缀

时间:2023-05-04 06:28:30 阅读:44255 作者:2756

LDR命令LDR命令的格式:

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,标签; 标签是程序标签,标签必须在当前指令的-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有不那么容易知道是否合法的数,所以很难使用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。