2014-08-20 16:09:26 +00:00
|
|
|
; void (__cdecl __interrupt far *__cdecl getvect(int intr))()
|
|
|
|
public _getvect
|
2014-11-05 17:20:02 +00:00
|
|
|
_getvect proc
|
2014-08-20 16:09:26 +00:00
|
|
|
@@intr = byte ptr 6
|
|
|
|
|
|
|
|
push bp
|
|
|
|
mov bp, sp
|
|
|
|
push si
|
|
|
|
push di
|
|
|
|
mov ah, 35h
|
|
|
|
mov al, [bp+@@intr]
|
|
|
|
int 21h
|
|
|
|
xchg ax, bx
|
|
|
|
mov dx, es
|
|
|
|
pop di
|
|
|
|
pop si
|
|
|
|
pop bp
|
|
|
|
ret
|
|
|
|
_getvect endp
|
|
|
|
|
|
|
|
; void __cdecl setvect(int intr, void (__interrupt far *func)())
|
|
|
|
public _setvect
|
2014-11-05 17:20:02 +00:00
|
|
|
_setvect proc
|
2014-08-20 16:09:26 +00:00
|
|
|
@@intr = byte ptr 6
|
|
|
|
@@func = dword ptr 8
|
|
|
|
|
|
|
|
push bp
|
|
|
|
mov bp, sp
|
|
|
|
push si
|
|
|
|
push di
|
|
|
|
mov ah, 25h
|
|
|
|
mov al, [bp+@@intr]
|
|
|
|
push ds
|
|
|
|
lds dx, [bp+@@func]
|
|
|
|
int 21h
|
|
|
|
pop ds
|
|
|
|
pop di
|
|
|
|
pop si
|
|
|
|
pop bp
|
|
|
|
ret
|
|
|
|
_setvect endp
|