小菜菜 发表于 2012-6-30 17:32:55

我这样理解监测点2.3对不对

jmp 指令本身会引起一次IP值的变化。然而jmp ax 是一种使得IP值改变的命令,所以当此指令运行结束后IP会有2次变化?本人是菜鸟,第一次发问,请多关照{:1_1:}

变得不一样 发表于 2012-6-30 17:32:56

小菜菜 发表于 2012-6-30 20:08 static/image/common/back.gif
读取指令 mov ax,bx进入指令缓冲器    ip+3   执行指令mov ax,bx      (执行结果ax=bx中的数据)
读取指 ...

mov ax,bx这条指令执行后 IP+2 而已 sub ax,ax也是.....

变得不一样 发表于 2012-6-30 17:57:21

假设ax为N jmp ax指令运行结束后 IP就等于N    IP就指向N处执行代码

小菜菜 发表于 2012-6-30 18:12:57

变得不一样 发表于 2012-6-30 17:57 static/image/common/back.gif
假设ax为N jmp ax指令运行结束后 IP就等于N    IP就指向N处执行代码

不懂。。。。。

NeBen 发表于 2012-6-30 19:24:41

本帖最后由 NeBen 于 2012-6-30 19:28 编辑

小菜菜 发表于 2012-6-30 18:12 static/image/common/back.gif
不懂。。。。。
这样理解会出大错的,他说的是对的,比如ax为2000,CS为1000,这条命令就是将IP的数值改为2000,CS的值不变,指向的就是1000:2000

小菜菜 发表于 2012-6-30 20:01:04

NeBen 发表于 2012-6-30 19:24 static/image/common/back.gif
这样理解会出大错的,他说的是对的,比如ax为2000,CS为1000,这条命令就是将IP的数值改为2000,CS的值不 ...

依然不懂。。。这和我问的有啥关系。。

小菜菜 发表于 2012-6-30 20:08:15

读取指令 mov ax,bx进入指令缓冲器    ip+3   执行指令mov ax,bx      (执行结果ax=bx中的数据)
读取指令sub ax,ax进入指令缓冲器    ip+3   执行指令sub ax,ax       (执行结果ax=0)
读取指令   jmp ax进入指令缓冲器   ip+2   执行指令jmp ax         (执行结果ip=0)

懂了

NeBen 发表于 2012-6-30 20:51:03

小菜菜 发表于 2012-6-30 20:08 static/image/common/back.gif
读取指令 mov ax,bx进入指令缓冲器    ip+3   执行指令mov ax,bx      (执行结果ax=bx中的数据)
读取指 ...

嗯,我以为是你问JMP命令的用法,这个是对的,一条命令多少字节IP就加多少。
页: [1]
查看完整版本: 我这样理解监测点2.3对不对