1
0
mirror of https://github.com/PDP-10/its.git synced 2026-04-27 20:48:35 +00:00
Files
PDP-10.its/arc/ar5:c/C10FO CMID
2018-05-15 07:06:17 +02:00

96 lines
1.3 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
;
; FCOUT - FAST CHARACTER OUTPUT ROUTINES
;
; This file is ITS dependent.
;
TITLE FCOUT
.INSRT NC
.INSRT NM
BLKSIZ==200
BLKCNT==5*BLKSIZ
NL==12
CR==15
; SIOT STUFF
.UDATA
SBUF: BLOCK BLKSIZ
SPTR: BLOCK 1
SCHN: BLOCK 1
SCNT: BLOCK 1
.IDATA
SBPT: 440700,,SBUF
.CODE
CENTRY OOPN,[NAME]
CALL FOPEN,[NAME,[[1]]]
JUMPL A,OP$RET ; NEGATIVE FAILURE CODE
MOVEM A,SCHN ; ITS CHANNEL (RETURNED)
MOVEI B,BLKCNT
MOVEM B,SCNT
MOVE B,SBPT
MOVEM B,SPTR
OP$RET: RETURN
CENTRY OFLS ; FLUSH BUFFER
MOVEI C,BLKCNT
SUB C,SCNT
JUMPLE C,FL$RET
MOVE D,SBPT
SYSCAL SIOT,[SCHN ? D ? C]
FL$RET: MOVE D,SBPT
MOVEM D,SPTR
MOVEI D,BLKCNT
MOVEM D,SCNT
RETURN
CENTRY OUTI,[CC] ; OUTPUT IMAGE CHARACTER
MOVE A,CC
IDPB A,SPTR
SOSG SCNT
CALL OFLS
RETURN
CENTRY OUTC,[CC] ; OUTPUT ASCII CHARACTER
MOVE A,CC
CAIN A,NL
GO OC$NL
OC$1: IDPB A,SPTR
SOSG SCNT
CALL OFLS
RETURN
OC$NL: MOVEI A,CR
IDPB A,SPTR
SOSG SCNT
CALL OFLS
MOVEI A,NL
GO OC$1
CENTRY OUTS,[STR] ; OUTPUT ASCII STRING
MOVE B,STR
OS$2: SKIPN A,(B)
GO OS$RET
ADDI B,1
CAIN A,NL
GO OS$NL
OS$1: IDPB A,SPTR
SOSG SCNT
CALL OFLS
GO OS$2
OS$NL: MOVEI A,CR
IDPB A,SPTR
SOSG SCNT
CALL OFLS
MOVEI A,NL
GO OS$1
OS$RET: RETURN
CENTRY OCLS ; CLOSE FILE
CALL OFLS
SYSCAL CLOSE,[SCHN]
RETURN
END