1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-23 10:59:24 +00:00

Print octal and half words.

This commit is contained in:
Lars Brinkhoff 2017-01-12 22:40:45 +01:00
parent fbc57151b0
commit abddd1a707

118
src/sysen3/od.93 Normal file
View File

@ -0,0 +1,118 @@
TITLE OD - print binary file
A=1
B=2
C=3
D=4
E=5
P=17
BIN=7 ;Channel for binary input.
TYO=8 ;Channel for terminal output.
$$RFN==1
.INSRT SYSENG; RFN >
FNAM:
DEV: 0
FN1: 0
FN2: 0
SNAM: 0
START:
MOVE P,[-PDLSIZ,,PDL]
.BREAK 12,[..RJCL,,JCL]
MOVEI B,FNAM
MOVE D,[440700,,JCL]
PUSHJ 17,RFN"RFN
.CALL [SETZ
SIXBIT /OPEN/
[.UII,,BIN]
DEV ? FN1 ? FN2 ? SETZ SNAM]
.LOSE
.CALL [SETZ
SIXBIT /OPEN/
[.UAO,,TYO]
SETZ [SIXBIT /TTY/]]
.LOSE
NEXT: .CALL [SETZ
SIXBIT /IOT/
%CLIMM,,BIN
SETZ DATA]
.LOSE
PUSHJ P,OCT
PUSHJ P,OUT
.IOT TYO,[" ]
.IOT TYO,[";]
.IOT TYO,[" ]
PUSHJ P,HALF
PUSHJ P,OUT
.IOT TYO,[13.]
.IOT TYO,[10.]
JRST NEXT
FIN: .LOGOUT 1,
OCT: MOVSI B,-12.
MOVE E,[440300,,DATA]
MOVE D,[440700,,OUTBUF]
OCT1: ILDB A,E
ADDI A,"0
IDPB A,D
AOBJN B,OCT1
POPJ 17,
HALF: MOVE D,[440700,,OUTBUF]
SKIPGE A,DATA
JRST [MOVEI B,"-
IDPB B,D
MOVNS A
HLLM A,DATA
JRST .+1]
MOVSI B,-6
MOVE E,[440300,,DATA]
PUSHJ 17,OCT1
MOVEI B,",
IDPB B,D
IDPB B,D
HRLZ A,DATA
JUMPL A,[MOVEI B,"-
IDPB B,D
MOVNS A
HLRM A,DATA
JRST .+1]
MOVSI B,-6
MOVE E,[220300,,DATA]
PUSHJ 17,OCT1
POPJ 17,
OUT: MOVE D,[440700,,OUTBUF]
MOVEI E,12.
.CALL [SETZ
SIXBIT /SIOT/
%CLIMM,,TYO
D
SETZ E]
.LOSE
POPJ 17,
RSIXTP:
POPJ 17,
JCL: BLOCK 10
PDLSIZ=100
PDL: BLOCK PDLSIZ
DATA: 0
OUTBUF: BLOCK 10
END START