A large commit.
[pdp8.git] / sw / os8 / v3d / sources / devext / dectapes / dectape1 / savecb.pa
CommitLineData
81e70d48
PH
1/SAVECB.PA DEMONSTRATION PROGRAM TO INCREASE THE NUMBER OF SAVE ARGUMENTS
2/
3/
4/
5/
6/
7/
8/
9/
10/
11/COPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION
12/
13/
14/
15/
16/
17/
18/
19/
20/
21/
22/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
23/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
24/CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
25/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
26/
27/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
28/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
29/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
30/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
31/
32/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
33/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
34/DIGITAL.
35/
36/
37/
38/
39/
40/
41/
42/
43/
44/
45\f /SAVCB.PA INCREASES THE NUMBER OF SAVE ARGUMENTS JULY 1978
46/ MEMORY LOCATIONS UTILIZED
47/ 0000-1177 /PROGRAM CODE
48/ 1200-1377 /TTY INPUT BUFFER
49/ 1400-1577 /ORIGINAL CCB BUFFER
50/ 1600-1710 /ADJUSTED CCB BUFFER
51/ 1710-1777 /PROGRAM CODE
52
53
54 /PAGE ZERO
55 *0
56REDERR, JMS I [CRLF /ILLEGAL INPUT ERROR
57 JMS I [PRMSG
58 TEXT /INPUT?/
59 JMP I ERR
60 *10
61LXR, 1177 /AUTO INDEX FOR INPUT STORAGE
62CXR, 0 /AUTO INDEX
63XR, 1377
64NXR, 1577
65TX, 0
66 *20
67SHNDLR, 7607
68ERR, 7605
69TEMP, 0 /INPUT NUMBER STORAGE
70TMP1, 0 /INPUT NUMBER STORAGE
71DIGFLG, 0 /NUMBER PRESENT FLAG
72TEMP1, 0 /INPUT FIELD STORAGE
73TEMP2, 0 /INPUT ADDRESS STORAGE
74CMND, 0
75CHARID, 0 /
76DLID, 0 /DELIMITER STORAGE
77FIRST1, 0 /STORAGE FOR SEGMENT FIELD INPUT
78FIRST2, 0 /STORAGE FOR SEGMENT ADDRESS INPUT
79CNT, 0 /SEGMENT COUNTER
80FLD, 0 /USED IN CCB FIELD PRINTING
81TMP, 0 /TEMPORARY STORAGE-TEXT PRINTING
82TCB, 0 /PRMSG CALL I.D.
83ORG, 0 /ORIGIN STORAGE
84COUNT, -110
85BUMP, -2 /USED AS TEST IN LOAD LOOP
86RBFLG, 0
87SEGCNT, -4
88\f
89 *200
90START, CDF 0
91 CIF 10 /CALL COMMAND DECODER
92 JMS I [200
93 5
94 2326 /SV. EXTENSION---ASSUMED INPUT
95 CIF 0
96 CDF 10
97 TAD I [7620 /STARTING BLOCK OF FILE
98 CDF 0
99 DCA STFLE /SET UP LOADING OF CCB BLOCK
100LOAD, JMS I [7607 /LOAD CCB
101 0101
102LOC, 1400 /INTO 1400
103STFLE, 0 /STARTING BLOCK OF FILE
104 JMP REDERR /
105 TAD I XR /MOVE CCB UP TO 1600
106 DCA I NXR
107 ISZ COUNT /ALL DONE?
108 JMP .-3
109 JMS I (VERMSG /PRINT CCB WRITING INFO
110CONT, JMS CRLF /INITIALIZE LINE
111 JMS IDCHAR /PRINT INPUT SIGNAL CHARACTER
112REATTY, KSF /WAITING FOR FLAG TO DISAPPEAR
113 JMP .-1
114 JMS I [CTCTST /...CTRL/C?
115 TAD [203 /NO-RE-INSTATE CHARACTER
116 JMS I [RBLFT /TEST FOR LINE FEED,RUBOUT
117 TAD [225
118 DCA TEMP /STORE CHARACTER
119 KCC /CLEAR KEYBOARD,AC
120 TAD TEMP
121 JMS I [TYPIT
122 TAD TEMP
123 TAD [-215 /IS IT THE END OF THE LINE?
124 SNA
125 JMP I [SAVE1
126 TAD [-63 /IS IT THE END OF INPUT(@)?
127 SNA
128 JMP I [SAVE
129 CLL CLA
130 TAD TEMP
131 DCA I LXR /STORE AWAY CHARACTER
132 TAD LXR
133 TAD [-1110
134 SNA CLA /TEST FOR LINE OVERFLOW
135 JMP I [BARG
136 JMP REATTY
137
138
139CRLF, 0 /CARRAIGE RETURN--LINE FEED ROUTINE
140 CLL CLA
141 TAD [215
142 JMS I [TYPIT
143 TAD [212
144 JMS I [TYPIT
145 JMP I CRLF
146IDCHAR, 0 /PRINT A #, IT SIGNALS INPUT TIME
147 CLA
148 DCA RBFLG /INITIALIZE RUBOUT FLAG
149 DCA TEMP1 /INITIALIZE INPUT STORAGE WORD
150 TAD [243
151 JMS I [TYPIT
152 JMP I IDCHAR
153TYCCB, JMS CRLF
154 TAD [211
155 JMS I [TYPIT
156 TAD [1377 /ROUTINE TO TYPE OUT CCB INFO
157 DCA CXR
158 TAD I CXR /ADJUST SEGMENT INFO
159 CLL RAL
160 STL RAR
161 DCA CNT /NUMBER OF SEGS
162 JMS I [PRMSG
163 TEXT /START=/
164RTRN1, TAD I CXR /GET CIF CDF OF STARTING FIELD
165 AND [174
166 DCA FLD /STORE IT
167 TAD FLD
168 AND [104 /ISOLATE BANK BITS
169 CLL RTR /SWITCH THEM AROUND
170 RAR
171 SZL
172 TAD [4
173 CLL RTR
174 TAD [260
175 JMS I [TYPIT
176 TAD FLD /TIME TO TYPE FIELDS
177 AND [70
178 CLL RTR
179 RAR
180 TAD [260
181 JMS I [TYPIT
182TYORG, TAD I CXR
183 JMS I [PWORD /PROCESS ORIGIN WORD
184 TAD [211 /PRINT ATAB TO SEPARATE HEADINGS
185 JMS I [TYPIT
186TYJSW, /SET TYCCB CALL FLAG
187 JMS I [PRMSG /PRINT JSW HEADING
188 TEXT /JSW=/
189RTRN2, TAD I CXR
190 JMS I [PWORD /PRINT JSW
191 JMS CRLF
192 JMS CRLF
193TYSEGS,
194 JMS I [PRMSG
195 TEXT /CORE SEGMENTS:/
196 JMS CRLF
197 JMS CRLF
198 JMP I [SEGSM2 /PROCESS SEGMENTS
199\f *400
200PRINT, JMS PRWD
201 ISZ PRMSG /GET MORE TEXT
202 SKP
203PRMSG, 0 /ROUTINE TO PRINT TEXT
204 CLA
205 TAD I PRMSG
206 SZA
207 JMP PRINT
208 TSF
209 JMP .-1
210 ISZ PRMSG /TYCCB RETURN
211 JMP I PRMSG
212PRWD, 0 /ROUTINE TO ISOLATE AND PRINT TEXT CHARS
213 DCA TMP /SAVE PACKED SIX BIT CHARS
214 TAD TMP
215 BSW /POSITION FIRST CHAR FOR PRINTING
216 JMS PCHAR /PRINT IT
217 TAD TMP /ISOLATE SECOND CHARACTER
218 JMS PCHAR /PRINT IT
219 JMP I PRWD
220PCHAR, 0 /ROUTINE FOR CONVERTING TEXT CHARS TO ASCII
221 AND [77 /ISOLATE SIX BITS
222 SNA
223 JMP I PCHAR
224 TAD [240 /CONVERSION TO ASCII
225 AND [77
226 TAD [240
227 JMS TYPIT /PRINT CHARACTER
228 JMP I PCHAR
229TYPIT, 0 /ROUTINE TO PRINT CHARACTERS
230 TLS
231 TSF
232 JMP .-1
233 CLA
234 JMS CTCTST /TEST FOR CONTROL/C
235 CLL CLA
236 JMP I TYPIT
237CTCTST, 0 /SEE IF USER WANTS OUT, CTRL/C...
238 TAD [200
239 KSF
240 STA
241 KRS
242 TAD [-203 /IS IT A CTRL/C?
243 SNA
244CTLC, JMP I ERR / CTRL/C MEANS GETOUT...
245 JMP I CTCTST /RETURN
246RBLFT, 0
247 TAD [-377 /IS IT A DELETE?
248
249 SNA
250 JMP I [DELETE
251 TAD [377-212 /IS IT A LINE FEED?
252 SNA
253
254 JMP I [LFEED
255 TAD [212-225
256 SZA /IS IT A CTRL/U?
257 JMP I RBLFT
258 TAD [225
259 JMS I [TYPIT
260 JMP I [NEXTLN
261
262SSTADR, TAD TEMP1 /ADJUST FIELD
263 CLL RTR /TRANSFORM FOR CDF--"37" TO "174"
264 RTR
265 BSW
266 SZL
267 TAD [4
268 TAD [6203
269 DCA I [1401 /STORE STARTING FIELD CDF CIF
270 TAD TEMP2
271 DCA I [1402 /STORE AWAY STARTING ADDRESS
272 JMP ENDTST
273SSBITS, TAD TEMP2
274 DCA I [1403 /STORE AWAY JSW
275ENDTST, TAD LXR /TEST FOR END OF INPUT LINE
276 CIA
277 TAD CXR
278 SMA CLA
279 JMP TESTE /TEST FOR CR/LF OR @
280 JMP I [SDFLG
281DASH, TAD TEMP1 /ROUTINE TO PROCESS TRIPLET
282 CIA CLL CML
283 TAD FIRST1
284 SZA CLA /ARE THE FIELDS THE SAME?
285 JMP I [BARG /NO ERROR
286 TAD TEMP2
287 AND [7600
288 TAD [200
289 DCA TEMP2
290 TAD TEMP2
291 CIA
292 TAD FIRST2
293 SZL CLA /ISI UPPER LIMIT > LOWER LIMIT?
294 JMP I [BARG /NO ERROR
295 TAD [1403 /SET INDEX REGISTER
296 DCA XR
297 STA
298 TAD I [1400 /INITIALIZE SEGMENT COUNTER
299 DCA COUNT
300 JMP I [FLDTST /PROCESS SEGMENT
301TESTE, TAD TEMP /TEST FOR WHETHER END OF LINE OR INPUT
302ENTST, TAD [-215 /WAS IT ACARRAIGE RETURN?
303 SNA
304 JMP I [NEXTLN /YES PREPARE FOR NEXT LINE
305 TAD [215-"@ /WAS IT EXIT TIME?
306 SNA
307 JMP I [WRCCB /EXIT ROUTINE
308 JMP REDERR /ILLEGAL INPUT
309PWORD, 0 /ROUTINE TO PROCESS ORIGIN OR JSW WORDS
310 DCA ORG
311 TAD ORG
312 BSW /PROCESS HIGHER BIT FIRST
313 JMS SECT2
314 TAD ORG /NOW PROCESS LOWER BITS
315 JMS SECT2
316 JMP I PWORD
317SECT2, 0 /ROUTINE TO PRINT DOUBLE DIGIT
318 DCA TEMP1
319 TAD TEMP1
320 AND [70 /ISOLATE HIGHER DIGIT
321 CLL RTR
322 RAR
323 TAD [260
324 JMS I [TYPIT
325 TAD TEMP1
326 AND [7 /ISOLATE LOWER DIGIT
327 TAD [260
328 JMS I [TYPIT
329 JMP I SECT2
330
331\f
332 *600
333GTNM, DCA DIGFLG /RESET DIGIT FLAG
334 DCA TEMP1 /CLEAR FIELD STORAGE
335 DCA TEMP2 /CLEAR ADDRESS STORAGE
336GETNUM, TAD I CXR /ROUTINE TO ORGANIZE LINE INPUT
337 TAD [-270 /TEST FOR NUMBER
338 CLL
339 TAD [10
340 SNL
341 JMS NOTNUM /NO NUMBER
342 DCA TMP1 /STORE NUMBER
343 ISZ DIGFLG /SET NUMBER FLAG
344 JMS ROT /ORGANIZE ARGUMENT INTO TWO WORDS
345 JMS ROT /TEMP1 FOR THE FIELD
346 JMS ROT /TEMP2 FOR ADDRESS
347 TAD TEMP2
348 TAD TMP1 /TAD IN NEW DIGIT
349 DCA TEMP2
350 JMP GETNUM
351SDFLG, TAD CHARID /ADD DELIMITER
352 DCA DLID /STORE IT
353 TAD TEMP2 /STORE PRESENT ADDRESS AWAY
354 AND [7600
355 DCA FIRST2
356 TAD TEMP1 /STORE FIELD ALSO
357 AND [37
358 DCA FIRST1
359 JMP GTNM
360\f
361ROT, 0 /ROUTINE TO ROTATE FIELD AND ADDRESS
362 TAD TEMP2 /ADDRESS REGISTER
363 CLL RAL /MOVE POTENTIAL FIELD BIT INTO LINK
364 DCA TEMP2 /NOW READY FOR NEW INPUT - TMP1
365 TAD TEMP1
366 RAL /STORE FIELD BITS
367 DCA TEMP1
368 JMP I ROT
369NOTNUM, 0
370 CLL
371 TAD [260 /CONVERT TO ASCII
372 DCA CHARID
373 TAD DIGFLG
374 SNA CLA
375 JMS ACORS /IF NO DIGIT,MUST BE A COMMAND
376 TAD DLID /PROCESS INPUT NUMBER
377 SNA /ZERO INDICATES FIRST NUMBER
378 JMP SDFLG /PREPARE FOR NEXT NUMBER
379 TAD [-"- /IS IT A DASH?
380 SNA
381 JMP I [DASH /PROCESS TRIPLET
382 TAD ["--", /IS IT A COMMA?
383 SNA
384 JMP SDFLG /GET SECOND NUMBER
385 TAD [",-"; /IS IT A SEMI-COLON?
386 SNA
387 JMP I [SSTADR /PROCESS START ADDRESS
388 TAD [";-"= /IS IT AN EQUALS
389 SNA CLA
390 JMP I [SSBITS /PROCESS JSW
391 JMP SDFLG
392ACORS, 0 /TEST FOR ADD,SUB,OR CHANGE
393 TAD CHARID
394 TAD [-"T /IS IT A TYPE INST?
395 SNA
396 JMP I [TYCCB /IF SO PROCESS IT
397 TAD ["T-"A /IS IT AN ADDITION?
398 SNA
399 JMP CEND
400 TAD ["A-"S /IS IT A DELETION?
401 SZA CLA
402 JMP SDFLG /TEST FOR @ OR CR/LF
403 IAC
404CEND, DCA CMND /STORE COMMAND FLAG
405
406 JMP GTNM
407SAVE1, JMS I [CRLF /PROCESS END OF LINE
408SAVE, TAD [1177
409 DCA CXR /POINT TOWARD START OF LINE
410 TAD LXR /WAS THEIR ANY INPUT?
411 CIA
412 TAD CXR
413 SNA CLA /IF LXR EQUALS CXR, THERE WAS NONE
414 JMP I [TESTE /TEST FOR CR/LF OR @
415 DCA I LXR /SET DELIMITER
416 JMP I [GETNUM /GET INPUT
417\f
418ATEST, CLA
419 TAD CMND /WHAT IS THE COMMAND?
420 SZA CLA /IF NOT THE ADD COMMAND...
421 JMP I [BARG /THEN ERROR RETURN
422 TAD COUNT /IS IT TO BE ADDED ON THE END?
423 SZA CLA /IF COUNT IS ZERO, YES...
424 TAD [-2 /PUSH BACK INDEX TO SAVE LAST SEGMENT
425 TAD XR
426 DCA XR
427 TAD XR /ADDITION CODE
428 AND [77 /ISOLATE WHERE WE ARE IN THE CCB
429 TAD [1600 /REFERENCE SAME LOCATION IN ADD BUFFER
430 DCA NXR /STORE FOR MOVE
431 TAD FIRST2 /STORE INPUT'S ORIGIN
432 DCA I NXR
433 JMS I [SEGADJ /ADJUST SECOND WORD FOR CCB
434 DCA I NXR
435 STA
436 DCA BUMP /SET ADD INDICATOR
437 JMP I [MOVE /MOVE CCB
438STEST, STA /DELETION PROCESSOR
439
440 TAD CMND
441 SZA CLA /IS A DELETION?
442 JMP I [BARG /IF NOT ERROR
443 TAD XR /SET BACK POINTER FOR DELETION
444 TAD [176 /ADD 200 TO REFERENCE 1600 BUFFER
445 DCA NXR
446 IAC /SET DELETION PARAMETER
447 DCA BUMP
448 JMP I [MOVE /MOVE CCB
449 PAGE
450\f
451
452 *1000
453 /ROUTINE TO PROCESS CCB SEGMENTS FOR TYPING
454SEGSM2, TAD [-4
455 DCA SEGCNT
456SEGS, TAD I CXR /GET FIRST SEGMENT
457 DCA TMP1
458 TAD I CXR /GET SECOND WORD OF SEGMENT
459 DCA FLD
460 JMS TFIELD
461 JMS I [SECT2
462 TAD TMP1 /TYPE ORIGIN OF SEGMENT
463 JMS I [PWORD /TYPE IT
464 TAD [255 /TYPE HYPHEN
465 JMS I [TYPIT
466 JMS TFIELD /TYPE FIELD
467 JMS I [SECT2
468 TAD FLD /CALCULATE HIGHER LIMIT
469 AND [3700 /ISOLATE NUMBER OF PAGES
470 TAD [-100 /MINUS A PAGE TO BE REPLACED BY
471 CLL RAL
472 TAD [177 /A PAGE FULL OF LOCATIONS
473 TAD TMP1
474 JMS I [PWORD
475 ISZ CNT /IS THAT ALL THE SEGS?
476 JMP .+5 /NO ... CONTINUE
477 JMS I [CRLF
478 TAD [1177
479 DCA LXR /RESET INPUT POINTER
480 JMP I [CONT /
481 ISZ SEGCNT /IS THAT THE FOURTH SEGMENT?
482 JMP .+4 /NO...CONTINUE
483 JMS I [CRLF
484 JMS I [CRLF
485 JMP I [SEGSM2
486 TAD [",
487 JMS I [TYPIT
488 TAD [240
489 JMS I [TYPIT
490 JMP SEGS
491FLDTST, ISZ COUNT /IS THAT ALL THE SEGS?
492 SKP CLA
493 JMP I [ATEST /IF SO PROCESS COMMAND
494 TAD I XR /SEARCH FOR FIELD ETC. PAGE
495 DCA TMP /STORE SEGMENT ORIGIN
496 TAD I XR
497 DCA FLD /STORE SEGMENT'S SECOND WORD
498 JMS TFIELD /ADJUST FIELD...
499 CIA /RETURNS WITH FIELD IN AC
500 TAD TEMP1 /IS IT THE SAME FIELD AS INPUT?
501 SPA /OR IS IT LESS THAN FIELD OF INPUT?
502 JMP FLDTST /NEITHER...
503 SZA CLA /IF IT IS LESS THAN INPUT'S FIELD
504 JMP I [ATEST /IT SHOULD BE AN ADD
505 TAD FIRST2 /TEST INPUT'S ORIGIN
506 CIA /IS IT LESS THAN OR EQUAL TO SEGMENT'S ORIGIN?
507 TAD TMP
508 SNA
509 JMP I [STEST /IF EQUAL TEST FOR DELETION
510 SMA CLA
511 JMP I [ATEST /IF LESS TEST FOR ADDITION
512 JMP FLDTST /OTHERWISE CHECK NEXT SEGMENT
513TFIELD, 0 /ROUTINE TO TRANSFORM FIELDS FOR TYPING
514 TAD FLD
515 AND [76
516 CLL RTR
517 SZL /ISOLATE BANK BIT "A"
518 TAD [40
519 CLL RAR
520 SZL /ISOLATE BANK BIT "B"
521 TAD [10
522 JMP I TFIELD
523SEGADJ, 0 /ROUTINE TO ORGANIZE CCB SEGMENT SECOND WORD
524 TAD FIRST2 /CALCULATE NUMBER OF PAGES
525 CIA
526 TAD TEMP2 /BY DIFFERENCING THE INPUT ADDRESSES
527 AND [7600
528 CLL RAR /AND HALVING INTO PAGES
529 DCA FIRST2 /STORE FOR CCB LOAD
530
531 TAD TEMP1 /ADD IN FIELD
532 JMS CCBFLD /RE-ORGANIZE IT FOR CCB
533 TAD FIRST2 /COMBINE FIELD AND PAGES FOR CCB SEGMENT
534 JMP I SEGADJ
535CCBFLD, 0 /ROUTINE TO CHANGE FIELD INTO CCB FORM
536 CLL RTR /STARTS WITH A '37' IN AC
537 RTR
538 SZL /TEST FOR B BANK BIT
539 TAD [400
540 CLL RAR
541 SZL /TEST FOR A BANK BIT
542 TAD [100
543 CLL RTR
544 RTR
545 RAR /RETURN WITH A '76' IN AC
546 JMP I CCBFLD
547MOVE, JMS MOVA /MOVE TIME
548 TAD BUMP /IF YES, RESET SEGMENT NUMBER
549 TAD I [1400
550 DCA I [1400
551REMOVE, TAD [1403 /REPLACE ORIGINAL SEGS
552 DCA NXR
553 TAD [1603 /WITH UPDATED ONES
554 DCA XR
555 TAD I [1400
556 DCA COUNT /SET COUNT TO THE NUMBER OF SEGS
557 JMS MOVA
558 JMP I [ENDTST
559MOVA, 0
560 TAD COUNT /WAS THE SEGMENT ADDED ON THE END?
561 SNA CLA
562 JMP I MOVA /IF SO, RETURN
563 TAD I XR /MAKE THE MOVE
564 DCA I NXR
565 TAD I XR /BE SURE TO GET BOTH WORDS
566 DCA I NXR
567 ISZ COUNT /IS THAT ALL THE SEGMENTS?
568 JMP .-5 /IF NO, CONTINUE
569 JMP I MOVA
570NEXTLN, CLL CLA /ROUTINE TO ACCEPT NEW INPUT LINE
571 DCA DIGFLG /ZERO DIGIT FLAG
572 DCA DLID /CLEAR DELIMITER STORAGE
573 TAD [1177 /RESET INPUT POINTER
574 DCA LXR
575 JMP I [CONT /CONTINUE INPUT CODE
576 PAGE
577\f *1710
578 /LOCATIONS 1600-1710 ARE USED AS THE CORE CONTROL BLOCK BUFFER
579DELETE, /TTY DELETION COMMAND
580 CLL CLA
581 TAD LXR
582 TAD [-1177 /WAS THERE INPUT?
583 SNA CLA
584 JMP RBSPCL /NO INPUT--PREPARE FOR SOME...
585 TAD ["\ /PRINT ERASE DELIMITER
586 ISZ RBFLG /TEST TO SEE IF THIS IS THE FIRST RUBOUT
587 JMS I [TYPIT /IT IS
588 CLA CMA /SET RUBOUT FLAG
589 DCA RBFLG
590 CMA
591 TAD LXR
592 DCA TX /PRINT ERASED CHARACTER
593 TAD I TX
594 JMS I [TYPIT
595BACKUP, CLA CMA
596 TAD LXR
597 DCA LXR
598 KCC
599 JMP I [REATTY
600RBSPCL, ISZ RBFLG /HAVE ANY CHARACTERS BEEN ERASED?
601 JMP I [CONT /NO...PREPARE FOR INPUT
602 TAD ["\
603 JMS I [TYPIT
604 DCA DIGFLG /RESET DIGFLG
605 JMP I [CONT
606LFEED, JMS I [CRLF
607 TAD [243 /TYPE I.D.(#) CHARACTER
608 JMS I [TYPIT
609 TAD [1177
610 DCA NXR
611 JMP .+3
612FEEDER, TAD I NXR
613 JMS I [TYPIT
614 TAD LXR
615 CIA
616 TAD NXR
617 SZA CLA
618 JMP FEEDER
619 KCC
620 JMP I [REATTY
621BARG, JMS I [PRMSG
622 TEXT /BAD ARGS/
623 JMP I [NEXTLN
624SEGNO, 0
625 TAD I [1400 /ACCES NUMBER OF SEGMENTS
626 CLL RAL /ADJUST EXTENDED MEM BIT
627 STL RAR
628 TAD [32
629 SPA CLA /ARE THERE MORE THAN 32?
630 JMP REDERR
631 JMP I SEGNO
632 PAGE
633
634\f
635 *2000
636
637VERMSG, 0
638 JMS I [PRMSG
639 TEXT / ATTENTION! THE NEW CCB WILL BE WRITTEN DIRECTLY ONTO /
640 JMS I [CRLF
641 JMS I [PRMSG
642 TEXT /THE SPECIFIED INPUT FILE.(SEE SOURCE CODE)/
643 JMP I VERMSG
644
645WRCCB, JMS I [SEGNO /DID WE EXCEED SEGMENT LIMIT?
646 JMS I [7607 /WRITE CCB
647 4201
648 1200 /FROM 1200
649 37 /TO BLOCK '37'
650 JMP REDERR
651 TAD I (STFLE
652 DCA WRFLE
653 JMS I [7607
654 4101
655 1400
656WRFLE, 0
657 JMP REDERR
658 JMP I ERR