changing by forum post 23500:

1) f68:15,18 moved to f68:24,25
2) f68:15,18 set to obsolete

git-svn-id: svn://kolibrios.org@1077 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Galkov
2009-05-23 08:23:03 +00:00
parent 2df36c4abf
commit b092aa34a2
5 changed files with 112 additions and 86 deletions

View File

@@ -991,15 +991,17 @@ f68call:
dd f68.12 dd f68.12
dd f68.13 dd f68.13
dd f68.14 dd f68.14
dd f68.15 dd f68.fail ;moved to f68.24
dd f68.16 dd f68.16
dd f68.17 dd f68.17
dd f68.18 dd f68.fail ;moved to f68.25
dd f68.19 dd f68.19
dd f68.20 dd f68.20
dd f68.21 dd f68.21
dd f68.22 dd f68.22
dd f68.23 dd f68.23
dd f68.24
dd f68.25
align 4 align 4
f68: f68:
@@ -1009,7 +1011,7 @@ f68:
cmp eax, 11 cmp eax, 11
jb .fail jb .fail
cmp eax, 23 cmp eax, 25
ja .fail ja .fail
jmp dword [f68call+eax*4-11*4] jmp dword [f68call+eax*4-11*4]
@@ -1032,7 +1034,7 @@ f68:
call get_event_ex call get_event_ex
mov [esp+36], eax mov [esp+36], eax
ret ret
.15: .24:
mov eax, [current_slot] mov eax, [current_slot]
xchg ebx, [eax+APPDATA.exc_handler] xchg ebx, [eax+APPDATA.exc_handler]
xchg ecx, [eax+APPDATA.except_mask] xchg ecx, [eax+APPDATA.except_mask]
@@ -1051,7 +1053,7 @@ f68:
call srv_handlerEx ;ebx call srv_handlerEx ;ebx
mov [esp+36], eax mov [esp+36], eax
ret ret
.18: .25:
mov eax, [current_slot] mov eax, [current_slot]
btr [eax+APPDATA.except_mask],ebx btr [eax+APPDATA.except_mask],ebx
setc byte[esp+36] setc byte[esp+36]

View File

@@ -3655,35 +3655,10 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
<20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dword-<2D><> <20><><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dword-<2D><>
====================================================================== ======================================================================
==== <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 15 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><20><EFBFBD><EFBFBD><E7A5AD> === == <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 15 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><20><EFBFBD><EFBFBD><E7A5AD> FPU. =
====================================================================== ======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>饩 ॠ<><E0A5A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0)
* eax = 68 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 24, 25
* ebx = 15 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>
* edx = <20><><20><><EFBFBD><E0A0A1><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* eax = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>
(0, <20><20><> <20><> <20><><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD>)
* ebx = <20><><20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><20><EFBFBD><EFBFBD><E7A5AD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> <20><>
<><E1AFA5><EFBFBD><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Intel-PC). <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0A8AC>, <20><EFBFBD><EFBFBD><E7A5AD> FPU
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 16 (#MF), <20> SSE - 19 (#XF).
* <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> 7
- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD><EBA2A0> #NM ᠬ<><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮.
* <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><E0A0AC>
<20> <20><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><> <20><><EFBFBD><E0A0A1><EFBFBD>: RET 4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD> <20><20><EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><EBA7A2><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>.
* <20><><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD>
ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD> <20> <20><><20><EFBFBD><EFBFBD><E7A5AD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><>
<20><EFBFBD><EFBFBD><E7A5AD> <20> <20><><EFBFBD><E1ABA5><EFBFBD> - <20><EFBFBD><E0A8A2><EFBFBD><EFBFBD> <20> default-<2D><><EFBFBD>⪥ ⠪<><E2A0AA><EFBFBD><EFBFBD><EFBFBD>.
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD><><E0A0A1><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2ABA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD>,
<20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><><E1A4A5><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 18. <20><><EFBFBD><EFBFBD><EFBFBD><><E4ABA0><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FPU <20> XMM -
<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E0A0A1><20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD>.
====================================================================== ======================================================================
=========== <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 16 - <20><><EFBFBD><EFBFBD><EFBFBD><E3A7A8> <20><EFBFBD><E0A0A9><EFBFBD>. =========== =========== <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 16 - <20><><EFBFBD><EFBFBD><EFBFBD><E3A7A8> <20><EFBFBD><E0A0A9><EFBFBD>. ===========
@@ -3724,19 +3699,10 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
* <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 16. * <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 16.
====================================================================== ======================================================================
= <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 18 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A8A2><EFBFBD><EFBFBD><EFBFBD><><E1A8A3><EFBFBD><EFBFBD> = == <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 18 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><EFBFBD><EFBFBD><E7A5AD> SSE. =
====================================================================== ======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>饩 ॠ<><E0A5A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0)
* eax = 68 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 24, 25
* ebx = 18 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD><><E1A8A3><EFBFBD><EFBFBD>
* edx = <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A8A2><EFBFBD><EFBFBD><EFBFBD> (0/1)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* eax = <20><><EFBFBD><20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><E2A8A2><EFBFBD><EFBFBD><EFBFBD><><E1A8A3><EFBFBD><EFBFBD> (0/1)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><>饩 ॠ<><E0A5A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD><E1AAAE>
<20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>, <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 15. <20><><EFBFBD> <20>
<20><><EFBFBD><EFBFBD><EFBFBD><><E1A8A3><EFBFBD><EFBFBD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>.
====================================================================== ======================================================================
============= <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 19 - <20><><EFBFBD><EFBFBD><EFBFBD><E3A7A8> DLL. ============= ============= <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 19 - <20><><EFBFBD><EFBFBD><EFBFBD><E3A7A8> DLL. =============
@@ -3830,6 +3796,52 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><><EFBFBD> <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> * <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><><EFBFBD> <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
======================================================================
==== <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 24 - <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><20><EFBFBD><EFBFBD><E7A5AD> ===
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 68 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
* ebx = 24 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>
* edx = <20><><20><><EFBFBD><E0A0A1><EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* eax = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>
(0, <20><20><> <20><> <20><><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD>)
* ebx = <20><><20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><20><EFBFBD><EFBFBD><E7A5AD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> <20><>
<><E1AFA5><EFBFBD><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Intel-PC). <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0A8AC>, <20><EFBFBD><EFBFBD><E7A5AD> FPU
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 16 (#MF), <20> SSE - 19 (#XF).
* <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> 7
- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD><EBA2A0> #NM ᠬ<><E1A0AC><EFBFBD><EFBFBD><EFBFBD>⥫쭮.
* <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><E0A0AC>
<20> <20><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><20><> <20><><EFBFBD><E0A0A1><EFBFBD>: RET 4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD> <20><20><EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD><EBA7A2><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>.
* <20><><EFBFBD> <20><><EFBFBD><E0A5A4><EFBFBD> <20><><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD>
ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD> <20> <20><><20><EFBFBD><EFBFBD><E7A5AD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><>
<20><EFBFBD><EFBFBD><E7A5AD> <20> <20><><EFBFBD><E1ABA5><EFBFBD> - <20><EFBFBD><E0A8A2><EFBFBD><EFBFBD> <20> default-<2D><><EFBFBD>⪥ ⠪<><E2A0AA><EFBFBD><EFBFBD><EFBFBD>.
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD><><E0A0A1><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2ABA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
* <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD>,
<20><><EFBFBD><EFBFBD><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><><E1A4A5><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 18. <20><><EFBFBD><EFBFBD><EFBFBD><><E4ABA0><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FPU <20> XMM -
<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E0A0A1><20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD>.
======================================================================
= <20><EFBFBD><E3ADAA><EFBFBD> 68, <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAA><EFBFBD> 25 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A8A2><EFBFBD><EFBFBD><EFBFBD><><E1A8A3><EFBFBD><EFBFBD> =
======================================================================
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* eax = 68 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
* ebx = 25 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD><><E1A8A3><EFBFBD><EFBFBD>
* edx = <20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A8A2><EFBFBD><EFBFBD><EFBFBD> (0/1)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A5AD>:
* eax = <20><><EFBFBD><20><><EFBFBD><EFBFBD><E7A5AD> <20><><EFBFBD><E2A8A2><EFBFBD><EFBFBD><EFBFBD><><E1A8A3><EFBFBD><EFBFBD> (0/1)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <20><>饩 ॠ<><E0A5A0><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD><E1AAAE>
<20><><EFBFBD><E0A0A1><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>, <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 15. <20><><EFBFBD> <20>
<20><><EFBFBD><EFBFBD><EFBFBD><><E1A8A3><EFBFBD><EFBFBD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E7A5AD>.
====================================================================== ======================================================================
======================== <20><EFBFBD><E3ADAA><EFBFBD> 69 - <20><EFBFBD><E2ABA0><EFBFBD>. ======================= ======================== <20><EFBFBD><E3ADAA><EFBFBD> 69 - <20><EFBFBD><E2ABA0><EFBFBD>. =======================
====================================================================== ======================================================================

View File

@@ -3627,33 +3627,10 @@ Returned value:
first dword first dword
====================================================================== ======================================================================
====== Function 68, subfunction 15 - set new exceptions handler ====== ====== Function 68, subfunction 15 - set FPU exception handler. ======
====================================================================== ======================================================================
Parameters: Deleted (in current implementation only 0 is returned).
* eax = 68 - function number Using subfunctions 24, 25 is true.
* ebx = 15 - subfunction number
* ecx = address of the new exception handler
* edx = the mask of processing exceptions
Returned value:
* eax = address of the old exception handler (0, if it was not set)
* ebx = the old mask of exception handler
Remarks:
* Bit number in mask of exceptions is correspond to exception number
by CPU-specification (Intel-PC). For example, FPU-exception have
number 16 (#MF), and SSE-exception - 19 (#XF)
* The current implementation ignore the inquiry for hook of 7
exception - system process #NM by one's own.
* User handler get exception number in stack parameter. So, correct
exit from handler is: RET 4. Return from handler is to the same
instruction, that was cause the exception
* When control is transfering to user handler, corresponding bit in
exception mask is clearing. Rising this exception in consequence
- reduce to default-handling. Exactly: terminating the application,
or suspending with debug-notify to owner.
* After completion of critical operations in user handler, it may be
rising corresponding bit in exception mask by using subfunction 18
Clearing exceptions flags in FPU and/or XMM modules - is
responsibility of user handler too.
====================================================================== ======================================================================
============= Function 68, subfunction 16 - load driver. ============= ============= Function 68, subfunction 16 - load driver. =============
@@ -3694,19 +3671,10 @@ Remarks:
* Previously one must obtain driver handle by subfunction 16. * Previously one must obtain driver handle by subfunction 16.
====================================================================== ======================================================================
==== Function 68, subfunction 18 - change state of signal activity === ====== Function 68, subfunction 18 - set SSE exception handler. ======
====================================================================== ======================================================================
Parameters: Deleted (in current implementation only 0 is returned).
* eax = 68 - function number Using subfunctions 24, 25 is true.
* ebx = 15 - subfunction number
* ecx = signal number
* edx = value of activity (0/1)
Returned value:
* eax = value of old activity for this signal (0/1)
Remarks:
* In current implementation, it is changed only exception mask for
user exception handler, wich was previously set by subfunction 15.
At that, number of signal correspond to exception number.
====================================================================== ======================================================================
=============== Function 68, subfunction 19 - load DLL. ============== =============== Function 68, subfunction 19 - load DLL. ==============
@@ -3746,6 +3714,50 @@ Remarks:
* The contents of the block are unchanged up to the shorter of * The contents of the block are unchanged up to the shorter of
the new and old sizes. the new and old sizes.
======================================================================
====== Function 68, subfunction 24 - set new exceptions handler ======
======================================================================
Parameters:
* eax = 68 - function number
* ebx = 24 - subfunction number
* ecx = address of the new exception handler
* edx = the mask of processing exceptions
Returned value:
* eax = address of the old exception handler (0, if it was not set)
* ebx = the old mask of exception handler
Remarks:
* Bit number in mask of exceptions is correspond to exception number
by CPU-specification (Intel-PC). For example, FPU-exception have
number 16 (#MF), and SSE-exception - 19 (#XF)
* The current implementation ignore the inquiry for hook of 7
exception - system process #NM by one's own.
* User handler get exception number in stack parameter. So, correct
exit from handler is: RET 4. Return from handler is to the same
instruction, that was cause the exception
* When control is transfering to user handler, corresponding bit in
exception mask is clearing. Rising this exception in consequence
- reduce to default-handling. Exactly: terminating the application,
or suspending with debug-notify to owner.
* After completion of critical operations in user handler, it may be
rising corresponding bit in exception mask by using subfunction 18
Clearing exceptions flags in FPU and/or XMM modules - is
responsibility of user handler too.
======================================================================
==== Function 68, subfunction 25 - change state of signal activity ===
======================================================================
Parameters:
* eax = 68 - function number
* ebx = 25 - subfunction number
* ecx = signal number
* edx = value of activity (0/1)
Returned value:
* eax = value of old activity for this signal (0/1)
Remarks:
* In current implementation, it is changed only exception mask for
user exception handler, wich was previously set by subfunction 15.
At that, number of signal correspond to exception number.
====================================================================== ======================================================================
====================== Fucntion 69 - debugging. ====================== ====================== Fucntion 69 - debugging. ======================
====================================================================== ======================================================================

View File

@@ -60,7 +60,7 @@ defp __Init_FPE_handler
push EDX ; ... push EDX ; ...
mov EAX, 68 mov EAX, 68
mov EBX, 15 mov EBX, 24
mov EDX, 10000h ; 1 shl 16 - #MF mov EDX, 10000h ; 1 shl 16 - #MF
lea ECX, __FPE2Handler_ lea ECX, __FPE2Handler_
int 40h ; set new exception handler int 40h ; set new exception handler
@@ -94,7 +94,7 @@ defp __Fini_FPE_handler
add ESP,4 ; remove temporary add ESP,4 ; remove temporary
mov EAX, 68 mov EAX, 68
mov EBX, 15 mov EBX, 24
mov ECX, dword ptr Save87 ; restore handler mov ECX, dword ptr Save87 ; restore handler
mov EDX, dword ptr OldMask ; restore mask mov EDX, dword ptr OldMask ; restore mask
int 40h ; set new ecxeption handler int 40h ; set new ecxeption handler

View File

@@ -131,7 +131,7 @@ opcode:
; but it may not returned at all... ; but it may not returned at all...
push ECX push ECX
mov EAX, 68 mov EAX, 68
mov EBX, 18 ; mov EBX, 25 ;
mov ECX, 16 ; #MF mov ECX, 16 ; #MF
mov EDX, 1 ; rise activity mov EDX, 1 ; rise activity
int 40h ; change state of signal activity int 40h ; change state of signal activity