Функция 42 - прочитать данные, полученные по IRQ.
При возникновении IRQ система может считывать данные из указанных
ранее функцией 44 портов и записывать эти данные в буфер.
Описываемая функция считывает побайтно данные из этого буфера.
Параметры:
- eax = 42 - номер функции
- ebx = номер IRQ, 0..15
Возвращаемое значение: (ситуацию можно различить по значению ecx)
- если поток не является владельцем IRQ
(или номер IRQ задан неверно):
- если данных нет:
- eax = 0
- ecx = 1
- ebx разрушается
- если всё в порядке и данные были:
- eax = размер данных, ещё не прочитанных из буфера (в байтах)
- ecx = 0
- ebx = очередной байт
Замечания:
- Предварительно поток должен зарезервировать для себя указанный IRQ
функцией 45.
- Размер буфера для данных - 4000 байт, при переполнении
"свежие" данные перестают записываться в буфер.