ldr与mov

原创 2011年01月23日 22:22:00

ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。
比如想把数据从内存中某处读取到寄存器中,只能使用ldr
比如:
ldr r0, 0x12345678
就是把0x12345678这个地址中的值存放到r0中。
而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。
x86中没有ldr这种指令,因为x86的mov指令可以将数据从内存中移动到寄存器中。

另外还有一个就是ldr伪指令,虽然ldr伪指令和ARM的ldr指令很像,但是作用不太一样。ldr伪指令可以在立即数前加上=,以表示把一个地址写到某寄存器中,比如:
ldr r0, =0x12345678
这样,就把0x12345678这个地址写到r0中了。所以,ldr伪指令和mov是比较相似的。只不过mov指令限制了立即数的长度为8位,也就是不能超过512。而ldr伪指令没有这个限制。如果使用ldr伪指令时,后面跟的立即数没有超过8位,那么在实际汇编的时候该ldr伪指令是被转换为mov指令的。

ldr伪指令和ldr指令不是一个同东西

mov和ldr/str的区别

  • 2015年02月09日 10:07
  • 14KB
  • 下载

ARM立即数讲解--LDR和MOV的区别

Mov 是把立即数赋给一个寄存器,但对立即数的范围有要求。只能是由8bit连续有效位通过偶数次移位能得到的数。如果立即数超出这个范围,就没办法用一条MOV指令给寄存器赋值。LDR除了普通的读数之外,也...

ARM微处理器的指令集概述(四)——MOV和LDR的区别

以下内容为转载: 一   先让我们看一段汇编代码 LDR R0,=0x56000010 #R0 is set to be register GPBCON and is used to sele...

ARM中MOV与LDR的区别

http://blog.csdn.net/lihaoweiv/article/details/6033003  ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,...

ARM 汇编 LDR STR MOV

ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。比如想把数据从内存中某处读取到寄存器中,只能使用ldr比如:ldr r0, 0x12345678就...
  • tgxe123
  • tgxe123
  • 2012年02月27日 14:43
  • 1748

mov和ldr/str的区别

ARM是RISC(Reduced Instruction-Set Computer)结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。 比如想把数据从内存中某处读...

ARM中的MOV与LDR小结

RM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。比如想把数据从内存中某处读取到寄存器中,只能使用ldr 比如: ldr r0, 0x123456...

ARM汇编: ldr与mov 、 b与bl

ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。 比如想把数据从内存中某处读取到寄存器中,只能使用ldr 比如: ldr r0, 0x123456...

LDR、MOV、ADR的应用

1、MOV和LDR的区别           首先搞清楚一个概念:x86是CISC架构,ARM是RISC架构,两种不同架构的指令应用范围有一定区别。           (1)MOV在x86下可以...

ARM LDR与MOV的区别

KG—MOV指令、LDR指令、LDR伪指令之间的区别 MOV指令、LDR指令、LDR伪指令之间的区别 作为一个扩展(KG),感觉这个东西还是有必要说说的~~ 在我编译一个工程的时候,用MOV指令...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ldr与mov
举报原因:
原因补充:

(最多只允许输入30个字)