南郊居士 发表于 2015-3-29 12:48:31

做到检测点2.3时 对IP寄存器自加时机的问题

以前在看别的8086书的时候,书上说每次读取到一条指令之后要先经过译码,然后IP自加1,然后才能确定这条指令一共占用了多少个字节,即一条指令不是一次性读完的。

但是王爽老师的书里(同时也是在甲鱼哥的教程里)说IP一次增加指令的长度,每次读完一条指令之后就自动跳到下一条指令的位置了。

我想知道的是,CPU是怎么知道这条指令占用了多少个字节的,才能让IP一次性增加到下一条指令的位置。
(而且8086数据总线只有16条,根本没办法一次性读取3个字节的内容)

南郊居士 发表于 2015-3-30 09:47:52

自己顶一下,没人来吗?

现在我觉得“一次性”的意思是从debug的角度而言的,并不是深究CPU的工作原理

夕阳游子 发表于 2015-4-9 11:04:28

数据总线一次不能传输完可以两次啊

张杨0627 发表于 2015-4-17 23:07:47

8086的数据总线的确是16条,但是它的寻址能力是64kB(2^16),远远超过你所说的3个字节。
页: [1]
查看完整版本: 做到检测点2.3时 对IP寄存器自加时机的问题