第2-2章指令系统.ppt

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

第2章 8086指令系统 本章主要教学内容 1、8086指令的基本格式 2、8086指令系统的寻址方式 3、8086指令的应用 本章教学目的 使学生掌握指令的寻址方式过程,掌握指令的应用。 教学重点:指令系统的寻址方式和指令的应用 教学难点:指令的寻址方式 第2章 8086指令系统 2.1 指令的基本概念和基本格式 2.2 指令的寻址方式 2.3 8086指令系统 2.4 中断调用类指令 2.1 指令的基本概念和指令格式 机器指令:指挥计算机完成某种操作的命令。 从计算机组成的层次结构来说,计算机指令有机器指令、伪指令和宏指令之分。 指令格式如下: 操作符 OPD, OPS OPD:目的操作数 OPS:源操作数 2.2 指令寻址方式 2.2.1 寻址方式的基本概念 2.2.2 与数据有关的寻址方式 2.2.3 I/O端口寻址方式 2.2.1 寻址、寻址方式的概念 指令中操作数字段实质上是指出操作数存放于何处。一般来说,操作数可以跟随在指令操作码之后,称为立即数;操作数也可以存放在CPU内部的寄存器中,称为寄存器操作数。绝大多数的操作数存放在内存储器中,称为存储器操作数。指令指定操作数的位置,即给出地址信息,在执行时需要根据这个地址信息找到需要的操作数。这种寻找操作数的过程称为寻址,而寻找操作数的方法称为寻址方式。 2.2.2 与数据有关的寻址方式 1. 立即寻址 立即寻址方式中,指令操作码和操作数都在存储器代码段中。 汇编格式:n(n为立即操作数,是用8位或16位二进制补码表示的有符号数) 功能:操作数存放在 存储器,指令下一单元的 内容为立即操作数n。 图形表示如右: 【例2.1】 MOV AX, 10 执行后(AX)=? 该例中源操作数为立即寻址方式,立即数为10,存放在指令的下一单元。 图形表示: 执行:10→AX 执行后:(AX)=000AH 2. 寄存器寻址 寄存器寻址方式的操作数在指令指明的寄存器中。 汇编格式:R 其中R表示寄存器名。 功能:操作数直接存放在寄存器R中。 图形表示: R 指令→操作数 【例2.2】 下列程序执行后,(AX)=?,(BX)=? MOV AX,1234H MOV BX,5678H ADD AX,BX 该程序中MOV指令为数据传送指令操作符,ADD指令为加法指令操作符,三条指令皆为双操作数指令。第一、二条指令AX、BX皆为目的操作数地址,为寄存器寻址方式。第三条指令中,AX为目的操作数地址,BX为源操作数地址。源地址和目的地址皆为寄存器寻址方式。 图形表示: 执行:1234H→AX 5678H→BX (AX)+(BX)→AX 执行后:(AX)=68ACH,(BX)=5678H 3. 存储器寻址 如果操作码所需操作数存放在内存储器中,则指令中需要给出操作数的地址信息。为了提高程序的灵活性,8086指令系统提供了多种存储器寻址方式 (1)直接寻址 (2)寄存器间接寻址 (3)寄存器相对寻址 (4)基址变址寻址 (5)关于段跨跃前缀 (1) 直接寻址 汇编格式:①含有变量的地址表达式。 ②段寄存器名:[EA] 。 功能:指令下一字单元的内容是操作数的偏移地址EA。 图形表示: 【例2.3】 寄存器和存储器内容为:(AX)=1212H,BUF为数据段定义的变量,其偏移地址是2000H,(DS)=3000H,(32000H)=4545H。 执行指令:MOV AX ,BUF 执行后:(AX)=? 图形表示: 执行:(32000H)→AX 执行后:(AX)=4545H (2) 寄存器间接寻址 寄存器间接寻址方式中,寄存器的内容为操作数的偏移地址EA,操作数在存储器中。 汇编格式:[R] 功能:操作数存放在存储器,寄存器R存放操作数的偏移地址EA。 寄存器间接寻址示意图: 例如:MOV AX,[BX] 若(DS)=2000H,(BX)=1000H,物理地址=20000H+1000H=21000H。指令执行前,(AX)=2030H,(21000H)=0A0H,(21001H)=50H,指令执行后,(AX)=50A0H,(21000H)=0A0H,(21001H)=50H。指

文档评论(0)

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

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

1亿VIP精品文档

相关文档