.TITLE XMIT SUBROUTINE .SBTTL DOCUMENTATION ; ; AUTHOR T G KELLY ; DEPARTMENT OF PATHOLOGY ; UNIVERSITY OF SOUTH ALABAMA ; ; DATE 20-JAN-78 ; ; SUBROUTINE XMIT-MOVES BYTE IN R0 TO TRANSMIT BUFFER ; AND WAITS UP TO 10 MILLISECONDS FOR A RESPONSE. ; IF NO RESPONSE, AN ERROR IS FLAGGED ; ; SEE VECTOR.MAC FOR MORE DOCUMENTATION ; .MCALL ..V2..,.REGDEF ..V2.. ;VERSION 2 MACROS .REGDEF ;DEFINE REGISTERS ; .MCALL .PRINT,.TTYIN ; .GLOBL XMIT ; XMIT: CLR @#RCSR ;INITIALIZE INTERRUPT BIC #177400,R0 ;MASK BYTE TO REMOVE GARBAGE MOV R0,@#XBUF ;SEND BYTE MOV #2000,TIME ;WAIT LOOP 1$: DEC TIME ;TIME UP? BEQ ERR ;NO RESPONSE FROM SLAVE TSTB @#RCSR ;TEST RECEIVE FLAG BPL 1$ CMP R0,@#RBUF ;TRANSMISSION ERROR? BNE ERR RETURN: CLR R0 RTS R5 ERR1: MOV #1,R0 ;SIGNAL ERROR RTS R5 ;AND RETURN ERR: MOV R0,-(SP) ;SAVE R0 .PRINT #OFFLIN .TTYIN ;WAIT FOR .TTYIN ;PICK UP MOV (SP)+,R0 ;RESTORE R0 JMP XMIT ;TRY AGAIN! TIME: .WORD 0 OFFLIN: .ASCIZ /NO RESPONSE FROM SLAVE-TYPE WHEN READY/ .END