home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / APOG / ASM1.ZIP / 12KEY.ASM < prev    next >
Encoding:
Assembly Source File  |  1990-11-11  |  1.6 KB  |  89 lines

  1. KEY      SEGMENT PUBLIC PARA
  2.       ASSUME CS:KEY; DS:KEY; ES:KEY
  3. ;
  4. CR EQU 13
  5. LF EQU 10
  6. ;
  7.     ORG    100H
  8. ;
  9. START:
  10.         JMP     TEMP
  11. ;
  12. START16:
  13.         STI
  14.         PUSHF
  15.         CMP     AH,02H
  16.         JA      INT2
  17. ;
  18. INT1:
  19.         OR      AH,10H
  20.         POPF
  21.         INT     80H
  22.         CMP     AX,0E00DH
  23.     JNE     FUNCTION
  24.         MOV     AH,1CH
  25.         JMP     XIT
  26. ;
  27. FUNCTION:
  28.         CMP     AH,4AH
  29.         JE      XIT
  30.         CMP     AH,4EH
  31.         JE      XIT
  32.         CMP     AH,47H
  33.         JB      XIT
  34.         CMP     AH,53H
  35.         JA      XIT
  36.         MOV     AL,00
  37.         JMP     XIT
  38. ;
  39. INT2:
  40.         POPF
  41.         INT     80H
  42. ;
  43. XIT:
  44.         IRET
  45. ;
  46. END_OF_PROG EQU THIS BYTE
  47. ;
  48. TEMP:
  49.         PUSH    DS
  50.         PUSH    CS
  51.         POP     DS
  52. ;
  53.         MOV     DX, OFFSET MESSAGE      ;DISPLAY FOR CREDIT
  54.     MOV    AH,9H
  55.     INT    21H
  56. ;
  57.         MOV     AX,3516H                ;GET 16H HOOK (KEYBOARD)
  58.     INT    21H
  59. ;
  60.         PUSH    ES
  61.     POP    DS
  62.         MOV     DX,BX
  63.         MOV     AX,2580H                ;PUT 80H HOOK (NEW KEYBOARD)
  64.     INT    21H
  65. ;
  66.         PUSH    CS
  67.     POP    DS
  68.     MOV    DX,OFFSET START16    ;CHANGE 16H HOOK TO HERE
  69.     MOV    AX,2516H
  70.     INT    21H    
  71. ;
  72.         POP     DS
  73. ;
  74.         MOV     DX,OFFSET END_OF_PROG
  75.     INT    27H               ;TERMINATE AND STAY RESIDENT
  76. ;
  77. MESSAGE    DB    CR,LF,LF
  78.     DB    '╔══════════════════════╗',CR,LF
  79.     DB    '║                      ║',CR,LF
  80.     DB    '║   12_KEY Installed   ║',CR,LF
  81.     DB    '║                      ║',CR,LF
  82.     DB    '║  Custom designed by  ║',CR,LF
  83.     DB    '║  Mark D. Overholser  ║',CR,LF
  84.     DB    '║                      ║',CR,LF
  85.     DB    '╚══════════════════════╝',CR,LF,'$'
  86. ;
  87. KEY    ENDS
  88.         END START
  89.