home *** CD-ROM | disk | FTP | other *** search
- KEY SEGMENT PUBLIC PARA
- ASSUME CS:KEY; DS:KEY; ES:KEY
- ;
- CR EQU 13
- LF EQU 10
- ;
- ORG 100H
- ;
- START:
- JMP TEMP
- ;
- START16:
- STI
- PUSHF
- CMP AH,02H
- JA INT2
- ;
- INT1:
- OR AH,10H
- POPF
- INT 80H
- CMP AX,0E00DH
- JNE FUNCTION
- MOV AH,1CH
- JMP XIT
- ;
- FUNCTION:
- CMP AH,4AH
- JE XIT
- CMP AH,4EH
- JE XIT
- CMP AH,47H
- JB XIT
- CMP AH,53H
- JA XIT
- MOV AL,00
- JMP XIT
- ;
- INT2:
- POPF
- INT 80H
- ;
- XIT:
- IRET
- ;
- END_OF_PROG EQU THIS BYTE
- ;
- TEMP:
- PUSH DS
- PUSH CS
- POP DS
- ;
- MOV DX, OFFSET MESSAGE ;DISPLAY FOR CREDIT
- MOV AH,9H
- INT 21H
- ;
- MOV AX,3516H ;GET 16H HOOK (KEYBOARD)
- INT 21H
- ;
- PUSH ES
- POP DS
- MOV DX,BX
- MOV AX,2580H ;PUT 80H HOOK (NEW KEYBOARD)
- INT 21H
- ;
- PUSH CS
- POP DS
- MOV DX,OFFSET START16 ;CHANGE 16H HOOK TO HERE
- MOV AX,2516H
- INT 21H
- ;
- POP DS
- ;
- MOV DX,OFFSET END_OF_PROG
- INT 27H ;TERMINATE AND STAY RESIDENT
- ;
- MESSAGE DB CR,LF,LF
- DB '╔══════════════════════╗',CR,LF
- DB '║ ║',CR,LF
- DB '║ 12_KEY Installed ║',CR,LF
- DB '║ ║',CR,LF
- DB '║ Custom designed by ║',CR,LF
- DB '║ Mark D. Overholser ║',CR,LF
- DB '║ ║',CR,LF
- DB '╚══════════════════════╝',CR,LF,'$'
- ;
- KEY ENDS
- END START
-