微机原理与接口技术 指令系统整理
目录
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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




