鱼C论坛

 找回密码
 立即注册
查看: 3758|回复: 4

检测点3.1:为什么u 1000:0 和 u 0ff0:0100的结果是一样的

[复制链接]
发表于 2011-4-20 00:32:39 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 kboy 于 2011-4-20 09:10 编辑

在做检测点3.1时
其中汇编指令序列为:
20000H  mov ax, 6622h
20003H  jmp 0ff0:0100

10000H  mov ax,2000h
10003H  mov ds,ax
10005H  mov ax,[8]
10008H  mov ax,[2]

这道题是说
我不理解为什么jmp 0ff0:0100就能跳转到10000H的位置去执行mov ax,2000h?

我们知道jmp 0ff0:0100会将CS=0ff0, IP=0100
而10000H所对应的CS=1000, IP=0

为了证明CS=1000,IP=0和CS=0ff0,IP=0100是对应相同的指令,我用debug做了实验:
实验结果如下:

检测点3.1

检测点3.1


请问这是为什么呢?
为什么 u 1000:0 和 u 0ff0:0100的结果是一样的

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-20 00:37:32 | 显示全部楼层
1000:0 的物理地址 == 10000
0ff0:0100 的物理地址 == ff00 + 100 == 10000

所以是一样的~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-4-20 09:10:18 | 显示全部楼层
回复 2# 小甲鱼


    原来是这样,这回真正理解了您上课说的同一个物理地址可以有多种不同的【段:偏移】组合形式,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-28 13:56:01 | 显示全部楼层
晕了,我也在着里纠结着.....看来我光想着10000了把物理地址=段地址*16+偏移地址了...:dizzy::dizzy::dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-12 16:34:21 | 显示全部楼层
这个对于刚开始学习汇编的来说有时确实想不到那么多,对视频和书本上的要点理解还是不够,就是需要多做做题来真正理解其中含义。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-18 06:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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