home *** CD-ROM | disk | FTP | other *** search
- signature db 'PKT DRVR',0
- signature_len equ $-signature
-
- packet_int_msg db CR,LF
- db "Error: <packet_int_no> should be 0x60->0x66, 0x68->0x6f, or 0x78->0x7e",CR,LF
- db " 0x67 is the EMS interrupt, and 0x70 through 0x77 are used by second 8259"
- db '$'
-
- verify_packet_int:
- ;enter with no special registers.
- ;exit with cy,dx-> error message if the packet int was bad,
- ; or nc,zr,es:bx -> current interrupt if there is a packet driver there.
- ; or nc,nz,es:bx -> current interrupt if there is no packet driver there.
- cmp entry_point,60h ;make sure that the packet interrupt
- jb verify_packet_int_bad ; number is in range.
- cmp entry_point,67h ;make sure that the packet interrupt
- je verify_packet_int_bad ; number is in range.
- cmp entry_point,70h ;make sure that the packet interrupt
- jb verify_packet_int_ok ; number is in range.
- cmp entry_point,78h ;make sure that the packet interrupt
- jb verify_packet_int_bad ; number is in range.
- cmp entry_point,7eh
- jbe verify_packet_int_ok
- verify_packet_int_bad:
- mov dx,offset packet_int_msg
- stc
- ret
- verify_packet_int_ok:
-
- mov ah,35h ;get their packet interrupt.
- mov al,entry_point
- int 21h
-
- lea di,3[bx] ;see if there is already a signature
- mov si,offset signature ; there.
- mov cx,signature_len
- repe cmpsb
- clc
- ret
-