ARM base instruction -- cinc

Conditional Increment returns, in the destination register, the value of the source register incremented by 1 if the condition is TRUE, and otherwise returns the value of the source register.

如果条件为TRUE,则条件增量在目标寄存器中返回源寄存器的值加1,否则返回源寄存器。

32-bit variant

Applies when sf == 0.

CINC <Wd>, <Wn>, <cond>

64-bit variant

Applies when sf == 1.

CINC <Xd>, <Xn>, <cond>

Decode for all variants of this encoding

integer d = UInt(Rd);

integer n = UInt(Rn);

integer datasize = if sf == '1' then 64 else 32;

Operation

bits(datasize) result;

bits(datasize) operand1 = X[n];

if ConditionHolds(cond) then

result = operand1 + 1;

else

result = operand1;

X[d] = result;

404288: 710002ff cmp w23, #0x0 // w23=0

40428c: aa1b03fc mov x28, x27 // x28=x27=walk->next

404290: 110006f7 add w23, w23, #0x1 // w23=w23+1 count++

404294: 1a94069b cinc w27, w20, ne // w27=0, w20=0; if ConditionHolds(cond) then w27=w20+1=1

404298: 17ffffd2 b 4041e0 <ferror@plt+0x2300>

相关推荐
xiaobuding_QAQ8 小时前
51汇编仿真proteus8.15学习篇四(附源码)
汇编·单片机·学习·proteus
xiaobuding_QAQ8 小时前
51汇编仿真proteus8.15学习篇三(附源码)
汇编·单片机·学习·proteus
188号安全攻城狮1 天前
【PWN】HappyNewYearCTF_2_栈上变量覆写1
linux·运维·汇编·安全·网络安全
草莓熊Lotso1 天前
Linux 进程创建与终止全解析:fork 原理 + 退出机制实战
linux·运维·服务器·开发语言·汇编·c++·人工智能
爱编码的小八嘎1 天前
汇编语言全接触-105.Natas 幽灵王病毒的分析
汇编
老鱼说AI2 天前
深入理解计算机系统1.5:抽象的重要性:操作系统与虚拟机
c语言·开发语言·汇编
猫猫的小茶馆3 天前
【Linux 驱动开发】一. 搭建开发环境
linux·汇编·arm开发·驱动开发·stm32·嵌入式硬件·mcu
猫猫的小茶馆3 天前
【Linux 驱动开发】二. linux内核模块
linux·汇编·arm开发·驱动开发·stm32·嵌入式硬件·架构
切糕师学AI4 天前
ARM 中的 SVC 监管调用(Supervisor Call)
linux·c语言·汇编·arm开发
ベadvance courageouslyミ4 天前
硬件基础中断
汇编·硬件·中断