Symbolic Tape Format Generator
Symbolic Tape Format Generator
IDENTIFICATION
1.1 Digital-8-21-U-Sym
PDP-B
LIBRARY
Digital-8-21-U-Sym
Page 2
2. ABSTRACT
The format generator allows the user to create PDP-8 symbolic tapes with for-
matting. It may be used to condense tapes with spaces by inserting tabs, or merely to align
tabs, i nstructi ons, and comments.
3. REQUIREMENTS
3. 1 Storage
Uses 4096-word core memory for buffering and program storage. The program
itself occupies locations 0020-0665.
3.3 Equipment
PDP-8 with ASR 33 or with 750/75A High-Speed Reader/Punch.
4. USAGE
4.1 Loading
The program is loaded with the Binary Loader (see Digital-8-2-U).
6. DESCRIPTION
6. 1 The format generator uses a fixed algorithm that is explained in the flow diagram.
6.2 The following is an example of its usage. It is the original input symbolic:
*200
/EXAMPLE OF FORMAT
/GENERATOR
BEGIN,O/START OF PROGRAM
KCC
KSF/WAIT FOR FLAG
JMP .-l/FLAG NOT SET YET
KRB/READ IN CHARACTER
DCA CHAR
TAD CHAR
TAD MSPACE/IS IT A SPACE?
SNA CLA
HLT/YES
JMP BEGIN+2/NO INPUT AGAIN
CHAR,O/TEMPORY STORAGE
MSPACE,- 240/-ASCII EQUIVALENT
/END OF EXAMPLE
$
This is the output symbolic:
*200
/EXAMPLE OF FORMAT
/GENERATOR
BEGIN,
KCC
° /START OF PROGRAM
8. FORMAT
8. 1 Input Data
The program will accept blank tape, or code 200 for Leader/Trailer. Rubouts
are removed except when preceded by tabs. Any legal symbol ic tape for the PAL II or
MACRO assemblers will be correctly formatted.
9. EXECUTION TIME
Linited by input/output time.
Digital-8-21-U-Sym
10. PROGRAM Page 5
IPAGE 1
*2"
ICONSTANTS
lOil20 1lia" RiGN, 1aar.
Iill21 040r. HIRDPT, HIRD
161622 154" MSPACE, -240
161i23 FIELD1,
icita24
"'~25
ali""
0019(;
i0'i9
CHAR,
FCOUNT,
0"
fjj
161126 '1311 C311, 0311
1d1i21 "211 TAB, 0211
Q163li 1166 MTAil, -12
181631 1115 M3, -3
1d~32 1564 MFFEED, -214
iOi6 33 "a14 MLEADR, 214-2"a
,,"34 1521 MSLASH, -251
~M35 1563 MCR, -215
ilM36 16215 CARRTN, 215
01131 1i212 LFEED, 212
kt~4a r.J0fii ReNT, i
0041 1526 MASTER, -252
""'42 1400 RKIN, 1fi81-14'.
""43 7566 MLFEEO, -212
01i44 14tJl MRiOUT, -311
10045 1567 MTAi, -211
Wli46 li240 SPACE, 240
01341 110911 T£M6, II
0050 00'i0 SWT1, fj
0051 9081 COMMFL, 0
iIli52 0000 EQ;LA6,
16053
01i54
1524
IdlJliCl
MCOMMA,
GET, 0
"
-254
laET A CHARACTER FROM
11055 1211J C1.A ILINE BUFFER
0ii56 1413 TAD 1 13
0ii51 3024 DCA CHAR
011,a 5454 JMP 1 6ET
0ta61 IOII(la SPIGNR, IROUTINE TO I8NOR£ SPACES
00.2
a,,63
4(154
1024
"
JMS GET
TAD CHAR
0a64 1022 TAD MSPACE
13065 165ii SNA Cl..A
tdfl66 59'2 JMP SPIGNR+1
.adi1 5"'l JIP I SPIGNR
1fl01.t 0611" RDLINE, READl..
Digital-8-21-U-Sym
Page 6
IPAGE 2
*2011
0200 724a C1..A CMA ISET UP INPUT ROUTINE
"2i1 3041 DCA RCNT
12.,2 3:150 DCA S~T1
0205 10311 ST~RT, T~D MTAi1 ISET UP T~i COUNT
0204 3025 DCA FC.UNT
a205 3"23 DCA FIE1.Dl
IIarD6 44711 JIS 1 RD1.INE IREAD IN A 1.1NE
0207 11151 TAi CIMMFl.. ICOMMA SEEN??
021 " 76411 SZA Cl.A
ki211 5233 Jl1JD P80 IYES
0212 1052 TAD EQFl.A8 IEIilUAl. SEEN??
0213 7'4a SZA Cl.A
id214 5311 JMJD ECHt-1 IYES ECHI 1.INE
~15 41161 Jl4S SJD18NR
0216 1024 T~D CHAR ICHARACTER :"*-1
1i217 1841 TAD KASTER
11220 165. SNA Cl.A
0221 5311 JMJD ECHO IYES ECHO
0222 1{124 TAD CKAR
fl223 1134 TAD MSl.ASH
i224 165" SNA Cl.A /CHARACTER :"1-1
(1225 5311 Jot»> ECHeD IYES-ECHI
10226 1924 TAl CHAit
0221 1135 TAl MCR ICHARACTER :Cft?
0230 7'5' SNA Cl.A
"231 5211 JMP CR1.F IYES
0232 521. JMP TAIIA INONE OF THESE-TAl TO 1
16233 40il PGO, JMS SP16NR 1I8NORE l.EADINQ SPACES
0234 4321 JMS JlUNCH IPUNCH
0235 4054 JMS GET IGET NEXT
023. 1124 TAD CHAR ICIMMA?
0231 1053 TAl MceMMA
0240 7'41 SZA Cl.A
11241 5234 JMP JlGO+l INO
0242 4320 JMS PUNCH IYES PUNCH IT
Digita 1-8-21-U-Sym
Page 7
l'PAI3E .3
0243 1123 TAB1, TA1) Fl E1..01 lIN FIE1..D1
iiJ244 1i511 SNA CL.A
1245 4352 J.S TAilT INe- TAli .VER
r.J24' 4ail JMS SPIINR IlGNORE SPACES
r.J241 11124 '8'1, TAl) CHAR
~5" 1122 TAD MSPACE
~51 1i511 SNA C1..A ISI'ACE1
11252 52ii JM' SPUNCH IPUNCH IT AND IINORK SPACES
025J 11124 TAl CHAR
0254 1135 TAD MCR IC.R7
16255 1i51 SNA CL.A
~5' 5211 J l"ll' CR1..F IYES
t.t251 1124 TAl) CHAR
l62i~ 1834 TAl) MS1..ASH 1"1"7
02il 1i58 SNA C1..A
1IJ2&2 53B2 JMP TAi3 IYES TAi TO STOP 3
il2i3 43211 PI02, JMS PUNCH IPUNCH IT
i62i4 4854 JMS GET IIET NEXT
~2i5 5241 JMP PGGI
ii2i' 43211 SPUNCH, JMS PUNCH
162i1 41il JMS SPIINR
1iJ21~ 5241 JMP P611
0211 183' CR1..F, TAl CARRTN IPUNCH CR, l..F
1iJ212 4331 JMS PUN
1621·3 1131 TAl l..FEEI
0214 4331 JMS PUN
0215 52113 JMP STAItT
021' 1.23 TABlA, TAJ FIEL.ll ITAB T$ STIP 1
0211 1'5' SNA C1..A
0318 4352 JMS TAilT
ftJ311 1 52'3 JMP PfiU)2
a3i12 1131 TAi3, TAB 13 lIN FIE1..D 37
ti3ti3 Ifl23 TAD F1E1..I'
0304 1'5' SNA C1..A
113"5 5311 JMP [CKe IYES
031' 4352 JMS TABIT INO TAi .VER 1
0301 53B2 JMP TAI3
031" 41154 JMS lET
0311 4321 ECHO, JMS PUNCH IECHO UNTI~ CH
",H2 4854 JMS 6ET
11313 1.24 TAl) CHAR
i314 11135 TAl MCR
0315 1'50 SNA Cl..A
i31i 5211 JM? CIU.F
ilt311 5311 JMP ECHO
Digital-8-21-U-Sym
Page 8
0J21i
""""
/PAGE 4
PUNCH, , /PUNCH AND CIUNT
f6l21 1.24 TAJ CKAft
"l22 4111 JMS PUN
0l2l 2025 ISZ FCOUNT
0324 57211 JMP I PUNCH
ijl25 113trJ TAl) MTAIU
16J2i 31125 lCA FCGUNT
ii327 2112l ISZ FIEL.IH
163311 57211 JMP 1 PUNCri
tIl31
I""" PUN, a /PUNCH CHARACTER IN AC
0lJ2 3351 DCA TEMP
aJ33 7il4 Cl.A ISH
0334 77"9 SMA CL.A IOUTPUT??
0315 5344 JMP TIO /3JASR
033i 1351 TAD TEMP /PUNCH IT H.SPEE9
f6Jl1 irJ2i f'L.S
0340 il21 PSF
0341 5340 JMP .-1
0342 12d0 C1..A
ii,343 5731 JlfP 1 PUN
0344 1351 TSe, TAD TEM'
11345 il4i T1..S
116J4' '.41 TSF
0347 534' JMP .-1
0351 5342 JMP TIO-2
0351 TEMP,
0352 ""'IIlJ TAiIT.
0
0353
0354
""""
1604
701.
I
Cl..A
RAft
15ft ITAIS 1ft SPACES
0355 1'211 SNL. C1..A
"35' 53'7 JMP SPACIT ISPACES
0351 1021 TAD TAi
03'. 4331 JMS PUN
03'1 1{12' TAl Cl11
0362 4331 JMS PUN
9363 1'130 TAD KTAil
03i4 3025 DCA FC.UNT
a3'5 2023 ISZ FIE1..D1
0Jii 5152 JMP 1 TAilT
~61 104i SPACIT. TAl SPACE
{l370 4111 JMS PUN
0311 2025 ISZ FC8UNT
16.312 53'7 JMP SPACIT
~l13 53i3 JMP SPACIT-4
Digital-8-21-U-Sym
Page 9
IJiAIE 5
IREAD ftlUTINES
*40.
a400 000" HIlt!),
0401
"402
7.04
77"0
"ClA ISR
SMA CLA
IINPUT SIUltCE?
0403 525' JMJI KI. 133ASR
"4114 2f14. ISZ Z ftCNT lIS IUFFER EMPTY?
0405 5247 JMP SCHR INa
~40i 2115" lSZ Z SWTl IBID TAPE ENt?
1C)4~7 7410 SKP
~410 5252 JMP ENiF IYES - 139 HALT
0411 3050 DCA Z SWTl
0412 11!20 TAD Z Ri6N IYES - HEAl IN A iUFFElt FULL
0413 3010 DCA Z 1"
~414 1042 TAl Z RKIN
16415 3040 DCA Z RCNT
041i 6014 ROIN, RYC IIET A CHARACTER
~417 ,;;047 ICA Z TEMi ISTART CIUNTING
wt42W n
2~ .. ISZ Z TEM' ICC'UNTElt IVERFL8W
1it421 7410 SKP
0422 5235 JMP FULl IYES - EN. IF TAPE
0423 6011 RSF INI - FLAG SET YET?
13424 5221 JMP .-4 IN. - ceUNT A6AIN
0425 7200 CLA IYES - REAl IN CHARACTER
042' '.12 Rlti
0427 42i4 JMS TEST ITEST INPUT
i6430 521. JMJI RIUN IIaNeHE IT
0431 3411 ICA 1 1" ISTIRE IT
0432 2840 ISZ Z RCNT lIS IUFFER FULL YET?
0433 521' JMP RIU N IN.
0434 5241 JMJI FULL IYES
Digital-8-21-U-Sym
Page 10
IPAGE i
"""11 "I"
0'01 3052
READL,
"ICA EQFLAG
"'02 3051 DCA CIMIIFI.
0'i3 3257 ICA SFLAG Ii TI ALL FLAGS
0604 12'5 TAD aUF1
06fd5 3013 DCA 13 ISET aUFFER PIINTER
0i0i 4421 RGC, JMS 1 HIRDPT IREAI A CHARACTER
k'J607 1024 TAD CHAR
061 " 7450 SNA
0611 52'0 JMP PG87 IPUNCH iLANK
0612 1032 TAD MFFEEI IFIRM FEED?
"'613 7450 SNA
16.14 52'" JMP PSG7 IYES-PUNCH IT
0i15 1033 TAJ MLEADR ICIIE 2811?
0'li 1'50 SNA CLA
lObi 7 52'0 JMP PGI7 IYES PUNCH IT
"i20 lit24 TAD CHAR
0i21 3413 DCA I 13 ININE:: STOftE 1T
lOi22 1024 TAD CHAR
~23 1034 TAD MSLASH lIS IT SLASH?
ItJQ24 7640 SZA CI.A
0i25 5230 JMP .+3 INe
0i26 2257 ISZ SFLAG IYES SET CIMMENT FLAG
k)627 528' JMJI RG.
0630 1124 TAD CHAR
0&31 12'4 TAD MEQUL lIS IT EQUAL SIGN?
liJ632 7i511 SNA CLA
16&33 5247 JMP SETI ISET :FLAS IF NOT IN COMMENT
16634 1024 TAJ CHAR
0635 1053 TAD IICIMMA lIS IT A CeliNA?
0636 765/iJ SNA CI.A
13631 5253 JMJI SET2 ISET ,FLAG IF NOT IN C8MMENT
0640 1024 TAD CHAR
0641 1035 TAD MCR lIS IT Cft?
0642 7&40 SZA CLA
0643 520i JMP RGG INth CONTINUE
0_44 1265 TAD aUFl IYES SET UP iUFFER
0645 3013 DCA 13
~4' 5&.0 JMP 1 ftEADL IEXIT
0641 1251 SET1, TAD SFI.AG
kt050 16Sfil SNA CLA
0i51 2052 lSZ E'lFLAG
10652 5204ii JMP RGO
"'653 1251 SET2, TAD SFL.AG
"'654 1650 SNA CLA
0'55 2051 ISZ C8MMFL.
It)i56 520i JMP ftC30
10657 0010 SFLAG, 0
16660 1024 PG01, TAD CHAR
lOiil 46'3 JMS I .+2
"662 5206 JMJI RGG
0663 0331 PUN
0"4 1503 ME'lUL, -215
kJ665 "&6i BUFI, .+1
iUF1 l"i5 SPIGNH fl0il Digital-8-21-U-Sym
CARRTN ""3i SPUNCH 02ii Page 12
CHAR 0024 START 0203
COMMFl.. 0f151 SWTl ""50
(liLF 0211 TAi 0027
C311 002i TAilT 1352
ECHO 0311 TAil 0243
ENiF 0452 TAi1A (127.
alFLAG 1052 TAi3 0302
FCOUNT {l925 TEMP 0351
FIELD1 0023 TEM' 0047
FULl.. 0441 TEST 04i4
FULl {l435 TGO 0344
GCHR "447
GET 0054
HlRD 04{1i
riIRDPT 0021
KGO 0456
1..FEED 0037
~STER 0041
MCOMMA 0053
MeR 0035
MEQUl.. 0i&4
MF'fEED 0032
MLEADR 0033
MLFEED 0"43
tfiiOUT 0044
MSLASH 0034
MSPACE 0022
MTAS 0f145
MTAil 00313
M3 0031
PGO 0233
PG91 0247
I'a02 02i3
PG01 06'0
PUN 0331
PUNCH 0320
RiGN 0020
RCNT 0040
RDIN 041i
RDl.INE 8"10
READl. .i.0
RGO 0i"i
RKON 0042
SETl 0i41
SET2 0i53
SFl.AG 0i57
SPACE 004i
SPACIT 03i1
11. DIAGRAMS Digital-8-21-U-Sym
Page 13
11. 1 Flow Charts
PUNCH IT
SET
SLASH FLAG
NO
NO
Digital-8-21-U-Sym
Page 15