mirror of
https://github.com/PDP-10/its.git
synced 2026-01-18 09:12:08 +00:00
84 lines
1.1 KiB
Groff
Executable File
84 lines
1.1 KiB
Groff
Executable File
|
||
TITLE TTYDIR
|
||
|
||
A=1
|
||
B=2
|
||
C=3
|
||
D=4
|
||
E=5
|
||
F=6
|
||
G=7
|
||
|
||
IN=16
|
||
OUT=17
|
||
|
||
GO: .OPEN IN,[SIXBIT \ TTY.FILE.(DIR)\]
|
||
.VALUE
|
||
.OPEN OUT,[SIXBIT \ 1TTYTTYDIROUTPUT\]
|
||
.VALUE
|
||
SETZ B, ;B COUNT TOTAL NUMBER OF CHARS
|
||
SETO D, ;D COUNTS LINES OF DATA
|
||
FILL0: SETZ E, ;E COUNTS CHARS WITHIN LINE
|
||
FILL: .IOT IN,A
|
||
CAIN A,^M
|
||
JRST FILL
|
||
CAIN A,^J
|
||
AOJA D,FILL0
|
||
CAIN A,^L
|
||
JRST ZAP
|
||
MOVEM A,BUF(B)
|
||
DPB E,[221100,,BUF(B)]
|
||
DPB D,[331100,,BUF(B)]
|
||
ADDI E,1
|
||
AOJA B,FILL
|
||
|
||
ZAP: .RDTIME A,
|
||
.IOT OUT,[^P]
|
||
.IOT OUT,["C]
|
||
MOVEI C,(B)
|
||
SUBI B,1
|
||
FIND: IMULI A,314713
|
||
ADDI A,461752
|
||
MOVE E,A
|
||
IDIVI E,(B)
|
||
MOVE E,F
|
||
FIND1: SKIPL BUF(F)
|
||
JRST FOUND
|
||
CAIE F,(B)
|
||
AOJA F,FIND1
|
||
SETZ F,
|
||
FIND2: SKIPL BUF(F)
|
||
JRST FOUND
|
||
CAIE F,(E)
|
||
AOJA F,FIND2
|
||
.VALUE
|
||
|
||
FOUND: LDB G,[331100,,BUF(F)]
|
||
ADDI G,10
|
||
.IOT OUT,[^P]
|
||
.IOT OUT,["V]
|
||
.IOT OUT,G
|
||
LDB G,[221100,,BUF(F)]
|
||
ADDI G,10
|
||
.IOT OUT,[^P]
|
||
.IOT OUT,["H]
|
||
.IOT OUT,G
|
||
HRRZ G,BUF(F)
|
||
.IOT OUT,G
|
||
SETOM BUF(F)
|
||
SOJG C,FIND
|
||
.IOT OUT,[^P]
|
||
.IOT OUT,["H]
|
||
.IOT OUT,[10]
|
||
.IOT OUT,[^P]
|
||
.IOT OUT,["V]
|
||
ADDI D,10
|
||
.IOT OUT,D
|
||
.BREAK 16,160000
|
||
|
||
|
||
BUF: BLOCK 35.*64.
|
||
EBUF:
|
||
|
||
END GO
|
||
|