.SBTTL SUBROUTINE ERRMSG ;-OUTPUTS AN ERROR MSG TO THE CONSOLE FROM STAGE2 .GLOBL ERRMSG ERRMSG: MOV #MSGBUF,R0 ELOOP: MOVB (R5)+,(R0)+ ;GRAB MESSAGE BNE ELOOP BIT #1,FLBFLG ;READ EOD? BNE DONE ;IF SO, DON'T PRINT IOCH ERROR ;MESSAGE. MOVB #CR,-1(R0) ;INSERT CR-LF MOVB #LF,(R0)+ CLRB (R0) ;INSERT EOL MOV #MSGHDR,R1 ;GRAB FULL MSG ADDRESS EOLOOP: MOVB (R1)+,R0 ;PRINT IT BEQ DONE .TTYOUT BR EOLOOP DONE: INC R5 ;RETURN TO EVEN ADDRESS CLC ROR R5 ASL R5 RTS R5 .SBTTL SUBROUTINE IWRCH .GLOBL IWRCH IWRCH: CLR R1 ;SET TO "OK" MOVB R0,(LBW)+ ;TRANSFER CHAR BMI 1$ ;IF NEG, EOL CMP LBW,#OENDBF ;LINE FULL? BLO IWRTN ;BRANCH, IF NOT 1$: MOV #1,R1 ;EOL TO CC IWRTN: RTS PC .SBTTL SUBROUTINE CLOSE .GLOBL CLOSE CLOSE: RTS PC .END