(32位汇编 五)mov/add/sub/and/or/xor/not
本文链接:https://blog.csdn.net/pl20140910/article/details/78227133
说明
符号 说明
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