个人认为检测2.3的问题 CPU几次修改IP非常有代表性,,,但是最后IP中的值这个问题问的有点不对了!!!
首先书中并没有介绍sub命令,以至看过答案为0思考了好半天没弄明白..
CPU几次修改IP,最开始个人认为是3次,,而且把图 2.15 - 2.26看了几十次才发现问题所在
结论 当mov ax,bx执行后 读入指令写入指令缓冲器 IP进行第一次修改 执行控制器执行指令 读取sub ax,ax
sub ax,ax执行后 读入指令写入指令缓冲器 IP进行第二次修改 执行控制器执行指令 读取jmp ax
jmp ax 执行 没有读入指令 但同时IP进行了第三次修改
jmp ax 的执行结果是对IP的第四次修改
前两步都是有运算结果的,而IP修改都是再得出运算结果之前,第三步可以理解为IP第三次修改后的运算结果是第四次修改
不知道我这样说算不算简单明了,希望对新人有所帮助 |