ARM指令集--数据处理指令

数据处理指令:数学运算,逻辑运算

立即数

立即数的本质

就是包含在指令当中的数,属于指令的一部分

立即数的优点:取指的时候就可以将其读取到CPU,不用单独去内存读取,速度快

立即数的缺点:不能是任意的32位的数字,有局限性

MOV R0,#0x12345678 无法执行
MOV RO, #0x12 可以执行

MVN 机器码为 E3E开头

MOV 机器码为 E3A开头

特殊的MOV R0,0xFFFFFFFF 等价于 MVN R0 ,0x00000000

数据运算指令的格式

《操作码》《目标寄存器》《第一操作寄存器》《第二操作数》

操作码: 表示执行哪种操作

目标寄存器: 用于存储运算的结果

操作寄存器: 存储第一个参与运算的数据 (只能写寄存器)

第二操作数: 第二个参与运算的数据(可以是寄存器也可以是立即数)

加法指令

乘法指令只能是两个寄存器相乘,不能用立即数

位清零指令 BIC指令

例,把R2的后四位清0,放入寄存器R1中。因为0xF后四位为1

第二操作位的哪一位为1,就将第一操作寄存器的哪一位清零,然后将结果放入到目标寄存器内

数据指令的扩展

数据运算指令对条件位 (N、Z、C、V)的影响默认情况下数据运算不会对条件位产生影响,
当在指令后加后缀"s"后可以影响。

两个64位的数据做加法运算

改善后:

C为CPSR中的条件代码值

减法运算

一个字节(byte)由8个二进制位(bite)组成

1个十六进制数对应4位二进制数

2个十六进制数对应1个字节

相关推荐
GilgameshJSS7 小时前
STM32H743-ARM例程33-TOUCH
c语言·arm开发·stm32·单片机·嵌入式硬件
wanhengidc10 小时前
云手机存在的意义是什么
运维·服务器·arm开发·安全·智能手机
陌上花开缓缓归以21 小时前
phy降速自愈到100M重试流程分析
arm开发
凉、介1 天前
ARM 总线技术 —— APB
arm开发·笔记·学习
电鱼智能的电小鱼2 天前
基于电鱼 ARM 工控机的煤矿主控系统高可靠运行方案——让井下控制系统告别“死机与重启”
arm开发·人工智能·嵌入式硬件·深度学习·机器学习
陌上花开缓缓归以2 天前
linux系统启动失败之flash异常分析
arm开发
电鱼智能的电小鱼2 天前
基于电鱼 ARM 工控机的井下AI故障诊断方案——让煤矿远程监控更智能、更精准
网络·arm开发·人工智能·算法·边缘计算
GilgameshJSS3 天前
STM32H743-ARM例程35-DHCP
c语言·arm开发·stm32·单片机·嵌入式硬件
GilgameshJSS3 天前
STM32H743-ARM例程34-BootROM
c语言·arm开发·stm32·单片机·嵌入式硬件
robin8611093 天前
Keil(MDK-ARM)和 STM32CubeIDE对比
arm开发·stm32·嵌入式硬件