无比菜鸟 发表于 2011-7-20 10:36:34

关于9.6课 的问题

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

关于jmp dword ptr 的问题

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

1、比如 我假设在代码执行前ds:0 f里的数据如下
ds:0 f                     0123456789ABCDEF
该段内存中的数据1234567891234567

2、mov ax, 0123h
   mov ds:, ax
这两句代码执行后,相应数据段中的数据变为
ds:0 f                     0123456789ABCDEF
该段内存中的数据 2301567891234567

3、mov word ptr ds:, 0
   这两句代码执行后,相应数据段中的数据变为
ds:0 f                     0123456789ABCDEF
该段内存中的数据2300007891234567

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

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

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



页: [1]
查看完整版本: 关于9.6课 的问题