MOV

  • 可以寄存器与寄存器之间传递数据
  • 可以把立即数移动到寄存器中(常数不能超过32位)

LDR

  • 可以地址与寄存器之间的数据传递
  • 也可以常数传递到寄存器中

实例:
1、r1与r2寄存器之间传递就只能用MOV

 MOV r1,r2

2、常数传递到寄存器可以使用MOVldr

 MOV r0,#0ldr r0,=0

3、寄存器与地址0X00000000之间传递数据只能用ldr

 ldr r0,=0X30000000ldr r0,0X00000000

LDR指令:

 ldr r0, 0x12345678          // 就是把0x12345678这个地址中的值存放到r0中。而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中。ldr r0,r1                     //表示把r1寄存器中的值放入r0ldr r0,[r1]                  // [r1]表示r1中值对应内存的地址,所以是把r1中的数当作一个地址,把这个地址中的值放入r0.

LDR伪指令:

 ldr r0, =0x12345678`       //例1(立即数):

这样,就把0x12345678这个地址写到r0中了。所以,ldr伪指令和K是比较相似的。只不过mov指令限制了立即数的长度为8位,也就是不能超过512。而ldr伪指令没有这个限制。如果使用ldr伪指令时,后面跟的立即数没有超过8位,那么在实际汇编的时候该ldr伪指令是被转换为mov指令的。

 ldr  r0, =_start //将指定标号的值赋给r0

这里取得的是标号 _start 的绝对地址,这个绝对地址(链接地址)是在链接的时候确定的。它要占用 2 个 32bit的空间,一条是指令,另一条是文字池中存放_start 的绝对地址。

汇编指令:MOV与ldr区别相关推荐

  1. 汇编指令-MOV与ldr区别

    MOV   1.可以寄存器与寄存器之间传递数据   2.可以把立即数移动到寄存器中(常数不能超过32位) LDR   1.可以地址与寄存器之间的数据传递   2.也可以常数传递到寄存器中 实例:    ...

  2. 汇编指令-adr与ldr伪汇编区别(8)

    adr :相对寻址,与当前位置有关 ldr  :绝对寻址,与当前位置无关 在初始化SDRAM时就会用到adr,代码如下: /* 初始化SDRAM */ldr r0,=BWSCON //r0=SDRAM ...

  3. 计算机汇编指令mov和mova,汇编语言中mov和lea指令的区别详解

    指令(instruction)是一种语句,它在程序汇编编译时变得可执行.汇编器将指令翻译为机器语言字节,并且在运行时由 CPU 加载和执行. 一条指令有四个组成部分: 标号(可选) 指令助记符(必需) ...

  4. ARM 汇编指令 ADR 与 LDR 使用

    简介 这两个都是伪指令:ADR 是小范围的地址读取伪指令,LDR 是大范围的读取地址伪指令.可实际使用的区别是: ADR 是将基于 PC 相对偏移的地址值或基于寄存器相对地址值读取的伪指令,而 LDR ...

  5. 关于汇编指令ldr和str的理解

    (1)..ldr指令:(load装载) 外存--->>>内存 ldr 指令传数据(将数据传入寄存器) 无论是否是立即数,都可以进行传 格式:ldr 寄存器,=数字 若数字式立即数:l ...

  6. arm指令中mov和ldr及ldr伪指令的区别

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

  7. 2020-12-4((ARM汇编)mov指令,LDR指令,LDR伪指令)

    首先说明一下 ARM是RISC("reduced instruction set computer",即"精简指令集计算机")结构 x86是CISC(" ...

  8. ARM MOV和 LDR指令关系

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

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

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

最新文章

  1. 车载以太网之权威指南_awk权威指南之 终结篇!
  2. zz SOA推荐书籍列表
  3. RHEL7 单独安装图形 X11
  4. JavaWeb学习笔记——XML简介
  5. 3.5 Bounding Box 预测-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  6. Volley框架使用及源码解析
  7. 深度学习笔记之使用Faster-Rcnn进行目标检测 (原理篇)
  8. Linux下读取smBIOS源码,Linux下读取SMBIOS信息
  9. 4.Model Validation
  10. 让sublime text显示空格,到底是点还是横杠TabError: inconsistent use of tabs and spaces in indentation
  11. 手机应用软件测试经验总结
  12. php模板和框架,php模板和框架的区别的区别是什么
  13. 服务器未能识别 HTTP 标头 SOAPAction 的值
  14. 基于AVR-BootLoader,通过霜蝉远程串口可实现单片机的远程升级
  15. 滴滴程序员年薪80万却被亲戚鄙视:钱多有啥用,我儿子二本大学教师
  16. [Git] 009 逆转未来
  17. 人工智能工程师第七期-AI100-专题视频课程
  18. VBoxManage 命令操作,详细的网络设置命令
  19. 网络项目实践与设备管理教程-毛正标
  20. Centos 7 中安装 Oracle 11g R2数据库【超详细】

热门文章

  1. 机器学习中的数学——距离定义(四):切比雪夫距离(Chebyshev Distance)
  2. linux7防火墙拒绝ip访问,FirewallD防火墙常用经验——开放端口——拒绝某个IP访问...
  3. JAVA重点类 多线程Thread 创建 生命周期 同步
  4. vue的v-model的双向数据绑定原理
  5. 对话赞奇科技总经理金伟:云渲染何以成为元宇宙“基建”
  6. SQL UNIQUE 约束
  7. 频域滤波matlab代码_频域的弦,时域的箭(1)
  8. python读取docx文件出错_读取docx文件时出现错误的特殊字符
  9. 数电实验5 秒表初步
  10. type II补偿器的误差放大和跨导放大