第2章检测点2.3为什么会是这个答案??
第2章检测点2.3为什么会是这个答案?我研究了快2天了就是想不出来,书本我也翻了好几遍。检测点2.3下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是多少?mov ax,bxsub ax,axjmp ax
答:一共修改四次 第一次:读取mov ax,bx之后第二次:读取sub ax,ax之后第三次:读取jmp ax之后第四次:执行jmp ax修改IP最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为0000H
这是怎么算来的??最后的结果为什么是0000H还有“sup”这个什么起什么作用的,第一章和第二章没学这个啊。
本帖最后由 盐生 于 2014-4-30 19:46 编辑
你没去记jmp的作用吧?jmp(可能是jump的缩写)之后就开始从新的地址执行代码,当然变CS:IP(等于CS:AX)了;sub自己早点百度就不用想两天了,,, 本帖最后由 为之疯狂 于 2014-4-30 20:24 编辑
mov ax,bx;将bx的值传到ax中
sub ax,ax ;ax-ax的值传到ax中
jmp ax ;经过上一步就能确定ax的值是0,然后修改ip值为ax,也就是0,最后跳转到cs:0的代码段去。 我的天呐,SUP是减法,ax减ax等于0啊,jmp读取是修改一次,读取后执行后变成了又修改一次。终于弄懂了,谢谢!!!!!!!!看到你的提醒我又研究了1小时才弄明白。够笨的O(∩_∩)O~ 58223495 发表于 2014-4-30 20:44 static/image/common/back.gif
我的天呐,SUP是减法,ax减ax等于0啊,jmp读取是修改一次,读取后执行后变成了又修改一次。终于弄懂了,谢谢 ...
以后一起讨论吧,我q312154421 58223495 发表于 2014-4-30 20:44 static/image/common/back.gif
我的天呐,SUP是减法,ax减ax等于0啊,jmp读取是修改一次,读取后执行后变成了又修改一次。终于弄懂了,谢谢 ...
是sub,不是sup sub ax,ax == ax -= ax;
页:
[1]