微机原理指令表和解释

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 ; 将处理器的控制权交给协处理器






相关文档
最新文档