々超越梦想々 发表于 2012-7-9 00:44:24

检测点2。3最后IP的值为什么会是0呢。

检测点2。3最后IP的值为什么会是0呢。题目上都没说AX跟BX数据是多少啊

3195884 发表于 2012-7-9 03:23:59

sub ax,ax即 ax=ax-ax所以不管ax值是多少 自己减自己 肯定是0
jmp ax   即jmp 0所以IP为0

NeBen 发表于 2012-7-9 08:47:27

jmp 寄存器 就是将IP的值修改为寄存器中的值,而SUB AX,AX意思是相减,所以此时AX的值为0,jmp ax后IP=AX=0{:1_1:}

让你发癫 发表于 2012-7-9 11:45:23

这题最后是0我明白,我不明白,为什么会四次修改了IP值, 为什么执行MOV AX,BX,IP的值也会被修改

敉沧 发表于 2012-7-9 23:58:05

因为在jmp ax指令前有一条sub ax,ax
也就是ax-ax=0

jmp ax的意思是用ax的值改变ip,也就是使
ip=ax。
所以ip=ax=0

麦牙糖 发表于 2012-7-11 07:46:03

sub ax,axax=0
jmp ax   ax此时为0所以IP为0

meiyoudao 发表于 2012-7-11 09:38:27

因为有了sub    sub 是相减.不管你AX的值是多少, 你相减自身, 肯定为0啊

阔怀 发表于 2015-8-21 09:45:57

不懂
页: [1]
查看完整版本: 检测点2。3最后IP的值为什么会是0呢。