home *** CD-ROM | disk | FTP | other *** search
- TITLE TESTCOMM -- TEST COMMSCOP ROUTINE
- ; ***********************************************************************
- ; * *
- ; * TESTCOMM *
- ; * THIS ROUTINE PROVIDES DATA FOR THE COMMSCOP ROUTINE. IT READS *
- ; * CHARACTERS FROM THE KEYBOARD AND WRITES THEM TO COM1 USING *
- ; * INT 14H. DATA IS ALSO READ FROM INT 14H AND DISPLAYED ON THE *
- ; * SCREEN. THE ROUTINE RETURNS TO MS-DOS WHEN Ctrl-C IS PRESSED *
- ; * ON THE KEYBOARD. *
- ; * *
- ; ***********************************************************************
-
- SSEG SEGMENT PARA STACK 'STACK'
- DW 128 DUP(?)
- SSEG ENDS
-
- CSEG SEGMENT
- ASSUME CS:CSEG,SS:SSEG
- BEGIN PROC FAR
- PUSH DS ;SET UP FOR RET TO MS-DOS
- XOR AX,AX ; .
- PUSH AX ; .
-
- MAINLOOP:
- MOV AH,6 ;USE DOS CALL TO CHECK FOR
- MOV DL,0FFH ; KEYBOARD ACTIVITY
- INT 21H ; IF NO CHARACTER, JUMP TO
- JZ TESTCOMM ; COMM ACTIVITY TEST
-
- CMP AL,03 ;WAS CHARACTER A Ctrl-C?
- JNE SENDCOMM ; NO, SEND IT TO SERIAL PORT
- RET ; YES, RETURN TO MS-DOS
-
- SENDCOMM:
- MOV AH,01 ;USE INT 14H WRITE FUNCTION TO
- MOV DX,0 ; SEND DATA TO SERIAL PORT
- INT 14H ; .
-
- TESTCOMM:
- MOV AH,3 ;GET SERIAL PORT STATUS
- MOV DX,0 ; .
- INT 14H ; .
- AND AH,1 ;ANY DATA WAITING?
- JZ MAINLOOP ; NO, GO BACK TO KEYBOARD TEST
- MOV AH,2 ;READ SERIAL DATA
- MOV DX,0 ; .
- INT 14H ; .
- MOV AH,6 ;WRITE SERIAL DATA TO SCREEN
- MOV DL,AL ; .
- INT 21H ; .
- JMP MAINLOOP ;CONTINUE
-
- BEGIN ENDP
- CSEG ENDS
- END BEGIN
-