; ; TERMINAL TEST PROGRAM ; BY RODERICK W. HART ; DEC. 1,1980 ; TPORT EQU 0C0H ;MODEM UART CONTROL/STATUS PORT DPORT EQU TPORT+1 ;MODEM DATA PORT P0TBMT EQU 1 ;XMIT BUFF EMPTY P0DAV EQU 2 ;DATA AVAILABLE VDM EQU 0F800H ;VDM-1 DRIVER STACK EQU 080H ;DMA ADDRESS CR EQU 0DH ;ASCII CARRIAGE RETURN LF EQU 0AH ;ASCII LINE FEED BEL EQU 07H ;ASCII BELL ; ; ORG 100H ; START LXI SP,STACK ;LOAD STACK POINTER ; TEST MVI A,CR ;LOAD A WITH CARRIAGE RETURN CALL TTYOUT ;PRINT CARRIAGE RETURN MVI A,LF ;LOAD A WITH LINE FEED CALL TTYOUT ;PRINT LINE FEED MVI A,BEL ;LOAD A WITH BELL CALL TTYOUT ;RING BELL MVI A,0A0H ;THE FIRST CHARACTER TO SEND ; NXTCHR CPI 0E0H ;LAST CHARACTER TO BE PRINTED JZ CHECK ;CHECK FOR STOP COMMAND CALL TTYOUT ;PRINT CHARACTER INR A ;INCREMENT THE CHAR VALUE JMP NXTCHR ; CHECK IN TPORT ;GET MODEM STATUS ANI P0DAV ;DATA AVAILABLE? JZ TEST ;RETURN IF NOT INTERRUPTED IN DPORT ;CLEAR DATA PORT JMP 0 ;STOP TEST ; TTYOUT MOV B,A ;SAVE THE CHARACTER IN B TTYO IN TPORT ;GET STATUS ANI P0TBMT ;CHECK XMIT BUFFER JZ TTYO ;LOOP WHILE WAITING FOR TRANSMITTER CALL VDM ;OUTPUT TO CONSOLE MOV A,B ;GET CHARACTER OUT DPORT ;SENT IT TO MODEM RET ; END