首页 > 试题广场 >

某机器字长 16 位,主存按字节编址,转移指令采用相对寻址,

[单选题]

某机器字长 16 位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节 PC 自动加 1 。若某转移指令所在主存地址为 2000H ,相对位移量字段的内容为 06H ,则该转移指令成功转以后的目标地址是:

  • 2006H
  • 2007H
  • 2008H
  • 2009H
注意啊,题目中描述的是“该转移指令成功转以后的目标地址”。
发表于 2018-04-08 19:16:57 回复(2)
通过读题目的直观理解,转移指令由两个字节组成,每取一个字节PC自动加1,则取一个指令PC应该加2,所以目标地址为主存地址+偏移量+增加量=2000H+06H+02H=2008H。不知道对不对~
发表于 2017-11-17 09:52:49 回复(0)
32U头像 32U
目标地址由两部分组成:操作码字段+相对位移量字段。
主存地址也应该由这两部分构成,所以在取指过程中,应该是取了源地址的操作码地址(一个字节)+偏移量字段(一个字节)。最后加上PC自加规律,两个字节加2,这样才是2008H ;  
    如果在源地址的时候把源偏移量也取了,感觉没意义,答案是2008H,这样理解符合规律。计算机内部的取址规律应该是这样。
发表于 2018-08-02 17:53:27 回复(0)
首先,我们需要理解什么是转移指令;转移指令是:叫CPU去执行我(转移指令)所指定的程序/指令(大白话)。官方定义是使程序转移到指令中  目的地址去执行。

解这道题的关键是“转移指令采用相对寻址”,什么是相对寻址?顾名思义是根据当前的指令的地址(PC内容),相对多少位置(偏移量)而找到下一条指令地址存放在主存的位置。计算有效地址EA=(PC)+A(形式地址)

题目中说“转移指令成功转移后的目的地址”言外之意是说执行转移指令后CPU 去哪个具***置执行程序/指令,再往前推,“执行”前是不是还有个分析指令(与解题无关)和取指令。取指令可是会影响到PC的内容啊,因为题目中说“假定取指令时,每取一个字节 PC 自动加 1”。题目中说转移指令由两个字节组成,也就是要把一整条转移指令取出来,PC+2,而转移指令所在主存地址为2000H,所PC内容为2000H+2=2002H

A是相对于当前指令地址的偏移量(位移量),既是叫CPU在当前位置“走几步”到达目的位置执行,即为转移指令执行成功后的目的位置,所以PC+A=2002H+06H=2008H
发表于 2023-09-27 19:09:56 回复(0)
参考:
相对寻址EA= (PC)+ A, 先计算取指后的PC 值。转移指令由2 字节组成,每取一字节PC加1, 在取指后PC 值为2002H, 因此EA= (PC) + A = 2002H + 06H = 2008H
发表于 2024-03-03 19:17:56 回复(0)