Функция 62, подфункции 4,5,6 - прочитать PCI-регистр.
Параметры:
- eax = 62 - номер функции
- bl = 4 - читать байт
- bl = 5 - читать слово
- bl = 6 - читать двойное слово
- bh = номер PCI-шины
- ch = dddddfff, где ddddd = номер устройства на шине,
fff = номер функции устройства
- cl = номер регистра (должен быть чётным для bl=5,
делиться на 4 для bl=6)
Возвращаемое значение:
- eax = -1 - ошибка (запрещён доступ к PCI или
неподдерживаемые параметры); иначе
- al/ax/eax (в зависимости от запрошенного размера) содержит данные;
оставшаяся часть регистра eax разрушается
Замечания:
- Предварительно должен быть разрешён низкоуровневый доступ к PCI
для приложений подфункцией 12 функции 21.
- Механизм доступа 2 поддерживает только 16 устройств на шине и
игнорирует номер функции. Получить механизм доступа можно вызовом
подфункции 2.
- Некоторые регистры стандартны и существуют для всех устройств,
некоторые определяются конкретным устройством. Список первых
входит, например, в известный Interrupt List by Ralf Brown
(http://www.pobox.com/~ralf/files.html,
ftp://ftp.cs.cmu.edu/afs/cs/user/ralf/pub/);
список вторых должен быть указан в документации по устройству.