58 lines
1.4 KiB
PHP
58 lines
1.4 KiB
PHP
WLOINITDLL macro
|
||
local cd_start, cd_patch, cd_init, WIN_NOP, WIN_PPLI
|
||
local cd_end
|
||
EXTRN GETMODULEUSAGE:FAR
|
||
EXTRN INITTASK:FAR
|
||
EXTRN __WINFLAGS:abs
|
||
|
||
cd_start:
|
||
push ax
|
||
push bx
|
||
push cx
|
||
push dx
|
||
push es
|
||
|
||
mov ax, __WINFLAGS
|
||
or ax,ax
|
||
jns WIN_NOP
|
||
|
||
pop es
|
||
pop dx
|
||
pop cx
|
||
pop bx
|
||
pop ax
|
||
call INITTASK-5
|
||
cd_patch:
|
||
jmp short cd_init
|
||
nop
|
||
xor ax, ax
|
||
retf
|
||
cd_init: jmp short cd_end
|
||
|
||
WIN_NOP:
|
||
jmp short WIN_PPLI
|
||
jmp short WIN_PPLI
|
||
push di
|
||
call GETMODULEUSAGE
|
||
dec ax
|
||
jz WIN_PPLI
|
||
inc ax
|
||
add sp,10
|
||
retf
|
||
|
||
WIN_PPLI:
|
||
pop es
|
||
pop dx
|
||
pop cx
|
||
pop bx
|
||
pop ax
|
||
jmp short cd_end
|
||
db "C", "D", "D", 1, 0
|
||
dw cd_patch - cd_start
|
||
dw WIN_NOP - cd_start
|
||
dw cd_end - cd_start
|
||
cd_end:
|
||
|
||
endm
|
||
WLOINITDLL
|
||
|