MOV R1,#9
以上指令表示把9传送到寄存器R1中。

需要注意的是,这里的立即数是有要求的,不是说任何一个立即数都可以。

要求是:立即数可以由一个8位的常数循环右移偶数位得到。其中循环右移的位数由一个4位二进制的两倍表示。

如果立即数记作immediate,8位常数记作immed_8,4位的循环右移值记作rotate_imm,则
immediate=immed_8循环右移(2*rotate_imm

这样并不是每一个32位的常数都是合法的立即数,只有能通过上面的构造方法得到的才是合法的立即数。

比如,0x101,0x102,0xFFF;

另外,一个合法的立即数,可能有多种编码方法。如0x3F0,它可以采用下面两种编码方法:
immed_8=0x3F,rotate_imm=0xE
(0x3F循环右移28位,即0x3F左移4位得到0x3F0)

或者
immed_8=0xFC,rotate_imm=0xF
(0xFC循环右移30位,即0xFC左移2位得到0x3F0)

对于不合法的立即数,比如要把0xFFF传送到R1中,虽然不能用MOV指令,但是可以用LDR伪指令,用法是
LDR R1,=0xFFF

ARM MOV指令对立即数的要求相关推荐

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

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

  2. LDR伪指令和LDR指令及MOV指令的区别

    1.前言 ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令. 2.LDR指令 就是将地址中的值存放到寄存器中 比如想把数据从内存中某处读取到寄存器中 ...

  3. MOV指令是数据传送指令

    在汇编语言中,MOV指令是数据传送指令,也是最基本的编程指令,用于将一个数据从源地址传送到目标地址(寄存器间的数据传送本质上也是一样的).其特点是不破坏源地址单元的内容.  例如:  MOV AX,2 ...

  4. 汇编语言学习——mov指令(转载)

    在汇编语言中,MOV指令是数据传送指令,也是最基本的编程指令,用于将一个数据从源地址传送到目标地址(寄存器间的数据传送本质上也是一样的).其特点是不破坏源地址单元的内容. 例如: MOV AX,200 ...

  5. MOV指令、LDR指令、LDR伪指令之间的区别(ARM立即数的存取)

    1.MOV指令 MOV指令可以把立即数或者寄存器内容(注意:这里绝对不可以是内存!!)传递给一个寄存器. 立即数相当于高级语言中的常量(常数), 立即数就是数字嘛,表示数值的数字, 存储器用的是地址, ...

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

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

  7. ARM MOV和 LDR指令关系

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

  8. ARM中的MOV指令

    ARM中的MOV指令格式是这样的 op2是占了12位,其中bit11-bit8是移位数(rotate),bit7-0是一个8位的立即数(imm),MOV Rn, op2,执行之后,Rn=op2 > ...

  9. ARM汇编指令立即数规范和判断

    转载 :https://blog.csdn.net/yunfenglw/article/details/41621103 在ARM汇编的数据处理指令中经常会使用到常数,而ARM汇编中规定使用的常数必须 ...

最新文章

  1. Oracle 11g必须开启的服务及服务详细介绍
  2. sqrtm--矩阵的平方根
  3. 如何在服务器端完善游戏的用户体验
  4. mysql 5.6 初始化_MySQL 5.6 关于登陆的初始化设置
  5. crc32库 qt_Qt 打包32位库(包括WebEngineView)
  6. 解决 同时安装 python3,python2环境时,用pip安装 python3 包
  7. Python——装饰器的学习笔记
  8. 微信小程序获取用户的头像和昵称
  9. dump文件_windows程序崩溃时生成dump文件方法
  10. 【bzoj5001】搞事情 暴力
  11. 例2.4 Day of Week - 九度教程第7题(日期类问题)
  12. Android入门基础教程(小白速成1)
  13. 市场的各大TWS蓝牙耳机芯片方案汇总
  14. 基于单片机的水库控制系统设计
  15. win10用计算机分区,win10 GPT磁盘各分区的功能分别是什么?
  16. 你知道战国四大名将都有谁吗
  17. 通过ICommand和ITool操作地图
  18. python对数正态分布函数_scipy,对数正态分布-参数
  19. 1256 字符串复制
  20. Vertu模仿秀遭热捧 折射黑手机泛滥主因

热门文章

  1. nyoj1047欧几里得
  2. 启动celery后执行任务报错:django.core.exceptions.ImproperlyConfigured
  3. 剑指offer-99.调整数组顺序使奇数位于偶数前面
  4. MySQL的常见存储引擎介绍与参数设置调优
  5. android设置系统横屏方案
  6. 学习笔记:Windows 下Keras安装和配置指南
  7. CentOS7安装cuda及GPU驱动--基于runfile文件
  8. Qt中ui文件的使用
  9. IDE (Integrated Development Environment) 集成开发环境
  10. Opencv 配置VS2012