一道考研题目,某计算机字长16位,主存按字节编址。懂的人来回答下,要解释

一道考研题目,某计算机字长16位,主存按字节编址。懂的人来回答下,要解释
某计算机字长16位,主存按字节编址,转换指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是()
A:2006H B:2007H C:2008H D:2009H
答案是选C,但是为啥不是B呢,2000H+06H+PC自动加1 不是等于2007吗?为啥是2008H,高手回答下,谢谢,
这是跟指令是2字节有关?还是因为这是16位的计算机,我分不清楚。详细解释下吧。PC+1是指什么呢?
还有个疑问,如果转移指令是3字节。那么转移成功以后的目标地址是2009H吗?
另外一个问题是转移成功以后,相对位移量的内容会不会变化?pc自动加一以后。06H+2=08H ? 还是不管执行多少次指令,相对位移量都是06H。
ice烈火 1年前 已收到2个回答 举报

jenny_1130 幼苗

共回答了21个问题采纳率:90.5% 举报

楼上说的不是很严密
题目里已经说了“转换指令采用相对寻址,由两个字节组成”,那么每取一个字节,PC自动加1,所以取指令后PC值为2002H,再去加位移量。
PC就是程序计数器,当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指今的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令!
你可以简单理解为,执行前+1,执行后再+1,实际上这题每取一个字节,就相当于上面循环一次的过程,所以总共PC+2
补充:转移指令是3字节,显然转移成功以后的目标地址是2009H,只不过转移指令一般情况下不会是3字节的
相对位移量既然是“相对”了,当然不会变化,这个你不能死记的,要从原理上去理解,把书上指令系统的原理看明白,就什么都清楚了。

1年前

12

lkf113 幼苗

共回答了19个问题采纳率:78.9% 举报

每条指令长度为2个字节
PC指向2000h,读完转移指令PC为2002h,加上06h

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.038 s. - webmaster@yulucn.com