|
主题 : : 检测点2.3 ip到底修改了几次? [待解决] |
回复[ 6次 ]
点击[ 378次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-10-10 10:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-10 10:26 |
题目是这样:下面3 条指令执行后,CPU几次修改了IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
我用debug ,第一次ip 由0000改为0002,第二次由0000改为0004, 第三次由0004改为0000,可参考答案是四次。不知为何? | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-10-10 10:53 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-10 10:26 |
题目是这样:下面3 条指令执行后,CPU几次修改了IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
我用debug ,第一次ip 由0000改为0002,第二次由0002改为0004, 第三次由0004改为0000,可参考答案是四次。不知为何? | | |
|
|
|
|
[第2楼]
[ 回复时间:2010-10-10 14:26 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-02 11:22 |
读jmp指令ip修改了一次,执行jmp指令又修改了一次。debug下就知道了 | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-10-10 20:49 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-10 10:26 |
|
|
|
|
|
[第4楼]
[ 回复时间:2010-10-10 21:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-10 10:26 |
|
|
|
|
|
[第5楼]
[ 回复时间:2010-10-18 10:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-16 16:57 |
我的结果是:14e8:0100 mov ax,bx这应该是几次呢?
14e8:0102 sub ax,ax
14e8:0104 jmp ax
14e8:0106 | | |
|
|
|
|
[第6楼]
[ 回复时间:2010-10-18 21:12 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-15 14:54 |
debug看到的都是执行指令后的IP,因为前两条命令读入后的IP值和执行后的IP值一致,所以可以直接看命令执行后,IP是否改变来判断改IP变次数。而最后一条命令读入后IP改变值和执行后的IP值不一致。所以最后一条命令从读入到执行后IP改变有两次。 | | |