教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

微机原理与接口技术 指令系统整理

来源:网络收集 时间:2026-09-08
导读: 目录 1 8086CPU指令 ............................................................................................................................................................. 2 1.1. 编写说明 ..............................................

目录

1 8086CPU指令 ............................................................................................................................................................. 2

1.1. 编写说明 ............................................................................................................................................................ 2

2 指令索引表 ................................................................................................................................................................ 2

2.1. 8086CPU指令 ..................................................................................................................................................... 2

2.2. 伪操作指令 ...................................................................................................................................................... 14

1 / 18

1 8086CPU指令

1.1. 编写说明

对8086CPU的指令逐条介绍

2 指令索引表

2 / 18

8

数 据 传 LES REG, SRC 送指令 数 据 传 LAHF 送指令

9

10

数 据 传 SAHF 送指令

11

数 据 传 PUSHF 送指令

12

数 据 传 POPF 送指令

13

数 据 传 IN 送指令

14

数 据 传 OUT 送指令

后二个存储单元送入 DS 段寄存器中。 //常指定 DI 寄存器 执行操作: REG=(SRC) , ES=(SRC+2) //与 LDS 大致 相同,不同之处是将 ES 代替 DS 而已. LAHF ( Load AH with Flags ) 标志位送 AH 指令 //将 PSW 寄存器中的低 8 位的状态标志(条件码)送入 AH 的相应位, SF 送 D7 位, ZF 送 D6 位...... 执行操作: AH=PSW 的低位字节。 SAHF ( Store AH into Flags ) AH 送标志寄存器指 令 //将 AH 寄存器的相应位送到 PSW 寄存器的低 8 位的 相应位, AH 的 D7 位送 SF, D6 位送 ZF...... 执行操作: PSW 的低位字节=AH。 PUSHF ( PUSH the Flags) 标志进栈指令 //将标志寄存器的值压入堆栈顶部, 同时栈指针 SP 值减 2 执行操作: SP=SP-1,(SP)=PSW 的高 8 位, SP=SP-1, (SP)=PSW 的低 8 位 POPF ( POP the Flags ) 标志出栈指令 //与 PUSHF 相反, 从堆栈的顶部弹出两个字节送到 PSW 寄存器中, 同时堆栈指针值加 2 执行操作: PSW 低 8 位=(SP), SP=SP+1, PSW 高 8 位 =(SP) , SP=SP+1 输入输出指令(IN,OUT) 只限于使用累加器 AX 或 AL 与外部设备的端口传送信 息. (INput)输入指令:信息从 I/O 通过累加器传送到 CPU IN AL , PORT //直接的字节输入,PORT 是外设端口 编号(即端口地址),只能取 00H ~ 0FFH 共 256 个端口 地址. IN AX , PORT //直接的字输入,AX 存储连续两个端 口地址 PORT+1,PORT IN AL , DX //间接的字节输入,端口地址范围可通过 DX 设置为 0000H ~ 0FFFFH 共 65536 个端口地址 IN AX , DX //间接的字输入 ( OUTput)输出指令 :信息从 CPU 通过累加器传送 到 I/O OUT PORT , AL //直接的字节输出,PORT 规定与 IN 指令相同. OUT PORT , AX OUT DX , AL //间接的字节输出 OUT DX , AX MOV AL,05H OUT 27H, AL //将字节 05H 传送到地址3 / 18

15

算 术 运 ADD(ADD) 算指令

16

算 术 运 ADC DST , SRC 算指令

17

算 术 运 INC OPR 算指令

18

算 术 运 SUB DST , SRC 算指令

19

算 术 运 SBB DST , SRC 算指令 算 术 运 DEC OPR 算指令

20

27H 的端口 ADD DST , SRC //Byte/Word 执行操作: dst=dst+src 1.两个存储器操作数不能通过 ADD 指令直接相加, 即 DST 和 SRC 必须有一个是通用寄存器操作数. 2.段寄存器不能作为 SRC 和 DST. 3.影响标志位 Auxiliary Crray Flag ,Carry Flag, Overflow Flag, Parity Flag, Sign Flag 和 Zero Flag ,如下所示: CF 根据最高有效位是否有进(借)位设置的:有进 (借)位时 CF=1, 无进(借)位时 CF=0. OF 根据操作数的符号及其变化来设置的:若两个操 作数的符号相同,而结果的符号与之相反时 OF=1, 否则为 0. ZF 根据结果来设置:不等于 0 时 ZF=0, 等于 0 时 ZF=1 SF 根据结果的最高位来设置: 最高位为 0, 则

SF=0. AF 根据相加时 D3 是否向 D4 进(借)位来设置:有进 (借)位时 AF=1, 无进(借)位时 AF=0 PF 根据结果的 1 的个数时否为奇数来设置:1 的个 数为奇数时 PF=0, 为偶数时 PF=1 ADC( ADd with Carry)带进位加法指令 ADC DST , SRC //Byte/Word 执行操作: dst=dst+src+CF //与 ADD 不同之处是还 要加上进位标志位的值. INC ( INCreament) 加 1 指令 INC OPR //Byte/Word 执行操作: OPR=OPR+1 1.OPR 可以是寄存器和存储器操作数, 但不能是立即 数和段寄存器 2.影响标志位 OF,SF,ZF,PF 和 AF,不影响 CF. 减法运算指令 SUB ( SUBtract ) 不带借位的减法指令 SUB DST , SRC //Byte/Word 执行操作:dst=dst - src 1.DST 和 SRC 寻址方式及规定与 ADD 相同. 2.影响全部标志位.(判断标志位参见 ADD) SBB ( SuBtract with Borrow) 带借位减法指令 SBB DST , SRC //Byte/Word 执行操作:dst= dst - src - CF DEC ( DECrement ) 减 1 指令 DEC OPR //Byte/Word 执行操作:OPR = OPR - 1 //除 CF 标志位, 其余标 志位都受影响.4 / 18

21

算 术 运 NEG ( NEGate ) 算指令

22

算 术 运 CMP ( CoMPare ) 算指令

求补指令 NEG OPR 执行操作:opr = 0- opr //将操作数按位求反后末 位加 1. 比较指令 CMP OPR1 , OPR2 执行操作:OPR1 - OPR2 //与 SUB 指令一样执行运算, 但不保存结果. 比 情况 A=B A>B A<B A>=B A<=B 无符号数 ZF=1 CF=0 && ZF=0 CF=1 && ZF=0 CF=0 || ZF=1 CF=1 || ZF=1 有符号数 ZF=1 SF^OF=0 && ZF=0 SF^OF=1 && ZF=0 SF^OF=0 || ZF=1 SF^OF=1 || ZF=1

23

算 术 运 MUL 算指令

24 25

算 术 运 IMUL 算指令 算 术 运 DIV 算指令

26

算 术 运 IDIV 算指令

乘法运算指令,无符号数乘法指令 MUL SRC //Byte/Word . 执行操作:Byte => AX= AL *src //字节运算时目的 操作数用 AL, 乘积放在 AX 中 Word => DX=AX *src //字运算时目的操作数用 AX, DX 存放乘积的高位字, AX 放乘积的低位字 1.目的数必须是累加器 AX 或 AL,指令中不需写出 2. 源操作数 SRC 可以是通用寄存器和各种寻址方式 的存储器操作数, 而绝对不允许是立即数或段寄存 器. IMUL (sIgned MULtiple) 有符号数乘法指令 IMUL SRC //与 MUL 指令相同,但必须是带符号数 除法运算指令 DIV SRC //Byte/Word 其中: SRC 的规定同乘法指令 MUL 执行操作:Byte => AX / src //字节运算时目的操 作数在 AX 中,结果的商在 AL 中 ,余数中 AH 中 Word=> DX,AX /src //字运算时目的操作数在 DX 高 位字和 AX 低位字中,结果的商在 AX 中 ,余数在 DX 中 存储器操作数必须指明数据类型:BYTE PTR src 或 WORD PTR src IDIV (sIgned DIVied) 有符号数除法指令 IDIV SRC //Byte/Word 与 DIV 指令相同,但必须是带 符号数 转换指令 CBW (Convert Byte to Word) 字节转换为字指令 CBW5 / 18

27

算 术 运 CBW 算指令

28

算 术 运 CWD 算 …… 此处隐藏:15242字,全部文档内容请下载后查看。喜欢就下载吧 ……

微机原理与接口技术 指令系统整理.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1413694.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)