求助《检测点2。3,为什么IP值会被修改了4次》
本帖最后由 让你发癫 于 2012-7-9 22:16 编辑下面的3条指令执行后,CPU几次修改了IP?都在什么时候?最后IP中的值是多少?
mov ax, bx
sub ax, ax
jmp ax
答:CPU 4次修改了IP
第一次:执行完mov ax, bx后
第二次:执行完sub ax, ax
第三次:读入jmp ax
第四次:执行完jmp ax后
最后IP中的值是0。
为什么执行完mov ax, bx后IP的值会被修改,
不是执行jmp ax后IP的值才被修改的吗?
想了好久,还 是不明白,请高手解释一下,谢谢谢谢
:'(没人帮 我解释下吗
来人啊,,救命啊, 同求 我也有点没想明白 我明白了,哈哈,现在回头看自己问了一个小白问题,CPU每执行一次IP递增了一次而指向下一个偏移地址 mov ax,bx
读取这条指令,放入指令缓冲器。
ip+2指向下条指令。
执行指令。bx=ax
读取sub ax,ax,放入指令缓冲器。
ip+2,指向下条指令。
执行指令。ax=0
读取jmp ax,放入指令缓冲器。
ip+2。指向下条指令。
执行指令,ip=ax=0。
4次修改。
页:
[1]