forked from KolibriOS/kolibrios
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:
parent
2df36c4abf
commit
b092aa34a2
@ -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]
|
||||||
|
@ -3655,35 +3655,10 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
®¯à¥¤¥«ï¥âáï ¯¥à¢ë¬ dword-®¬
|
®¯à¥¤¥«ï¥âáï ¯¥à¢ë¬ dword-®¬
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
==== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 15 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© ===
|
== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 15 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© FPU. =
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD> à ¬¥âàë:
|
“¤ «¥ (¢ ⥪ã饩 ॠ«¨§ 樨 ¯®áâ® ¢®§¢à é ¥â 0)
|
||||||
* eax = 68 - ®¬¥à äãªæ¨¨
|
ˆá¯®«ì§®¢ âì ¯®¤äãªæ¨¨ 24, 25
|
||||||
* ebx = 15 - ®¬¥à ¯®¤äãªæ¨¨
|
|
||||||
* ecx = ¤à¥á ®¢®£® ®¡à ¡®â稪 ¨áª«î票©
|
|
||||||
* edx = ¬ ᪠®¡à ¡ âë¢ ¥¬ëå ¨áª«î票©
|
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
|
||||||
* eax = ¤à¥á áâ ண® ®¡à ¡®â稪 ¨áª«î票©
|
|
||||||
(0, ¥á«¨ ® ¥ ¡ë« ãáâ ®¢«¥)
|
|
||||||
* ebx = ¬ ᪠áâ ண® ®¡à ¡®â稪 ¨áª«î票©
|
|
||||||
‡ ¬¥ç ¨ï:
|
|
||||||
* <20>®¬¥à ¡¨â ¢ ¬ ᪥ ¨áª«î票© ᮮ⢥âáâ¢ãîâ ®¬¥à㠨᪫îç¥¨ï ¯®
|
|
||||||
ᯥæ¨ä¨ª 樨 ¯à®æ¥áá®à (Intel-PC). ’ ª ¯à¨¬¥à, ¨áª«î票ï FPU
|
|
||||||
¨¬¥îâ ®¬¥à 16 (#MF), SSE - 19 (#XF).
|
|
||||||
* ‚ ¤ ®© ॠ«¨§ 樨 ¨£®à¨àã¥âáï § ¯à®á ¯¥à¥å¢ ⠨᪫î票ï 7
|
|
||||||
- á¨á⥬ ®¡à ¡ âë¢ ¥â #NM á ¬®áâ®ï⥫ì®.
|
|
||||||
* <20>®«ì§®¢ ⥫ì᪨© ®¡à ¡®â稪 ¯®«ãç ¥â ®¬¥à ¨áª«îç¥¨ï ¯ à ¬¥â஬
|
|
||||||
¢ á⥪¥. <20>®íâ®¬ã ¯à ¢¨«ìë© ¢ë室 ¨§ ®¡à ¡®â稪 : RET 4. ‚®§¢à â
|
|
||||||
¯à¨ í⮬ ¯à®¨§¢®¤¨âáï ª®¬ ¤ã, ¢ë§¢ ¢èãî ¨áª«î票¥.
|
|
||||||
* <20>ਠ¯¥à¥¤ ç¥ ã¯à ¢«¥¨ï ®¡à ¡®â稪㠨᪫î票©, á¡à áë¢ ¥âáï
|
|
||||||
ᮮ⢥âáâ¢ãî騩 ¡¨â ¢ ¬ ᪥ ¨áª«î票©. ‚®§¨ª®¢¥¨¥ í⮣® ¦¥
|
|
||||||
¨áª«îç¥¨ï ¢ ¯®á«¥¤á⢨¨ - ¯à¨¢¥¤¥â ª default-®¡à ¡®âª¥ â ª®¢®£®.
|
|
||||||
€ ¨¬¥®: ª § ¢¥à襨î à ¡®âë ¯à¨«®¦¥¨ï, ¨«¨ ¯à¨®áâ ®¢ª¥ á
|
|
||||||
®â¨ä¨ª 樥© ®â« ¦¨¢ î饬㠯ਫ®¦¥¨î.
|
|
||||||
* <20>®á«¥ § ¢¥àè¥¨ï ªà¨â¨ç¥áª¨å ¤¥©á⢨© ¢ ®¡à ¡®â稪¥ ¯®«ì§®¢ ⥫ï,
|
|
||||||
¢®ááâ ®¢«¥¨¥ ¡¨â ¬ ᪨ ¤ ®£® ¨áª«îç¥¨ï ¬®¦® ᤥ« âì
|
|
||||||
¯®¤äãªæ¨¥© 18. ‘¡à®á ä« £®¢ ¨áª«î票© ¢ ¬®¤ã«ïå FPU ¨ XMM -
|
|
||||||
â ª¦¥ ¢®§« £ ¥âáï ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ï.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 16 - § £à㧨âì ¤à ©¢¥à. ===========
|
=========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 16 - § £à㧨âì ¤à ©¢¥à. ===========
|
||||||
@ -3724,19 +3699,10 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¯®«ãç¥ åí¤« ¤à ©¢¥à ¯®¤äãªæ¨¥© 16.
|
* <20>।¢ à¨â¥«ì® ¤®«¦¥ ¡ëâì ¯®«ãç¥ åí¤« ¤à ©¢¥à ¯®¤äãªæ¨¥© 16.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 18 - ¨§¬¥¥¨¥ á®áâ®ï¨ï ªâ¨¢®á⨠ᨣ « =
|
== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 18 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© SSE. =
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD> à ¬¥âàë:
|
“¤ «¥ (¢ ⥪ã饩 ॠ«¨§ 樨 ¯®áâ® ¢®§¢à é ¥â 0)
|
||||||
* eax = 68 - ®¬¥à äãªæ¨¨
|
ˆá¯®«ì§®¢ âì ¯®¤äãªæ¨¨ 24, 25
|
||||||
* ebx = 18 - ®¬¥à ¯®¤äãªæ¨¨
|
|
||||||
* ecx = ®¬¥à ᨣ «
|
|
||||||
* edx = § 票¥ ãáâ ¢«¨¢ ¥¬®© ªâ¨¢®á⨠(0/1)
|
|
||||||
‚®§¢à é ¥¬®¥ § 票¥:
|
|
||||||
* eax = áâ ஥ § 票¥ ªâ¨¢®á⨠ᨣ « (0/1)
|
|
||||||
‡ ¬¥ç ¨ï:
|
|
||||||
* ‚ ⥪ã饩 ॠ«¨§ 樨 ¨§¬¥ï¥âáï ⮫쪮 ¬ ᪠¯®«ì§®¢ ⥫ì᪮£®
|
|
||||||
®¡à ¡®â稪 ¨áª«î票©, ãáâ ®¢«¥®£® ¯®¤äãªæ¨¥© 15. <20>ਠí⮬
|
|
||||||
®¬¥à ᨣ « ᮮ⢥âáâ¢ã¥â ®¬¥à㠨᪫î票ï.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
============= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 19 - § £à㧨âì DLL. =============
|
============= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 19 - § £à㧨âì DLL. =============
|
||||||
@ -3830,6 +3796,52 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
* <20>ਠ§ ¢¥à襨¨ ¯®â®ª ®á¢®¡®¦¤ îâáï ¢á¥ ®âªàëâë¥ ¨¬
|
* <20>ਠ§ ¢¥à襨¨ ¯®â®ª ®á¢®¡®¦¤ îâáï ¢á¥ ®âªàëâë¥ ¨¬
|
||||||
®¡« á⨠¯ ¬ïâ¨.
|
®¡« á⨠¯ ¬ïâ¨.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
==== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 24 - ãáâ ®¢¨âì ®¡à ¡®â稪 ¨áª«î票© ===
|
||||||
|
======================================================================
|
||||||
|
<EFBFBD> à ¬¥âàë:
|
||||||
|
* eax = 68 - ®¬¥à äãªæ¨¨
|
||||||
|
* ebx = 24 - ®¬¥à ¯®¤äãªæ¨¨
|
||||||
|
* ecx = ¤à¥á ®¢®£® ®¡à ¡®â稪 ¨áª«î票©
|
||||||
|
* edx = ¬ ᪠®¡à ¡ âë¢ ¥¬ëå ¨áª«î票©
|
||||||
|
‚®§¢à é ¥¬®¥ § 票¥:
|
||||||
|
* eax = ¤à¥á áâ ண® ®¡à ¡®â稪 ¨áª«î票©
|
||||||
|
(0, ¥á«¨ ® ¥ ¡ë« ãáâ ®¢«¥)
|
||||||
|
* ebx = ¬ ᪠áâ ண® ®¡à ¡®â稪 ¨áª«î票©
|
||||||
|
‡ ¬¥ç ¨ï:
|
||||||
|
* <20>®¬¥à ¡¨â ¢ ¬ ᪥ ¨áª«î票© ᮮ⢥âáâ¢ãîâ ®¬¥à㠨᪫îç¥¨ï ¯®
|
||||||
|
ᯥæ¨ä¨ª 樨 ¯à®æ¥áá®à (Intel-PC). ’ ª ¯à¨¬¥à, ¨áª«î票ï FPU
|
||||||
|
¨¬¥îâ ®¬¥à 16 (#MF), SSE - 19 (#XF).
|
||||||
|
* ‚ ¤ ®© ॠ«¨§ 樨 ¨£®à¨àã¥âáï § ¯à®á ¯¥à¥å¢ ⠨᪫î票ï 7
|
||||||
|
- á¨á⥬ ®¡à ¡ âë¢ ¥â #NM á ¬®áâ®ï⥫ì®.
|
||||||
|
* <20>®«ì§®¢ ⥫ì᪨© ®¡à ¡®â稪 ¯®«ãç ¥â ®¬¥à ¨áª«îç¥¨ï ¯ à ¬¥â஬
|
||||||
|
¢ á⥪¥. <20>®íâ®¬ã ¯à ¢¨«ìë© ¢ë室 ¨§ ®¡à ¡®â稪 : RET 4. ‚®§¢à â
|
||||||
|
¯à¨ í⮬ ¯à®¨§¢®¤¨âáï ª®¬ ¤ã, ¢ë§¢ ¢èãî ¨áª«î票¥.
|
||||||
|
* <20>ਠ¯¥à¥¤ ç¥ ã¯à ¢«¥¨ï ®¡à ¡®â稪㠨᪫î票©, á¡à áë¢ ¥âáï
|
||||||
|
ᮮ⢥âáâ¢ãî騩 ¡¨â ¢ ¬ ᪥ ¨áª«î票©. ‚®§¨ª®¢¥¨¥ í⮣® ¦¥
|
||||||
|
¨áª«îç¥¨ï ¢ ¯®á«¥¤á⢨¨ - ¯à¨¢¥¤¥â ª default-®¡à ¡®âª¥ â ª®¢®£®.
|
||||||
|
€ ¨¬¥®: ª § ¢¥à襨î à ¡®âë ¯à¨«®¦¥¨ï, ¨«¨ ¯à¨®áâ ®¢ª¥ á
|
||||||
|
®â¨ä¨ª 樥© ®â« ¦¨¢ î饬㠯ਫ®¦¥¨î.
|
||||||
|
* <20>®á«¥ § ¢¥àè¥¨ï ªà¨â¨ç¥áª¨å ¤¥©á⢨© ¢ ®¡à ¡®â稪¥ ¯®«ì§®¢ ⥫ï,
|
||||||
|
¢®ááâ ®¢«¥¨¥ ¡¨â ¬ ᪨ ¤ ®£® ¨áª«îç¥¨ï ¬®¦® ᤥ« âì
|
||||||
|
¯®¤äãªæ¨¥© 18. ‘¡à®á ä« £®¢ ¨áª«î票© ¢ ¬®¤ã«ïå FPU ¨ XMM -
|
||||||
|
â ª¦¥ ¢®§« £ ¥âáï ®¡à ¡®â稪 ¯®«ì§®¢ ⥫ï.
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 25 - ¨§¬¥¥¨¥ á®áâ®ï¨ï ªâ¨¢®á⨠ᨣ « =
|
||||||
|
======================================================================
|
||||||
|
<EFBFBD> à ¬¥âàë:
|
||||||
|
* eax = 68 - ®¬¥à äãªæ¨¨
|
||||||
|
* ebx = 25 - ®¬¥à ¯®¤äãªæ¨¨
|
||||||
|
* ecx = ®¬¥à ᨣ «
|
||||||
|
* edx = § 票¥ ãáâ ¢«¨¢ ¥¬®© ªâ¨¢®á⨠(0/1)
|
||||||
|
‚®§¢à é ¥¬®¥ § 票¥:
|
||||||
|
* eax = áâ ஥ § 票¥ ªâ¨¢®á⨠ᨣ « (0/1)
|
||||||
|
‡ ¬¥ç ¨ï:
|
||||||
|
* ‚ ⥪ã饩 ॠ«¨§ 樨 ¨§¬¥ï¥âáï ⮫쪮 ¬ ᪠¯®«ì§®¢ ⥫ì᪮£®
|
||||||
|
®¡à ¡®â稪 ¨áª«î票©, ãáâ ®¢«¥®£® ¯®¤äãªæ¨¥© 15. <20>ਠí⮬
|
||||||
|
®¬¥à ᨣ « ᮮ⢥âáâ¢ã¥â ®¬¥à㠨᪫î票ï.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
======================== ”ãªæ¨ï 69 - ®â« ¤ª . =======================
|
======================== ”ãªæ¨ï 69 - ®â« ¤ª . =======================
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@ -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. ======================
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user