MOV
1.可以寄存器与寄存器之间传递数据 2.可以把立即数移动到寄存器中(常数不能超过32位)
LDR
1.可以地址与寄存器之间的数据传递 2.也可以常数传递到寄存器中 实例:
1.r1与r2寄存器之间传递就只能用MOV:
2.常数传递到寄存器可以使用MOV和ldr:
3.寄存器与地址0X00000000之间传递数据只能用ldr:
LDR指令:
LDR伪指令:
这样,就把0x这个地址写到r0中了。所以,ldr伪指令和mov是比较相似的。只不过mov指令限制了立即数的长度为8位,也就是不能超过512。而ldr伪指令没有这个限制。如果使用ldr伪指令时,后面跟的立即数没有超过8位,那么在实际汇编的时候该ldr伪指令是被转换为mov指令的。
这里取得的是标号 _start 的绝对地址,这个绝对地址(链接地址)是在链接的时候确定的。它要占用 2 个 32bit的空间,一条是指令,另一条是文字池中存放_start 的绝对地址。
到此这篇ldr指令和mov(ldr指令和ldr伪指令有什么不同)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/17401.html