;;Przykład 8.11. Zamiana wektora przerwania

.CODE
ASSUME CS:@CODE,DS:@DATA
Start:
 mov AX,@DATA 
 mov DS,AX
;;wywołanie INT21/35h 
mov AH,35h
mov AL,numer_wektora
int 21h
mov WORD PTR dawny,BX
mov WORD PTR (dawny+2),ES
;; wywołanie INT21/25h 
mov AH,25h
mov AL,numer_wektora
mov DX,OFFSET Nowa_proc
push DS
 push CS
 pop  DS ;;DS=CS=seg Nowa_proc
 int  21h
 pop  DS
... 
;;zapisywanie adresu dawnej procedury
 lds DX,dawny 
 mov AH,25h
 mov AL,numer_wektora
 int 21h
...
mov AX,4C00h ;;zakończenie 
 int  21h
Nowa_proc  PROC
...
 jmp DWORD PTR dawny
Nowa_proc  ENDP
.DATA
dawny  DD (?)
END Start
     
	
