Всё нижеописанное будет относиться к конфигурации, в которой CM17320HR подключен к процессорной плате по шине PCI (PCI-104) (т.е. не к Вашей материнской плате).
Цитата
Если я правильно понимаю, то чтобы использовать порты, их нужно инициализировать. А значит нужно знать адреса. В BIOSе есть настройки адресов двух "штатных" портов, расположенных на процессорном модуле. А как быть с портами на других модулях, как узнать их адреса? Как вообще BIOS узнает (и узнает ли), что к шине подключены другие интерфейсные модули?
Для шины ISA (PC/104) читайте книгу М.Гук "Аппаратные средства IBM PC"
Для шины PCI (PCI-104): до загрузки ОС, BIOS иницирует циклы чтения конфигурационного пространства устройств, находящихся на шине. Из этого конфигурационного пространства BIOS узнаёт: код производителя устройства, код самого устройства, класс этого устройства (видеоадаптер/сетевая карта/ и т.д.), запрашиваемые устройством ресурсы (размер области памяти, которая будет выделена устройству, размер области портов ввода-вывода). Далее BIOS даёт устройствам, исходя из их потребностей, базовые адреса в пространстве памяти и в пространстве ввода-вывода, и соответственно резервирует участки памяти и портов ввода-вывода за устройствами).
Т.о. к моменту начала загрузки ОС, все устройства, висящие на PCI-шине получат свои базовые адреса и регионы в памяти и пространстве ввода-вывода.
Есть сервис BIOS (int 1Ah), который позволяет отыскать нужное Вам устройство на шине, выявить его базовые адреса и другую полезную информацию.
Для работы с CM17320HR есть 2 подхода (если всё-таки в DOS собрались работать):
1. Установить драйвер устройства, поставляемый производителем. В этом случае дальнейшая работа будет сведена к вызову функций этого драйвера. К драйверу должны, по идее, идти документация и примеры работы.
2. Через сервис BIOS (int 1Ah) выловить устройство CM17320HR, выяснить его базовые адреса, скачать даташит на микросхему XR17D158. Выяснить как с ней работать через её внутренние управляющие регистры. В прикладной программе работать через эти регистры.
Если пойдёте по второму пути - книга В.Кулаков "Программирование на аппаратном уровне" Вам в помощь!