说明
符号 | 说明 |
---|---|
r | 通用寄存器 |
m | 代表内存 |
imm | 代表立即数 |
r8 | 代表8位通用寄存器 |
m8 | 代表8位内存 |
imm8 | 代表8位立即数 |
一、MOV
- 语法
操作码 | 目标操作数 | 源操作数 |
---|---|---|
MOV | r/m8 | r8 |
MOV | r/m16 | r16 |
MOV | r/m32 | r32 |
MOV | r8 | r/m8 |
MOV | r16 | r/m16 |
MOV | r32 | r/m32 |
MOV | r8 | imm8 |
MOV | r16 | imm16 |
MOV | r32 | imm32 |
作用
拷贝源操作数到目标操作数。注意
- 源操作数可以是
立即数
、通用寄存器
、段寄存器
、或者内存单元
。 - 目标操作数可以是
通用寄存器
、段寄存器
、或者内存单元
。 - 操作数的宽度必须一样。当两个操作数都是寄存器时,寄存器的宽度必须严格一致。例如,
mov eax, ax
是错误的。(当源操作数宽度小于目标操作数宽度时,会自动在高位补0;当源操作数宽度大于目标操作数宽度时,会自动将超出的高位进行截断。) - 源操作数和目标操作数不能同时为
内存单元
。
二、ADD、SUB、AND、OR和XOR
- 语法
操作码 | 目标操作数 | 源操作数 |
---|---|---|
ADD/SUB/AND/OR/XOR | AL | imm8 |
ADD/SUB/AND/OR/XOR | AX | imm16 |
ADD/SUB/AND/OR/XOR | EAX | imm32 |
ADD/SUB/AND/OR/XOR | r/m8 | imm8 |
ADD/SUB/AND/OR/XOR | r/m16 | imm16 |
ADD/SUB/AND/OR/XOR | r/m32 | imm32 |
ADD/SUB/AND/OR/XOR | r/m16 | imm8 |
ADD/SUB/AND/OR/XOR | r/m32 | imm8 |
ADD/SUB/AND/OR/XOR | r/m8 | r8 |
ADD/SUB/AND/OR/XOR | r/m16 | r16 |
ADD/SUB/AND/OR/XOR | r/m32 | r32 |
ADD/SUB/AND/OR/XOR | r8 | r/m8 |
ADD/SUB/AND/OR/XOR | r16 | r/m16 |
ADD/SUB/AND/OR/XOR | r32 | r/m32 |
三、NOT
操作码 | 操作数 |
---|---|
NOT | r/m8 |
NOT | r/m16 |
NOT | r/m32 |