王爽汇编检查点2.3,求详解
下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是多少?mov ax,bx
sub ax,ax
jmp ax
答:一共修改四次
第一次:读取mov ax,bx之后
第二次:读取sub ax,ax之后
第三次:读取jmp ax之后
第四次:执行jmp ax修改IP
最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为0000H
sub ax,ax这个语句的意思是ax = ax - ax(ax和ax相减,结果存储在ax中), 所以ax的值就是 0,
jmp ax,就是跳转到ax寄存器所储存的值为ip的地方 执行指令的时候,IP的变化是 :先改变IP的值,指向下一个语句,然后执行指令,也就是说,每执行一条指令,IP的值至少改变一次。这个程序的前两条指令,改变了2次的值,第三条改变了2次ip的值,至于改变的时刻,楼主的的答案已经有显示了 L]V static/image/common/back.gif
执行指令的时候,IP的变化是 :先改变IP的值,指向下一个语句,然后执行指令,也就是说,每执行一条指令,I ...
最后 IP的值位0000H,是因为最后ax的值为0000H,这个0000H怎么来的,题目里也没有说ax的值啊,在解释一下,谢谢 惜今怀远 发表于 2013-2-25 19:51 static/image/common/back.gif
最后 IP的值位0000H,是因为最后ax的值为0000H,这个0000H怎么来的,题目里也没有说ax的值啊,在解释一下 ...
明白了,谢谢了 仔细看视频,指令在指令缓冲器中时(也就是指令还未执行时),偏移地址就开始改变了 想学IT 发表于 2013-3-8 22:56 static/image/common/back.gif
仔细看视频,指令在指令缓冲器中时(也就是指令还未执行时),偏移地址就开始改变了
enen,谢谢了
页:
[1]