44.(14分)某计算机采用16位定长指令字格式,其CPU中有一个标
2021.07.16 07:51

  【题目】

  44.(14分)某计算机采用16位定长指令字格式,其CPU中有一个标志寄存器,其中包含进位/借位标志CF、零标志ZF和符号标志NF。假定为该机设计了条件转移指令,其格式如下:

  其中,00000为操作码OP;C、Z和N分别为CF、ZF和NF的对应检测位,某检测位为1时表示需检测对应标志,需检测的标志位中只要有一个为1就转移,否则不转移,例如,若

  X=1,Z=0,N=1,则需检测CF和NF的值,当CF=1或NF=1时发生转移;OFFSET是相对偏移量,用补码表示。转移执行时,转移目标地址为(PC)+2+2×OFFSET;顺序执行时,下条指令地址为(PC)+2。请回答下列问题。

  (1)该计算机存储器按字节编址还是按字编址?该条件转移指令向后(反向)最多可跳转多少条指令?

  (2)某条件转移指令的地址为200CH,指令内容如下图所示,若该指令执行时CF=0,ZF=0,NF=1,则该指令执行后PC的值是多少?若该指令执行时CF=1,ZF=0,NF=0,则该指令执行后PC的值又是多少?请给出计算过程。


  (3)实现“无符号数比较小于等于时转移”功能的指令中,C、Z和N应各是什么?

  (4)以下是该指令对应的数据通路示意图,要求给出图中部件①~③的名称或功能说明。

  【答案要点】

  (1)因为指令长度为16位,且下条指令地址为(PC)+2,故编址单位是字节。(1分)

  偏移量OFFSET为8位补码,范围为-128~127,故相对于当前条件转移指令,向后最多可跳转127条指令。(2分)

  (2)指令中C=0,z=1,N=1,故应根据ZF和NF的值来判断是否转移。当CF=0,ZF=0,NF=1时,需转移。(1分)已知指令中偏移量为1110 0011B=E3H,符号扩展后为FFE3H,左移一位(乘2)后为FFC6H,故PC的值(即转移目标地址)为200CH+2+FFC6H=1FD4H。(2分)当CF=1,ZF=0,NF=0时不转移。(1分)PC的值为:200CH+2=200EH。(1分)

  (3)指令中的C、Z和N应分别设置为C=Z=1,N=0。(3分)

  (4)部件①:指令寄存器(用于存放当前指令);部件②:移位寄存器(用于左移一位);部件③:加法器(地址相加)。(3分)


MORE+

    相关阅读 MORE+

    版权及免责声明
    1.凡本网注明"稿件来源:新东方在线"的所有文字、图片和音视频稿件,版权均属北京新东方迅程网络科技有限公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本网协议授权的媒体、网站,在下载使用时必须注明"稿件来源:新东方在线",违者本网将依法追究责任。
    2.本网末注明"稿件来源:新东方在线"的文/图等稿件均为转载稿,本网转载出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。如擅自篡改为"稿件来源:新东方在线”,本网将依法追究责任。
    3.如本网转载稿涉及版权等问题,请作者致信weisen@xdfzx.com,我们将及时外理

    Copyright © 2011-202

    All Rights Reserved