forked from KolibriOS/kolibrios
Sysfunctions 70 & 30: the info about relative names is added.
git-svn-id: svn://kolibrios.org@1662 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
ca82f03c33
commit
9f7b730b3b
@ -1,4 +1,4 @@
|
|||||||
‘ˆ‘’…Œ<EFBFBD>›… ”“<E2809D>Š–ˆˆ Ž<>…<EFBFBD>€–ˆŽ<CB86><C5BD>Ž‰ ‘ˆ‘’…Œ› Kolibri 0.7.5.0+
|
‘<EFBFBD>‘’…<EFBFBD><EFBFBD>›… ”“<E2809D><E2809C>–<EFBFBD><E28093> <20><>…<EFBFBD>€–<E282AC><E28093><EFBFBD><EFBFBD><EFBFBD>‰ ‘<>‘’…<E28099>› Kolibri 0.7.7.0
|
||||||
|
|
||||||
<EFBFBD>®¬¥à äãªæ¨¨ ¯®¬¥é ¥âáï ¢ ॣ¨áâà eax.
|
<EFBFBD>®¬¥à äãªæ¨¨ ¯®¬¥é ¥âáï ¢ ॣ¨áâà eax.
|
||||||
‚맮¢ á¨á⥬®© äãªæ¨¨ ®áãé¥á⢫ï¥âáï ª®¬ ¤®© "int 0x40".
|
‚맮¢ á¨á⥬®© äãªæ¨¨ ®áãé¥á⢫ï¥âáï ª®¬ ¤®© "int 0x40".
|
||||||
@ -383,7 +383,7 @@
|
|||||||
ᮡá⢥® à ¡®âã, ¨ ¢à¥¬¥¨ ¯à®áâ®ï ¢ ®¦¨¤ ¨¨ ¯à¥àë¢ ¨ï
|
ᮡá⢥® à ¡®âã, ¨ ¢à¥¬¥¨ ¯à®áâ®ï ¢ ®¦¨¤ ¨¨ ¯à¥àë¢ ¨ï
|
||||||
(ª®â®à®¥ ¬®¦® ¯®«ãç¨âì ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 18).
|
(ª®â®à®¥ ¬®¦® ¯®«ãç¨âì ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 18).
|
||||||
* <20> ç¨ ï á® á«®â 2, à §¬¥é îâáï ®¡ëçë¥ ¯à¨«®¦¥¨ï.
|
* <20> ç¨ ï á® á«®â 2, à §¬¥é îâáï ®¡ëçë¥ ¯à¨«®¦¥¨ï.
|
||||||
* Ž¡ëçë¥ ¯à¨«®¦¥¨ï à §¬¥é îâáï ¢ ¯ ¬ï⨠¯® ¤à¥áã 0x0
|
* <EFBFBD>΅ληλ¥ ―ਫ®¦¥¨ο ΰ §¬¥ι ξβαο Ά ― ¬οβ¨ ―® ¤ΰ¥αγ 0
|
||||||
(ª®áâ â ï¤à std_application_base_address).
|
(ª®áâ â ï¤à std_application_base_address).
|
||||||
<20> «®¦¥¨ï ¥ ¯à®¨á室¨â, ¯®áª®«ìªã ã ª ¦¤®£® ¯à®æ¥áá ᢮ï
|
<20> «®¦¥¨ï ¥ ¯à®¨á室¨â, ¯®áª®«ìªã ã ª ¦¤®£® ¯à®æ¥áá ᢮ï
|
||||||
â ¡«¨æ áâà ¨æ.
|
â ¡«¨æ áâà ¨æ.
|
||||||
@ -849,10 +849,10 @@
|
|||||||
db a,b,c,d ¤«ï ¢¥àᨨ a.b.c.d
|
db a,b,c,d ¤«ï ¢¥àᨨ a.b.c.d
|
||||||
db UID_xxx: ®¤® ¨§ UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2
|
db UID_xxx: ®¤® ¨§ UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2
|
||||||
dd REV - ®¬¥à svn-ॢ¨§¨¨ ï¤à
|
dd REV - ®¬¥à svn-ॢ¨§¨¨ ï¤à
|
||||||
„«ï ï¤à Kolibri 0.7.1.0:
|
„«ο ο¤ΰ Kolibri 0.7.7.0:
|
||||||
db 0,7,1,0
|
db 0,7,7,0
|
||||||
db 2
|
db 2
|
||||||
dd 638
|
dd 1319
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 14 =====================
|
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 14 =====================
|
||||||
@ -1677,62 +1677,14 @@ dd 638
|
|||||||
* ecx = 㪠§ â¥«ì ¡ãä¥à
|
* ecx = 㪠§ â¥«ì ¡ãä¥à
|
||||||
* edx = à §¬¥à ¡ãä¥à
|
* edx = à §¬¥à ¡ãä¥à
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
‚®§¢à é ¥¬®¥ § 票¥:
|
||||||
* eax = - 1 ®é¨¡ª , ¯ ¯ª ⥪ã饣® ¯®â®ª ¨¬¥¥â ¤«¨ã ¡®«¥¥ 祬 4096 ᨬ¢®«®¢.
|
|
||||||
* eax = ¤«¨ ¨¬¥¨ ⥪ã饩 ¯ ¯ª¨ (¢ª«îç ï § ¢¥àè î騩 0)
|
* eax = ¤«¨ ¨¬¥¨ ⥪ã饩 ¯ ¯ª¨ (¢ª«îç ï § ¢¥àè î騩 0)
|
||||||
‡ ¬¥ç ¨ï:
|
‡ ¬¥ç ¨ï:
|
||||||
* …᫨ à §¬¥à ¡ãä¥à ¥¤®áâ â®ç® ¤«ï ª®¯¨à®¢ ¨ï ¢á¥£® ¨¬¥¨,
|
* …᫨ à §¬¥à ¡ãä¥à ¥¤®áâ â®ç® ¤«ï ª®¯¨à®¢ ¨ï ¢á¥£® ¨¬¥¨,
|
||||||
ª®¯¨àãîâáï ⮫쪮 ¯¥à¢ë¥ (edx-1) ¡ ©â
|
<20>®―¨ΰγξβαο β®«μ<C2AB>® ―¥ΰΆλ¥ (edx-1) ΅ ©β ¨ Ά <20>®ζ¥ αβ Ά¨βαο
|
||||||
¨ ¢ ª®æ¥ áâ ¢¨âáï § ¢¥àè î騩 0.
|
§ Ά¥ΰθ ξ騩 0.
|
||||||
|
* <20>® 㬮«η ¨ξ, β¥<CEB2>γι ο ― ―<C2A0> ¤«ο ―®β®<CEB2> - "/rd/1".
|
||||||
======================================================================
|
* <20>ਠᮧ¤ ¨¨ ―ΰ®ζ¥αα /―®β®<CEB2> β¥<CEB2>γι ο ― ―<C2A0> α«¥¤γ¥βαο ®β
|
||||||
================ ”ãªæ¨ï 32 - 㤠«¨âì ä ©« á à ¬¤¨áª . ===============
|
த¨β¥«ο.
|
||||||
======================================================================
|
|
||||||
<EFBFBD> à ¬¥âàë:
|
|
||||||
* eax = 32 - ®¬¥à äãªæ¨¨
|
|
||||||
* ebx = 㪠§ â¥«ì ¨¬ï ä ©«
|
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
|
||||||
* eax = 0 - ãᯥè®; ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
|
||||||
‡ ¬¥ç ¨ï:
|
|
||||||
* <20>â äãªæ¨ï ãáâ ५ ; äãªæ¨ï 58 ¯®§¢®«ï¥â ¢ë¯®«ïâì
|
|
||||||
⥠¦¥ ¤¥©á⢨ï á à áè¨à¥ë¬¨ ¢®§¬®¦®áâﬨ.
|
|
||||||
* ’¥ªãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â ⮫쪮 § 票ï 0(ãᯥå) ¨
|
|
||||||
5(ä ©« ¥ ©¤¥).
|
|
||||||
* ˆ¬ï ä ©« ¤®«¦® ¡ëâì «¨¡® ¢ ä®à¬ ⥠8+3 ᨬ¢®«®¢ (¯¥à¢ë¥
|
|
||||||
8 ᨬ¢®«®¢ - ᮡá⢥® ¨¬ï, ¯®á«¥¤¨¥ 3 - à áè¨à¥¨¥,
|
|
||||||
ª®à®âª¨¥ ¨¬¥ ¨ à áè¨à¥¨ï ¤®¯®«ïîâáï ¯à®¡¥« ¬¨),
|
|
||||||
«¨¡® ¢ ä®à¬ ⥠8.3 ᨬ¢®«®¢ "FILE.EXT"/"FILE.EX "
|
|
||||||
(¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ 3 ᨬ¢®« ,
|
|
||||||
¤®¯®«¥®¥ ¯à¨ ¥®¡å®¤¨¬®á⨠¯à®¡¥« ¬¨).
|
|
||||||
ˆ¬ï ä ©« ¤®«¦® ¡ëâì § ¯¨á ® § £« ¢ë¬¨ ¡ãª¢ ¬¨.
|
|
||||||
‡ ¢¥àè î騩 ᨬ¢®« á ª®¤®¬ 0 ¥ 㦥 (¥ ASCIIZ-áâப ).
|
|
||||||
* <20>â äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯®ª à ¬¤¨áª¥.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
=============== ”ãªæ¨ï 33 - § ¯¨á âì ä ©« à ¬¤¨áª. ===============
|
|
||||||
======================================================================
|
|
||||||
<EFBFBD> à ¬¥âàë:
|
|
||||||
* eax = 33 - ®¬¥à äãªæ¨¨
|
|
||||||
* ebx = 㪠§ â¥«ì ¨¬ï ä ©«
|
|
||||||
* ecx = 㪠§ â¥«ì ¤ ë¥ ¤«ï § ¯¨á¨
|
|
||||||
* edx = ç¨á«® ¡ ©â ¤«ï § ¯¨á¨
|
|
||||||
* á«¥¤ã¥â ãáâ ¢«¨¢ âì esi=0
|
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
|
||||||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
|
||||||
‡ ¬¥ç ¨ï:
|
|
||||||
* <20>â äãªæ¨ï ãáâ ५ ; äãªæ¨ï 70 ¯®§¢®«ï¥â ¢ë¯®«ïâì
|
|
||||||
⥠¦¥ ¤¥©á⢨ï á à áè¨à¥ë¬¨ ¢®§¬®¦®áâﬨ.
|
|
||||||
* …᫨ 㪠§ âì ¥ã«¥¢®¥ § 票¥ ¢ esi ¨ à ¬¤¨áª¥ 㦥 ¥áâì
|
|
||||||
㪠§ ë© ä ©«, â® ¡ã¤¥â ᮧ¤ ¥éñ ®¤¨ ä ©« á ⥬ ¦¥ ¨¬¥¥¬.
|
|
||||||
* ‚ ¯à®â¨¢®¬ á«ãç ¥ ä ©« ¯¥à¥§ ¯¨áë¢ ¥âáï.
|
|
||||||
* ˆ¬ï ä ©« ¤®«¦® ¡ëâì «¨¡® ¢ ä®à¬ ⥠8+3 ᨬ¢®«®¢
|
|
||||||
(¯¥à¢ë¥ 8 ᨬ¢®«®¢ - ᮡá⢥® ¨¬ï, ¯®á«¥¤¨¥ 3 - à áè¨à¥¨¥,
|
|
||||||
ª®à®âª¨¥ ¨¬¥ ¨ à áè¨à¥¨ï ¤®¯®«ïîâáï ¯à®¡¥« ¬¨),
|
|
||||||
«¨¡® ¢ ä®à¬ ⥠8.3 ᨬ¢®«®¢ "FILE.EXT"/"FILE.EX "
|
|
||||||
(¨¬ï ¥ ¡®«¥¥ 8 ᨬ¢®«®¢, â®çª , à áè¨à¥¨¥ 3 ᨬ¢®« ,
|
|
||||||
¤®¯®«¥®¥ ¯à¨ ¥®¡å®¤¨¬®á⨠¯à®¡¥« ¬¨).
|
|
||||||
ˆ¬ï ä ©« ¤®«¦® ¡ëâì § ¯¨á ® § £« ¢ë¬¨ ¡ãª¢ ¬¨.
|
|
||||||
‡ ¢¥àè î騩 ᨬ¢®« á ª®¤®¬ 0 ¥ 㦥 (¥ ASCIIZ-áâப ).
|
|
||||||
* <20>â äãªæ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥â ¯ ¯®ª à ¬¤¨áª¥.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
============ ”ãªæ¨ï 35 - ¯à®ç¨â âì 梥â â®çª¨ íªà ¥. ============
|
============ ”ãªæ¨ï 35 - ¯à®ç¨â âì 梥â â®çª¨ íªà ¥. ============
|
||||||
@ -1858,7 +1810,7 @@ dd 638
|
|||||||
------------------ <20>®¤äãªæ¨ï 7 - ¤ ë¥ ¯à®ªàã⪨ -------------------
|
------------------ <20>®¤äãªæ¨ï 7 - ¤ ë¥ ¯à®ªàã⪨ -------------------
|
||||||
<EFBFBD> à ¬¥âàë:
|
<EFBFBD> à ¬¥âàë:
|
||||||
* eax = 37 - ®¬¥à äãªæ¨¨
|
* eax = 37 - ®¬¥à äãªæ¨¨
|
||||||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
* ebx = 7 - ®¬¥ΰ ―®¤δγ<CEB3>樨
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
‚®§¢à é ¥¬®¥ § 票¥:
|
||||||
* eax = [horizontal offset]*65536 + [vertical offset]
|
* eax = [horizontal offset]*65536 + [vertical offset]
|
||||||
‡ ¬¥ç ¨ï:
|
‡ ¬¥ç ¨ï:
|
||||||
@ -3289,63 +3241,6 @@ IPC
|
|||||||
¢å®¤¨â, ¯à¨¬¥à, ¢ ¨§¢¥áâë© Interrupt List by Ralf Brown;
|
¢å®¤¨â, ¯à¨¬¥à, ¢ ¨§¢¥áâë© Interrupt List by Ralf Brown;
|
||||||
ᯨ᮪ ¢â®àëå ¤®«¦¥ ¡ëâì 㪠§ ¢ ¤®ªã¬¥â 樨 ¯® ãáâனáâ¢ã.
|
ᯨ᮪ ¢â®àëå ¤®«¦¥ ¡ëâì 㪠§ ¢ ¤®ªã¬¥â 樨 ¯® ãáâனáâ¢ã.
|
||||||
|
|
||||||
======================================================================
|
|
||||||
====================== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 11 =====================
|
|
||||||
== ˆ¨æ¨ «¨§¨à®¢ âì ¯®«ì§®¢ ⥫ì᪨© ‚/‚ á ®â®¡à ¦¥¨¥¬ ¯ ¬ïâì ==
|
|
||||||
======================================================================
|
|
||||||
<EFBFBD> à ¬¥âàë:
|
|
||||||
* eax = 62 - ®¬¥à äãªæ¨¨
|
|
||||||
* bl = 11 - ®¬¥à ¯®¤äãªæ¨¨
|
|
||||||
* cx = ¤à¥á PCI-ãáâனáâ¢
|
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
|
||||||
* eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ;
|
|
||||||
* eax = -2 - ¤®áâ㯠ª MMIO-¡«®ª ¬ ãáâனá⢠¥ à §à¥èñ;
|
|
||||||
* eax = -3 - ®è¨¡ª ««®ª 樨 ¯®«ì§®¢ ⥫ì᪮© ¤¨. ¯ ¬ïâ¨; ¨ ç¥
|
|
||||||
* eax = à §¬¥à ¤®áâ㯮© ¤¨ ¬¨ç¥áª®© ¯ ¬ïâ¨.
|
|
||||||
‡ ¬¥ç ¨ï:
|
|
||||||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI
|
|
||||||
¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21.
|
|
||||||
* ¤à¥á PCI-ãáâனá⢠¤®«¦¥ ᮢ¯ ¤ âì á á¨á⥬®© ¯¥à¥¬¥®©
|
|
||||||
mmio_pci_addr
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
====================== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 12 =====================
|
|
||||||
== ‚뤥«¨âì ¤¨ ¯ §® «¨¥©ëå ¤à¥á®¢ ¤«ï ¯®«ì§®¢ ⥫ì᪮£® MMIO ==
|
|
||||||
======================================================================
|
|
||||||
<EFBFBD> à ¬¥âàë:
|
|
||||||
* eax = 62 - ®¬¥à äãªæ¨¨
|
|
||||||
* bl = 12 - ®¬¥à ¯®¤äãªæ¨¨
|
|
||||||
* bh = ®¬¥à BAR-ॣ¨áâà ¢ ª®ä¨£ãà 樮®© §®¥ PCI
|
|
||||||
* ecx = à §¬¥à MMIO-¡«®ª (¢ ¡ ©â å)
|
|
||||||
* edx = ᬥ饨¥ ®â®á¨â¥«ì® ç « MMIO-¡«®ª (¢ 4K-áâà ¨æ å!)
|
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
|
||||||
* eax = -1 - ¤®áâ㯠ª PCI § ¯à¥éñ;
|
|
||||||
* eax = -2 - ¥¢¥àë© ®¬¥à BAR-ॣ¨áâà ;
|
|
||||||
* eax = -3 - BAR ¥ ᮤ¥à¦¨â ¤à¥á IO;
|
|
||||||
* eax = -4 - BAR ¤à¥áã¥â ¯®àâë IO;
|
|
||||||
* eax = -5 - ®è¨¡ª ««®ª 樨; ¨ ç¥
|
|
||||||
* eax = ç «ìë© ¤à¥á MMIO ¢ ¤à¥á®¬ ¯à®áâà á⢥ ¯à¨«®¦¥¨ï.
|
|
||||||
‡ ¬¥ç ¨ï:
|
|
||||||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì à §à¥èñ ¨§ª®ã஢¥¢ë© ¤®áâ㯠ª PCI
|
|
||||||
¤«ï ¯à¨«®¦¥¨© ¯®¤äãªæ¨¥© 12 äãªæ¨¨ 21.
|
|
||||||
* €¤à¥á PCI-ãáâனá⢠§ ¤ ¥âáï á¨á⥬®© ¯¥à¥¬¥®© mmio_pci_addr.
|
|
||||||
* <20>।®áâ ¢«¥ë© ¤¨ ¯ §® «¨¥©ëå ¤à¥á®¢ ¤®«¦¥ ®á¢®¡®¦¤ âìáï
|
|
||||||
¯®á।á⢮¬ ¢ë§®¢ äãªæ¨¨ 62:13
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
====================== ”ãªæ¨ï 62, ¯®¤äãªæ¨ï 13 =====================
|
|
||||||
== Žá¢®¡®¤¨âì ¤¨ ¯ §® «¨¥©ëå ¤à¥á®¢ ¯®«ì§®¢ ⥫ì᪮£® MMIO ==
|
|
||||||
======================================================================
|
|
||||||
<EFBFBD> à ¬¥âàë:
|
|
||||||
* eax = 62 - ®¬¥à äãªæ¨¨
|
|
||||||
* bl = 12 - ®¬¥à ¯®¤äãªæ¨¨
|
|
||||||
* ecx = ç «ìë© ¤à¥á ®á¢®¡®¦¤ ¥¬®£® MMIO-¡«®ª ¢ ¤à¥á®¬
|
|
||||||
¯à®áâà á⢥ ¯à¨«®¦¥¨ï
|
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
|
||||||
* eax = 1 - ¡«®ª ãá¯¥è® ®á¢®¡®¦¤¥;
|
|
||||||
‡ ¬¥ç ¨ï:
|
|
||||||
* <20>।¢ à¨â¥«ì® ¯à¨«®¦¥¨î ¤®«¦¥ ¡ëâì ¢ë¤¥«¥ uMMIO-¡«®ª (fn62:12)
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
================ ”ãªæ¨ï 63 - à ¡®â á ¤®áª®© ®â« ¤ª¨. ===============
|
================ ”ãªæ¨ï 63 - à ¡®â á ¤®áª®© ®â« ¤ª¨. ===============
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -3459,7 +3354,6 @@ IPC
|
|||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD>¥¦¨¬ ¢¢®¤ ¢«¨ï¥â १ã«ìâ âë çâ¥¨ï ª« ¢¨è äãªæ¨¥© 2.
|
<EFBFBD>¥¦¨¬ ¢¢®¤ ¢«¨ï¥â १ã«ìâ âë çâ¥¨ï ª« ¢¨è äãªæ¨¥© 2.
|
||||||
<EFBFBD>ਠ§ £à㧪¥ ¯à®£à ¬¬ë ¤«ï ¥ñ ãáâ ¢«¨¢ ¥âáï ASCII-०¨¬ ¢¢®¤ .
|
<EFBFBD>ਠ§ £à㧪¥ ¯à®£à ¬¬ë ¤«ï ¥ñ ãáâ ¢«¨¢ ¥âáï ASCII-०¨¬ ¢¢®¤ .
|
||||||
…᫨ ¢ë§ë¢ ¥âáï ¥áãé¥áâ¢ãîé ï ¯®¤äãªæ¨ï ¢®§¢à é ¥âáï ¢ eax=-1.
|
|
||||||
|
|
||||||
-------- <20>®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ०¨¬ ¢¢®¤ á ª« ¢¨ âãàë. ---------
|
-------- <20>®¤äãªæ¨ï 1 - ãáâ ®¢¨âì ०¨¬ ¢¢®¤ á ª« ¢¨ âãàë. ---------
|
||||||
<EFBFBD> à ¬¥âàë:
|
<EFBFBD> à ¬¥âàë:
|
||||||
@ -3702,25 +3596,20 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
¨«¨ ¯®¤äãªæ¨¥© 20.
|
¨«¨ ¯®¤äãªæ¨¥© 20.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
==================== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 14 =======================
|
====================== ”γ<CEB3>ζ¨ο 68, ―®¤δγ<CEB3>ζ¨ο 14 =====================
|
||||||
===== Ž¦¨¤ âì ¯®«ã票ï ᨣ « , ®â ¤àã£¨å ¯à¨«®¦¥¨©/¤à ©¢¥à®¢. =====
|
====== <20>¦¨¤ βμ ―®«γ票ο ᨣ « ®β ¤ΰγ£¨ε ―ΰ¨«®¦¥¨©/¤ΰ ©Ά¥ΰ®Ά. =====
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD> à ¬¥âàë:
|
<EFBFBD> à ¬¥âàë:
|
||||||
* eax = 68 - ®¬¥à äãªæ¨¨
|
* eax = 68 - ®¬¥à äãªæ¨¨
|
||||||
* ebx = 14 - ®¬¥à ¯®¤äãªæ¨¨
|
* ebx = 14 - ®¬¥à ¯®¤äãªæ¨¨
|
||||||
* ecx = 㪠§ â¥«ì ¡ãä¥à ¤«ï ¨ä®à¬ 樨 (24 ¡ ©â )
|
* ecx = 㪠§ â¥«ì ¡ãä¥à ¤«ï ¨ä®à¬ 樨 (24 ¡ ©â )
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
‚®§¢à é ¥¬®¥ § 票¥:
|
||||||
|
* eax ΰ §ΰγθ ¥βαο
|
||||||
* ¡ãä¥à, ª®â®àë© ãª §ë¢ ¥â ecx, ᮤ¥à¦¨â á«¥¤ãîéãî ¨ä®à¬ æ¨î:
|
* ¡ãä¥à, ª®â®àë© ãª §ë¢ ¥â ecx, ᮤ¥à¦¨â á«¥¤ãîéãî ¨ä®à¬ æ¨î:
|
||||||
* +0: dword: ¨¤¥â¨ä¨ª â®à ¯®á«¥¤ãîé¨å ¤ ëå ᨣ «
|
* +0: dword: ¨¤¥â¨ä¨ª â®à ¯®á«¥¤ãîé¨å ¤ ëå ᨣ «
|
||||||
* +4: ¤ ë¥ ¯à¨ï⮣® ᨣ « (20 ¡ ©â), ä®à¬ â ª®â®àëå
|
* +4: ¤ ë¥ ¯à¨ï⮣® ᨣ « (20 ¡ ©â), ä®à¬ â ª®â®àëå
|
||||||
®¯à¥¤¥«ï¥âáï ¯¥à¢ë¬ dword-®¬
|
®¯à¥¤¥«ï¥âáï ¯¥à¢ë¬ dword-®¬
|
||||||
|
|
||||||
======================================================================
|
|
||||||
== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 15 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© FPU. =
|
|
||||||
======================================================================
|
|
||||||
“¤ «¥ (¢ ⥪ã饩 ॠ«¨§ 樨 ¯à®áâ® ¢®§¢à é ¥â 0)
|
|
||||||
ˆá¯®«ì§®¢ âì ¯®¤äãªæ¨¨ 24, 25
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 16 - § £à㧨âì ¤à ©¢¥à. ===========
|
=========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 16 - § £à㧨âì ¤à ©¢¥à. ===========
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -3759,12 +3648,6 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
®¯à¥¤¥«ïîâáï ¤à ©¢¥à®¬.
|
®¯à¥¤¥«ïîâáï ¤à ©¢¥à®¬.
|
||||||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¯®«ãç¥ åí¤« ¤à ©¢¥à ¯®¤äãªæ¨¥© 16.
|
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¯®«ãç¥ åí¤« ¤à ©¢¥à ¯®¤äãªæ¨¥© 16.
|
||||||
|
|
||||||
======================================================================
|
|
||||||
== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 18 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© SSE. =
|
|
||||||
======================================================================
|
|
||||||
“¤ «¥ (¢ ⥪ã饩 ॠ«¨§ 樨 ¯à®áâ® ¢®§¢à é ¥â 0)
|
|
||||||
ˆá¯®«ì§®¢ âì ¯®¤äãªæ¨¨ 24, 25
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
============= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 19 - § £à㧨âì DLL. =============
|
============= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 19 - § £à㧨âì DLL. =============
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -3860,7 +3743,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
®¡« á⨠¯ ¬ïâ¨.
|
®¡« á⨠¯ ¬ïâ¨.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
==== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 24 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© ===
|
==== ”γ<EFBFBD>ζ¨ο 68, ―®¤δγ<CEB3>ζ¨ο 24 - γαβ ®Ά¨βμ ®΅ΰ ΅®βη¨<CEB7> ¨α<C2A8>«ξ票©. ===
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD> à ¬¥âàë:
|
<EFBFBD> à ¬¥âàë:
|
||||||
* eax = 68 - ®¬¥à äãªæ¨¨
|
* eax = 68 - ®¬¥à äãªæ¨¨
|
||||||
@ -3871,26 +3754,26 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* eax = ¤à¥á áâ ண® ®¡à ¡®â稪 ¨áª«î票© (0, ¥á«¨ ¥ ãáâ ®¢«¥)
|
* eax = ¤à¥á áâ ண® ®¡à ¡®â稪 ¨áª«î票© (0, ¥á«¨ ¥ ãáâ ®¢«¥)
|
||||||
* ebx = ¬ ᪠áâ ண® ®¡à ¡®â稪 ¨áª«î票©
|
* ebx = ¬ ᪠áâ ண® ®¡à ¡®â稪 ¨áª«î票©
|
||||||
‡ ¬¥ç ¨ï:
|
‡ ¬¥ç ¨ï:
|
||||||
* <20>®¬¥à ¡¨â ¢ ¬ ᪥ ¨áª«î票© ᮮ⢥âáâ¢ãîâ ®¬¥à㠨᪫îç¥¨ï ¯®
|
* <20>®¬¥ΰ ΅¨β Ά ¬ α<C2A0>¥ ¨α<C2A8>«ξ票© α®®βΆ¥βαβΆγ¥β ®¬¥ΰγ ¨α<C2A8>«ξη¥¨ο ―®
|
||||||
ᯥæ¨ä¨ª 樨 ¯à®æ¥áá®à (Intel-PC). ’ ª ¯à¨¬¥à, ¨áª«î票ï FPU
|
α―¥ζ¨δ¨<EFBFBD> 樨 ―ΰ®ζ¥αα®ΰ (Intel-PC). ’ <E28099>, ―ਬ¥ΰ, ¨α<C2A8>«ξ票ο
|
||||||
¨¬¥îâ ®¬¥à 16 (#MF), SSE - 19 (#XF).
|
FPU ¨¬¥ξβ ®¬¥ΰ 16 (#MF), SSE - 19 (#XF).
|
||||||
* ‚ ¤ ®© ॠ«¨§ 樨 ¨£®à¨àã¥âáï § ¯à®á ¯¥à¥å¢ ⠨᪫î票ï 7
|
* ‚ ¤ ®© ॠ«¨§ 樨 ¨£®à¨àã¥âáï § ¯à®á ¯¥à¥å¢ ⠨᪫î票ï 7
|
||||||
- á¨á⥬ ®¡à ¡ âë¢ ¥â #NM á ¬®áâ®ï⥫ì®.
|
- á¨á⥬ ®¡à ¡ âë¢ ¥â #NM á ¬®áâ®ï⥫ì®.
|
||||||
* <20>®«ì§®¢ ⥫ì᪨© ®¡à ¡®â稪 ¯®«ãç ¥â ®¬¥à ¨áª«îç¥¨ï ¯ à ¬¥â஬
|
* <20>®«ì§®¢ ⥫ì᪨© ®¡à ¡®â稪 ¯®«ãç ¥â ®¬¥à ¨áª«îç¥¨ï ¯ à ¬¥â஬
|
||||||
¢ á⥪¥. <20>®íâ®¬ã ¯à ¢¨«ìë© ¢ë室 ¨§ ®¡à ¡®â稪 : RET 4. ‚®§¢à â
|
¢ á⥪¥. <20>®íâ®¬ã ¯à ¢¨«ìë© ¢ë室 ¨§ ®¡à ¡®â稪 : RET 4. ‚®§¢à â
|
||||||
¯à¨ í⮬ ¯à®¨§¢®¤¨âáï ª®¬ ¤ã, ¢ë§¢ ¢èãî ¨áª«î票¥.
|
¯à¨ í⮬ ¯à®¨§¢®¤¨âáï ª®¬ ¤ã, ¢ë§¢ ¢èãî ¨áª«î票¥.
|
||||||
* <20>ਠ¯¥à¥¤ ç¥ ã¯à ¢«¥¨ï ®¡à ¡®â稪㠨᪫î票©, á¡à áë¢ ¥âáï
|
* <20>ΰ¨ ―¥ΰ¥¤ η¥ γ―ΰ Ά«¥¨ο ®΅ΰ ΅®βη¨<CEB7>γ ¨α<C2A8>«ξ票© α΅ΰ αλΆ ¥βαο
|
||||||
ᮮ⢥âáâ¢ãî騩 ¡¨â ¢ ¬ ᪥ ¨áª«î票©. ‚®§¨ª®¢¥¨¥ í⮣® ¦¥
|
ᮮ⢥âáâ¢ãî騩 ¡¨â ¢ ¬ ᪥ ¨áª«î票©. ‚®§¨ª®¢¥¨¥ í⮣® ¦¥
|
||||||
¨áª«îç¥¨ï ¢ ¯®á«¥¤á⢨¨ - ¯à¨¢¥¤¥â ª default-®¡à ¡®âª¥ â ª®¢®£®.
|
¨α<EFBFBD>«ξη¥¨ο Ά―®α«¥¤αβΆ¨¨ ―ΰ¨Ά¥¤ρβ <20> 㬮«η «μ®© ®΅ΰ ΅®β<C2AE>¥ β <CEB2>®Ά®£®.
|
||||||
€ ¨¬¥®: ª § ¢¥à襨î à ¡®âë ¯à¨«®¦¥¨ï, ¨«¨ ¯à¨®áâ ®¢ª¥ á
|
€ ¨¬¥®: <EFBFBD> § Ά¥ΰ襨ξ ΰ ΅®βλ ―ΰ¨«®¦¥¨ο Ά ®βαγβαβΆ¨¨ ®β« ¤η¨<CEB7> ,
|
||||||
®â¨ä¨ª 樥© ®â« ¦¨¢ î饬㠯ਫ®¦¥¨î.
|
―ਮαβ ®Ά<EFBFBD> α γΆ¥¤®¬«¥¨¥¬ ®β« ¦¨Ά ξι¥£® ―ਫ®¦¥¨ο ¨ η¥.
|
||||||
* <20>®á«¥ § ¢¥àè¥¨ï ªà¨â¨ç¥áª¨å ¤¥©á⢨© ¢ ®¡à ¡®â稪¥ ¯®«ì§®¢ ⥫ï,
|
* <20>®α«¥ § Ά¥ΰ襨ο <20>ΰ¨β¨η¥α<C2A5>¨ε ¤¥©αβΆ¨© Ά ®΅ΰ ΅®βη¨<CEB7>¥ ―®«μ§®Ά ⥫ο
|
||||||
¢®ááâ ®¢«¥¨¥ ¡¨â ¬ ᪨ ¤ ®£® ¨áª«îç¥¨ï ¬®¦® ᤥ« âì
|
¢®ááâ ®¢«¥¨¥ ¡¨â ¬ ᪨ ¤ ®£® ¨áª«îç¥¨ï ¬®¦® ᤥ« âì
|
||||||
¯®¤äãªæ¨¥© 25. ‘¡à®á ä« £®¢ ¨áª«î票© ¢ ¬®¤ã«ïå FPU ¨ XMM -
|
―®¤δγ<EFBFBD>樥© 25. ‘΅ΰ®α δ« £®Ά ¨α<C2A8>«ξ票© Ά ¬®¤γ«οε FPU ¨ XMM β <CEB2>¦¥
|
||||||
â ª¦¥ ¢®§« £ ¥âáï ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ï.
|
Ά®§« £ ¥βαο ®΅ΰ ΅®βη¨<CEB7> ―®«μ§®Ά ⥫ο.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 25 - ¨§¬¥¥¨¥ á®áâ®ï¨ï ªâ¨¢®á⨠ᨣ « =
|
= ”γ<EFBFBD>ζ¨ο 68, ―®¤δγ<CEB3>ζ¨ο 25 - ¨§¬¥¨βμ α®αβ®ο¨¥ <>β¨Ά®α⨠ᨣ « . =
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD> à ¬¥âàë:
|
<EFBFBD> à ¬¥âàë:
|
||||||
* eax = 68 - ®¬¥à äãªæ¨¨
|
* eax = 68 - ®¬¥à äãªæ¨¨
|
||||||
@ -3898,10 +3781,11 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* ecx = ®¬¥à ᨣ «
|
* ecx = ®¬¥à ᨣ «
|
||||||
* edx = § 票¥ ãáâ ¢«¨¢ ¥¬®© ªâ¨¢®á⨠(0/1)
|
* edx = § 票¥ ãáâ ¢«¨¢ ¥¬®© ªâ¨¢®á⨠(0/1)
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
‚®§¢à é ¥¬®¥ § 票¥:
|
||||||
* eax = áâ ஥ § 票¥ ªâ¨¢®á⨠ᨣ « (0/1)
|
* eax = -1 - § ¤ ¥Ά¥ΰλ© ®¬¥ΰ ᨣ «
|
||||||
|
* ¨ η¥ eax = αβ ஥ § 票¥ <>β¨Ά®α⨠ᨣ « (0/1)
|
||||||
‡ ¬¥ç ¨ï:
|
‡ ¬¥ç ¨ï:
|
||||||
* ‚ ⥪ã饩 ॠ«¨§ 樨 ¨§¬¥ï¥âáï ⮫쪮 ¬ ᪠¯®«ì§®¢ ⥫ì᪮£®
|
* ‚ ⥪ã饩 ॠ«¨§ 樨 ¨§¬¥ï¥âáï ⮫쪮 ¬ ᪠¯®«ì§®¢ ⥫ì᪮£®
|
||||||
®¡à ¡®â稪 ¨áª«î票©, ãáâ ®¢«¥®£® ¯®¤äãªæ¨¥© 24. <20>ਠí⮬,
|
®΅ΰ ΅®βη¨<EFBFBD> ¨α<C2A8>«ξ票©, γαβ ®Ά«¥®£® ―®¤δγ<CEB3>樥© 24. <20>ΰ¨ ν⮬
|
||||||
®¬¥à ᨣ « ᮮ⢥âáâ¢ã¥â ®¬¥à㠨᪫î票ï.
|
®¬¥à ᨣ « ᮮ⢥âáâ¢ã¥â ®¬¥à㠨᪫î票ï.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -4204,6 +4088,10 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* '/hd0/2/menuet/pics/tanzania.bmp',0
|
* '/hd0/2/menuet/pics/tanzania.bmp',0
|
||||||
* '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0
|
* '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0
|
||||||
* '/sys/MySuperApp.ini',0
|
* '/sys/MySuperApp.ini',0
|
||||||
|
’ <EFBFBD>¦¥ δγ<CEB3>ζ¨ο ―®¤¤¥ΰ¦¨Ά ¥β ®β®α¨β¥«μλ¥ ¨¬¥ . …᫨ ―γβμ η¨ ¥βαο
|
||||||
|
¥ α '/', β® ® αη¨β ¥βαο ®β®α¨β¥«μ® β¥<CEB2>γ饩 ― ―<C2A0>¨. <20>®«γη¨βμ ¨«¨
|
||||||
|
γαβ ®Ά¨βμ β¥<CEB2>γιγξ ― ―<C2A0>γ ¬®¦® α ―®¬®ιμξ α¨αδγ<CEB3>樨 30.
|
||||||
|
|
||||||
„®áâã¯ë¥ ¯®¤äãªæ¨¨:
|
„®áâã¯ë¥ ¯®¤äãªæ¨¨:
|
||||||
* ¯®¤äãªæ¨ï 0 - ç⥨¥ ä ©«
|
* ¯®¤äãªæ¨ï 0 - ç⥨¥ ä ©«
|
||||||
* ¯®¤äãªæ¨ï 1 - ç⥨¥ ¯ ¯ª¨
|
* ¯®¤äãªæ¨ï 1 - ç⥨¥ ¯ ¯ª¨
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
SYSTEM FUNCTIONS of OS Kolibri 0.7.5.0
|
SYSTEM FUNCTIONS of OS Kolibri 0.7.7.0
|
||||||
|
|
||||||
Number of the function is located in the register eax.
|
Number of the function is located in the register eax.
|
||||||
The call of the system function is executed by "int 0x40" command.
|
The call of the system function is executed by "int 0x40" command.
|
||||||
@ -376,8 +376,8 @@ Remarks:
|
|||||||
and idle time in waiting for interrupt (which can be got by call
|
and idle time in waiting for interrupt (which can be got by call
|
||||||
to subfunction 4 of function 18).
|
to subfunction 4 of function 18).
|
||||||
* Beginning from slot 2, the normal applications are placed.
|
* Beginning from slot 2, the normal applications are placed.
|
||||||
* Applications are placed in memory at the address 0x0
|
* The normal applications are placed in memory at the address
|
||||||
(kernel constant 'std_application_base_address').
|
0 (kernel constant 'std_application_base_address').
|
||||||
There is no intersection, as each process has its own page table.
|
There is no intersection, as each process has its own page table.
|
||||||
* At creation of the thread it is assigned the slot
|
* At creation of the thread it is assigned the slot
|
||||||
in the system table and identifier (Process/Thread IDentifier =
|
in the system table and identifier (Process/Thread IDentifier =
|
||||||
@ -846,10 +846,10 @@ Structure of the buffer:
|
|||||||
db a,b,c,d for version a.b.c.d
|
db a,b,c,d for version a.b.c.d
|
||||||
db UID_xxx: one of UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2
|
db UID_xxx: one of UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2
|
||||||
dd REV - kernel SVN revision number
|
dd REV - kernel SVN revision number
|
||||||
For Kolibri 0.7.1.0 kernel:
|
For Kolibri 0.7.7.0 kernel:
|
||||||
db 0,7,0,0
|
db 0,7,7,0
|
||||||
db 2
|
db 2
|
||||||
dd 638
|
dd 1319
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
======= Function 18, subfunction 14 - wait for screen retrace. =======
|
======= Function 18, subfunction 14 - wait for screen retrace. =======
|
||||||
@ -1658,56 +1658,9 @@ Returned value:
|
|||||||
Remarks:
|
Remarks:
|
||||||
* If the buffer is too small to hold all data, only first (edx-1)
|
* If the buffer is too small to hold all data, only first (edx-1)
|
||||||
bytes are copied and than terminating 0 is inserted.
|
bytes are copied and than terminating 0 is inserted.
|
||||||
|
* By default, current folder for the thread is "/rd/1".
|
||||||
======================================================================
|
* At process/thread creation the current folder will be inherited
|
||||||
=============== Function 32 - delete file from ramdisk. ==============
|
from the parent.
|
||||||
======================================================================
|
|
||||||
Parameters:
|
|
||||||
* eax = 32 - function number
|
|
||||||
* ebx = pointer to the filename
|
|
||||||
Returned value:
|
|
||||||
* eax = 0 - success; otherwise file system error code
|
|
||||||
Remarks:
|
|
||||||
* This function is obsolete; function 58 allows to fulfill
|
|
||||||
the same operations with the extended possibilities.
|
|
||||||
* The current implementation returns only values 0(success) and
|
|
||||||
5(file not found).
|
|
||||||
* The filename must be either in the format 8+3 characters
|
|
||||||
(first 8 characters - name itself, last 3 - extension,
|
|
||||||
the short names and extensions are supplemented with spaces),
|
|
||||||
or in the format 8.3 characters "FILE.EXT"/"FILE.EX "
|
|
||||||
(name no more than 8 characters, dot, extension 3 characters
|
|
||||||
supplemented if necessary by spaces).
|
|
||||||
The filename must be written with capital letters. The terminating
|
|
||||||
character with code 0 is not necessary (not ASCIIZ-string).
|
|
||||||
* This function does not support folders on the ramdisk.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
================ Function 33 - write file to ramdisk. ================
|
|
||||||
======================================================================
|
|
||||||
Parameters:
|
|
||||||
* eax = 33 - function number
|
|
||||||
* ebx = pointer to the filename
|
|
||||||
* ecx = pointer to data for writing
|
|
||||||
* edx = number of bytes for writing
|
|
||||||
* should be set esi=0
|
|
||||||
Returned value:
|
|
||||||
* eax = 0 - success, otherwise file system error code
|
|
||||||
Remarks:
|
|
||||||
* This function is obsolete; function 70 allows to fulfil
|
|
||||||
the same operations with extended possibilities.
|
|
||||||
* If esi contains non-zero value and selected file already exists,
|
|
||||||
one more file with the same name will be created.
|
|
||||||
* Otherwise file will be overwritten.
|
|
||||||
* The filename must be either in the format 8+3 characters
|
|
||||||
(first 8 characters - name itself, last 3 - extension,
|
|
||||||
the short names and extensions are supplemented with spaces),
|
|
||||||
or in the format 8.3 characters "FILE.EXT"/"FILE.EX "
|
|
||||||
(name no more than 8 characters, dot, extension 3 characters
|
|
||||||
supplemented if necessary by spaces).
|
|
||||||
The filename must be written with capital letters. The terminating
|
|
||||||
character with code 0 is not necessary (not ASCIIZ-string).
|
|
||||||
* This function does not support folders on the ramdisk.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
======= Function 35 - read the color of a pixel on the screen. =======
|
======= Function 35 - read the color of a pixel on the screen. =======
|
||||||
@ -3260,59 +3213,6 @@ Remarks:
|
|||||||
Ralf Brown; registers of the second type must be listed
|
Ralf Brown; registers of the second type must be listed
|
||||||
in the device documentation.
|
in the device documentation.
|
||||||
|
|
||||||
======================================================================
|
|
||||||
===================== Function 62, subfunction 11 ====================
|
|
||||||
== Initialize user-accessible MMIO channel ==
|
|
||||||
======================================================================
|
|
||||||
Parameters:
|
|
||||||
* eax = 62 - function
|
|
||||||
* bl = 11 - subfunction
|
|
||||||
* cx = PCI-address (bbbbbbbb dddddfff)
|
|
||||||
Returns:
|
|
||||||
* eax = -1 - PCI access not granted;
|
|
||||||
* eax = -2 - no user MMIO access to this PCI address;
|
|
||||||
* eax = -3 - memory allocation error; otherwise
|
|
||||||
* eax = available user heap size.
|
|
||||||
Remarks:
|
|
||||||
* Low-level PCI access must be allowed (fn21:12)
|
|
||||||
* PCI-address should correspond the system var [mmio_pci_addr]
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
===================== Function 62, subfunction 12 ====================
|
|
||||||
== Request user-accessible MMIO address space ==
|
|
||||||
======================================================================
|
|
||||||
Parameters:
|
|
||||||
* eax = 62 - function
|
|
||||||
* bl = 12 - subfunction
|
|
||||||
* bh = BAR number in PCI configuration space
|
|
||||||
* ecx = MMIO-block size needed (bytes)
|
|
||||||
* edx = MMIO-offset (number of whole 4Kb-pages!)
|
|
||||||
Returns:
|
|
||||||
* eax = -1 - user PCI access denied;
|
|
||||||
* eax = -2 - invalid BAR number;
|
|
||||||
* eax = -3 - BAR contains no valid IO addres;
|
|
||||||
* eax = -4 - BAR addresses IO ports;
|
|
||||||
* eax = -5 - dynamic allocation error; otherwise
|
|
||||||
* eax = MMIO start address (in application's linear space).
|
|
||||||
Remarks:
|
|
||||||
* Low-level PCI access must be allowed (fn21:12)
|
|
||||||
* The system var [mmio_pci_addr] sets the actual PCI-address
|
|
||||||
* The granted MMIO addresses should be released after use (fn62:13)
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
===================== Function 62, subfunction 13 ====================
|
|
||||||
== Release a block of user MMIO addresses ==
|
|
||||||
======================================================================
|
|
||||||
<EFBFBD> à ¬¥âàë:
|
|
||||||
* eax = 62 - function
|
|
||||||
* bl = 12 - subfunction
|
|
||||||
* ecx = MMIO start address (in application's linear space).
|
|
||||||
Returns:
|
|
||||||
* eax = 1 if the block is successfully released;
|
|
||||||
* eax = 0 in case of reallocation error;
|
|
||||||
Remarks:
|
|
||||||
* A valid uMMIO block should exist at this address (fn62:12)
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
============== Function 63 - work with the debug board. ==============
|
============== Function 63 - work with the debug board. ==============
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -3421,7 +3321,6 @@ Remarks:
|
|||||||
======================================================================
|
======================================================================
|
||||||
The input mode influences results of reading keys by function 2.
|
The input mode influences results of reading keys by function 2.
|
||||||
When a program loads, ASCII input mode is set for it.
|
When a program loads, ASCII input mode is set for it.
|
||||||
If subfunction is not support then eax=-1.
|
|
||||||
|
|
||||||
-------------- Subfunction 1 - set keyboard input mode. --------------
|
-------------- Subfunction 1 - set keyboard input mode. --------------
|
||||||
Parameters:
|
Parameters:
|
||||||
@ -3670,7 +3569,7 @@ Remarks:
|
|||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
===================== Function 68, subfunction 14 ====================
|
===================== Function 68, subfunction 14 ====================
|
||||||
====== Waiting delivering of signal from another program/driver ======
|
============ Wait for signal from another program/driver. ============
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Parameters:
|
||||||
* eax = 68 - function number
|
* eax = 68 - function number
|
||||||
@ -3678,15 +3577,9 @@ Parameters:
|
|||||||
* ecx = pointer to the buffer for information (24 bytes)
|
* ecx = pointer to the buffer for information (24 bytes)
|
||||||
Returned value:
|
Returned value:
|
||||||
* buffer pointed to by ecx contains the following information:
|
* buffer pointed to by ecx contains the following information:
|
||||||
* +0: dword: identifier for underlying data of signal
|
* +0: dword: identifier for following data of signal
|
||||||
* +4: data of signal (20 bytes), format of which is defining by
|
* +4: dword: data of signal (20 bytes), format of which is defined
|
||||||
first dword
|
by the first dword
|
||||||
|
|
||||||
======================================================================
|
|
||||||
====== Function 68, subfunction 15 - set FPU exception handler. ======
|
|
||||||
======================================================================
|
|
||||||
Deleted (in current implementation only 0 is returned).
|
|
||||||
Using subfunctions 24, 25 is true.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
============= Function 68, subfunction 16 - load driver. =============
|
============= Function 68, subfunction 16 - load driver. =============
|
||||||
@ -3720,22 +3613,12 @@ Parameters:
|
|||||||
* +16 = +0x10: dword: pointer to output data
|
* +16 = +0x10: dword: pointer to output data
|
||||||
* +20 = +0x14: dword: size of output data
|
* +20 = +0x14: dword: size of output data
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = error code
|
* eax = determined by driver
|
||||||
0 - successful call
|
|
||||||
-1 - any error.
|
|
||||||
-2, -3, -4, etc. reserved for kernel error codes
|
|
||||||
1, 2, 3, etc driver specific error codes
|
|
||||||
Remarks:
|
Remarks:
|
||||||
* Function codes and the structure of input/output data
|
* Function codes and the structure of input/output data
|
||||||
are defined by driver.
|
are defined by driver.
|
||||||
* Previously one must obtain driver handle by subfunction 16.
|
* Previously one must obtain driver handle by subfunction 16.
|
||||||
|
|
||||||
======================================================================
|
|
||||||
====== Function 68, subfunction 18 - set SSE exception handler. ======
|
|
||||||
======================================================================
|
|
||||||
Deleted (in current implementation only 0 is returned).
|
|
||||||
Using subfunctions 24, 25 is true.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=============== Function 68, subfunction 19 - load DLL. ==============
|
=============== Function 68, subfunction 19 - load DLL. ==============
|
||||||
======================================================================
|
======================================================================
|
||||||
@ -3775,36 +3658,92 @@ Remarks:
|
|||||||
the new and old sizes.
|
the new and old sizes.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
====== Function 68, subfunction 24 - set new exceptions handler ======
|
======== Function 68, subfunction 22 - open named memory area. =======
|
||||||
|
======================================================================
|
||||||
|
Parameters:
|
||||||
|
* eax = 68 - function number
|
||||||
|
* ebx = 22 - subfunction number
|
||||||
|
* ecx = area name. Maximum of 31 characters with terminating zero
|
||||||
|
* edx = area size in bytes for SHM_CREATE and SHM_OPEN_ALWAYS
|
||||||
|
* esi = flags for open and access:
|
||||||
|
* SHM_OPEN = 0x00 - open existing memory area. If an area
|
||||||
|
with such name does not exist, the function
|
||||||
|
will return error code 5.
|
||||||
|
* SHM_OPEN_ALWAYS = 0x04 - open existing or create new
|
||||||
|
memory area.
|
||||||
|
* SHM_CREATE = 0x08 - create new memory area. If an area
|
||||||
|
with such name already exists, the function
|
||||||
|
will return error code 10.
|
||||||
|
* SHM_READ = 0x00 - only read access
|
||||||
|
* SHM_WRITE = 0x01 - read and write access
|
||||||
|
Returned value:
|
||||||
|
* eax = pointer to memory area, 0 if error has occured
|
||||||
|
* if new area is created (SHM_CREATE or SHM_OPEN_ALWAYS):
|
||||||
|
edx = 0 - success, otherwise - error code
|
||||||
|
* if existing area is opened (SHM_OPEN or SHM_OPEN_ALWAYS):
|
||||||
|
edx = error code (if eax=0) or area size in bytes
|
||||||
|
Error codes:
|
||||||
|
* E_NOTFOUND = 5
|
||||||
|
* E_ACCESS = 10
|
||||||
|
* E_NOMEM = 30
|
||||||
|
* E_PARAM = 33
|
||||||
|
Remarks:
|
||||||
|
* Before this call one must initialize process heap by call to
|
||||||
|
subfunction 11.
|
||||||
|
* If a new area is created, access flags set maximal rights
|
||||||
|
for other processes. An attempt from other process to open
|
||||||
|
with denied rights will fail with error code E_ACCESS.
|
||||||
|
* The process which has created an area always has write access.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
======= Function 68, subfunction 23 - close named memory area. =======
|
||||||
|
======================================================================
|
||||||
|
Parameters:
|
||||||
|
* eax = 68 - function number
|
||||||
|
* ebx = 23 - subfunction number
|
||||||
|
* ecx = area name. Maximum of 31 characters with terminating zero
|
||||||
|
Returned value:
|
||||||
|
* eax destroyed
|
||||||
|
Remarks:
|
||||||
|
* A memory area is physically freed (with deleting all data and
|
||||||
|
freeing physical memory), when all threads which have opened
|
||||||
|
this area will close it.
|
||||||
|
* When thread is terminating, all opened by it areas are closed.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
======== Function 68, subfunction 24 - set exception handler. ========
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Parameters:
|
||||||
* eax = 68 - function number
|
* eax = 68 - function number
|
||||||
* ebx = 24 - subfunction number
|
* ebx = 24 - subfunction number
|
||||||
* ecx = address of the new exception handler
|
* ecx = address of the new exception handler
|
||||||
* edx = the mask of processing exceptions
|
* edx = the mask of handled exceptions
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = address of the old exception handler (0, if it was not set)
|
* eax = address of the old exception handler (0, if it was not set)
|
||||||
* ebx = the old mask of exception handler
|
* ebx = the old mask of handled exceptions
|
||||||
Remarks:
|
Remarks:
|
||||||
* Bit number in mask of exceptions is correspond to exception number
|
* Bit number in mask of exceptions corresponds to exception number
|
||||||
by CPU-specification (Intel-PC). For example, FPU-exception have
|
in CPU-specification (Intel-PC). For example, FPU exceptions have
|
||||||
number 16 (#MF), and SSE-exception - 19 (#XF)
|
number 16 (#MF), and SSE exceptions - 19 (#XF).
|
||||||
* The current implementation ignore the inquiry for hook of 7
|
* The current implementation ignores the inquiry for hook of 7
|
||||||
exception - system process #NM by one's own.
|
exception - the system handles #NM by its own.
|
||||||
* User handler get exception number in stack parameter. So, correct
|
* The exception handler is called with exception number as first
|
||||||
exit from handler is: RET 4. Return from handler is to the same
|
(and only) stack parameter. So, correct exit from the handler is
|
||||||
instruction, that was cause the exception
|
RET 4. It returns to the instruction, that caused the exception,
|
||||||
* When control is transfering to user handler, corresponding bit in
|
for faults, and to the next instruction for traps (see
|
||||||
exception mask is clearing. Rising this exception in consequence
|
classification of exceptions in CPU specification).
|
||||||
- reduce to default-handling. Exactly: terminating the application,
|
* When user handler receives control, the corresponding bit in
|
||||||
or suspending with debug-notify to owner.
|
the exception mask is cleared. Raising this exception
|
||||||
* After completion of critical operations in user handler, it may be
|
in consequence leads to default handling, that is,
|
||||||
rising corresponding bit in exception mask by using subfunction 25
|
terminating the application in absence of debugger or
|
||||||
Clearing exceptions flags in FPU and/or XMM modules - is
|
suspend with notification of debugger otherwise.
|
||||||
responsibility of user handler too.
|
* After user handler completes critical operations, it can set
|
||||||
|
the corresponding bit in the exception mask with subfunction 25.
|
||||||
|
Also user handler is responsible for clearing exceptions flags in
|
||||||
|
FPU and/or SSE.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
==== Function 68, subfunction 25 - change state of signal activity ===
|
====== Function 68, subfunction 25 - set FPU exception handler. ======
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Parameters:
|
||||||
* eax = 68 - function number
|
* eax = 68 - function number
|
||||||
@ -3812,14 +3751,15 @@ Parameters:
|
|||||||
* ecx = signal number
|
* ecx = signal number
|
||||||
* edx = value of activity (0/1)
|
* edx = value of activity (0/1)
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = value of old activity for this signal (0/1)
|
* eax = -1 - invalid signal number
|
||||||
|
* otherwise eax = old value of activity for this signal (0/1)
|
||||||
Remarks:
|
Remarks:
|
||||||
* In current implementation, it is changed only exception mask for
|
* In current implementation only mask for user excepton handler,
|
||||||
user exception handler, wich was previously set by subfunction 24.
|
which has been previously set by subfunction 24,
|
||||||
At that, number of signal correspond to exception number.
|
is changed. Signal number corresponds to exception number.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
====================== Fucntion 69 - debugging. ======================
|
====================== Function 69 - debugging. ======================
|
||||||
======================================================================
|
======================================================================
|
||||||
A process can load other process as debugged by set of corresponding
|
A process can load other process as debugged by set of corresponding
|
||||||
bit by call to subfunction 7 of function 70.
|
bit by call to subfunction 7 of function 70.
|
||||||
@ -4111,6 +4051,10 @@ Examples:
|
|||||||
* '/hd0/2/menuet/pics/tanzania.bmp',0
|
* '/hd0/2/menuet/pics/tanzania.bmp',0
|
||||||
* '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0
|
* '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0
|
||||||
* '/sys/MySuperApp.ini',0
|
* '/sys/MySuperApp.ini',0
|
||||||
|
Also function supports relative names. If the path begins not
|
||||||
|
with '/', it is considered relative to a current folder. To get or
|
||||||
|
set a current folder, use the function 30.
|
||||||
|
|
||||||
Available subfunctions:
|
Available subfunctions:
|
||||||
* subfunction 0 - read file
|
* subfunction 0 - read file
|
||||||
* subfunction 1 - read folder
|
* subfunction 1 - read folder
|
||||||
|
Loading…
Reference in New Issue
Block a user