ADD
作者:Vesper Vei
1 分钟阅读
目录
ADD(add)
基本作用
ADD 指令进行加法运算,将 x1 + x2 的结果写入 x1。
同时会影响多项 EFLAGS 标志位。
指令格式
add x1, x2x1 = x1 + x2x1、x2 类型:
- 寄存器
- 内存
- 立即数
(两者不能同时为内存)
指令执行过程
x1 ← x1 + x2EFLAGS ← 根据结果更新受影响的标志位包含:
- OF(溢出)
- SF(符号)
- ZF(零)
- CF(进位)
- AF、PF
示例
add eax, ebx ;寄存器 寄存器add rax, 0x20. ;寄存器 立即数add [rbp-0x4], 1 ; 内存 立即数等效展开示例
add rax, rbx; 等价于tmp = rax + rbxrax = tmp更新 EFLAGS常见用途
- 指针偏移
- 自增、累加
- 整数运算
- 构造循环计数器
- 栈地址计算(如 add rsp, 0x20)