微机原理指令表和解释
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
取串指令
LODSB;(字节传送)AL DS:[SI] SI [SI+-1]
LODSW;(字传送)AL DS:[SI] SI [SI+-2]
存串指令
STOSB;(字节传送)ES:[DI] AL DI [DI+-1]
STOSW;(字传送)ES:[DI] AX DI [DI+-2]
串比较指令
CMPSB;(字节传送)DS:[SI]- ES:[DI] SI [SI+-1] DI [DI+-1]
空操作指令nop做空操作用于延时暂停指令hlt程序暂停执行等待指令waitcpu引脚为高电平时执行封锁指令lock总线封锁cpu独占总线指令交权指令esc
1.传送类指令
MOV DEST,SRC;DEST(除CS)SRC
2.交换指令
XCHG DEST,SRC;DEST(寄存器)SRC
3.堆栈操作指令
PUCH SRC;SP SP-2将16位源操作数压入堆栈
AAA;加法运算十进制调整
AAS;减法运算十进制调整
10.逻辑指令
AND DEST,SRC;DEST DEST&&SRC
OR DEST,SRC;DEST DEST||SRC
NOT DEST;NOT!NOT
XOR DEST,SRC;DESTDEST异或SRC
测试指令
TEST DEST,SRC;将DEST&&SRC结果不送回DEST
REPNZ;每执行依次串指令CX(CX)-1 CX=0或ZF=1重复执行结束
14.无条件转移类指令
JMP DEST;无条件转移到DEST所指定的地址
15.循环指令
LOOP DEST;CXCX)-1直至CX=0结束循环
LOOPE/LOOPZ DEST;CXCX)-1直至CX=0或ZF=0结束循环
LOOPNE/LOOPNZ DEST;CXCX)-1直至CX=0或ZF=1结束循环
标志位入栈出栈指令
PUSHF;SP SP-2将标志寄存器的内容压入堆栈
POPF;SP SP+2将栈顶的字单元内容弹出送到标志寄存器
6.有效地址传送指令
LEA DEST,SRC;DEST(寄存器)SRC(偏移地址)
LDS DEST,SRC;DSET(16位通用寄存器)[SRC](第一个字的内容)
DS [SRC](第二字的内容)
LES DEST,SRC;DSET(16位通用寄存器)[SRC](第一个字的内容)
ES [SRC](第二个字的内容)
7.输入输出指令
IN DEST,SRC;DEST(AL、AX)SRC
OUT DEST,SRC;DEST SRC(AL、AX)
8.加减法运算指令
ADD DEST,SRC;DESTDEST+ SRC
求补指令
NEG DEST;DEST 0-DEST
乘法指令
MUL OPRD;AX(AL*OPRD)DX:AX AX*OPRD无符号相乘
IMUL OPRD;A X(AL*OPRD)DX:AX AX*OPRD有符号相乘
除法指令
DIV OPRD;商:AL(AX/OPRD)余数:AH(AX/OPRD)
商:AX(DX:AX)/OPRD余数:DX(DX:AX)/OPRD无符号相除
16.调用指令
CALL DEST;调用已定义的过程,并将断点地址压入堆栈保存
17.返回指令(将断点地址从堆栈中弹出,然后按返回地址继续执行)
RET;SP SP+2
RET n;SP SP+2 +n
中断指令
INT n;产生一个8位立即数中断号的内部中断,并调用中断号所对应的中断程序
INT 0;溢出中断
中断返回指令
SOR DEST,COUNT;循环右移不带CF的循环
SCL DEST,COUNT;带进位循环左移带CF一起的循环
SCR DEST,COUNT;带进位循环右移带CF一起的循环
12.基本串操作类指令
MOVSB;(字节传送)ES:[DI] DS:[SI] SI [SI+-1] DI [DI+-1]
MOVSW;(字传送)ES:[DI] DS:[SI] SI [SI+-2] DI [DI+-2]
SUB DEST,SRC;DESTDEST- SRC
带进位加减法运算指令
ADC DEST,SRC;DESTDEST+ SRC+CF
SBB DEST,SRC;DESTDEST- SRC-CF
增1减1指令
INC DEST;DEST DEST+1
DEC DEST;DEST DEST-1
比较指令
CMP DEST,SRC;DEST-SRC
封锁指令
LOCK;总线封锁,CPU独占总线指令结束,结束封锁
交权指令
ESC;将处理器的控制权交给协处理器
IRET;从中断程序中返回
18.CF位设置指令
CLC;对CF清0
STC;对CF置1
CMC;对CF求反
DF位设置指令
CLD;对CF清0
STD;对CF置1
IF位设置指令
CLI;对CF清0
STI;对CF置1
19.空操作指令
NOP;做空操作用于延时
暂停指令
HLT;程序暂停执行
等待指令
WAIT;CPU引脚为高电平时执行
CMPSW;(字传送)DS:[SI]- ES:[DI] SI [SI+-2] DI [DI+-2]
串扫描指令
SACSB;(字节传送)AL- ES:[DI] DI [DI+-1]
SACSW;(字传送)AL- ES:[DI] DI [DI+-2]
13.重复前缀指令
REPZ;每执行依次串指令CX(CX)-1 CX=0或ZF=0重复执行结束
IDIV OPRD;商:AL(AX/OPRD)余数:AH(AX/OPRD)
商:AX(DX:AX)/OPRD余数:DX(DX:AX)/OPRD有符号相除
符号扩展指令
CBW;AH AL
CBD;DX:AXAX
9.压缩型BCD码加减法调整指令
DAA;加法运算十进制调整
DAS;减法运算十进制调整
非压缩型BCD码加减法调整指令
11.移位指令
SHL DEST,COUNT;逻辑左移最低补0最高进入CF
SHR DEST,COUNT;逻辑右移最低补0最高进入CF
SAL DEST,COUNT;逻辑左移最低补0最高进入CF
SAR DEST,COUNT;逻辑右移最高位不变最低补0最高进入CF
循环移位指令
SOL DEST,COUNT;循环左移不带CF的循环
POP DEST;SP SP+2将16位操作数弹出栈顶到目的(除CS)操作数
4.换码指令
XLAT;AL(BX+AL)偏移地址内容送到AL
5.标志位读写指令
LAHF;将标志寄存器的低8位(SF、ZF、AF、PF、CF)送到AH
SAHF;将AH的内容送到标志寄存器的低8位(SF、ZF、AF、PF、CF)
LODSB;(字节传送)AL DS:[SI] SI [SI+-1]
LODSW;(字传送)AL DS:[SI] SI [SI+-2]
存串指令
STOSB;(字节传送)ES:[DI] AL DI [DI+-1]
STOSW;(字传送)ES:[DI] AX DI [DI+-2]
串比较指令
CMPSB;(字节传送)DS:[SI]- ES:[DI] SI [SI+-1] DI [DI+-1]
空操作指令nop做空操作用于延时暂停指令hlt程序暂停执行等待指令waitcpu引脚为高电平时执行封锁指令lock总线封锁cpu独占总线指令交权指令esc
1.传送类指令
MOV DEST,SRC;DEST(除CS)SRC
2.交换指令
XCHG DEST,SRC;DEST(寄存器)SRC
3.堆栈操作指令
PUCH SRC;SP SP-2将16位源操作数压入堆栈
AAA;加法运算十进制调整
AAS;减法运算十进制调整
10.逻辑指令
AND DEST,SRC;DEST DEST&&SRC
OR DEST,SRC;DEST DEST||SRC
NOT DEST;NOT!NOT
XOR DEST,SRC;DESTDEST异或SRC
测试指令
TEST DEST,SRC;将DEST&&SRC结果不送回DEST
REPNZ;每执行依次串指令CX(CX)-1 CX=0或ZF=1重复执行结束
14.无条件转移类指令
JMP DEST;无条件转移到DEST所指定的地址
15.循环指令
LOOP DEST;CXCX)-1直至CX=0结束循环
LOOPE/LOOPZ DEST;CXCX)-1直至CX=0或ZF=0结束循环
LOOPNE/LOOPNZ DEST;CXCX)-1直至CX=0或ZF=1结束循环
标志位入栈出栈指令
PUSHF;SP SP-2将标志寄存器的内容压入堆栈
POPF;SP SP+2将栈顶的字单元内容弹出送到标志寄存器
6.有效地址传送指令
LEA DEST,SRC;DEST(寄存器)SRC(偏移地址)
LDS DEST,SRC;DSET(16位通用寄存器)[SRC](第一个字的内容)
DS [SRC](第二字的内容)
LES DEST,SRC;DSET(16位通用寄存器)[SRC](第一个字的内容)
ES [SRC](第二个字的内容)
7.输入输出指令
IN DEST,SRC;DEST(AL、AX)SRC
OUT DEST,SRC;DEST SRC(AL、AX)
8.加减法运算指令
ADD DEST,SRC;DESTDEST+ SRC
求补指令
NEG DEST;DEST 0-DEST
乘法指令
MUL OPRD;AX(AL*OPRD)DX:AX AX*OPRD无符号相乘
IMUL OPRD;A X(AL*OPRD)DX:AX AX*OPRD有符号相乘
除法指令
DIV OPRD;商:AL(AX/OPRD)余数:AH(AX/OPRD)
商:AX(DX:AX)/OPRD余数:DX(DX:AX)/OPRD无符号相除
16.调用指令
CALL DEST;调用已定义的过程,并将断点地址压入堆栈保存
17.返回指令(将断点地址从堆栈中弹出,然后按返回地址继续执行)
RET;SP SP+2
RET n;SP SP+2 +n
中断指令
INT n;产生一个8位立即数中断号的内部中断,并调用中断号所对应的中断程序
INT 0;溢出中断
中断返回指令
SOR DEST,COUNT;循环右移不带CF的循环
SCL DEST,COUNT;带进位循环左移带CF一起的循环
SCR DEST,COUNT;带进位循环右移带CF一起的循环
12.基本串操作类指令
MOVSB;(字节传送)ES:[DI] DS:[SI] SI [SI+-1] DI [DI+-1]
MOVSW;(字传送)ES:[DI] DS:[SI] SI [SI+-2] DI [DI+-2]
SUB DEST,SRC;DESTDEST- SRC
带进位加减法运算指令
ADC DEST,SRC;DESTDEST+ SRC+CF
SBB DEST,SRC;DESTDEST- SRC-CF
增1减1指令
INC DEST;DEST DEST+1
DEC DEST;DEST DEST-1
比较指令
CMP DEST,SRC;DEST-SRC
封锁指令
LOCK;总线封锁,CPU独占总线指令结束,结束封锁
交权指令
ESC;将处理器的控制权交给协处理器
IRET;从中断程序中返回
18.CF位设置指令
CLC;对CF清0
STC;对CF置1
CMC;对CF求反
DF位设置指令
CLD;对CF清0
STD;对CF置1
IF位设置指令
CLI;对CF清0
STI;对CF置1
19.空操作指令
NOP;做空操作用于延时
暂停指令
HLT;程序暂停执行
等待指令
WAIT;CPU引脚为高电平时执行
CMPSW;(字传送)DS:[SI]- ES:[DI] SI [SI+-2] DI [DI+-2]
串扫描指令
SACSB;(字节传送)AL- ES:[DI] DI [DI+-1]
SACSW;(字传送)AL- ES:[DI] DI [DI+-2]
13.重复前缀指令
REPZ;每执行依次串指令CX(CX)-1 CX=0或ZF=0重复执行结束
IDIV OPRD;商:AL(AX/OPRD)余数:AH(AX/OPRD)
商:AX(DX:AX)/OPRD余数:DX(DX:AX)/OPRD有符号相除
符号扩展指令
CBW;AH AL
CBD;DX:AXAX
9.压缩型BCD码加减法调整指令
DAA;加法运算十进制调整
DAS;减法运算十进制调整
非压缩型BCD码加减法调整指令
11.移位指令
SHL DEST,COUNT;逻辑左移最低补0最高进入CF
SHR DEST,COUNT;逻辑右移最低补0最高进入CF
SAL DEST,COUNT;逻辑左移最低补0最高进入CF
SAR DEST,COUNT;逻辑右移最高位不变最低补0最高进入CF
循环移位指令
SOL DEST,COUNT;循环左移不带CF的循环
POP DEST;SP SP+2将16位操作数弹出栈顶到目的(除CS)操作数
4.换码指令
XLAT;AL(BX+AL)偏移地址内容送到AL
5.标志位读写指令
LAHF;将标志寄存器的低8位(SF、ZF、AF、PF、CF)送到AH
SAHF;将AH的内容送到标志寄存器的低8位(SF、ZF、AF、PF、CF)