指令系统及汇编程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指令系统及汇编程序

PAGE  PAGE 36 第3章 指令系统及汇编程序 引入:指令系统和寻址方式是计算机系统的主要组成部分。凡是能够在计算机系统上直接运行的目标程序都是由指令组成的。指令系统是计算机系统中软件与硬件之间的一个主要分界面,也是他们之间互相沟通的桥梁。对于软件设计人员,学习通用计算机系统的指令系统和寻找方式是非常重要的。只有对指令系统和寻址方式有比较系统和深入的了解,才能设计出高水平的程序,特别是系统程序。 本章知识要点: 1)指令和指令系统的概念 2)几种寻址方式 3)指令的种类 4)汇编程序的指令系统和设计过程 3.1指令和指令系统概述 3.1.1 指令和指令系统的概念 指令:微处理器的每一条基本操作或运算称为一条指令,是计算机用以控制各部件协调动作的命令。 指令系统:计算机之所以能脱离人的直接干预自动地完成某项既定操作???是靠执行预先存入在计算机内存中的一条条指令来完成的。不同的计算机具有各自不同指令,对某种特定的计算机而言,其所有指令的集合称为该计算机的指令系统。 指令系统的特点:一个微处理器的指令系统是设计微处理器时决定的,成为微处理器固有的功能。指令系统所能完成的功能的强弱,是这种微处理器功能强弱的具体表现。因此指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也影响到系统软件。 3.1.2 指令的一般格式 指令是由操作码和地址码两部分组成的,其基本格式如图3-1所示。 操作码字段地址码字段图3-1 指令的格式 一、操作码字段 操作码是用来指明该指令所要完成的操作,如加法、减法、传送、移位、转移等等。通常,其位数反映了机器的操作种类,也即机器允许的指令条数,如操作码占7位,则该机器最多包含27=128条指令。 操作码的长度可以是固定的,也可以是变化的。前者将操作码集中放在指令字的一个字段内,如上图所示。这种格式便于硬件设计,指令译码时间短,广泛用于字长较长的、大中型计算机和超级小型计算机以及RISC(Reduced Instruction Set Computer)中。如IBM370和VAX—11系列机,操作码长度均为8位。 操作码长度不固定的指令,其操作码分散在指令字的不同字段中。这种格式可有效地压缩操作码的平均长度,在字长较短的微机中被广泛采用。如PDP-11,Intel8086/80386等,操作码的长度是可变的。 操作码长度不固定会增加指令译码和分析的难度,使控制器的设计复杂。通常采用扩展操作码技术,使操作码的长度随地址数的减少而增加,不同地址数的指令可以具有不同长度的操作码,从而在满足需要的前提下,有效地缩短指令字长。 二、地址码字段 地址码用来指出该指令的源操作数的地址(一个或两个)、结果的地址以及下一条指令的地址。这里的地址可以是主存的地址,也可以是寄存器的地址,甚至可以是I/O设备的地址。根据地址码部分给出的地址个数,指令分为以下几种: (1)零地址指令 零地址指令在指令字中无地址码,格式如图3-2所示。如进栈(PUSH)、出栈(POP)这类指令,其操作数的地址隐含在堆栈指针SP中。 OP图3-2 零地址指令 (2)一地址指令 一地址指令的地址码字段只有一个,如果将一个操作数的地址隐含在运算器的ACC中,则指令字中只需给出一个地址码,构成了一地址指令。其格式如图3-3所示。 OPA1图3-3 一地址指令 它可完成(ACC)OP(A1) →ACC的操作,ACC既存放参与运算的操作数,又存放运算的中间结果,这样,完成一条一地址指令只需两次访存。在指令字长仍为32位、操作码位数仍固定位8位时,一地址指令可直接寻址的范围达224,即16M。 (3)二地址指令 二地址指令中只含两个地址字段,其格式如图3-4所示。 OPA1A2图3-4 二地址指令 它可完成(A1)OP(A2)→A1的操作,即A1字段既代表源操作数的地址,又代表存放本次运算结果的地址。有的机器也可以表示(A1)OP(A2) →A2的操作,此时A2除了代表操作数源地址外,还代表中间结果的存放地址。这两种情况完成一条指令仍需访问四次存储器。如果使其完成(A1)OP(A2) →ACC,此时,它完成一条指令只需三次访存,它的含义是中间结果暂存于累加器ACC中。在不改变指令字长和操作码的位数前提下,二地址指令可直接寻访的主存地址数为212=4K。 (4)三地址指令 三地址指令中只有三个地址,其格式如图4-5所示。 OPA1A2A3图3-5 一地址指令 它可完成(A1)OP(A2)→A3的操作,这种指令的地址隐含在程序计数器PC之中。如果指令字长不变,设OP仍为8位,则三个地址字段各占8位,故三地址指令直接寻址范围可达28=256。同理,若

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档