这个答案有点看不懂,还请大牛不吝赐教
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
解:
修改4次;第一次在CPU读取“mov ax,bx”后,第二次在CPU读取“sub ax,ax”后,第三次在CPU读取“jmp ax”后,第四次在CPU执行完“mov ax,bx”后;最后IP中的值为0。
首先很明确的是三条指令,ip会执行三次。你可以把ip想象成一个箭头,指到哪就执行哪里的语句。
jmp是跳转,必定会引发ip的改变,ip会跳转到 jmp给的地址,就是ax。这里是第四次跳转。
因为 jmp ax执行前,sub ax,ax,所以ax=0,jmp ax就是jmp 0,那 ip就会跳到0的地方执行
页:
[1]