xxasy 发表于 2011-6-20 16:33:45

监测点2.3的问题

本帖最后由 xxasy 于 2011-6-21 00:50 编辑



[*]mov ax,bx   ;
[*]sub ax,ax;
[*]jmp ax;


我是不是可以这样理解?每一次读入任何指令就代表一次IP的变动,然后第三次变动是读入jmp ax指令的时候,然后执行jmp指令将ax的值赋予ip,这是第四次ip变动?

我说的对么?哪里不对?刚接触汇编的新人求解释。没学到sub我还以为是VB里面的sub过程函数。

coldice005 发表于 2011-6-20 17:12:35

路过的我不太懂

嗜血丨灵异狂 发表于 2011-6-20 19:38:06

嗜血丨灵异狂 发表于 2011-6-20 19:49:36

jmp ax 相当于是mov ip,ax    自己用debug调试一下就知道了前两次因为都是没有直接修改IP的指令因为mov不能直接修改ip所以 IP再执行完一条指令后会自动递增2    但是第三次jmp ax的时候就是 相当于mov ip,ax就是把ax的值赋给IP 所以应该是三次修改ip的值

嗜血丨灵异狂 发表于 2011-6-20 19:52:19

好像还少了个初始化IP的值因为一个程序执行完后 都会进行自动初始化   应该是4次吧

再生缘 发表于 2011-6-21 13:08:29

本帖最后由 再生缘 于 2011-6-21 13:20 编辑



sub ax,ax   sub指令是减法指令这个指令执行的是 第一个ax减第二个ax的值发送到第一个ax
看这里
http://bbs.fishc.com/forum.php?mod=viewthread&tid=2264&extra=page%3D1

123640287 发表于 2011-7-6 22:26:11

我也是理解3次改变,搞不明白为什么是4次!!

demon 发表于 2011-7-7 08:52:08

读取一条指令后,IP自动增加,此时指令存储在 指令缓冲器中,
然后执行指令{:1_1:}

lsgo 发表于 2011-7-7 11:14:21

楼上正解 {:5_93:}

binboys 发表于 2011-7-7 13:19:36

我也是刚入门
页: [1]
查看完整版本: 监测点2.3的问题