home *** CD-ROM | disk | FTP | other *** search
/ Shareware Supreme Volume 6 #1 / swsii.zip / swsii / 426 / 3C509A.ZIP / VERIFYPI.ASM < prev   
Assembly Source File  |  1992-09-25  |  1KB  |  37 lines

  1. signature    db    'PKT DRVR',0
  2. signature_len    equ    $-signature
  3.  
  4. packet_int_msg    db    CR,LF
  5.         db    "Error: <packet_int_no> should be in the range 0x60 to 0x6f and 0x78 to 0x80"
  6.         db    '$'
  7.  
  8. verify_packet_int:
  9. ;enter with no special registers.
  10. ;exit with cy,dx-> error message if the packet int was bad,
  11. ;  or nc,zr,es:bx -> current interrupt if there is a packet driver there.
  12. ;  or nc,nz,es:bx -> current interrupt if there is no packet driver there.
  13.     cmp    entry_point,60h        ;make sure that the packet interrupt
  14.     jb    verify_packet_int_bad    ;  number is in range.
  15.     cmp    entry_point,70h        ;make sure that the packet interrupt
  16.     jb    verify_packet_int_ok    ;  number is in range.
  17.     cmp    entry_point,78h        ;make sure that the packet interrupt
  18.     jb    verify_packet_int_bad    ;  number is in range.
  19.     cmp    entry_point,80h
  20.     jbe    verify_packet_int_ok
  21. verify_packet_int_bad:
  22.     mov    dx,offset packet_int_msg
  23.     stc
  24.     ret
  25. verify_packet_int_ok:
  26.  
  27.     mov    ah,35h            ;get their packet interrupt.
  28.     mov    al,entry_point
  29.     int    21h
  30.  
  31.     lea    di,3[bx]        ;see if there is already a signature
  32.     mov    si,offset signature    ;  there.
  33.     mov    cx,signature_len
  34.     repe    cmpsb
  35.     clc
  36.     ret
  37.