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:
parent
fbc57151b0
commit
abddd1a707
118
src/sysen3/od.93
Normal file
118
src/sysen3/od.93
Normal 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
|
||||
Loading…
x
Reference in New Issue
Block a user