关于MOV,LDR,LDR伪指令区别

正文:http://www.360doc.com/content/12/0704/23/9072830_222316960.shtml


1、x86没有LDR指令,mov可以完成读取内存地址数据的功能


2、arm是RISC架构,mov用于芯片内部操作,寄存器和寄存器之间,寄存器和立即数之间(立即数要+#,如:mov r1,#4),mov不可以用于读取内存,面试问到CISC和RISC最大区别可以说这个,呵呵!


3、ldr在ARM中用于读取内存数据,如:ldr r1,0x12345678,就是把0x12345678这个地址中的值存放到r0中。


4、ldr伪指令和ldr指令根本不是一个东西!


5、由于mov指令的第二个操作数必须8位图数据(看 ARM处理器中“8位位图”),如果非8位位图数据copy到寄存器中就用到ldr伪指令,(立即数要加=,如:ldr r1,=0x101


6、在编译器发现ldr伪指令后面的立即数是8位位图数据时就自动转换成mov了


7、非8位位图数据,编译器将常量放入一个文字池中,用ldr(读内存指令)把它读出来,其实读的是一个地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值