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 改怎么对应呢?

相关推荐
消失的旧时光-19433 分钟前
C 语言如何实现“面向对象”?—— 从 struct + 函数指针,到 Linux 内核设计思想
linux·c语言·开发语言
不做无法实现的梦~6 分钟前
Linux 新手到日常运维操作指南
linux·运维·服务器
xingfujie7 分钟前
第3章 安装 kubeadm/kubelet/kubectl
linux·云原生·容器·kubernetes·kubelet
不能隔夜的咖喱15 分钟前
黑马ai大模型笔记(自用,比较粗糙)
linux·windows·python
暴力求解20 分钟前
Linux--网络-->UDP_socket
linux·网络·网络协议·udp·操作系统
无限进步_21 分钟前
Linux指令实战:40+核心命令的用法与思维模型
linux·服务器·前端
ZZZKKKRTSAE22 分钟前
一篇猛攻zabbix
linux·运维·zabbix·redhat·rhel9
想唱rap34 分钟前
NAT、内网穿透、代理服务
java·linux·网络·网络协议·udp·智能路由器
森旺电子44 分钟前
关键路径+松弛时间
linux·运维·服务器
liulilittle1 小时前
TCP BBR调优及监控
linux·网络·网络协议·tcp/ip·win