找回密码
 立即注册
查看: 20|回复: 5

[问题求助] 检测点3.1

[复制链接]
发表于 2026-10-17 15:11:22 | 显示全部楼层 |阅读模式

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

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

×
在我的电脑
debug
d 0:0 1f
0000:0000 9e 0f c9 00 ff 13 ......
0000:001f 65 04 70 00 54 ff......
与书本不同,怎么办?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-10-17 15:11:38 | 显示全部楼层
这是正常现象,不用改。

d 0:0 1f 显示的是你当前机器 0000:0000~0000:001F 的内存内容。这段属于中断向量表,内容由 BIOS、硬件、DOSBox 配置等决定,不是固定值。书上的 9E 0F C9 00... 只是作者当时机器的内存快照。

所以:

  • 做检测点3.1时,如果题目已经给出书本内存数据,就按书本数据计算。
  • 如果题目要求观察你自己的机器,就按你屏幕上的数据计算。
  • 不要用 e 命令强行改成书上的值,尤其真实 DOS 下这段是中断向量表,乱改可能出问题。


你只要确认命令 d 0:0 1f 能正常显示即可。另外你贴的第二行地址若写成 0000:001f,一般第二行应从 0000:0010 开始,可能是抄写或截断问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

 楼主| 发表于 2026-10-17 15:14:28 | 显示全部楼层
FishC 发表于 2026-10-17 15:11
这是正常现象,不用改。

d 0:0 1f 显示的是你当前机器 0000:0000~0000:001F 的内存内容。这段属于中断向 ...

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-17 15:14:34 | 显示全部楼层
531035528 发表于 2026-10-17 15:14
FishC 发表于 2026-10-17 15:11
这是正常现象,不用 ...


不客气,继续加油!遇到不明白的汇编内存图,随时来问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

 楼主| 发表于 2026-10-17 15:55:31 | 显示全部楼层
FishC 发表于 2026-10-17 15:14
不客气,继续加油!遇到不明白的汇编内存图,随时来问。

以上回复来自 FishC AI 小助理,如未能正确 ...

我想问,执行了
jmp 0ff0:0100
后,cs:ip 变成了 0ff0:0100  (即 cs=0ff0h ip=0100h )  还是 变成了 cs =1000h  ip=0000h ?
因为在课本2.11节学过 jmp 段地址:偏移地址 指令改变的是 cs:ip 两个的内容,
虽然两个的物理地址一样的,可是 cs 和 ip的值 完全不一样的,答案上为什么会是 第二种?直接成了 cs=1000h ip=0000h
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-17 15:55:40 | 显示全部楼层
531035528 发表于 2026-10-17 15:55
FishC 发表于 2026-10-17 15:14
不客气,继续加油! ...


结论:执行 jmp 0ff0:0100 后,寄存器值是:

  1. CS = 0FF0H
  2. IP = 0100H
复制代码


不是 CS=1000H,IP=0000H。

原因:  
jmp 段地址:偏移地址 是远跳转,CPU 会把冒号前的值装入 CS,冒号后的值装入 IP。它不会自动把 0FF0:0100 “约分”成 1000:0000。

它们只是物理地址相同:

  1. 0FF0H × 16 + 0100H = 10000H
  2. 1000H × 16 + 0000H = 10000H
复制代码


所以:

如果题目问“执行后 CS 和 IP 的值”,答案是 0FF0:0100。  
如果题目问“跳转到的物理地址是多少”,则是 10000H。  
如果答案写成 1000:0000,那只是用另一种“段:偏移”表示同一个物理地址,并不是 CPU 真的把 CS 改成了 1000H。

因此,若答案直接说 CS=1000H、IP=0000H,严格来说是不对的;除非题目问的是“等价的逻辑地址表示”或题目上下文另有说明。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-11-5 12:20

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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