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

相关推荐
cch89184 小时前
汇编与Java:底层与高层的编程对决
java·开发语言·汇编
cch89185 小时前
汇编与Go:底层到高层的编程差异
java·汇编·golang
山峰哥12 小时前
告别“点点点”:AI 如何重构我们的测试体系与质量防线
服务器·汇编·数据库·人工智能·性能优化·重构
披着羊皮不是狼16 小时前
ARM 汇编核心语法速查
汇编·arm开发
cch89182 天前
PHP与汇编:高级与低级的终极对决
开发语言·汇编·php
One_Blanks2 天前
WIndows x64 ShellCode开发 第三章 x64汇编细节点
汇编·windows·网络安全·渗透测试·红队技术
Kira Skyler2 天前
kprobe函数入口时的汇编跳板执行流程与栈帧机制
linux·汇编
LittleFishC3 天前
08_长调用与短调用
c语言·汇编·逆向·windows内核
老师用之于民3 天前
【DAY35】ARM开发:UART 异步串行通信原理、通信标准及模块配置详解
c语言·汇编·arm开发·vscode
陌上花开缓缓归以5 天前
mips u-boot如何在汇编中添加调式打印
汇编