update documentation

git-svn-id: svn://kolibrios.org@2090 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge)
2011-08-21 12:31:48 +00:00
parent b3a861cedd
commit 5ece1eb408
2 changed files with 0 additions and 177 deletions

View File

@@ -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>㭪樨 ࠡ<><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><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>. ================== =================== <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><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><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>. = <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>.

View File

@@ -1877,53 +1877,6 @@ Remarks:
* Event functions take into account the mask on moment of * Event functions take into account the mask on moment of
function call, not on moment of event arrival. 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. =============== ================ Function 43 - input/output to a port. ===============
@@ -1953,48 +1906,6 @@ Remarks:
processor instructions in/out - this is much processor instructions in/out - this is much
faster and a bit shorter and easier. 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. ===== ====== Function 46 - reserve/free a group of input/output ports. =====