微机原理与接口技术(第二版) 教学课件 作者 毛红旗 刘敏 杨洪亮 第03章 指令系统.ppt

微机原理与接口技术(第二版) 教学课件 作者 毛红旗 刘敏 杨洪亮 第03章 指令系统.ppt

  1. 1、本文档共136页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 指令系统 本章主要内容 8086寻址方式 8086指令系统 什么是指令系统 指令是指挥计算机进行操作的命令 计算机的指令系统就是指该计算机能够执行的全部指令的集合 不同的微处理器有不同的指令系统,其中每一条指令对应着微处理器的一种基本操作,这在设计微处理器时确定。微处理器的主要功能由它的指令系统来体现 程序是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。 16位8086指令系统是Intel 80x86系列微处理器指令系统的基础 指令的组成 指令由操作码和操作数两部分组成 操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分 操作数是指令执行的参与者,即各种操作的对象 有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有3个甚至4个操作数 指令的操作码和操作数 每种指令的操作码: 用一个唯一的助记符表示(指令功能的英文缩写) 对应着机器指令的一个二进制编码 指令中的操作数: 可以是一个具体的数值 可以是存放数据的寄存器 或指明数据在主存位置的存储器地址 寻址方式 寻址方式:指令中用于说明操作数所在地址的方法 指令系统设计了多种操作数的来源。操作数采取哪一种寻址方式,会影响机器运行的速度和效率 指令的助记符格式 操作码 操作数1,操作数2 ;注释 操作数2,称为源操作数 src,它表示参与指令操作的一个对象 操作数1,称为目的操作数 dest,它不仅可以作为指令操作的一个对象,还可以用来存放指令操作的结果 分号后的内容是对指令的解释 例:传送指令MOV的格式 MOV dest,src ;dest←src MOV指令的功能是将源操作数src传送至目的操作数dest,例如: MOV AL,05H ;AL←05H MOV BX,AX ;BX←AX MOV AX,[SI] ;AX←DS:[SI] MOV AX,[BP+06H] ;AX←SS:[BP+06H] MOV AX,[BX+SI] ;AX←DS:[BX+SI] 3.1. 8086的寻址方式 (1) 立即寻址方式 (2) 寄存器寻址方式 (2) 寄存器寻址方式 例:假设MOV AX, BX指令执行 前(AX)=3064H,(BX)=1234H,则指令执行后: (AX)= 1234H, (BX) 保持不变。 注: * 可用通用寄存器(16位或8位) * SRC 和 DST 的长度(数据类型)要一致 : MOV AH, BX ? MOV BX, AH ? * CS 不能用 MOV 指令改变 MOV CS, AX ? (2) 寄存器寻址方式 存储器寻址方式 除上述两种寻址方式外,下面五种寻址方式的操作数都在除代码段以外的存储区中,因此可以统称为存储器寻址方式。 双操作数指令的两个操作数中,只能有一个使用存储器寻址方式 (即两个操作数不能同时用存储器寻址方式) 这里先引入有效地址EA(Effective Address)的概念:在8086里,把操作数的偏移地址称为有效地址,下面五种计算EA的方法体现了五种寻址方式。 (3) 直接寻址方式 直接寻址方式举例: 直接寻址方式 直接寻址方式总结: * 隐含的段为数据段 DS * 可使用段跨越前缀 MOV AX, ES: [2000H] * SRC 和 DST 的长度(数据类型)要一致 : 例:MOV AL, [ 3000H ] ; [3000H]指示一个字节单元 MOV AX, [3000H ] ; [3000H]指示一个字单元 * s,d不能同时用存储器寻址方式 例: MOV [3000H], [2000H] ? * 操作数地址可由变量(符号地址)表示,例如: MOV AX, [VALUE] 通常写成如下形式: MOV AX,VALUE 比较:MOV AX,2000H MOV AX,[2000H] (4)寄存器间接寻址 EA 在基址寄存器(BX/BP) 或变址寄存器(SI/DI) 中 如果指令中使用的寄存器是SI、DI和BX,则操作数在数据段中,则: 物理地址=(DS)×10H+(BX) 或物理地址=(DS)×10H +(SI) 或 物理地址=(DS) ×10H +(DI) ; 如指令中指定BP寄存器,则操作数在堆栈段中,段地址在SS中,所以操作数的物理地址为: 物理地址=(SS) ×10H +(BP) 寄存器间接寻址举例: 例3.5:MOV AX,

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档