计算机组成原理指令集结构剖析.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例如: Intel 8086指令 MOV AL,[BX+4] 设 BX=2000H,BX+4=2004H (2004H)=82H,则 AL←82H 例如: LDAC 5(X) ;变址寄存器X:数值10,则 5+10=15 ;读取15号单元中的数据并且把它存储在累加器中。 ◆ 变址寻址可用于数组、向量、字符串等数据的处理 例: Intel 8086指令 LODS ;AL←(SI),SI←SI+1 A SI … a2 A+2 a1 A+1 a0 A +1 2.基址寻址 ◆ 操作数的有效地址等于指令中的形式地址与基址 寄存器中的内容之和。 ◆ 基址寄存器可以是一个专用的寄存器,也可以是 由指令指定的一个通用寄存器。 ◆ 基址寻址主要用于将用户程序的逻辑地址(用户编写 程序时所使用的地址)转换成主存的物理地址(程序 在主存中的实际地址)。 ◆ 基址寻址与变址寻址在形式上以及有效地址的计算 方法上都是相似的,但它们的应用场合是不同的。 基址寻址是面向系统的,主要用于逻辑地址到 物理地址的变换,用以解决程序定位问题。基址寄 存器由系统程序使用,对用户是透明的。 变址寻址是面向用户的,主要用于访问数组、 向量、字符串等成批数据,用以解决程序的循环控 制问题。 3.2.4 指令格式 操作码 地址码 指令的基本格式: 指令格式的设计包含两个方面: 1. 确定指令的长度; 2. 划分指令的字段,定义各字段的位数、含义 。 一、指令长度 ◆ 指令字长度:一个指令字所包含的二进制信息的位数。 ◆ 定长指令:指令系统中所有指令的长度都是一样的。 ◆ 可变长指令:各指令的长度可以不同。 ◆ 指令长度与机器字长 二.指令的地址码 考虑的问题:需要多少地址信息及如何给出地址。 1. 零地址指令 格式: (1) 无需任何操作数, 如空操作,停机等指令。 (2) 所需操作数是隐含指定的,如堆栈运算指令。 2. 一地址指令 格式: 意义: (1) A? OP (A) (2) AC ? (AC) OP (A) OP OP A 指令短,节省空间,执行快,常用于微、小型机中。 3. 二地址指令 格式: 意义: A1 ? (A1) OP (A2) 最常用的指令格式,适用于中、小、微型机。 OP A1 A2 ◆ 二地址指令的几种形式 ① 存储器—存储器型(S—S型)指令 ② 寄存器—寄存器型(R—R型)指令 ③ 寄存器—存储器型(R—S型)指令 R2 R1 OP A Rn OP 4. 三地址指令 格式: 意义: A3 ? (A1) OP (A2) 常用于大、中型机中。 OP A1 A2 A3 5. 多地址指令 考虑一个简单的例子:A=B+C 一个操作: 加法 三个操作数: 两个源操作数—— B、C 一个目的操作数—— A 假定微处理器可以执行16种不同的操作。 需要4位来代表其中的操作(因为24=16) (假设位模式1010 →加法) 假定仅有4种可能的操作数——A,B,C和D。 用两位来表示每一种操作数: 00→A ,01→B ,10→C ,11→D 图3.4 采用(a)三操作数,(b)二操作数,(c)单操作数,(d)0操作数的指令格式和计算A=B+C的汇编语言程序以及机器代码。 微处理器可以设计成能运行具有3、2、1或0个操作数的指令。 二、指令的操作码 指令系统中的每一条指令都有唯一确定的操作码。 操作码位数取决于机器指令系统的规模。 1.固定长度操作码 操作码的长度固定,且集中放在指令字的一 个字段中,其余部分全部用于地址码。 此方式有利于简化硬件

文档评论(0)

三四五 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档