计算机组成原理-第3章指令集结构研究.pptVIP

计算机组成原理-第3章指令集结构研究.ppt

  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文档。上传文档
查看更多
下表显示了当n=5时代码的运行过程: 表3.2 循环求和程序的执行步骤 怎样看待这个指令集结构? 它满足了以教学为目的的设计目标。当我们在第6和7章中设计这种CPU时我们就会看到,其复杂度足以阐明很多CPU的设计原则,却又没有掉进自身复杂度的陷阱中。 对于简单的应用程序来说,指令集完整。如果一个应用程序需要使用浮点型数据,它就不是十分完整。对于通用计算机(例如个人计算机),该指令集显然是不够的。 该指令集是相当正交的。只是多了OR指令,但有时CPU的指令集不是完全正交更好一些。 寄存器组是它最大的弱点。寄存器的缺乏导致执行任务较慢,并且降低了性能。 3.5 实例:8085微处理器指令集结构 3.5.1 8085微处理器的寄存器组 通用数据寄存器: 累加寄存器A - 总是接收一个8位的算术或逻辑指令的结果;也为所有采用二操作数的指令提供一个操作数。 六个通用寄存器 - 命名为B,C,D,E,H和L ,可成对访问:B和C,D和E,H和L 。寄存器对HL常用来指向内存单元。 16位的堆栈指针寄存器SP:包含堆栈顶部的地址。 5个标志,共同称为标志寄存器: ● 符号标志S:表明算术或逻辑指令计算出的结果的符号。其中,值1表示负数;值0表示正数(或零)。 ● 零标志Z:如果算术或逻辑运算指令产生的结果为0,则将Z置为1;否则Z为0。 ● 奇偶标志P:如果算术或逻辑运算结果中有偶数个1,则将P置为1;否则P为0。 ● 进位标志CY:当算术运算产生进位时才去设置它。 ● 辅助进位标志AC:与进位标志类似。它不指明进位值,但指出从结果的低四位向高四位传递了进位。 例如,加法0000 1111+0000 1000=0001 0111 中断标志寄存器IM:用于允许和禁止中断而且检查待处理的中断。程序员可以读取并且设置该寄存器中的值来处理中断。 例如,加法1111 0000+1000 0000=1 0111 0000,对两个8位值相加但产生了9位结果。最左边的1被存储在CY中;如果加法不产生进位1,则CY中会存储0。 3.5.2 8085微处理器指令集 8085指令集总共包含了74条指令。 可分为三个部分:数据传送指令、数据运算指令和程序控制指令。 采用如下记号描述: ● r,r1,r2:表示任何一个8位寄存器A,B,C,D,E,H,或者L。 ● M:表示内存单元。M[HL]表明该内存单元的地址存在寄存器对HL中。 ● rp:表示寄存器对BC,DE,HL,或者堆栈指针SP。 ● Г:一个16位地址或者数据。 ● n:是一个存储在内存中且紧跟操作码后的8位地址或者数据值。 ● cond:条件指令的一个条件。值为:NZ、Z、P、N、PO、PE、NC、C。 除了POP PSW指令外,其它指令都不会修改标志的值。 (PSW:处理器状态字(保存累加器和标志器中的内容 )) 表3.3 8085微处理器的数据传送指令 (立即寻址) (直接寻址) 指令的通用格式。一些指令有指定寄存器的字段,而另一些指令这些部分却是固定的。 图3.6 8085的指令格式 一字节 二字节 数据运算指令 大多数会影响表中的标志。 表3.4 8085微处理器的数据运算指令 13条程序控制指令。DI,EI,RIM和SIM包含在此因为它们可以处理中断,而中断最终又会影响程序控制。这些指令都不修改标志。 表3.5 8085微处理器的程序控制指令 3.5.3 一个简单的8085程序 计算和1+2+……+n,并且把结果存储于内存单元total中 。n值最初存于标志为n的内存单元中。 当设计此程序时,我们计算如n+(n-1)+……+1形式的总和。 算法如下: 与相对简单CPU中的程序不同,8085程序把它的运行值存储在CPU寄存器中。寄存器B包含数值i,总和存储在寄存器A中。 1: i=n,sum=0 2:sum=sum+i,i=i-1 3:IF i≠0 THEN GOTO 2 4:total=sum 执行该算法的8085代码如下: LDA n MOV B,A XRA A }sum=A?A=0 Loop: ADD B }sum=sum+i DCR B }i=i-1 JNZ Loop }IF i≠0 THEN GOTO Loop STA total }total=sum i=n 运行值存储在CPU寄存器,减

文档评论(0)

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

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

1亿VIP精品文档

相关文档