Changeset 592 in xtideuniversalbios for trunk/Assembly_Library/Src/File/DosCritical.asm
- Timestamp:
- Jun 25, 2018, 10:29:27 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Src/File/DosCritical.asm
r526 r592 1 ; File name : DosCritical.asm2 1 ; Project name : Assembly Library 3 ; Created date : 1.9.20104 ; Last update : 2.9.20105 ; Author : Tomi Tilli6 2 ; Description : DOS Critical Error Handler (24h) replacements. 7 3 … … 22 18 ; 23 19 20 ; Note! Only DOS functions 01h - 0Ch, 30h and 59h can be called from a Critical Error Handler. 24 21 25 22 ; DOS Critical Error Handler return values … … 28 25 .retryOperation resb 1 29 26 .terminateProgramAsThoughInt21hAH4ChCalled resb 1 30 .failSystemCallInProgress resb 1 27 .failSystemCallInProgress resb 1 ; Needs DOS 3.1+ 31 28 endstruc 32 29 … … 83 80 84 81 ;-------------------------------------------------------------------- 82 ; DosCritical_CustomHandler 83 ; Parameters: 84 ; Nothing 85 ; Returns: 86 ; Nothing 87 ; Corrupts registers: 88 ; Nothing 89 ;-------------------------------------------------------------------- 90 ALIGN JUMP_ALIGN 91 DosCritical_CustomHandler: 92 add sp, 6 ; Remove the INT 24h return address and flags from stack 93 94 mov ah, GET_EXTENDED_ERROR_INFORMATION ; Requires DOS 3.0+ 95 xor bx, bx 96 int DOS_INTERRUPT_21h 97 mov [cs:bLastCriticalError], al 98 99 pop ax 100 pop bx 101 pop cx 102 pop dx 103 pop si 104 pop di 105 pop bp 106 pop ds 107 pop es 108 iret ; Return from the INT 21h call 109 110 bLastCriticalError: db 0 111 112 113 ;-------------------------------------------------------------------- 85 114 ; DosCritical_HandlerToIgnoreAllErrors 86 115 ; Parameters: … … 95 124 mov al, CRITICAL_ERROR_ACTION.ignoreErrorAndContinueProcessingRequest 96 125 iret 126
Note:
See TracChangeset
for help on using the changeset viewer.