算术和逻辑操作
加载有效地址
加载有效地址(load effective address)指令leal实际上是movl指令的变形。 整数算术操作,加载有效地址(leal)指令通常用来执行简单的算术操作。
指令 | 效果 | 描述 |
---|---|---|
leal S,D | D<-&S | 加载有效地址 |
INC D | D<- D+1 | 加1 |
DEC D | D<- D-1 | 减1 |
NEG D | D<- D | 取负 |
NOT D | D<- ~D | 取补 |
ADD S,D | D<- D+S | 加 |
SUB S,D | D<- D-S | 减 |
IMUL S,D | D<- D*S | 乘 |
XOR S,D | D<- D^S | 异或 |
OR S,D | D<- D或S | 或 |
AND S,D | D<- D&S | 与 |
SAL k,D | D<- D<<k | 左移 |
SHL k,D | D<- D<<k | 左移(等同于SAL) |
SAR k,D | D<- D>>A k | 算术右移 |
SHR k,D | D<- D>>L k | 逻辑右移 |
3.5.2 一元操作和二元操作
- 一元操作:INC D( D<- D+1)加1,它只有一个操作数,既是源又是目的。
- 二元操作:ADD S,D(D<- D+S)加,第二个操作数既是源又是目的。
3.5.3 移位操作
SHR k,D 逻辑右移,先给出移位量,然后第二项给出的是移位的位数。