鱼C论坛

 找回密码
 立即注册
查看: 875|回复: 3

[已解决]64位cpu和操作系统上面运行dosbox为什么寄存器显示只有两个字节?

[复制链接]
发表于 2023-5-5 14:51:43 | 显示全部楼层 |阅读模式

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

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

x
各位大佬,我在64位的操作系统以及64位cpu上面运行dosbox,在debug中调试的时候寄存器显示只有两个字节,按理说寻址能力应该很小,这是什么原因呢?初学汇编!希望指教!谢谢!
最佳答案
2023-5-5 14:54:47
您好!这个问题的原因是,DOSBox 是一个模拟 x86 架构的模拟器,主要用于运行 MS-DOS 系统下的老式软件和游戏。尽管您的操作系统和 CPU 是 64 位的,但 DOSBox 本身模拟的环境是 16 位或 32 位(默认是16位)的 x86 架构。

因此,当您在 DOSBox 中查看寄存器时,只能看到 16 位(两个字节)的寄存器,而不是 64 位的寄存器。这是因为 DOSBox 的主要目标是确保与旧软件的兼容性,而不是利用现代硬件的全部功能。这样可以保证在新操作系统和硬件上运行旧的 MS-DOS 软件时的稳定性和兼容性。

如果您想学习 64 位汇编,可以尝试使用其他支持 64 位架构的汇编工具和调试器,例如 NASM 或者 GAS。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-5 14:54:47 | 显示全部楼层    本楼为最佳答案   
您好!这个问题的原因是,DOSBox 是一个模拟 x86 架构的模拟器,主要用于运行 MS-DOS 系统下的老式软件和游戏。尽管您的操作系统和 CPU 是 64 位的,但 DOSBox 本身模拟的环境是 16 位或 32 位(默认是16位)的 x86 架构。

因此,当您在 DOSBox 中查看寄存器时,只能看到 16 位(两个字节)的寄存器,而不是 64 位的寄存器。这是因为 DOSBox 的主要目标是确保与旧软件的兼容性,而不是利用现代硬件的全部功能。这样可以保证在新操作系统和硬件上运行旧的 MS-DOS 软件时的稳定性和兼容性。

如果您想学习 64 位汇编,可以尝试使用其他支持 64 位架构的汇编工具和调试器,例如 NASM 或者 GAS。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-6 20:45:50 | 显示全部楼层
你好,根据你的描述,我猜测你在64位的操作系统以及64位cpu上面运行dosbox,在debug中调试的时候寄存器显示只有两个字节。这个问题可能是由于dosbox的配置问题导致的。我找到了一篇CSDN博客,里面详细介绍了如何安装配置DOSBox(win10 64位系统)。https://blog.csdn.net/qq_50647304/article/details/108819033
https://blog.csdn.net/eee3331/article/details/103354027
如果你需要更多帮助,请告诉我。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-10 14:06:36 | 显示全部楼层
谢谢各位前辈了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-26 13:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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