当前位置: 代码迷 >> 汇编语言 >> 执行此过程ip修改几次解决方案
  详细解决方案

执行此过程ip修改几次解决方案

热度:4334   发布时间:2013-02-26 00:00:00.0
执行此过程ip修改几次
看王爽的汇编语言,遇到这个问题没太弄明白,请高手指教。
mov ax,bx
sub ax,ax
jmp ax
执行后ip被修改了几次呢。求详情,重点是jmp ax这个过程。谢谢。

------解决方案--------------------------------------------------------
情况如下:第1次:执行完mov ax,bx后,第2次:执行完sub ax,ax后,第3次:读入jmp ax后,第4次:执行完jmp ax后,最后IP的值为0.





------解决方案--------------------------------------------------------
jmp ax这也是一条指令,跟上面的两条一样,同样也需要修改ip指向此条指令来执行,另外,由于jmp ax是一个跳转指令,他本身也会修改ip的值,即将ip修改为ax的内容,此处为零
------解决方案--------------------------------------------------------
探讨

引用:
jmp ax这也是一条指令,跟上面的两条一样,同样也需要修改ip指向此条指令来执行,另外,由于jmp ax是一个跳转指令,他本身也会修改ip的值,即将ip修改为ax的内容,此处为零

执行mov ax,ax是先ip加1指向本条指令呢,还是先执行此指令然后ip加1指向下条指令

------解决方案--------------------------------------------------------
探讨

情况如下:第1次:执行完mov ax,bx后,第2次:执行完sub ax,ax后,第3次:读入jmp ax后,第4次:执行完jmp ax后,最后IP的值为0.

------解决方案--------------------------------------------------------
探讨
引用:

情况如下:第1次:执行完mov ax,bx后,第2次:执行完sub ax,ax后,第3次:读入jmp ax后,第4次:执行完jmp ax后,最后IP的值为0.

执行完jmp ax之后为什么不是转到开头重新执行代码?

------解决方案--------------------------------------------------------
执行汇编指令,ip这么修改
1.指令读进指令缓存器
2.IP指向下条指令
3.执行指令
;所以看代码总共会有3条代码要执行,所以要修改3次ip对吧。第三次修改ip之后接着要执行这条指令。
jmp ax修改了ip。所以,ip被修改了4次
  相关解决方案