鱼C论坛

 找回密码
 立即注册
查看: 2950|回复: 0

关于9.6课 的问题

[复制链接]
发表于 2011-7-20 10:36:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 无比菜鸟 于 2011-7-20 10:54 编辑

关于jmp dword ptr 的问题

我有个问题没搞懂,请大家帮我看看。
书中有例子如下
mov ax, 0123h
mov ds:[0], ax
mov word ptr ds:[0], 0
jmp dword ptr ds:[0]
书中如是说:执行后, (CS)=0,(IP)=0123H
看了半天,悲催地没理解,我是这么看上段代码的

1、比如 我假设在代码执行前ds:0 f里的数据如下
ds:0 f                     0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
该段内存中的数据  1  2  3  4  5  6  7  8  9  1  2  3  4  5  6  7

2、mov ax, 0123h
   mov ds:[0], ax
这两句代码执行后,相应数据段中的数据变为
ds:0 f                     0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
该段内存中的数据 2  3  0  1  5  6  7  8  9  1  2  3  4  5  6  7

3、mov word ptr ds:[2], 0
   这两句代码执行后,相应数据段中的数据变为
ds:0 f                     0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
该段内存中的数据  2  3  0  0  0  0  7  8  9  1  2  3  4  5  6  7

4、那么执行最后一句代码
   jmp dword ptr ds:[0]
   结果为(CS)=7800H, (IP)=0023H

请问 我是什么概念没搞清楚~!? 我debug了这段代码
书中没有错误。

贴一发,我就知道了哪错了,还是放这吧。。。晕
数据段中存放形式是:
ds:0 f         0    1    2    3   .........
                   23  01  00  00  .........



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 02:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表