问一个关于jmp的问题~~
本帖最后由 fky1989 于 2011-7-23 13:12 编辑JMP往上的时候移动就包括jmp本身的2个字节?往下移动的时候就不包括?
0BA8:0018 B80000 MOV AX,0000
0BA8:001B CD21 INT 21
0BA8:001D B80000 MOV AX,0000
0BA8:0020 EBF6 jmp 0018
F6是10,就是往上10个,那这个题要跳到0018,就得是22-F6,包括了jmp本身的两个字节
但我看往下的时候就不用包括jmp本身的两个字节,请问是不是这样呢?也没听到甲鱼老师讲到
是这样的。。。在cpu从代码段取出指令的时候,ip已经自动指向下一条指令,在这里,取出指令 jmp 0018 后,ip的值已经自加2,即ip变成22h,所以再执行 jmp 0018,,,22h-10h =18h,即是要跳转的指令处。。。。。
bevin 发表于 2011-7-23 00:16 static/image/common/back.gif
是这样的。。。在cpu从代码段取出指令的时候,ip已经自动指向下一条指令,在这里,取出指令 jmp 0018 后 ...
感谢哦。。。。。。。。。。。。。。。。。。。
页:
[1]