微机原理指令表和解释
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 传送类指令
MOV DEST , SRC ; DEST(除CS) SRC
2. 交换指令
XCHG DEST , SRC ; DEST(寄存器) SRC
3. 堆栈操作指令
PUCH SRC ;SP SP-2 将16位源操作数压入堆栈
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)
标志位入栈出栈指令
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 ;DEST DEST+ SRC
SUB DEST , SRC ;DEST DEST- SRC
带进位加减法运算指令
ADC DEST , SRC ;DEST DEST+ SRC+CF
SBB DEST , SRC ;DEST DEST- SRC-CF
增1减1指令
INC DEST ; DEST DEST+1
DEC DEST ; DEST DEST-1
比较指令
CMP DEST , SRC ;DEST-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 无符号相除
IDIV OPRD ;商:AL (AX/OPRD) 余数:AH (AX/OPRD)
商:AX (DX:AX)/OPRD 余数:DX (DX:AX)/OPRD 有符号相除
符号扩展指令
CBW ; AH AL
CBD ; DX:AX AX
9.压缩型BCD码加减法调整指令
DAA ;加法运算十进制调整
DAS ;减法运算十进制调整
非压缩型BCD码加减法调整指令
AAA ;加法运算十进制调整
AAS ; 减法运算十进制调整
10.逻辑指令
AND DEST , SRC ; DEST DEST&&SRC
OR DEST , SRC ; DEST DEST||SRC
NOT DEST ; NOT !NOT
XOR DEST , SRC ; DEST DEST异或SRC
测试指令
TEST DEST , SRC ;将DEST&&SRC 结果不送回DEST
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的循环
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]
取串指令
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]
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 重复执行结束
REPNZ ; 每执行依次串指令 CX (CX)-1 CX=0或ZF=1 重复执行结束
14.无条件转移类指令
JMP DEST ; 无条件转移到DEST所指定的地址
15.循环指令
LOOP DEST ; CX CX)-1 直至CX=0 结束循环
LOOPE/LOOPZ DEST ; CX CX)-1 直至CX=0或ZF=0结束循环
LOOPNE/LOOPNZ DEST ; CX CX)-1 直至CX=0或ZF=1结束循环
16.调用指令
CALL DEST ; 调用已定义的过程,并将断点地址压入堆栈保存
17.返回指令 (将断点地址从堆栈中弹出,然后按返回地址继续执行)
RET ; SP SP+2
RET n ; SP SP+2 +n
中断指令
INT n ;产生一个8位立即数中断号的内部中断,并调用中断号所对应的中断程序
INT 0 ;溢出中断
中断返回指令
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引脚为高电平时执行
封锁指令
LOCK ; 总线封锁,CPU独占总线指令
结束,结束封锁
交权指令
ESC ; 将处理器的控制权交给协处理器