MENU

地址计算指令&整数计算指令

August 26, 2019 • 我爱学习

地址计算指令

  1. 指令格式:leal Src,Dest

    其中 Src 是地址计算表达式,详见寻址方法 (80x86 汇编语言)

    计算出来的地址赋值给 Dest

  2. 用途

    • 地址计算(无需访存)
    • 进行 x+k*y 这一类型的整数计算,会快很多。

整数计算指令

  1. 双操作数指令
Formatcomputationremarks
addl Src,DestDest = Dest + src 不区分有无符号
subl Src,DestDest = Dest - src 不区分有无符号
imull Src,DestDest = Dest * Src 不区分有无符号 且乘法只取到 32 位结果
sall Src,DestDest = Dest << Src
shll Src,DestDest = Dest << Src 与 sall 命令等价
shrl Src,DestDest = Dest >> Src 逻辑右移(高位直接补 0)
sarl Src,DestDest = Dest >> Src 算数右移(高位补 0,考虑符号位)
xorl Src,DestDest = Dest ^ Src 异或运算
andl Src,DestDest = Dest & Src 与运算
orl Src,Dest或运算
  1. 单操作数指令
Formatcomputation
inclDest = Dest + 1
declDest = Dest - 1
neclDest = - Dest
noclDest = ~ Dest
Last Modified: September 8, 2021