微型计算机原理与接口技术(第3章)1.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微型计算机原理与接口技术(第3章)1

第3章 8088/8086 指令系统 主要内容: 指令系统的一般概念 对操作数的寻址方式 六大类指令的操作原理 3.1 概述 指令——控制计算机完成指定操作的命令 运算数据的来源 指令中应包含的信息 运算结果的去向 执行的操作 机器指令——指令的二进制代码形式。例如:CD21H 汇编指令——助记符形式的指令。例如:INT 21H 指令系统——CPU所有指令及其使用规则的集合。 指令的兼容性——同一系列机的指令都是兼容的。 8088/8086指令系统: (1)指令向后兼容(x86系列) (2)应用广泛,资料易于寻找 一、指令的基本构成 指令格式: 指令举例: MOV AX , BX 操作码 操作数 ADD AX,[SI+6] INC [BX] HLT 部分8088常用指令 指令中的操作数 8088/8086的操作数分为3类 1)立即数操作数(常数) 2)寄存器操作数 3)存储器操作数 1)立即数操作数: 表示参加操作的为数据本身,可以是8位或16位 例: MOV AX,1234H MOV BL,22H 立即数无法作为目标操作数 立即数可以是无符号或带符号数,其数值应在可取值范围内 2)寄存器操作数: 放在8个通用寄存器或4个段寄存器中的操作数。 例:MOV AX,BX ;(16) MOV DL,CH ;(8) 3)存储器操作数: 表示当前参加运算的数存放在存储器的某一个或某两个单元中 例:MOV AX,[1200H] MOV AL[1200H]         类型  存储单元个数  存储器操作数 一般不允许两个操作数同时为存储器操作数   存储单元的物理地址 = 段基地址 + 偏移地址 若指令中没有指明所涉及的段寄存器,CPU就采用默认的段寄存器来确定操作数所在的段。 段寄存器使用的一些基本约定 存储器操作数的偏移地址(也称有效地址)可以通过不同的寻址方式由指令给出。  例如,若(BX)=2000H, (SI)=0A00H, (DI)=2A00H,则以下指令的结果是一样的: MOV AL, [2A00H]             MOV AL, [BX+0A00H]             MOV AL, [BX][SI]             MOV AL, [DI] 二、指令的执行速度 指令的执行速度 指令的字长影响指令的执行速度。 对不同的操作数,指令执行的时间不同: 存储器 立即数 寄存器 结论: 1)尽量使用寄存器作为操作数 2)若有可能,用移位代替乘除法 3)尽量使用简单的寻址方式 3.2 8086的寻址方式 寻址方式——寻找操作数的方法 寻找操作数的地址(一般指源操作数) 寻找要执行的下一条指令的地址 在8086指令系统中,说明操作数所在地址的寻址方式可 分为8种:  ① 立即寻址 ⑤ 寄存器相对寻址  ② 直接寻址 ⑥ 基址-变址寻址  ③ 寄存器寻址 ⑦ 相对的基址-变址寻址  ④ 寄存器间接寻址 ⑧ 隐含寻址 一、立即寻址 操作数(为一常数)直接由指令给出(此操作数称为立即数) 立即寻址只能用于源操作数 例: MOV AX, 1C8FH MOV BYTE PTR[2A00H], 8FH 错误例: × MOV 2A00H, AX ; 错误! 指令操作例: MOV AX,3102H ; AX 3102H 执行后,(AH) = 31H,(AL) = 02H 二、直接寻址 指令中直接给出操作数的16位偏移地址 偏移地址也称为有效地址(EA, Effective Address) 默认的段寄存器为DS,但也可以显式地指定其他段寄存器——称为段超越前缀 偏移地址也可用符号地址来表示,如ADDR、VAR 例: MOV AX , [2A00H] MOV DX , ES:[2A00H] MOV SI , TABLE_PTR 指令操作例:MOV AX,[3102H] ;AL (3102H), AH (3103H) 如果(DS)=2000H, (23012H) = CDH, (23013H) = ABH 则操作数的物理地址为: 20000H+3102H = 23102H 指令执行后:(AX) =

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档