(32位汇编 五)mov/add/sub/and/or/xor/
说明
符号 |
说明 |
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 |
上一篇下一篇