ReC98/libs/BorlandC/xxv.asm

331 lines
5.8 KiB
NASM
Raw Normal View History

; terminate(void)
public @terminate$qv
@terminate$qv proc far
push si
push di
nopcall _abort
pop di
pop si
retf
@terminate$qv endp
; set_terminate(void (*)(void))
public @set_terminate$qnqv$v
@set_terminate$qnqv$v proc far
@@var_4 = word ptr -4
@@var_2 = word ptr -2
@@arg_0 = word ptr 6
@@arg_2 = word ptr 8
push bp
mov bp, sp
sub sp, 4
push si
push di
les bx, ss:16h
mov dx, es:[bx+0Ch]
mov ax, es:[bx+0Ah]
mov [bp+@@var_2], dx
mov [bp+@@var_4], ax
mov ax, [bp+@@arg_0]
or ax, [bp+@@arg_2]
jz short xxv_10060
les bx, ss:16h
mov dx, [bp+@@arg_2]
mov ax, [bp+@@arg_0]
mov es:[bx+0Ch], dx
mov es:[bx+0Ah], ax
xxv_10060:
mov dx, [bp+@@var_2]
mov ax, [bp+@@var_4]
pop di
pop si
mov sp, bp
pop bp
retf
@set_terminate$qnqv$v endp
xxv_1006C dd 0
dd xxv_100FA
db 10h dup(0)
xxv_10084 dd 0
dw 0FFE2h
dw 0
dw 3
dd xxv_1006C
dw 0
db 4, 0
public ___call_terminate
___call_terminate proc far
@@var_26 = dword ptr -26h
@@var_22 = word ptr -22h
@@var_20 = word ptr -20h
@@var_1E = word ptr -1Eh
@@var_12 = word ptr -12h
push bp
mov bp, sp
sub sp, 26h
push si
push di
mov ax, seg xxv_10084
mov bx, offset xxv_10084
nopcall ___InitExceptBlocks
mov [bp+@@var_22], ds
nopcall _flushall
les bx, ss:16h
mov dx, es:[bx+0Ch]
mov ax, es:[bx+0Ah]
mov word ptr [bp+@@var_26+2], dx
mov word ptr [bp+@@var_26], ax
mov [bp+@@var_12], 6
les bx, ss:16h
cmp word ptr es:[bx+12h], 0
jnz short xxv_100DE
les bx, ss:16h
mov word ptr es:[bx+12h], ds
xxv_100DE:
les bx, ss:16h
mov ax, es:[bx+12h]
mov [bp+@@var_20], ax
mov ds, [bp+@@var_20]
call [bp+@@var_26]
mov ds, [bp+@@var_22]
mov [bp+@@var_12], 0
jmp short xxv_10102
xxv_100FA:
mov ds, [bp+@@var_22]
nopcall @_CatchCleanup$qv ; _CatchCleanup(void)
xxv_10102:
nopcall _abort
push [bp+@@var_1E]
nopcall ___ExitExceptBlocks
pop di
pop si
mov sp, bp
pop bp
retf
___call_terminate endp
; unexpected(void)
public @unexpected$qv
@unexpected$qv proc far
push si
push di
call ___call_terminate
pop di
pop si
retf
@unexpected$qv endp
; set_unexpected(void (*)(void))
public @set_unexpected$qnqv$v
@set_unexpected$qnqv$v proc far
@@var_4 = word ptr -4
@@var_2 = word ptr -2
@@arg_0 = word ptr 6
@@arg_2 = word ptr 8
push bp
mov bp, sp
sub sp, 4
push si
push di
les bx, ss:16h
mov dx, es:[bx+10h]
mov ax, es:[bx+0Eh]
mov [bp+@@var_2], dx
mov [bp+@@var_4], ax
mov ax, [bp+@@arg_0]
or ax, [bp+@@arg_2]
jz short xxv_10154
les bx, ss:16h
mov dx, [bp+@@arg_2]
mov ax, [bp+@@arg_0]
mov es:[bx+10h], dx
mov es:[bx+0Eh], ax
xxv_10154:
mov dx, [bp+@@var_2]
mov ax, [bp+@@var_4]
pop di
pop si
mov sp, bp
pop bp
retf
@set_unexpected$qnqv$v endp
public ___call_unexpected
___call_unexpected proc far
@@var_6 = dword ptr -6
@@var_2 = word ptr -2
push bp
mov bp, sp
sub sp, 6
push si
push di
les bx, ss:16h
mov dx, es:[bx+10h]
mov ax, es:[bx+0Eh]
mov word ptr [bp+@@var_6+2], dx
mov word ptr [bp+@@var_6], ax
les bx, ss:16h
cmp word ptr es:[bx+14h], 0
jnz short xxv_10190
les bx, ss:16h
mov word ptr es:[bx+14h], ds
xxv_10190:
les bx, ss:16h
mov ax, es:[bx+14h]
mov [bp+@@var_2], ax
push ds
mov ds, [bp+@@var_2]
call [bp+@@var_6]
pop ds
nopcall _abort
pop di
pop si
mov sp, bp
pop bp
retf
___call_unexpected endp
; __GetPolymorphicDTC(void *, unsigned int)
public @__GetPolymorphicDTC$qnvui
@__GetPolymorphicDTC$qnvui proc far
@@var_8 = dword ptr -8
@@var_4 = dword ptr -4
@@arg_0 = dword ptr 6
@@arg_4 = word ptr 0Ah
push bp
mov bp, sp
sub sp, 8
push si
push di
mov ax, word ptr [bp+@@arg_0]
or ax, word ptr [bp+@@arg_0+2]
jnz short xxv_101C3
xor ax, ax
jmp short xxv_101FD
xxv_101C3:
les bx, [bp+@@arg_0]
add bx, [bp+@@arg_4]
mov ax, es:[bx]
mov word ptr [bp+@@var_4+2], ds
mov word ptr [bp+@@var_4], ax
les bx, [bp+@@var_4]
mov dx, word ptr [bp+@@var_4+2]
mov ax, word ptr [bp+@@var_4]
sub ax, es:[bx-2]
mov word ptr [bp+@@var_4+2], dx
mov word ptr [bp+@@var_4], ax
les bx, [bp+@@var_4]
mov dx, es:[bx-6]
mov ax, es:[bx-8]
mov word ptr [bp+@@var_8+2], dx
mov word ptr [bp+@@var_8], ax
les bx, [bp+@@var_8]
mov ax, es:[bx+1Ah]
xxv_101FD:
pop di
pop si
mov sp, bp
pop bp
retf
@__GetPolymorphicDTC$qnvui endp
; __GetPolymorphicDTCfar(void *, unsigned int)
public @__GetPolymorphicDTCfar$qnvui
@__GetPolymorphicDTCfar$qnvui proc far
@@var_8 = dword ptr -8
@@var_4 = dword ptr -4
@@arg_0 = dword ptr 6
@@arg_4 = word ptr 0Ah
push bp
mov bp, sp
sub sp, 8
push si
push di
mov ax, word ptr [bp+@@arg_0]
or ax, word ptr [bp+@@arg_0+2]
jnz short xxv_10217
xor ax, ax
jmp short xxv_10255
xxv_10217:
les bx, [bp+@@arg_0]
add bx, [bp+@@arg_4]
mov dx, es:[bx+2]
mov ax, es:[bx]
mov word ptr [bp+@@var_4+2], dx
mov word ptr [bp+@@var_4], ax
les bx, [bp+@@var_4]
mov dx, word ptr [bp+@@var_4+2]
mov ax, word ptr [bp+@@var_4]
sub ax, es:[bx-2]
mov word ptr [bp+@@var_4+2], dx
mov word ptr [bp+@@var_4], ax
les bx, [bp+@@var_4]
mov dx, es:[bx-6]
mov ax, es:[bx-8]
mov word ptr [bp+@@var_8+2], dx
mov word ptr [bp+@@var_8], ax
les bx, [bp+@@var_8]
mov ax, es:[bx+1Ah]
xxv_10255:
pop di
pop si
mov sp, bp
pop bp
retf
@__GetPolymorphicDTCfar$qnvui endp
public __ExceptInit
__ExceptInit proc far
push si
push di
mov word ptr ss:12h, 0
mov word ptr ss:10h, 0
mov word ptr ss:18h, ds
mov word ptr ss:16h, offset ___CPPexceptionList
mov word ptr ss:1Ah, 0FEEDh
mov ax, ds
mov ds:___unexpectd_DS, ax
mov ds:___terminate_DS, ax
mov dx, ss:18h
mov ax, ss:16h
add ax, 0A8h ; '<27>'
les bx, ss:16h
mov es:[bx+22h], dx
mov es:[bx+20h], ax
mov word ptr ss:14h, 0FFFFh
pop di
pop si
retf
__ExceptInit endp