ARM base instruction -- ccmp

Conditional Compare (register) sets the value of the condition flags to the result of the comparison of two registers if the condition is TRUE, and an immediate value otherwise.

条件比较(寄存器)如果条件为真,则将条件标志的值设置为两个寄存器的比较结果,否则设置为立即值。

32-bit variant:

CCMP <Wn>, <Wm>, #<nzcv>, <cond>

64-bit variant:

CCMP <Xn>, <Xm>, #<nzcv>, <cond>

ccmp x13, x12, #0x0, ne # 双重比较. 判断 x13 和 x12 同时存在,即都不等于0。将ne设置到标志寄存器。

4037b8: 1100079c add w28, w28, #0x1 // this->argc+1

4037bc: b900527c str w28, [x19, #80] // this->argc++;

4037c0: 3864cb20 ldrb w0, [x25, w4, sxtw] // w0=0=args[i] cpsr=0x80201000 [ EL=0 SSBS SS N ]

4037c4: 7100001f cmp w0, #0x0 // cpsr=0x60201000 [ EL=0 SSBS SS C Z ]

4037c8: 7a440064 ccmp w3, w4, #0x4, eq // eq = none, w3=0xb=size-1, w4=4=i cpsr=0x20201000 [ EL=0 SSBS SS C ]

4037cc: 54fffecd b.le 4037a4 <ferror@plt+0x18c4>

#<nzcv>:

ARM Process state -- PSTATE

ARM Process state -- CPSR

相关推荐
花阴偷移13 小时前
逆向基础--汇编基础(段的分类) (07)
汇编
YeGop13 小时前
51单片机数码管显示函数分享(8051汇编)
汇编·嵌入式硬件·51单片机
花阴偷移13 小时前
逆向基础--汇编基础(DOS安装与介绍) (06)
汇编
花阴偷移1 天前
逆向基础--汇编源程序认识(08)
汇编
阿昭L2 天前
计算机外设与CPU通信
汇编·计算机外设
wyiyiyi3 天前
【数据结构+算法】进栈顺序推算、卡特兰数与逆波兰表达式
汇编·数据结构·笔记·算法
white-persist3 天前
汇编代码详细解释:汇编语言如何转化为对应的C语言,怎么转化为对应的C代码?
java·c语言·前端·网络·汇编·安全·网络安全
CC-NX3 天前
32位汇编:实验9分支程序结构使用
汇编·算法·win32·分支结构
花阴偷移5 天前
逆向基础--汇编基础(字与物料地址) (004)
汇编
小尧嵌入式5 天前
STM32启动汇编文件详解及启动逻辑
汇编·arm开发·stm32·单片机