lihua2556672 发表于 2011-6-9 10:00:18

maiyi 发表于 2011-6-9 10:27:50

不知道跳哪去了 是不是跳jmp ds:这了

loop 发表于 2011-6-9 12:09:22

本帖最后由 loop 于 2011-6-9 12:10 编辑

cs 和 ip 是指向你要执行的命令,ax 是把一些数据存起来。

第三步是跳到段地址1000*10h+偏移地址0003去执行命令,也就是把ax清零。

然后把ax的值赋值给bx,在执行jmp bx修改IP值为0,在从1000:0处执行,在按顺序执行,就是一个死循环。

再生缘 发表于 2011-6-9 14:42:54

在执行jmp bx修改IP值为0
jmp是修改cs和ip的   
jmp bx 如何确定是修改IP而不是修改CS

再生缘 发表于 2011-6-9 14:51:13

loop 发表于 2011-6-9 12:09 static/image/common/back.gif
cs 和 ip 是指向你要执行的命令,ax 是把一些数据存起来。

第三步是跳到段地址1000*10h+偏移地址0003去执 ...

难道说jmp修改cs ip的值是固定的 你要修改cs就必须是jmp cs:ip

如果单纯的修改ip的话就 jmp ip是不是这样的啊?

liuhui88126 发表于 2011-6-9 15:28:35

飘过,另外你的mov 打错啦。{:3_43:}

tebi 发表于 2011-6-9 15:58:09

默认的cs=1000h,执行jmp bx应该跳到10000

loop 发表于 2011-6-9 18:10:38

再生缘 发表于 2011-6-9 14:42 static/image/common/back.gif
在执行jmp bx修改IP值为0
jmp是修改cs和ip的   
jmp bx 如何确定是修改IP而不是修改CS

同时修改 cs 和 ip 要用 jmp1000:3

如果只修改 ip 用 jmp bx 就行了。



loop 发表于 2011-6-9 18:11:54

再生缘 发表于 2011-6-9 14:51 static/image/common/back.gif
难道说jmp修改cs ip的值是固定的 你要修改cs就必须是jmp cs:ip

如果单纯的修改ip的话就 jmp ip是 ...

差不多就是这个意思。

但是不能直接 jmp ip ,要用jmp bx 或 ax通过寄存器来修改。

再生缘 发表于 2011-6-9 19:20:41

loop 发表于 2011-6-9 18:11 static/image/common/back.gif
差不多就是这个意思。

但是不能直接 jmp ip ,要用jmp bx 或 ax通过寄存器来修改。

ok!谢谢版主了

78221723 发表于 2011-6-9 19:44:23

介绍个师父给楼主,那就是百度,搜jmp,大部分在百度都能找到答案

lihua2556672 发表于 2011-6-10 08:15:55

再生缘 发表于 2011-6-12 13:17:47

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

loop 发表于 2011-6-9 18:11 http://bbs.fishc.com/static/image/common/back.gif
差不多就是这个意思。

但是不能直接 jmp ip ,要用jmp bx 或 ax通过寄存器来修改。

你说要通过通用寄存器才可以修改但在debug中可以直接修改的


页: [1]
查看完整版本: 第二章第5课的这个题目还是有点稀里糊涂的