CMP, tst arm 指令 (12)

CMP {条件} 操作数1 , 操作数2

解释: CMP 用于比较另个寄存器的值,或者是 两个立即数的值,但是并不存储结果,会将 结果的正负值保存到CPSR 的condition 位中。

举例:

CMP,R1,R0 , 将R1-R0

TST {条件} 操作数1 , 操作数2

用于将两个寄存器或者 两个立即数的比较, 就是 将两个数 按位与, 这就引出了 位掩码。

操作数1 是要操作的数, 操作数2 为掩码,比如操作数2 0x00000010, 两个数 TST 之后,只会留下第 操作数1 的第5位。 便可以判断这个位是不是1 。

其结果是 0 或者是1 , 并更新 CPSR 的 Z 位, 我不知道这个位 是什么。

截图如下;

举例:

TST, R1 , #%1 %表示是一个二进制数。 也就是在判断最低位,那直接 #0x1 不就行了。

但是 这个条件机器码 与 NZCV是对不上的。

疑问: 这个后缀与 NZCV 改怎么对应呢?

相关推荐
hweiyu005 分钟前
Linux 命令:csplit
linux·运维·服务器
守正出琦5 分钟前
Linux信号核心函数速查表
linux·运维·服务器
花花鱼6 分钟前
Linux中的755及644等等速记
linux·运维·服务器
草草_7 分钟前
【内核驱动基础】主设备号与次设备号
linux·内核驱动
cws20040116 分钟前
Linux如何通过命令实现立即关机?shutdown命令的now参数使用详解
linux·运维·服务器
何以不说话17 分钟前
记录一下学习日常⑩(docker)
linux·运维·docker·容器
卌卄1 小时前
【Linux】MySQL安装配置
linux·运维·mysql
hnxaoli1 小时前
统信小程序(八)归档目录自动调整
linux·python
鸠摩智首席音效师1 小时前
如何确定 Linux 下的文件系统类型 {Ext3, Ext4, XFS} ?
linux·运维·服务器
比奇堡鱼贩1 小时前
python第二次作业--函数
linux·运维·windows