教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

第三章80868088指令系统

来源:网络收集 时间:2026-08-25
导读: 第三章80868088指令系统 第3章 8086/8088指令系统3.1 概述指令——控制计算机完成指定操作的命令 机器指令——指令的二进制代码形式。例如:CD21H 汇编指令——助记符形式的指令。例如:INT 21H 指令系统——CPU所有指令及其使用规则的集合 8088/8086指令系

第三章80868088指令系统

第3章 8086/8088指令系统3.1 概述指令——控制计算机完成指定操作的命令 机器指令——指令的二进制代码形式。例如:CD21H 汇编指令——助记符形式的指令。例如:INT 21H 指令系统——CPU所有指令及其使用规则的集合

8088/8086指令系统: (1)指令向后兼容(x86系列) (2)应用广泛,资料易于寻找1

第三章80868088指令系统

指令按功能分为六大类(92种)(1)数据传送类; (2)数据操作类: a、算术运算类; b、逻辑运算和移位; (4)串操作类; (5)控制转移类; (6)处理机控制指令类。2

第三章80868088指令系统

3.1.1 指令的基本构成目的源

说明要执行的 是什么操作

操作对象,可以 有0个、1个或2个3

第三章80868088指令系统

指令举例:

MOV AX , BX

操作码 操作数ADD AX,[SI+6] ;两个操作数

INC

[BX] ;一个操作数

HLT ;无操作数4

第三章80868088指令系统

部分8088常用指令指令类型 助记符

数 据 传 送 算 术 运 算

数据传送 MOV,PUSH/POP,XCHG等 地址传送 LEA,LDS,LES 输入输出 IN,OUT

加法 减法乘/除法 逻辑 移位 串操作

ADD,ADC,INC SUB,SBB,DEC,NEG,CMPMUL,IMUL,DIV,IDIV AND,OR,NOT,XOR,TEST SHL/SHR/SAR,ROL/ROR,RCL/RCR MOVS,CMPS,SCAS,LODS,STOS

控制转移

JMP,JXX,LOOP,CALL/RET,INT/IRET

第三章80868088指令系统

8088/8086的操作数分为3类1、立即数(常数)取值范围如下表:无符号数

8位 00H-FFH(0-255)

16位 0000H-FFFFH(0-65535)

带符号数 80H-7FH(-128~127) 8000H-7FFFH(-32768~32767)

MOV AX,0FA00H MOV 8000H,DX

;正确 ;错误6

第三章80868088指令系统

2、寄存器操作数放在8个通用寄存器或4个段寄存器中的操作数

16 位 BX BH BL

16 位 CX CH CL

第三章80868088指令系统

SI DI

BPSP

只能存放字操作数

CSDS ES SS

段寄存器存放 当前操作数的 段基地址

不允许将立即数传送到段寄存器!8

第三章80868088指令系统

MOV AX , BX ;数据传送寄存器操作数

MOV DS, 0FF00H MOV AX, 0FF00H MOV DS,AX

第三章80868088指令系统

3、存储器操作数类型 存储单元个数字节 1

存储器操作数

字双字

24

一般不允许两个操作数同时为存 储器操作数10

第三章80868088指令系统

存储单元的物理地址 = 段基地址 + 偏移地址 若指令中没有指明所涉及的段寄存器,CPU就 采用默认的段寄存器来确定操作数所在的段。 代码段寄存器CS与IP 堆栈段寄存器SS与SP 数据段和附加段寄存器DS、ES的偏移量 有多种方式,取决于指令的寻址方式。 MOV AX , [BX ]; 默认DS与BX

MOV AX , ES:[BX ];指定ES与 BX11

第三章80868088指令系统

3.1.2 指令的执行时间一条指令的执行时间=∑取指令 取操作数 执行指令 传送结果

单位:时钟周期数表3.4 常用指令执行时间

结论: 1)尽量使用寄存器作为操作数 2)若有可能,用移位代替乘除法 3)尽量使用简单的寻址方式12

第三章80868088指令系统

3.2

8086的寻址方式

寻址方式——寻找操作数的方法 寻找操作数的地址(一般指源操作数)

寻找要执行的

下一条指令的地址

在8086指令系统中,说明操作数所在地址的寻 址方式可分为8种:①立即寻址 ②直接寻址 ③寄存器寻址 ④寄存器间接寻址 ⑤ 寄存器相对寻址 ⑥基址-变址寻址 ⑦相对的基址-变址寻址 ⑧隐含寻址

第三章80868088指令系统

3.1.2 立即寻址操作数(为一常数)直接由指令给出 (此操作数称为立即数) 立即寻址只能用于源操作数

例: MOV AX, 1C8FH MOV BYTE PTR[2A00H], 8FH 错误例: × MOV 2A00H, AX ; 错误!若立即数开头为字符(A、B、C、D、E、F),需

在前面加0,例如:MOV AX, 0F123H

第三章80868088指令系统

指令操作例:MOV AX,3102H ; AX执行后,(AH) = 31H,(AL) = 02H

3102H

存储器立即寻址指令在存储 器中的存放形式 操作码 低8位 高8位 AX AH AL MOV操作码 立 即 数 代 码 段 代 码 段

02 31

第三章80868088指令系统

3.2.2 直接寻址

指令中直接给出操作数的16位偏移地址

偏移地址也称为有效地址(EA, Effective Address) 默认的段寄存器为DS,但也可以显式地指定其他 段寄存器——称为段超越前缀

偏移地址也可用符号地址来表示,如ADDR、VAR 例:MOV AX , [2A00H] MOV DX , ES: [2A00H]

MOV SI , TABLE_PTR16

第三章80868088指令系统

指令操作例:MOV AX,[3012H]如果(DS)=2000H, (23012H)=CDH, (23013H)= ABH 则操作数的物理地址为: 存储器 20000H+3012H = 23012H

AH

AL23012H

MOV操作码 12 30

代 码 段

. .

指令执行后: (AX) = ABCDH

CD AB

数 据 段17

第三章80868088指令系统

3.2.3 寄存器寻址

操作数放在某个寄存器中

源操作数与目的操作数字长要相同寄存器寻址与段地址无关

例: MOV MOV MOV 错误例: MOV MOV AX, BX [3F00H], AX CL, AL AX, BL ES: AX, DX ; 字长不同 ; 寄存器与段无关

第三章80868088指令系统

指令操作例:MOV SI,AX指令执行前:(AX)=2233H

; SI

(AX)

AX

2233H

SI

2233H

指令执行后:(AX)=2233H,(SI)=2233H19

…… 此处隐藏:1104字,全部文档内容请下载后查看。喜欢就下载吧 ……
第三章80868088指令系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/90223.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)