我正在为 DOS 开发一个应用程序。我需要通过并行端口进行通信。
目前我被困在如何确定哪个 PCI 功能的 BAR(基地址寄存器)包含该并行端口的基地址(即数据端口地址)?:?
准确地说,是否存在特定 BAR 将始终包含该并行端口的基地址的行业约定或标准或事实上的标准?
如果不是,那么我如何确定该 PCI 并行端口的基地址(无论是在 pci 扩展卡上还是集成在主板上)?
实际上我关心的是PCI 扩展卡上的并行端口。AFAIK,BIOS 不知道这些。BIOS 只会将资源分配给 pci 卡,仅此而已。因此,BDA 中可能没有此类并行端口的条目,因为 BIOS 制造商只知道他们的主板拥有的所有设备。
例如,在 PC 上,我在 pci 扩展卡上安装了 4 个并行端口,并且在主板上集成了 1 个并行端口。现在其他 2 个并行端口的条目在哪里?
这就是为什么 BIOS 似乎只包含集成在芯片组或主板上的三个并行端口的条目。所以,我认为我们必须读取 PCI BAR 以获取安装在主板上的 pci 扩展卡上的任何并行端口的基地址。
谢谢