hld 发表于 2012-2-5 15:11:02

关于检测点2.3

mov ax bx
sub ax ax
jmp ax
ip最后怎么变成0


hld 发表于 2012-2-5 15:12:05

:dizzy::dizzy::dizzy::dizzy::dizzy:

小马过河 发表于 2012-2-5 15:52:34

sub ax ax   ax=0运行后结果
jmp ax运行后结果cs=cs    ip=ax    ax=16位寄存器    (跳到偏移AX处执行)

Push 发表于 2012-2-5 20:36:32

mov ax bx      ;执行了这条,相当于ax=bx,而cs:ip在这段代码中,bx=ip
sub ax ax         ;而执行了这条语句,就是把ax=0
jmp ax             ;而jmp ax,相当于跳到ax,而ax=bx,执行了前面两条指令相当于把ax当成bx用
               ;而bx=ip,现在ax=0那么ip=bx=ax=0

℡老婆大人。 发表于 2012-2-5 23:06:31

顶一顶吧,虽然我不太懂这个

Seely 发表于 2012-2-6 17:32:43

jmp ax,在含义上好似:mov IP,ax

书的33页最上面,多看书。

ㄓ国Ψ—小八 发表于 2012-2-6 23:24:30

我只理解ip值最后是ax的值,不知道为什么ax值为0,是因为一开始的时候ax,bx中都是0吗?

Seely 发表于 2012-2-7 09:49:18

ㄓ国Ψ—小八 发表于 2012-2-6 23:24 static/image/common/back.gif
我只理解ip值最后是ax的值,不知道为什么ax值为0,是因为一开始的时候ax,bx中都是0吗?

是因为你不认识sub指令?
sub ax,ax 即ax-ax=0

yulin3192 发表于 2012-2-7 13:34:51

了解了
嘿嘿
学的快忘了快

ㄓ国Ψ—小八 发表于 2012-2-7 21:10:14

Seely 发表于 2012-2-7 09:49 static/image/common/back.gif
是因为你不认识sub指令?
sub ax,ax 即ax-ax=0

还真不知道sub,多谢了!

hld 发表于 2012-2-8 14:34:32

谢谢各位,我明白了

cyht33 发表于 2012-2-9 17:21:59

最后执行jump ax后,IP的只等于ax的值。
之前sub ax,ax。ax的值等于0 了,所以IP的值等于0

非同凡想 发表于 2012-2-9 22:28:49

sub ax,ax相当于ax=ax-axa,所以执行后ax内容为零了;
jmp ax,在含义上类似于mov ip,ax,所以执行假名牌(jmp)指令后,ip内容为零……

hld 发表于 2012-2-13 09:48:18

非同凡想 发表于 2012-2-9 22:28 static/image/common/back.gif
sub ax,ax相当于ax=ax-axa,所以执行后ax内容为零了;
jmp ax,在含义上类似于mov ip,ax,所以执行假名牌( ...

谢了,我懂了
页: [1]
查看完整版本: 关于检测点2.3