地址计算指令
指令格式:
leal Src,Dest
其中 Src是地址计算表达式,详见寻址方法(80x86 汇编语言)
计算出来的地址赋值给Dest
用途
- 地址计算(无需访存)
- 进行
x+k*y
这一类型的整数计算,会快很多。
整数计算指令
- 双操作数指令
Format | computation | remarks |
---|---|---|
addl Src,Dest | Dest = Dest + src | 不区分有无符号 |
subl Src,Dest | Dest = Dest - src | 不区分有无符号 |
imull Src,Dest | Dest = Dest * Src | 不区分有无符号 且乘法只取到32位结果 |
sall Src,Dest | Dest = Dest << Src | |
shll Src,Dest | Dest = Dest << Src | 与sall命令等价 |
shrl Src,Dest | Dest = Dest >> Src | 逻辑右移(高位直接补0) |
sarl Src,Dest | Dest = Dest >> Src | 算数右移(高位补0,考虑符号位) |
xorl Src,Dest | Dest = Dest ^ Src | 异或运算 |
andl Src,Dest | Dest = Dest & Src | 与运算 |
orl Src,Dest | 或运算 |
- 单操作数指令
Format | computation |
---|---|
incl | Dest = Dest + 1 |
decl | Dest = Dest - 1 |
necl | Dest = - Dest |
nocl | Dest = ~ Dest |