微机原理8086指令系统表.doc
文本预览下载声明
西安邮电大学 8086指令系统表
指令 助记符 数
据
传
送 数据传送 MOV MOV Dest, Src← (Src)
Imm、CS、IP不能位数必须一致 XCHG XCHG Dest,Src (Src) ←→ (Dest)
Opr不能为Imm,Sreg
Opr位数必须一致CS(或IP) PUSH PUSH Src
(SP) ← (SP)-2
((SP) +1, (SP)) ← (Src) Opr只能16位一般配对使用 POP POP Dest
(Dest)←((SP) +1,(SP))
(SP) ← (SP) +2 XLAT XLAT (AL) ← ((BX) + (AL)) BX=首地址
AL=偏移量 地址传送 LEA LEA DES,Src ← EA(Src) Dest为16位 LDS LDS DES,Src ←EA (Src)
(DS) ← EA(Src+2) LES LES DES,Src (Dest) ←EA (Src)
(ES) ← EA(Src+2) 标志传送 LAHF LAHF←(FLAGSL) 相反操作一般配对使用 SAHF SAHF (FLAGSL)← (AH) PUSHF PUSHF (SP) ← (SP)-2
((SP) +1, (SP)) ← (PSW) 相反操作一般配对使用 POPF POPF
(Dest)←((SP) +1,(SP))
(SP) ← (SP) +2 输入输出 IN Ac,Port← (Port)
Ac←((DX)) 最多64K个8位或32K个16位端口地址256时,应采用 OUT OUT Port,Ac
OUT DX,Ac (Port) ←Ac
((DX))←Ac 算
术
运
算 加法 ADD ADD EST,Src ←(Src)+(Dest) ODITSZAPC=x---xxxxx ADC ADC EST,Src ←(Src)+ Dest)+CF ODITSZAPC= x---xxxxx INC INC Dest (Dest) ← (Dest) +1 ODITSZAPC= x---xxxx- 减法 SUB SUB EST,Src ←(Dest)- (Src) ODITSZAPC= x---xxxxx SBB SBB EST,Src ←(Dest)- (Src)-CF ODITSZAPC= x---xxxxx DEC DEC Dest (Dest) ← (Dest) -1 ODITSZAPC= x---xxxx- NEG NEG Dest (Dest) ←0 - (Dest) 求相反数
ODITSZAPC= x---xxxxx CMP CMP DES,Src ( 结果不回送
后边一般跟 乘法MUL MUL Src (AX) ← (AL) *(Src)
(DX, AX← (AX) *(Src) 单操作数指令
Src为乘数
Opr不能为Imm
Ac为隐含的被乘数 IMUL IMUL Src (AX) ← (AL) *(Src)
(DX, AX← (AX) *(Src) 除法 DIV DIV Src (AL) ← (AX)/ (Src)的商
(AH) ← (AX)/ (Src)的余数
(AX) ← (DX, AX)/ (Src)的商
(DX) ← (DX,AX)/ (Src)的余数 单操作数指令
Src为除数
Src不能为Imm
AX(DX,AX) IDIV IDIV Src
(AL) ← (AX)/ (Src)的商
(AH) ← (AX)/ (Src)的余数
(AX) ← (DX, AX)/ (Src)的商
(DX) ← (DX,AX)/ (Src)的余数 CBW CBW AL ( AX 正数前补0
负数前补1
无符号数不能扩展 CWD CWD AX ( (DX,AX) DAA DAA (AL) ( (AL)组合BCD 紧接在加减指令后
ODITSZAPC= u---xxxxx DAS DAS (AL) ( (AL)组合BCD AAA AAA (AL) ( (AL)非组合BCD 紧接在加减指令后
ODITSZAPC= u---uuxux AAS AAS (AL) ( (AL)非组合BCD AAM AAM (AL) ( (AL)非组合BCD 紧接在MUL后
ODITSZAPC= u---uuxux AAD AAD (AL) ( (AL)非组合BCD DIV指令之前AAD
DIV之后用AAM
ODITSZAPC= u
显示全部