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指令不是一个同东西。

转载于:https://www.cnblogs.com/liuwen1987/p/3504721.html

arm指令中mov和ldr及ldr伪指令的区别相关推荐

  1. ARM指令中如何判断一个立即数是有效立即数

    ARM指令中如何判断一个立即数是有效立数 在ARM处理器的汇编语言中,对指令语法格式中的<shifter_operand>的常数表达式有这样的规定:"该常数必须对应8位位图,即常 ...

  2. ARM指令中如何判断一个立即数是 有效立即数

    ARM指令中如何判断一个立即数是有效立数 在ARM处理器的汇编语言中,对指令语法格式中的<shifter_operand>的常数表达式有这样的规定:"该常数必须对应8位位图,即常 ...

  3. arm汇编中mov、movs、movw、movl、movb解析

    arm汇编中mov指令 mov 指令在汇编中表示传送含有 movl mov long : 传送字长 : 32位:把32位立即数放到寄存器 movw mov word:传送字 :16位: 把 16 位立 ...

  4. ARM指令之MOV指令汇编与机器码的对应关系

    指令条件码 条件码就是一种简单的测试ALU状态标志位的方法. mov指令机器码 比如: mov r1,#3 立即数:3 第一个操作数:寄存器1 S:0 (注意:mov指令后面加主机符为s时S位为1) ...

  5. ARM指令中STM和LDM的理解误区

    STM和LDM的主要用途是现场保护.数据复制.参数传递等. 其模式有8种,如下:(前面4种用于数据块的传输,后面4种用于堆栈操作) (1)IA  每次传送后地址加4 (2)IB  每次传送前地址加4 ...

  6. ARM指令浅析1(mov、ldr)

    1.环境及优化项 采用-O2优化选项,通过arm处理器架构下的gcc编译器编译用例生成汇编码查看其生成的指令.至于为什么用O2选项,是因为在某些用例中,加入-O3选项之后,arm处理器架构下gcc编译 ...

  7. arm汇编中DCB、DCW、DCD、DCQ指令

    背景 在ida中进行分析so文件,就是elf文件,它所对应的arm汇编,在汇编中会时常碰到一些下面的汇编指令.DCB是arm汇编中的伪指令,下面就针对这个指令相关做下小记录. 伪指令及DC系列指令 A ...

  8. ARM指令和Thumb指令的区别

    一.现在先区分下ARM指令集与Thumb指令集        Thumb 指令可以看作是 ARM 指令压缩形式的子集,是针对代码密度的问题而提出的,它具有 16 位的代码密度但是它不如ARM指令的效率 ...

  9. arm 指令 学习载录

    ARM处理器汇编 ARM寻址方式: 1. 立即寻址,操作数在指令中给出. ADDR0,R0,#1;    R0ßR0+1 ANDR8,R7,#&FF; R8ßR7[7:0]; ADDR0,R0 ...

最新文章

  1. PDF转Word技巧,看这篇足够
  2. Mybatis的update方法
  3. Java查询图书信息
  4. My SQL随记 001 常用名词/结构化语言
  5. windows10计算机策略,win10系统轻松玩转组策略的图文步骤
  6. 品牌设计与VI设计的不同之处
  7. outlook登陆Exchange邮箱不断掉线并弹出需要登陆的窗口
  8. 手机拨出等待时间长_手机打不出去电话怎么回事 一分钟轻松排查原因
  9. Unity之2D摄像机跟随
  10. Python爬虫-BeautifulSoup
  11. 归并排序(Python)
  12. 【WangEditor】使用富文本编辑器 WangEditor 实现用户自定义图片大小(改js源码)
  13. 算法 - 求两个自然数的最大公约数(C++)
  14. 80%码农都难以逃脱的痛,你中招了嘛?
  15. Widows(win10等等)使用过程中的 问题 与 小技巧 ----- 长期积累
  16. 再见!永远的21号!马刺退役邓肯21号球衣
  17. kubernetes HPA使用及测试
  18. NB-IoT上下行传输速率是多少?
  19. Spark Livy
  20. 论文查重的步骤是什么?

热门文章

  1. Tomcat、Websphere和Jboss类加载机制
  2. php 网址尾部带斜杠和不带区别,URL路径中带正斜杠/与不带的区别
  3. cmenu 隐藏子项中的一个子项_区分Maven中dependencyManagement与dependencies的作用
  4. CentOS 搭建svn服务器
  5. 鸿蒙系统第五批公测,鸿蒙系统即将迎来二轮公测,nova机型增添其中
  6. leetcode算法题--煎饼排序
  7. leetcode算法题--飞机座位分配概率
  8. Java中重载(overload)和重写(override)
  9. 微服务网关Kong 1.0正式发布!提供100+项功能
  10. Kettle和ETL的基本构成