forked from KolibriOS/kolibrios
update documentation
git-svn-id: svn://kolibrios.org@2090 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1901,52 +1901,6 @@ dd 1675
|
||||
* <20>㭪樨 ࠡ<><E0A0A1><EFBFBD> <20> ᮡ<><E1AEA1><EFBFBD>ﬨ <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20>맮<EFBFBD><EBA7AE> <20>㭪樨, <20> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㯫<EFBFBD><E3AFAB><EFBFBD><EFBFBD> ᮮ<>饭<EFBFBD><E9A5AD>.
|
||||
|
||||
======================================================================
|
||||
================= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 41 - 㧭<><E3A7AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ. =================
|
||||
======================================================================
|
||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* eax = 41 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||
* ebx = <20><><EFBFBD><EFBFBD><EFBFBD> IRQ, 0..15
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* eax = PID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* eax = 0, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
* eax = -1 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>४⭮<E0A5AA><E2ADAE> ebx
|
||||
|
||||
======================================================================
|
||||
========= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 42 - ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD>묨, <20><><EFBFBD><EFBFBD>祭<EFBFBD>묨 <20><> IRQ. =========
|
||||
======================================================================
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
࠭<EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> 44 <20><><EFBFBD>⮢ <20> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||
|
||||
-------------------- <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 0 - <20>⥭<EFBFBD><E2A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --------------------
|
||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* eax = 42 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||
* bl = <20><><EFBFBD><EFBFBD><EFBFBD> IRQ, 0..15
|
||||
* bh = 0 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
||||
* <20><>⠫쭠<E2A0AB> <20><><EFBFBD><EFBFBD><EFBFBD> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD> ebx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>㫥<EFBFBD><E3ABA5>
|
||||
* ecx = 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 4000 <20><><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>: (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>祭<EFBFBD><E7A5AD> eax)
|
||||
* <20> <20><>⮪ <20><> <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>楬 IRQ
|
||||
(<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> IRQ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>୮): eax = -1
|
||||
* <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>: eax = 0
|
||||
* <20> <20><><EFBFBD> <20> <20><><EFBFBD>浪<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫨:
|
||||
eax = ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
|
||||
------------ <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 1 - 㧭<><E3A7AD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ------------
|
||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* eax = 42 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||
* bl = <20><><EFBFBD><EFBFBD><EFBFBD> IRQ, 0..15
|
||||
* bh = 1 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
||||
* <20><>⠫쭠<E2A0AB> <20><><EFBFBD><EFBFBD><EFBFBD> ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD> ebx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>㫥<EFBFBD><E3ABA5>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* <20> <20><>⮪ <20><> <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>楬 IRQ
|
||||
(<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> IRQ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>୮): eax = -1
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD> eax = ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><>⮪ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD> <20><><EFBFBD> ᥡ<> 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ
|
||||
<20>㭪樥<E3ADAA> 45.
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 4000 <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><>९<EFBFBD><E0A5AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
"ᢥ<><E1A2A5><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||
|
||||
======================================================================
|
||||
=================== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 43 - <20><><EFBFBD><EFBFBD>/<2F>뢮<EFBFBD> <20> <20><><EFBFBD><EFBFBD>. ==================
|
||||
@@ -1977,48 +1931,6 @@ dd 1675
|
||||
<20><><EFBFBD><EFBFBD>॥ <20> <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD>⮢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ࠢ<><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
|
||||
======================================================================
|
||||
======== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 44 - <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⢨<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㯫<EFBFBD><E3AFAB><EFBFBD><EFBFBD> IRQ. =======
|
||||
======================================================================
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⮩
|
||||
<EFBFBD>㭪樥<EFBFBD> <20><><EFBFBD>⮢ <20> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>㤠 <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> 42.
|
||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* eax = 44 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||
* ebx = 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD>ᨢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* +0: word: 0 <20><><EFBFBD><EFBFBD>砥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᨢ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
* +2: byte: <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
* +3: byte: 1=<3D><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD> <20><> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, 2=<3D><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <><E1ABAE>
|
||||
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> IRQ, 0..15
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* eax = 0 - <20>ᯥ譮
|
||||
* eax = 1 - <20><>⮪ <20><> <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>楬 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><>⮪ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD> <20><> ᮡ<><E1AEA1>
|
||||
㪠<>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> IRQ <20>㭪樥<E3ADAA> 45.
|
||||
* <20>ਭ<EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16 <20><><EFBFBD>⮢.
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᬠ<EFBFBD>ਢ<EFBFBD><E0A8A2><EFBFBD> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2>쭮<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD> +3
|
||||
<20><><EFBFBD> ᨣ<><E1A8A3><EFBFBD> <20>४<EFBFBD><E0A5AA>饭<EFBFBD><E9A5AD> <20><>ࠡ<EFBFBD>⪨ IRQ.
|
||||
|
||||
======================================================================
|
||||
============ <20>㭪<EFBFBD><E3ADAA><EFBFBD> 45 - <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>/<2F><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ. ============
|
||||
======================================================================
|
||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* eax = 45 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||
* ebx = 0 - <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>, 1 = <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> IRQ, 0..15
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* eax = 0 - <20>ᯥ譮
|
||||
* eax = 1 - <20>訡<EFBFBD><E8A8A1> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> IRQ <20><><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD>⪠ <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD> <20><><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ <20><><EFBFBD> <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ, <20><>
|
||||
<20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD><EFBFBD><EFBFBD> ⥪<>騬 <20><>⮪<EFBFBD><E2AEAA>)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
* <20><><EFBFBD><EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD><EFBFBD> IRQ <20>㦭<EFBFBD> <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20>㭪権 42 <20> 44.
|
||||
* <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD> <20><>⮪ <20><><EFBFBD><EFBFBD><EFBFBD> <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ.
|
||||
* IRQ, <20><>ࠡ<EFBFBD><E0A0A1>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC> ᠬ<><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮, १<>ࢨ<EFBFBD><E0A2A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD>⥬<EFBFBD><E2A5AC> (<28><>⮪<EFBFBD><E2AEAA> 1) <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㧪<EFBFBD>.
|
||||
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><>⮪<EFBFBD> <20><>⮬<EFBFBD><E2AEAC><EFBFBD><EFBFBD><EFBFBD>᪨ <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD> <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><> IRQ.
|
||||
|
||||
======================================================================
|
||||
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 46 - <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>/<2F><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㯯<EFBFBD> <20><><EFBFBD>⮢ <20><><EFBFBD><EFBFBD><EFBFBD>/<2F>뢮<EFBFBD><EBA2AE>.
|
||||
|
@@ -1877,53 +1877,6 @@ Remarks:
|
||||
* Event functions take into account the mask on moment of
|
||||
function call, not on moment of event arrival.
|
||||
|
||||
======================================================================
|
||||
==================== Function 41 - get IRQ owner. ====================
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 41 - function number
|
||||
* ebx = IRQ number, 0..15
|
||||
Returned value:
|
||||
* eax = owner PID
|
||||
* eax = 0, if there is no owner
|
||||
* eax = -1 for incorrect ebx
|
||||
|
||||
======================================================================
|
||||
================== Function 42 - work with IRQ data. =================
|
||||
======================================================================
|
||||
When an IRQ occurs, the system reads data from ports indicated
|
||||
earlier by function 44 and writes this data to
|
||||
internal buffer. This function reads out data from that buffer.
|
||||
|
||||
--------------------- Subfunction 0 - read data ----------------------
|
||||
Parameters:
|
||||
* eax = 42 - function number
|
||||
* bl = IRQ number, 0..15
|
||||
* bh = 0 - subfunction number
|
||||
* rest of ebx must be zeroed
|
||||
* ecx = pointer to a buffer with size not less than 4000 bytes
|
||||
Returned value: (use value of eax to distinguish)
|
||||
* if the thread is not IRQ owner
|
||||
(or IRQ number is incorrect): eax = -1
|
||||
* if there is no data: eax = 0
|
||||
* if all is ok:
|
||||
eax = size of data read (in bytes)
|
||||
|
||||
------------- Subfunction 1 - get size of data in buffer -------------
|
||||
Parameters:
|
||||
* eax = 42 - function number
|
||||
* bl = IRQ number, 0..15
|
||||
* bh = 0 - subfunction number
|
||||
* rest of ebx must be zeroed
|
||||
Returned value:
|
||||
* if the thread is not IRQ owner
|
||||
(or IRQ number is incorrect): eax = -1
|
||||
* otherwise eax = size of data in buffer
|
||||
Remarks:
|
||||
* Previously the thread must reserve indicated IRQ for itself
|
||||
by function 45.
|
||||
* The size of data buffer is 4000 bytes, on overflow
|
||||
"fresh" data cease to be written in the buffer.
|
||||
|
||||
======================================================================
|
||||
================ Function 43 - input/output to a port. ===============
|
||||
@@ -1953,48 +1906,6 @@ Remarks:
|
||||
processor instructions in/out - this is much
|
||||
faster and a bit shorter and easier.
|
||||
|
||||
======================================================================
|
||||
=========== Function 44 - define operations at IRQ arrival. ==========
|
||||
======================================================================
|
||||
At IRQ arrival the system can read the data from ports defined
|
||||
by this function and write these data to internal buffer, whence
|
||||
they can be read by <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 42.
|
||||
Parameters:
|
||||
* eax = 44 - function number
|
||||
* ebx = pointer to the array of structures each describing one port:
|
||||
* +0: word: 0 means end of array, otherwise port number
|
||||
* +2: byte: reserved (ignored)
|
||||
* +3: byte: 1=read byte from this port, 2=read word
|
||||
* ecx = IRQ number, 0..15
|
||||
Returned value:
|
||||
* eax = 0 - success
|
||||
* eax = 1 - the thread is not owner of selected IRQ
|
||||
Remarks:
|
||||
* Previously the thread must reserve for itself selected IRQ
|
||||
by function 45.
|
||||
* First 16 ports are considered only.
|
||||
* The current implementation considers incorrect value of field +3
|
||||
as a signal to terminate IRQ processing.
|
||||
|
||||
======================================================================
|
||||
=================== Function 45 - reserve/free IRQ. ==================
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 45 - function number
|
||||
* ebx = 0 - reserve, 1 = free
|
||||
* ecx = IRQ number, 0..15
|
||||
Returned value:
|
||||
* eax = 0 - success
|
||||
* eax = 1 - error (invalid IRQ number
|
||||
or attempt to reserve not free IRQ
|
||||
or to free IRQ, not reserved by this thread)
|
||||
Remarks:
|
||||
* IRQ reservation is required for functions 42 and 44.
|
||||
* Only one thread can reserve the specific IRQ.
|
||||
* IRQs, handled by the system itself, are reserved by the system
|
||||
(thread 1) at booting.
|
||||
* When a thread terminates, all reserved by it IRQs
|
||||
are freed automatically.
|
||||
|
||||
======================================================================
|
||||
====== Function 46 - reserve/free a group of input/output ports. =====
|
||||
|
Reference in New Issue
Block a user