gpt4 book ai didi

assembly - 任何在实模式下列出 BIOS 驱动器号的方法

转载 作者:行者123 更新时间:2023-12-02 21:46:10 25 4
gpt4 key购买 nike

有没有办法在实模式下列出 BIOS 驱动器索引(例如 0x80、0x81 ...)?

我没有发现任何负责列出驱动器编号的中断!!

最佳答案

我不知道有什么方法可以在实模式下“列出”可用的 BIOS 驱动器。

但是,有些事情可能会有所帮助:

  • 硬盘数量存储在 BIOS Data Area 中的 40:75 处。 。虽然我不“知道”驱动器编号是按顺序分配的,但我希望它们是按顺序分配的。如果是这样,硬盘列表将从 0x80 到 0x80 + (40:75 - 1)(尽管可以想象可能有 0 个硬盘,因此 0x80 也可能无效)。
  • 还有int 21h函数0E (select default drive) ,它返回“当前的最高驱动器”。未经检查,我猜测这与 LastDrive 有关。 ,但它可能有用。
  • 最后是int 13h function 08 (read drive parameters)并增加驱动器号,直到出现错误。我非常确定 DOS 的最大数量为 26 个驱动器(包括硬盘、CD、软盘等),因此这个循环不会运行很长时间。

请注意,对于 BIOS 功能,硬盘驱动器通常设置最高有效位。因此,硬盘驱动器 #0 被称为 0x80,#1 被称为 0x81,等等。软盘驱动器没有设置此位,因此从 0 开始计数。

当 USB 驱动器出现时,我已经停止使用 DOS,所以我不确定它们是否显示为硬盘驱动器或软盘。由于它们是可移动的,我不希望它们被列为硬盘驱动器,但这可能取决于您使用的驱动程序。

关于assembly - 任何在实模式下列出 BIOS 驱动器号的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45891044/

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