gpt4 book ai didi

DOS调试.exe : Restricted areas of memory?

转载 作者:行者123 更新时间:2023-12-05 05:22:53 26 4
gpt4 key购买 nike

(这是我的第一个问题,如有错误请原谅)

我在调试 debug.exe 并试图更改存储在地址范围 FFFF:0005 到 FFFF:000C 中的 BIOS 日期。

-d FFFF:5 L 8
FFFF:0000 30 31 2F-30 31 2F 39 32 01/01/92

我终于想通了,要移动到我想修改的地址,我必须将 DS 寄存器指向它,而不是某些站点中错误声明的 CS(例如 here)

-r DS
DS=073F
:FFFF

我还发现我可以使用整个地址来修改我想要的确切内存地址。

-e FFFF:000b
FFFF:000B 39.31 32.31

但是 dump 命令的输出没有改变!!!

-d FFFF:5 L 8
FFFF:0000 30 31 2F-30 31 2F 39 32 01/01/92

我怀疑内存中可能有一些我无法修改的“ protected ”区域,但我找不到任何相关文档,这就是我要问的原因。任何人都可以向我解释为什么以及如何发生这种情况吗?

谢谢

附言请注意,我正在使用 DosBox 来模拟​​这一点,而不是让我的电脑变砖!(也许这就是问题所在?)

最佳答案

正如评论所暗示的那样,您正在写入 ROM,因此您的代码无法更改那里的值。在现代机器上,您会收到某种错误作为执行此操作的反馈,但在旧硬件上,写入 ROM 的操作被默默忽略是很常见的。换句话说,CPU 无论如何都会执行请求的操作,但该操作不会对内存产生影响。

关于DOS调试.exe : Restricted areas of memory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39351032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com