- 1、本文档共236页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第03章微机原理
微机原理与接口技术 李宝平 计算机学院通信工程系 libaoping@hpu.edu.cn Contents 3.1 概述 8088/8086指令系统: (1)指令向后兼容(x86系列) (2)应用广泛,资料易于寻找 指令按功能分为六大类(92种) 3.1.1 指令的基本构成 部分8088/8086常用指令 8088/8086的操作数分为4类 1、立即数(常数)源操作数就是参加操作的数据本身,它们可以是8位或16位。取值范围如下表: 4、I/O接口操作数 3.1.2 指令的执行时间 一条指令的执行时间=∑ 3.2 8086的寻址方式 寻址方式——寻找操作数的方法 寻找操作数的地址(一般指源操作数) 寻找要执行的下一条指令的地址 在8086指令系统中,操作数所在地址的寻址方式可分为8种: ①立即寻址 ⑤ 寄存器相对寻址 ②直接寻址 ⑥基址-变址寻址 ③寄存器寻址 ⑦相对的基址-变址寻址 ④寄存器间接寻址 ⑧隐含寻址 3.2.4 寄存器间接寻址 操作数的偏移地址(有效地址EA)放在寄存器中 只有SI、DI、BX和BP可作间址寄存器 例: MOV AX, [BX] MOV CL, CS:[DI] IN AL, [DX];括号可省去 OUT [DX],AL;括号可省去 错误例 : × MOV AX, [DX] × MOV CL, [AX] 例: MOV AX, [BX+8] MOV CX, TABLE[SI] MOV AX, [BP+1000H] ; 默认段寄存器为SS 指令操作例:MOV AX,DATA[BX] 若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H 则物理地址 = 60000H + 1000H + 2A00H = 63A00H 指令执行后:(AX)=5566H (见下页图示) 例: MOV AX, [BX] [SI] MOV AX, [BX+SI] MOV AX, DS: [BP] [DI] 错误例: × MOV AX, [BX] [BP] × MOV AX, [DI] [SI] 如何寻找指令的地址呢? (1)程序中将要执行的指令的地址由CS:IP指向; (2)程序的第一条指令的地址(首地址)由操作系统OS分配产生; (3)一般程序是一条接着一条的顺序执行的,所以CS:IP自动加1即可实现。 (4)当程序跳转执行时,CS:IP采用直接方式或间接方式改为跳转到的指令地址。 小结 寄存器间接、寄存器相对、基址变址、相对基址变址4种寻址方式的比较: 寻址方式 指令操作数形式 寄存器间接 只有一个寄存器(BX/BP/SI/DI之一) 寄存器相对 一个寄存器加上位移量 基址—变址 两个不同类别的寄存器 相对基址-变址 两个不同类别的寄存器加上位移量 3.3 8086/8088指令系统 为便于理解指令的形式和功能,对指令中操作 符号的约定如下: 大小写字母无区别 oprd: 泛指各类操作数; oprd1, oprd2: 多操作数指令中, oprd1为目标操 作数,oprd2为源操作数; dest, src: 目的操作数, 源操作数 reg: 8位或16位的通用寄存器; sreg: 段寄存器; acc: 累加器al或ax reg8: 8位通用寄存器; reg16: 16位通用寄存器; mem: 8位或16位存储器; mem8: 8位存储器; mem16: 16位存储器; disp: 8位或16位存储器地址偏移量; imm或data: 8位或16位立即数; imm8: 8位立即数; imm16: 16位立即数; port :
文档评论(0)