附录 B 8086/8088 汇编语言指令表
助记符
类别
指令格式 操 作
ODITSZAPC
MOV MOV dst, src
从 src 确定的位置取出源操作数,或把立即数形式的
src 作为源操作数,送到目的操作数 dst 确定的位置
- - - - - - - - -
PUSH PUSH src
把字操作数 src 入栈
- - - - - - - - -
POP POP dst
出栈一个字数据,送到操作数 dst 确定的位置
- - - - - - - - -
XCHG
XCHG
把 dst、src 两个操作数中的内容互换
- - - - - - - - -
XLAT XLAT
以 BX+AL 的和作为偏移地址,从数据段相应位置取
出一个字节数据送 AL 寄存器
- - - - - - - - -
LEA LEA dst, src
取操作数 src 在内存的偏移地址,送到 dst 确定的位
置
- - - - - - - - -
PUSHF
PUSHF
把标志寄存器 FLAGS 入栈
- - - - - - - - -
POPF
POPF
出栈一个字数据,送到标志寄存器 FLAGS 中
r r r r r r r r r
IN
IN AL, src
IN AX, src
从 src 指定的外设端口取出一个字节数据送到 AL;
或从 src 指定的外设端口及其下一端口取一个字数
据送到 AX 中
- - - - - - - - -
OUT
数据
传送
OUT dst, AL
OUT dst, AX
把 AL 的值送到 dst 指定的外设端口;或把 AX 的值
送到 dst 指定的外设端口及其下一端口
- - - - - - - - -
ADD ADD dst, src
把两个操作数的值相加,结果送到 dst 操作数确定的
位置
x - - - x x x x x
ADC ADC dst, src
把两个操作数及 CF 标志位的值三者相加,结果送到
dst 操作数确定的位置
x - - - x x x x x
INC INC opr
把 opr 的值加 1 后送回 opr 中
x - - - x x x x -
SUB SUB dst, src
把 dst 减去 src 的差送回操作数 dst 中
x - - - x x x x x
SBB SBB dst, src
把 dst 减去 src 的差再减去 CF 的值,结果送回操作
数 dst 中
x - - - x x x x x
DEC
DEC opr
把操作数 opr 的值减 1 送回 opr 中
x - - - x x x x -
NEG NEG opr
对操作数 opr 的值取反加 1 后送回 opr 中
x - - - x x x x x
CMP CMP dst, src
用 dst 减去 src,根据相减情况设置各条件标志位
x - - - x x x x x
MUL
MUL src
无符号乘法:AL 乘以字节操作数 src,乘积送到 AX
中;或 AX 乘以字操作数 src,乘积送到(DX,AX)中
x - - - u u u u x
IMUL
算术
运算
IMUL src
带符号乘法:AL 乘以字节型操作数 src,乘积送到
AX 中;或 AX 乘以字型操作数 src,乘积送到
(DX,AX)中
x - - - u u u u x