/
fap.fap
executable file
·11684 lines (11684 loc) · 970 KB
/
fap.fap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
*FAP - IBM 7094 MACRO ASSEMBLY PROGRAM - CTSS COMMAND VERSION. FAP00001
* FAP00002
*TO PRODUCE THE COMMAND, DO FAP00003
* FAP00004
* FAP FAP FAP00005
* NCLOAD FAP FAP00006
* SAVE FAP FAP00007
* RENAME FAP SAVED FAP TSSDC. FAP00008
* FAP00009
*'(SEQ)' OPTION ADDED FOR VARIABLE LENGTH RECORDS MARCH 1970 PBFAP00010
*REF PSEUDOOP MODIFIED, SYMREF PSEUDOOP ADDED SEPT. 69 PBFAP00011
*12BIT - FULL-MODE TEXT PSEUDO-OP, QUOTED ARGUMENT ADDED FEB. 1969 DAFAP00012
*MODIFIED TO ACCEPT BOTH NAMES OF INPUT FILE FEBRUARY 1969 DAFAP00013
*ERROR COMMENTS ONLINE IMPROVED, RECORD COUNT CORRECTED, EMTM ADDED WNFAP00014
*BCI, BCD MODIFIED TO TAKE QUOTED ARGUMENTS FEBRUARY 1969 DAFAP00015
*COMBSS,COMBES PSEUDO-OPERATIONS ADDED FEB. 1969 PBFAP00016
*SAVE, ABBREV, FLAG, MMACRO, MLEVEL, LINK, AND WNFAP00017
*SEQ PSEUDO-OPERATIONS ADDED OCTOBER, 1968 WNFAP00018
*NON-FATAL OMITTED END CARD AND ABBREVIATED ERROR COMMENTS INSTALLED WNFAP00019
*TABLES MOVED TO FOLLOW PASS2 CODE AND HEADINGS MADE 1 + 2 WNFAP00020
*'COLON' DEFINED AS A LEGAL ALPHABETIC CHARACTER, SEPTEMBER 1968 DAFAP00021
*CALLING SEQUENCE AND I/O PARAMETERS BLK,EFA,PAR,IOD,ION,IOP DEFINED DAFAP00022
*BOOLEAN SET PSEUDO-OPERATION 'SETB' ADDED, AUGUST 1968 DAFAP00023
*MODIFIED TO USE 'PROG' AS TEMPORARY FILE SECONDARY NAME, JUNE 1968 DAFAP00024
REM ALSO BETTER DISK FILE MODE CHECKING. DAFAP00025
REM PUT RELOCATION BITS INTO 'SYMTB' FILE DAFAP00026
*FAP COMMAND, MODIFIED FOR VARIABLE LENGTH RECORD INPUT, MARCH 1965 LOFAP00027
REM NEW PSEUDOOPS, NOLNK AND NOSEQ LOFAP00028
REM CHANGE FORMAT FOR ERROR LINES LOFAP00029
*TIME SHARING MACRO FAP THRU MOD 45, COMBINED PASS1, PASS2, FEB 1965 TSFAP00030
REM CORRECT OFF LINE LISTING FOR CTSS (LPO) TSFAP00031
REM PROVIDE ERROR RETURNS, DISK ROUTINES (LPO) TSFAP00032
REM DELETE UPDATE CODING, PASS 1 (LPO) TSFAP00033
REM IGNORE (LIST FLAGGED) UPDATE PSEUDO OPS (LPO) TSFAP00034
REM CORRECT INSERT PSEUDO OP (LPO) TSFAP00035
REM RELOCATABLE ASSEMBLY (LPO) TSFAP00036
REM BLOCKED I/O FOR INTERMEDIATE TAPE (LPO) TSFAP00037
PCC ON TSFAP00038
PMC ON TSFAP00039
COUNT 10000 FAP00040
REM FAP00041
REM LSMTBM IS THE VARIABLE IN CALCULATING 1$CORE WNFAP00042
REM IT SHOULD BE ADJUSTED AT ASSEMBLY TIME SO THAT 1$CORE WNFAP00043
REM EQUALS ZERO WNFAP00044
REM FAP00045
LSMTBM BOOL 37434 MAXIMUM LENGTH OF SYMBOL TABLE WNFAP00046
TITLE FAP00047
HEAD 1,2 COMMON TO PASS ONE AND TWO TSFAP00048
REM TSFAP00049
WRFLXM MACRO E,F TSFAP00050
TSX WRFLX,4 TSFAP00051
PZE E,,F TSFAP00052
WRFLXM END TSFAP00053
REM TSFAP00054
TRAPAA MACRO TRAPNM TSFAP00055
IRP TRAPNM TSFAP00056
TRAPNM TIA *+1 TSFAP00057
BCI 1,TRAPNM FAP00058
IRP TSFAP00059
TRAPAA END TSFAP00060
REM TSFAP00061
REM TSFAP00062
REM PARAMETERS VARIABLE AT ASSEMBLY TIME FAP00063
REM FAP00064
INPRCL SYN 16 LENGTH OF INTERMEDIATE RECORD FAP00065
DSKBKL SYN 432 LENGTH OF DISK BUFFER LOFAP00066
UPDRCL SYN 14 LENGTH OF UPDATE INPUT/OUTPUT RECORD FAP00067
VBLRCL SYN 12 MAX. LENGTH OF V. L. INPUT RECORD LOFAP00068
REM FAP00069
M SYN 1 TABLE FACTORS FAP00070
N SYN 1 FAP00071
LOPTBM SYN 2048 MAXIMUM LENGTH OF MACHINE OPERATION TABLE FAP00072
LMXTBL SYN 1000*M/N MACRO EXPANSION TABLE LENGTH FAP00073
LLITBL SYN 500*M/N*2 LITERAL TABLE LENGTH FAP00074
LTVTBL SYN 250*M/N TRANSFER VECTOR TABLE LENGTH FAP00075
REM TSFAP00076
REM DEFINE RELOCATABLE SYMBOLS TSFAP00077
REM TSFAP00078
REM TSFAP00079
LUDTBM SYN LSMTBM/100 MAXIMUM LENGTH OF UNDEFINED SYMBOL TABLE FAP00080
REM FAP00081
REM FAP00082
C EQU 7 MAXIMUM NUMBER OF DATA CHANNELS IN SYS. TSFAP00083
REM FAP00084
EXPRR SYN 1 SENSE LIGHT FOR ERROR ON EXPRESSION FAP00085
EXPND SYN 2 SENSE LIGHT FOR END OF EXPRESSION FAP00086
FLDND SYN 4 SENSE LIGHT FOR END OF VARIABLE FIELD FAP00087
REM FAP00088
TDMSK BOOL 000001 FLAG FOR TYPE D SENSE OPERATION FAP00089
VLMSK BOOL 000002 FLAG FOR VARIABLE LENGTH OPERATION FAP00090
TKMSK BOOL 000004 FLAG FOR TYPE K DISC COMMAND FAP00091
9OMSK BOOL 020000 FLAG FOR OPERATIONS RESTRICTED TO 709/90 FAP00092
04MSK BOOL 040000 FLAG FOR OPERATIONS RESTRICTED TO 704 FAP00093
TTL COMMON SUBROUTINES, CONSTANTS AND ERASABLE FAP00094
LBL 9F04 FAP00095
REM TSFAP00096
TRA 1$START ENTRY POINT FOR RELOCATABLE ASSEMBLY TSFAP00097
REM FAP00098
REM TRANSFER VECTOR FAP00099
REM FAP00100
CHANS PZE C NUMBER OF CHANNELS IN SYSTEM FAP00101
REM FAP00102
REM ERASABLE INFORMATION TRANSMITTED BETWEEN PASSES FAP00103
BCOREF PZE ** FLAG FOR TSS ASSEMBLY ***TSSFAP00104
MAINPF PZE ,,1 FLAG FOR MAIN PROGRAM (ZERO IF SUBPROGRAM)FAP00105
ABSFLG PZE ** FLAG FOR ABSOLUTE ASSEMBLY FAP00106
LBLFLG PZE ** FLAG FOR OFFLINE CARD LABEL AND SERIAL FAP00107
DELFLG PZE ** FLAG TO DELETE ASSEMBLY FAP00108
SEPFLG SVN -1,7,-1 FLAG FOR STANDARD ERROR PROCEEDURE WNFAP00109
REM SET TO PZE BY 9F04FLOW FAP00110
REM TO DELETE STANDARD ERROR PROCEDURE FAP00111
LITSIZ PZE 22,,** LOG LLITBL,,LITERAL TABLE COUNT FAP00112
REM (LITERAL TABLE LIMITED TO 1024 ENTRIES) FAP00113
PRGBK PZE ** CURRENT PROGRAM BREAK FAP00114
PROLG PZE ** LENGTH OF VECTOR, LINKAGE DIRECTOR FAP00115
REM FAP00116
REM ERASABLE INFORMATION RESET BETWEEN PASSES FAP00117
CHRCTR PZE NEXT CHARACTER IN VARIABLE FIELD FAP00118
RESIDU PZE REMAINDER OF NEXT WORD IN VARIABLE FIELD FAP00119
UPCTR PZE -207,,2 COMMON STORAGE COUNTER,,RELOCATION BIT FAP00120
CDCTR PZE ** ABS CARD ORIGIN COUNTER FAP00121
LOCTR PZE **,,1 PROGRAM COUNTER,,RELOCATION BIT FAP00122
ADDRS PZE **,,1 DEFINITION OF SYMBOL,,RELOCATABLE FLAG FAP00123
OPCOD PZE OP FIELD (CC 8 - 13) FAP00124
DEC ,,,,,,,,, MULTIPLE HEAD CHARACTERS (PRECEDE BHEAD) FAP00125
BHEAD PZE HEADING CHARACTER FAP00126
THEAD PZE HEADING CHARACTER PRECEDING $ FAP00127
SYMB2 PZE HIGH ORDER SIX CHARACTRS ALPHAMERIC FIELD FAP00128
SYMBL PZE LOW ORDER SIX CHARACTERS ALPHAMERIC FIELD FAP00129
VFDFL PZE LOW ORDER HALF OF VARIABLE FIELD FAP00130
PZE HIGH ORDER HALF OF VARIABLE FIELD FAP00131
BINRY PZE 36 BIT BINARY INSTRUCTION, DATA WORD FAP00132
NERAS PZE INTEGER FIELD FAP00133
XERAS PZE EXPONENT (E) FIELD FAP00134
BERAS PZE BINARY (B) FIELD FAP00135
ERASE PZE GENERAL ERASABLE FAP00136
OFLGS PZE FLAGS FOR DECODING OF MACHINE INSTRUCTION FAP00137
VRFLD PZE **,,** CHARACTER COUNT,,WORD COUNT FAP00138
INDFG PZE ** FLAG FOR INDIRECT ADDRESS OP CODE FAP00139
RBITS PZE ** RELOCATION BITS FOR FIELD FAP00140
INDIC PZE **,,** RELOCATION BITS FOR WORD FAP00141
DUPCT PZE ,,** NUMBER OF ITERATIONS IN RANGE OF DUP CARD FAP00142
PZE ** PROGRAM COUNTER AT ENTRY INTO RANGE FAP00143
PZE ** CARD COUNTER AT ENTRY INTO RANGE FAP00144
SKDUP MZE ** RANGE OF DUP TO BE BACKSPACED FAP00145
DUPSW PZE 0 SET NON-ZERO TO MOVE FROM DUP BUFFER TO ITSFAP00146
TVFLG PZE ** FLAG FOR NAME IN TRANSFER VECTOR FAP00147
OPRFG PZE ** FLAG FOR UNDEFINED OPERATION FAP00148
VFDRB PZE ** NUMBER OF BITS REMAINING IN WORD FAP00149
VFDTB PZE ** TOTAL BIT COUNT IN VAR FIELD OF VFD CARD FAP00150
VFDFB PZE ** FIELD BIT COUNT IN VAR FIELD OF VFD CARD FAP00151
ELMEQ PZE ** VALUE OF ELEMENT FAP00152
ELMUN PZE ** NUMBER OF SYMBOLS IN ELEMENT FAP00153
ELMUF PZE ** FLAG FOR SYMBOLS IN ELEMENT FAP00154
REM 0 ABSOLUTE FAP00155
REM -1 COMMON FAP00156
REM +1 RELOCATABLE FAP00157
TRMEQ PZE ** VALUE OF TERM FAP00158
TRMUN PZE ** NUMBER OF SYMBOLS IN TERM FAP00159
TRMUF PZE ** FLAG FOR SYMBOLS IN TERM FAP00160
VAREQ PZE ** VALUE OF EXPRESSION FAP00161
VARUC PZE ** NUMBER OF COMMON SYMBOLS IN EXPRESSION FAP00162
VARUR PZE ** NUMBER OF RELOCATABLE SYMBOLS IN EXPRSSN FAP00163
LINKG PZE ** LOCATION OF LINKAGE DIRECTOR FAP00164
9LPMD PZE ** FLAG FOR BINARY CONTROL CARD FORMAT FAP00165
FULMD PZE ** FLAG FOR BINARY CARD FUL FORMAT FAP00166
BOLMD PZE ** FLAG FOR BOOLEAN FIELD FAP00167
DUPMD PZE ** FLAG FOR RECORD WITHIN RANGE OF DUP FAP00168
ETCMD PZE ** FLAG FOR FOLLOWING CARD A CALL OR VFD ETC FAP00169
FCFLG PZE ** FLAG FOR FIRST CARD GROUP COMPLETED FAP00170
SCNBC PZE ** FLAG FOR BOOLEAN COM FAP00171
SCNBE PZE ** FLAG FOR BOOLEAN ERA FAP00172
SCNFC PZE ** FLAG FOR FIRST CHARACTER IN ELEMENT FAP00173
VFDPF PZE ** MEDAL FOR 36 BIT VFD FAP00174
VFDMD PZE ** FLAG FOR VFD CARD FAP00175
LITVV PZE ** FLAG FOR V TYPE LITERAL FAP00176
MNFLAG PZE ** FLAG FOR 'MACRON' OP FAP00177
LNCFG PZE -1 FLAG FOR NO LOCAL CREATED SYMBOLS FAP00178
CRSSV VFD H18/00.,18/0 SAVED COPY OF CREATED SYMBOLS PARAMS WNFAP00179
VFDHF PZE ** HOLLERITH FIELD FLAG FAP00180
VFDOF PZE ** OCTAL FIELD FLAG FAP00181
NOGOF PZE ** FLAG FOR ASSEMBLY ERROR FAP00182
TYPAF PZE ** FLAG FOR TYPE A 0 00000 0 00000 INSTRUCTN FAP00183
TYPCF PZE ** FLAG FOR TYPE C VARIABLE LENGTH INSTRUCTN FAP00184
REM OR TYPE K WITH HIGH ORDER COUNT FIELD FAP00185
TYPDF PZE ** FLAG FOR TYPE D 0 00000 000000 INSTRUCTN FAP00186
TYPKF PZE ** FLAG FOR TYPE K 00 0000 0 00000 COMMAND FAP00187
OPFLG PZE ** FLAG FOR OP DEFINITION PSEUDOOPERATION FAP00188
UNL1F PZE ** PRELIMINARY FLAG TO SUSPEND LISTING FAP00189
UNLSF PZE ** FLAG TO SUSPEND LISTING FAP00190
TITLF PZE ** FLAG TO SUSPEND LISTING OF GENERATED DATA FAP00191
LBLFG PZE ** BINARY CARD NUMBER LISTING FLAG FAP00192
PRTFG PZE ** FLAG FOR ONLINE PRINTING OF ONE LINE FAP00193
PRTF1 PZE ** PRELIMINARY FLAG FOR ONLINE PRINT FAP00194
DCNFG PZE ** FLAG FOR DECIMAL POINT IN DECCV FAP00195
DCXFG PZE ** FLAG FOR DECIMAL EXPONENT (E) IN DECCV FAP00196
DCBFG PZE ** FLAG FOR BINARY EXPONENT (B) IN DECCV FAP00197
PRTIF PZE ** FLAG FOR MACHINE INSTRUCTION IN PRINT FAP00198
704FG PZE ** FLAG FOR ASSEMBLY IN 704 MODE FAP00199
ORDRF PZE ** FLAG FOR INPUT CARD OUT OF ORDER FAP00200
TTLFG PZE -1 FLAG TO PRINT SUBHEAD (PRESET FOR PASS 1) FAP00201
P1FLG PZE ** PASS 1 FLAGS TRANSMITTED TO PASS 2 FAP00202
REM AS LOW ORDER 18 BITS OF WORD 14 *FAP00203
REM BIT 35 PHASE ERROR FAP00204
REM 34 FOLLOWING CARD IS ETC FAP00205
REM 33 FIELD ERROR FAP00206
REM 32 LITERAL ERROR FAP00207
REM 31 UNRECOGNIZED PSEUDOOP FAP00208
REM 30 MACRO GENERATED CARD FAP00209
REM 29 MISSING PSEUDOOP VARIABLE FIELD FAP00210
REM 18 - 27 MACRO LEVEL NUMBER *FAP00211
REM FAP00212
REM FLAGS FOR ERRORS ON INPUT CARDS FAP00213
DCPFG PZE ** FLAG FOR EXCESS DECIMAL POINT *FAP00214
DCEFG PZE ** FLAG FOR EXCESS EXPONENT (E) *FAP00215
DC2FG PZE ** FLAG FOR EXCESS EXPONENT (B) *FAP00216
ERFDL PZE ** IMPROPER DOLLAR SIGN *FAP00217
ERRFU PZE ** UNDEFINED SYMBOL FAP00218
ERRFM PZE ** MULTIPLY DEFINED SYMBOL FAP00219
ERRFR PZE ** RELOCATION ERROR FAP00220
ERRFP PZE ** PHASE ERROR FAP00221
ERRFL PZE ** LITERAL ERROR FAP00222
ERRFO PZE ** ILLEGAL OPERATION CODE FAP00223
ERRFE PZE ** VACUUM CLEANER FAP00224
ERRFB PZE ** BOOLEAN (OCTAL) ERROR FAP00225
REM FOLLOWING ERRORS ARE NON FATAL FAP00226
ERRFN PZE ** IMPROPER OP CODE FAP00227
ERRF7 PZE ** NON-BLANK CC7 WN FAP00228
ERR49 PZE ** MIXED MODE OPCODE FAP00229
ERRFA PZE ** MISSING ADDRESS FAP00230
ERRFT PZE ** MISSING TAG FAP00231
ERRFD PZE ** MISSING DECREMENT FAP00232
ERRFI PZE ** IMPROPER INDIRECT ADDRESS FAP00233
ERRFF PZE ** EXCESSIVE FIELD FAP00234
ERFFM PZE ** NON-FATAL MULTIPLY DEFINED SYMBOL FAP00235
EFLST PZE *-ERRFN,,*-ERFDL NONFATAL LIST,,LENGTH OF ERROR LIST *FAP00236
REM ADDITIONAL INFORMATION TRANSMITTED BETWEEN PASSES *FAP00237
REM *FAP00238
EVNFLG PZE ** FLAG FOR EVEN CONTAINED IN PROGRAM *FAP00239
REM *FAP00240
REM ERROR CHARACTERS FAP00241
BCI 1,$ *FAP00242
BCI 1,U FAP00243
BCI 1,M FAP00244
BCI 1,R FAP00245
BCI 1,P FAP00246
BCI 1,L FAP00247
BCI 1,O FAP00248
BCI 1,E FAP00249
BCI 1,B FAP00250
REM FOLLOWING ERRORS ARE NONFATAL FAP00251
BCI 1,N FAP00252
BCI 1,7 WN FAP00253
FLG49 BCI 1,4 RESET TO 9 FOR 704 MODE CHANGE FAP00254
BCI 1,A FAP00255
BCI 1,T FAP00256
BCI 1,D FAP00257
BCI 1,I FAP00258
BCI 1,F FAP00259
BCI 1,M FAP00260
EFCHR SYN * FAP00261
REM FAP00262
REM FAP00263
PGHDNG BCI 8,1 FAP ASSEMBLY LISTING ... ... ... DA FAP00264
BCI 8,FILE NAME1 NAME2 PB FAP00265
BCI 2, PAGE 1 FAP00266
REM FAP00267
BLANKS BCI 3, FAP00268
BCI 9, FAP00269
BCI 2, FAP00270
REM FAP00271
PBUFF1 MZE ,,4 PUNCH OUTPUT BUFFER FAP00272
DEC ,,,,,,,,,,,,,,,,,,,,,, FAP00273
IDBUFF DEC ,,, CARD SERIAL BUFFER + ONE WORD SKEW SPACE FAP00274
REM FAP00275
REM BCD CARD BUFFERS FAP00276
REM FAP00277
PFLAG DEC ERROR FLAGS FAP00278
REM OCTAL EXPANSION OF MACHINE INSTRUCTION(41)FAP00279
OCTAL DEC ,,, (45)FAP00280
REM (THIS BUFFER MUST PRECEDE BCDBF) FAP00281
BCDBF DEC ,,,,,,,,,,,,, SOURCE DECK WORKING BUFFER FAP00282
LITRL DEC VALUE OF LITERAL OR PSEUDOOP DEFINITION FAP00283
OPBIN DEC BINARY INSTRUCTION, PSEUDOOP TRANSFER FAP00284
REM (LITRL AND OPBIN MUST FOLLOW BCDBF) FAP00285
REM FAP00286
INSBF BCI 9, FAP00287
BCI 8, INSERTED FAP00288
REM FAP00289
ORDBF BCI 9, FAP00290
BCI 9, ORDER ERROR FAP00291
REM FAP00292
REM TIME SHARING, CORE A SUBROUTINES LOFAP00293
REM FAP00294
TRAPAA (NEXCOM,GETIME,GETCLS) WNFAP00295
TRAPAA (WRFLXA,WHOAMI,RDFLXA,SETBCD) DAFAP00296
TRAPAA (WRFLX,SETMEM,CHNCOM) TSFAP00297
TRAPAA (WRFILE,WRWAIT,RDWAIT,OPEN,CLOSE,IODIAG) FAP00298
TRAPAA (BUFFER,DELFIL,CHFILE,FSTATE) LOFAP00299
REM FAP00300
DORMNT TSX CHNCOM,4 EXIT FROM FAP, LOFAP00301
PZE 0 DEAD IF NO WAITING COMMAND WNFAP00302
REM TSFAP00303
REM TIME SHARED SYMBOLS TSFAP00304
FAPNAM BCI 1, FAP ASSUMED NAME2, IS PATCHED BY SAVE WNFAP00305
SAVFAP BCI 1, TEMP. FOR NAME2 DURING INSERT WNFAP00306
FILNAM BCI 1, INPUT FILE NAME LOFAP00307
OLDNAM BCI 1, SAVE PRIMARY NAME FOR PASS 2 FAP00308
FAPFAP BCI 1, FAP SECONDARY NAME, PATCHED BY SAVE WNFAP00309
FAPBSS BCI 1, BSS THE BSS FILE LOFAP00310
FAPSYM BCI 1, SYMTB THE SYMBOL TABLE FILE LOFAP00311
REM TSFAP00312
TEMBCD BCI 1,FAPBCD TEMPORARY BCD TSFAP00313
TEMBSS BCI 1,FAPBSS TEMPORARY BSS TSFAP00314
TEMSYM BCI 1,FAPSYM TEMPORARY SYMTB TSFAP00315
INTERM BCI 1,FAPTEM TEMPORARY FILE FOR FAP2 TSFAP00316
FAPTEM BCI 1,****** SECONDARY NAME FOR ALL TEMPS DAFAP00317
REM TSFAP00318
FAPABS BCI 1, ABS ABSOLUTE BINARY NAME TSFAP00319
DSQR BCI 1,R =HR FOR DISK CALLS LOFAP00320
DSQW BCI 1,W =HW FOR DISK CALLS LOFAP00321
ENDEND PON 1$ENDOP,,2$ENDOP TRANSFERS FOR SIMULATED END WNFAP00322
BCDBCD FAP00323
REM TSFAP00324
REM SAVE CRUCIAL INFO BEFORE STARTING INSERT FILE LOFAP00325
REM FAP00326
SAVNAM BCI 1,000000 MAIN FAP FILE NAME LOFAP00327
SAVEFT PZE EOF FLAG FAP00328
SAVCTR PZE CONTROL WORD LOFAP00329
SAVXR1 PZE POSITION IN DISK BUFFER LOFAP00330
SAVDK5 PZE BUFFER EMPTY TEST LOFAP00331
SAVSER PZE SEQUENCE NUMBER PBFAP00332
REM FAP00333
FAPLS1 PZE 0 NON-ZERO WHEN OFFLINE LIST FILE WANTED TSFAP00334
ONLNN PZE 0 NON-ZERO FOR ONLINE LISTING TSFAP00335
SHORTL PZE 0 NON-ZERO WHEN COMMENTS REMOVED TSFAP00336
ONERR PZE 0 NON-ZERO FOR CONSOLE ERROR LISTING TSFAP00337
SQFLG PZE 0 NON-ZERO FOR NO SEQUENCE CHECKING LOFAP00338
INFLG PZE 0 NON-ZERO FOR INPUT CARD LOFAP00339
RECNO PZE 0 COUNT INPUT CARDS FOR ERROR PRINTS LOFAP00340
REM TSFAP00341
REM WRITE LINE FOR OFFLINE BCD FILE. TSFAP00342
REM IF NO OFFLINE FILE REQUESTED (FAPLS1 = ZERO), TSFAP00343
REM THEN FPRINT SYN WRITT. TSFAP00344
REM CALL IS TSX FPRINT,4 TSFAP00345
REM PZE FWORD,,COUNT TSFAP00346
REM (MZE FWORD,,COUNT ON LINE) TSFAP00347
REM ( 0 BLANK LINE) TSFAP00348
REM TSFAP00349
FPRINT NZT FAPLS1 IS AN OFFLINE FILE REQUESTED TSFAP00350
TRA WRITT NO, GO TO WRITT TSFAP00351
SXA FPRNX,4 SAVE CALLING LINKAGE TSFAP00352
SXA FPRNX+1,2 SAVE WORD COUNT FAP00353
SXA FPRNX+2,1 SAVE CHARACTER COUNT FAP00354
CLA 1,4 LOAD PARAMETER FAP00355
STO FPRN2 INCLUDING PREFIX TSFAP00356
PDX ,2 LOAD WORD COUNT FAP00357
PAGCNT AXT **,1 LOAD PAGE LINE COUNT (38)FAP00358
PAGENO AXT **,4 LOAD PAGE NUMBER (38)FAP00359
TXH FPRN0,2,0 IS BLANK LINE REQUESTED *FAP00360
LDQ IOBLK YES,LOAD PARAMETER FOR BLANK LINE *FAP00361
STQ FPRN2 INITIALIZE I/O COMMAND *FAP00362
TXL FPRN0,1,0 IS BLANK LINE AT TOP OF PAGE (38)FAP00363
TXH FPRN0,1,4 IS BLANK LINE AT BOTTOM OF PAGE (38)FAP00364
ZSA PAGCNT YES, EJECT PAGE (38)FAP00365
TXH FPRNX,4,0 TRANSFER IF NOT FIRST PAGE (38)FAP00366
REM LINE IS NOT BLANK,OR NOT AT BOTTOM OF PAGE (38)FAP00367
FPRN0 TPL *+2 IS THIS LINE FORCED (38)FAP00368
STL PRTF1 YES,SET FLAG (38)FAP00369
TIX FPRN1,1,1 IS PAGE FULL (38)FAP00370
TXI *+1,4,1 YES, BUMP PAGE NUMBER (38)FAP00371
SXA PAGENO,4 (38)FAP00372
PXA ,4 LOAD NEW PAGE NUMBER FAP00373
TSX BCDCV,4 *CONVERT TO BCD FAP00374
LDQ BLANKS APPEND FOLLOWING BLANKS FAP00375
LGR 6 LEFT ADJUST FAP00376
TNZ *-1 FAP00377
STQ PGHDNG+17 INSERT IN PAGE HEADING FAP00378
TSX WRITT,4 *WRITE PAGE HEADING FAP00379
IOCD PGHDNG,,18 FAP00380
NZT TTLFG IS SUBTITLE SPECIFIED FAP00381
TRA *+3 NO FAP00382
TSX WRITT,4 *YES, WRITE IT FAP00383
IOHED IOCD BLANKS,,14 FAP00384
TSX WRITT,4 *WRITE BLANK LINE FAP00385
IOBLK IOCD BLANKS,,3 FAP00386
CLA (PGCT) RESET LINE COUNT FAP00387
PDX ,1 FAP00388
ZET TTLFG IS SUBTITLE SPECIFIED FAP00389
TXI *+1,1,-1 YES, BUMP PAGE LINE COUNT DOWN ONE FAP00390
TRA PATCH *FAP00391
FPRN1 CLA PRTF1 NO, SET ONLINE PRINT FLAG FAP00392
STO PRTFG FAP00393
STZ PRTF1 RESET INTERMEDIATE FLAG FAP00394
TSX FPRNA,4 *TEST FOR PRINT CONTROL, SET XR4 *FAP00395
FPRN2 IOCD **,,** FAP00396
SXA PAGCNT,1 SAVE PAGE LINE COUNT FAP00397
FPRNX AXT **,4 RELOAD CALLING LINKAGE FAP00398
AXT **,2 RELOAD WORD COUNT FAP00399
AXT **,1 RELOAD CHARACTER COUNT FAP00400
TRA 2,4 FAP00401
(PGCT) PZE 0,0,56 TSFAP00402
REM FAP00403
REM WRITE LINE ON AND OFF LINE. TSFAP00404
REM CALLING SEQUENCE SAME AS FOR FPRINT. TSFAP00405
REM TSFAP00406
WRITT SXA WRITX,4 SAVE XRS TSFAP00407
SXA WRITX+1,1 LOFAP00408
SXA WRITX+2,2 LOFAP00409
CLA 1,4 FWORD,,COUNT LOFAP00410
PDX 0,2 XR2 = NO. OF WORDS LOFAP00411
ZET FAPLS1 IS AN OFFLINE FILE REQUESTED LOFAP00412
TRA WRIT4 LOFAP00413
TPL WRITX NO, EXIT FOR PREFIX PZE LOFAP00414
TXL WRITX,2,0 EXIT FOR BLANK LINE LOFAP00415
REM FAP00416
REM WE MUST PRINT IT, SO MOVE LINE TO BUFFER LOFAP00417
REM FAP00418
WRIT4 TXL *+2,2,20 20 WORDS MAXIMUM LOFAP00419
AXT 20,2 LOFAP00420
TXH WRIT5,2,0 IS IT A BLANK LIME LOFAP00421
CAL WRBLA BLANKS,,3 LOFAP00422
PDX 0,2 XR2 = NO. OF WORDS LOFAP00423
WRIT5 SXA WRBUF-1,2 SET CONTROL WORD ADDRESS LOFAP00424
STA WRIT6 LOFAP00425
AXT 0,4 LOFAP00426
WRIT6 CLA **,4 MOVE THE LINE TO PRINT LOFAP00427
STO WRBUF,4 TO WRITE BUFFER LOFAP00428
TXI *+1,4,-1 LOFAP00429
TIX WRIT6,2,1 LOFAP00430
LXA WRBUF-1,2 RESTORE XR2 = NO, OF WORDS LOFAP00431
NZT FAPLS1 IS AN OFFLINE FILE REQUESTED LOFAP00432
TRA WRIT8 NO, GO PRINT ONLINE LOFAP00433
* FAP00434
*DOUBLE BUFFERED OUTPUT FOR BCD FILE, MOVE LINE TO DISK BUFFER LOFAP00435
*DISK BUFFER ADDRESSES (WBUFF3, WBUFF4) CHANGED BY WRFIL. LOFAP00436
* FAP00437
TXI *+1,2,WRBUF WRBUF + COUNT LOFAP00438
SXA WRT12,2 LOFAP00439
WRT10 AXT **,1 XR1 = POSITION IN DISK BUFFER LOFAP00440
LXA WRBUF-1,2 LOFAP00441
TXI *+1,2,1 XR2 = NO. OF WORDS TO MOVE LOFAP00442
WRT11 TXH WRT12,1,-DSKBKL LOOP, TEST BUFFER FULL LOFAP00443
TXL WRT12,1,0 NO, CONTINUE LOFAP00444
SXA WRT10,1 LOFAP00445
TSX WRFIL,4 YES, GO WRITE DISK LOFAP00446
WRT12 CAL **,2 MOVE WORD FROM WRITE BUFFER LOFAP00447
WRT13 SLW WBUFF3,1 TO DISK BUFFER LOFAP00448
TXI *+1,1,-1 LOFAP00449
TIX WRT11,2,1 LOFAP00450
SXA WRT10,1 SAVE NEW POSITION IN BUFFER LOFAP00451
TRA WRIT8 AND GO PRINT ONLINE LOFAP00452
* FAP00453
*SUBROUTINE WRFIL WRITES 432 WORDS TO BCD FILE. LOFAP00454
*CALLED BY SUBROUTINE FPRINT = WRITT ONLY. LOFAP00455
* FAP00456
*BCD FILE IS NOT OPENED UNTIL BEGINNING OF PASS 2, LOFAP00457
*HENCE MAXIMUM OF 432 WORDS IS AVAILABLE FOR 'SOURCE LOFAP00458
*ORDER ERROR' DIAGNOSTICS IN PASS 1. START OF PASS 1 SETS LOFAP00459
* WRFIL TRA WRIT8 LOFAP00460
*FOR SKIP AFTER 432 WORDS. END OF PASS 1 RESTORES INSTRUCTION. LOFAP00461
* FAP00462
WRFIL SXA WRFL1,4 SAVE XRS LOFAP00463
LAC WRT10,1 XR1 = NO. OF WORDS TO WRITE LOFAP00464
TXL WRFL1,1,0 LOFAP00465
SXD WRFL0,1 LOFAP00466
LXA WRFL0,4 EXCHANGE THE BUFFERS LOFAP00467
CLA WRT13 WBUFF3 OR WBUFF4 LOFAP00468
STA WRFL0 LOFAP00469
SXA WRT13,4 LOFAP00470
TSX WRFILE,4 WRITE BCD FILE LOFAP00471
BRN TEMBCD LOFAP00472
BRN FAPTEM LOFAP00473
BRN Q0 LOFAP00474
WRFL0 BRN WBUFF4,,** 432 WORDS EXCEPT LAST PARTIAL BLOCK LOFAP00475
BRN WRFL3 APPENDIN, NO EOF LOFAP00476
BRN P4 LOFAP00477
BRN WRFL3 LOFAP00478
AXT 0,1 NEW POSITION IN DISK BUFFER LOFAP00479
SXA WRT10,0 LOFAP00480
WRFL1 AXT **,4 RESTORE XRS LOFAP00481
TRA 1,4 RETURN LOFAP00482
* FAP00483
*ERROR RETURN, TERMINATE BCD FILE BUT CONTINUE ASSEMBLY. LOFAP00484
* FAP00485
WRFL3 TSX DSERP,4 GET ERROR CODE LOFAP00486
ORS WRFL4+2 LOFAP00487
WRFLXM WRFL4,6 PRINT MESSAGE LOFAP00488
WRFLXM WRFL4+6,9 FAP00489
TSX STASH,4 CLOSE THE FILE LOFAP00490
PZE TEMBCD,,FAPBCD LOFAP00491
STZ FAPLS1 SET FLAG FOR NO OFFLINE LOFAP00492
WRFL5 TRA WRIT8 GO PRINT ON LINE LOFAP00493
WRFL4 BCI 6,ERROR CODE 00 WRITING BCD FILE LOFAP00494
BCI 9,BCD FILE WILL BE INCOMPLETE. ASSEMBLY CONTINUING. FAP00495
REM FAP00496
REM PRINT LINE ON CONSOLE, SHORT LINE OR ERROR LINE, LOFAP00497
REM SEQUENCED OR VARIABLE LENGTH RECORD. LOFAP00498
REM LOFAP00499
WRIT8 LXA WRITX,4 RESTORE XR4 LOFAP00500
CLA 1,4 FWORD,,COUNT LOFAP00501
TPL WRITX EXIT FOR PREFIX PZE LOFAP00502
PDX 0,2 XR2 = NO. OF WORDS LOFAP00503
TXL WRITX,2,0 EXIT FOR BLANK LINE LOFAP00504
ZET SHORTL IS A SHORT LINE WANTED LOFAP00505
TRA WRTT1 YES LOFAP00506
ZET ONERR NO, IS ERROR LINE WANTED LOFAP00507
TRA WRTT3 YES LOFAP00508
REM REENTRY TO PRINT SHORT OR ERROR LINE ON CONSOLE LOFAP00509
WRIT1 SXD WRIT2,2 WORD COUNT LOFAP00510
TSX WRFLX,4 PRINT ONE LINE LOFAP00511
WRIT2 PZE WRBUF,,** LOFAP00512
TNX WRITX,2,14 EXIT FOR SHORT OR ERROR LINE LOFAP00513
SXD WRIT3,2 LONG LINE, NEW COUNT LOFAP00514
LXA WRIT2,4 LOFAP00515
TXI *+1,4,12 NEW FIRST WORD LOFAP00516
SXA WRIT3,4 LOFAP00517
TSX WRFLX,4 PRINT SECOND LINE LOFAP00518
WRIT3 PZE **,,** LOFAP00519
WRITX AXT **,4 RESTORE XRS LOFAP00520
AXT **,1 LOFAP00521
AXT **,2 LOFAP00522
TRA 2,4 EXIT LOFAP00523
REM LOFAP00524
REM SET FOR SHORT LINE, SEQUENCED OR VARIABLE LENGTH LOFAP00525
REM LOFAP00526
WRTT1 TXH *+3,2,17 IS THIS A SEQUENCED LINE LOFAP00527
TXL WRIT1,2,14 NO, 14 WORDS MAXIMUM LOFAP00528
TRA WRTT2 AND GO TO PRINT LOFAP00529
CAL WRBUF+17 LOFAP00530
SLW WRBUF+12 YES, MOVE THE SEQUENCE NUMBER LOFAP00531
CAL WRBUF+18 TO DELETE AFTER COLUMN 42 LOFAP00532
SLW WRBUF+13 LOFAP00533
WRTT2 AXT 14,2 SET FOR SINGLE LINE LOFAP00534
TRA WRIT1 AND GO TO PRINT LOFAP00535
REM LOFAP00536
REM ERROR LINE, DELETE OCTAL TRANSLATION AND INSERT ID LOFAP00537
REM LOFAP00538
WRTT3 CAL DSES1+1 PICKUP ONE BLANK AND FIVE NULLS WNFAP00539
SLW WRBUF+4 STORE WHERE SPACING IS NEEDED WNFAP00540
CAL WRBUF PICKUP FLAGS AND MOVE OVER FOR PRINT WNFAP00541
SLW WRBUF+3 .. WNFAP00542
TXI *+1,2,-5 COUNT MOVES DOWN FIVE WNFAP00543
TXL LMARK,2,12 NO SEQ NO AND NO MACRO LEVEL NO WNFAP00544
AXT 12,2 WRFLX HAS MAX OF 14 WORDS. DO CARD ALONE WNFAP00545
CAL WRBUF+18 TEST 2ND PART OF SEQNO AND MLEVEL RRFAP00546
ARS 24 .. RRFAP00547
ERA 2BLKS IF SEQNO IS BLANK RRFAP00548
TZE MLEV1 NO SEQ NO, SO USE RECNO WNFAP00549
CLA WRBUF+17 CARD IMAGE, SEQ NO PRESENT SO PRINT IT WNFAP00550
LDQ WRBUF+18 ALONG WITH MACRO LEVEL NUMBER, IF ANY WNFAP00551
DST WRBUF+1 AT THE VERY BEGINNING OF THE LINE WNFAP00552
TRA WRT33 GO SET UP WRFLX WNFAP00553
REM FAP00554
LMARK CAL 4BLKS PICKUP 4 BLANKS AND TWO NULLS FOR MLEVEL WNFAP00555
SLW WRBUF+2 PLACE JUST BEFORE FLAGS, AFTER RECNO WNFAP00556
TRA MLEV2 GO GET RECORD NUMBER FOR FIRST WORD WNFAP00557
REM FAP00558
MLEV1 CAL WRBUF+18 PICKUP MACRO LEVEL NUMBER WNFAP00559
ERA 37S =O373700000000 CONVERT 60 TO 57(NULL) WNFAP00560
SLW WRBUF+2 PLACE RIGHT AFTER RECORD NUMBER WNFAP00561
REM FAP00562
MLEV2 TSX RECBC,4 GO GET RECORD NUMBER INTO MQ WNFAP00563
XCL BRING INTO AC WNFAP00564
ERA ONE37 =O370000000000 CONVERT LEADING BLANK WNFAP00565
SLW WRBUF+1 PUT INTO FIRST WORD IN LINE WNFAP00566
REM FAP00567
WRT33 SXD WRTTS,2 PLACE WORD COUNT INTO ACORE CALL WNFAP00568
TSX WRFLXA,4 WRITE OUT FIRST FOUR WORDS WNFAP00569
FOUR WRBUF+1,,4 IN SEPARATE CALL TO WRFLXA WNFAP00570
TSX WRFLX,4 WRITE OUT CARD IMAGE WNFAP00571
WRTTS FOUR WRBUF+5,,** WNFAP00572
TRA WRITX WE ARE DONE WNFAP00573
REM LOFAP00574
WRBLA PZE BLANKS,,3 LOFAP00575
SVN 0,0,-1 RECORD MARK FOR OFFLINE PRINT LOFAP00576
DSBUF EQU * SAVE A WORD HERE AND THERE WNFAP00577
WRBUF BSS 20 OUTPUT PRINT BUFFER LOFAP00578
2BLKS BCI 1,0000 TWO BLANKS RRFAP00579
4BLKS OCT 606060605757 WNFAP00580
ONE37 OCT 370000000000 WNFAP00581
37S OCT 373700000000 WNFAP00582
REM LOFAP00583
REM SUBROUTINE TO CONVERT RECORD NUMBER TO BCD LOFAP00584
REM LOFAP00585
RECBC SXA RECBX,4 SAVE LINKAGE PBFAP00586
LDQ RECNO GET RECORD NO. PBFAP00587
TSX BTDC,4 CONVERT TO BCD PBFAP00588
ORA RECB2 LEADING BLANK PBFAP00589
XCL TO MQ PBFAP00590
RECBX AXT -,4 RESTORE LINKAGE PBFAP00591
TRA 1,4 RETURN PBFAP00592
RECB2 BCI 1, 00000 LOFAP00593
REM FAP00594
REM BTDC, CONVERT BINARY TO DECIMAL BCD PBFAP00595
REM FAP00596
BTDC ZAC ENTER WITH ARG IN AC PBFAP00597
VDP 1E5B40,,30 FORM 100000 DIGIT PBFAP00598
VDP 1E4B34,,6 FORM 10000 DIGIT PBFAP00599
VDP 1E3B28,,6 FORM 1000 DIGIT PBFAP00600
VDP 1E2B22,,6 FORM 100 DIGIT PBFAP00601
VDP 1E1B16,,6 FORM 10 DIGIT PBFAP00602
VDP 1E0B10,,6 FORM 1 DIGIT PBFAP00603
XCL RESULT TO AC PBFAP00604
TRA 1,4 RETURN PBFAP00605
REM FAP00606
1E5B40 DEC 1E5B40 .. PBFAP00607
1E4B34 DEC 1E4B34 .. PBFAP00608
1E3B28 DEC 1E3B28 .. PBFAP00609
1E2B22 DEC 1E2B22 .. PBFAP00610
1E1B16 DEC 1E1B16 .. PBFAP00611
1E0B10 DEC 1E0B10 .. PBFAP00612
REM FAP00613
* FAP00614
*SUBROUTIN READK UNPACKS INPUT BUFFER (REPLACES .READK) LOFAP00615
*CALLING SEQUENCE TSX READK,4 LOFAP00616
* PZE FWORD,,WDCNT LOFAP00617
*RETURN WITH AC NON-ZERO FOR END OF FILE REACHED LOFAP00618
* FAP00619
*BUFFER NAME (RBUFF1 OR INBUF1) IS SET WHEN FILE IS OPENED. LOFAP00620
* FAP00621
*READS INPUT FILES IN PASS 1, INTERM FILE IN PASS 2. LOFAP00622
*ASSUMES READING ONLY ONE FILE AT A TIME -- CRUCIAL INFO LOFAP00623
* IS SAVED WHEN INSERTING FILE IN PASS 1. LOFAP00624
* FAP00625
READK SXA REDKX,1 SAVE XRS LOFAP00626
SXA REDKX+1,2 LOFAP00627
SXA REDKX+2,4 LOFAP00628
CLA 1,4 GET CALLING SEQUENCE LOFAP00629
LGR 18 LOFAP00630
STA REDK1 WDCNT FOR XR2 LOFAP00631
PXD 0,0 LOFAP00632
LGL 18 LOFAP00633
ADM REDK1 FWORD + WDCNT LOFAP00634
STA REDK4 LOFAP00635
REDK0 AXT **,1 XR1 = POSITION IN BUFFER LOFAP00636
REDK1 AXT **,2 XR2 = NO. OF WORDS TO MOVE LOFAP00637
REDK2 TXH REDK3,1,-2*DSKBKL LOOP, IS BUFFER EMPTY LOFAP00638
TSX RDFIL,4 YES, READ NEXT 2 TRACKS LOFAP00639
AXT 0,1 NEW POSITION IN BUFFER LOFAP00640
REDK3 CLA **,1 MOVE FROM RBUFF1 OR INBUF1 LOFAP00641
REDK4 STO **,2 TO FWORD BLOCK LOFAP00642
TXI *+1,1,-1 LOFAP00643
TIX REDK2,2,1 LOFAP00644
SXA REDK0,1 SAVE FINAL POSITION IN BUFFER LOFAP00645
ZAC CLEAR AC LOFAP00646
NZT RDEFT HAS EOF BEEN REACHED LOFAP00647
TRA REDKX NO, EXIT LOFAP00648
REDK5 TXH REDKX,1,** YES, IS BUFFER EMPTY LOFAP00649
REDK6 CLA * YES, SET AC NOT ZERO LOFAP00650
REDKX AXT **,1 RESTORE XRS LOFAP00651
AXT **,2 LOFAP00652
AXT **,4 LOFAP00653
TRA 2,4 RETURN LOFAP00654
* FAP00655
*SUBROUTINE RDFIL READS 864 WORDS (2 TRACKS) TO DISK BUFFER. LOFAP00656
*BUFFER NAME AND FILE NAME SET WHEN FILE IS OPENED. LOFAP00657
*CALLING SEQUENCE TSX RDFIL,4 LOFAP00658
*CALLED FROM SUBROUTINE READK ONLY. LOFAP00659
* FAP00660
RDFIL SXA RDFLX,4 SAVE LINKAGE LOFAP00661
TSX RDWAIT,4 READ AND DELAY LOFAP00662
RDFL0 BRN FILNAM OR INTERM FILE FOR PASS 2 LOFAP00663
BRN FAPFAP LOFAP00664
BRN Q0 LOFAP00665
RDFL1 BRN **,,2*DSKBKL 2 TRACKS TO BUFFER LOFAP00666
BRN RDEOF LOFAP00667
BRN RDFCT LOFAP00668
BRN DSERN LOFAP00669
RDFLX AXT **,4 RESTORE LINKAGE LOFAP00670
TRA 1,4 RETURN LOFAP00671
* FAP00672
*END OF FILE RETURN, SET TO EXIT WHEN BUFFER EMPTY. LOFAP00673
* FAP00674
RDEOF LAC RDFCT,4 NUMBER OF WORDS READ LOFAP00675
SXD REDK5,4 FOR EOF TEST LOFAP00676
STL RDEFT SET EOF FLAG LOFAP00677
RDFL2 TXL REDK6,4,0 OR GO TO ENDFA, PASS 2 (NO WORDS READ) FAP00678
TRA RDFLX EXIT FROM RDFIL LOFAP00679
RDEFT PZE LOFAP00680
RDFCT PZE LOFAP00681
REM FAP00682
*SUBROUTINE DSTES TESTS FILES TO BE DELETED FOR MODE, STATUS, LINKS LOFAP00683
*CALLING SEQUENCE TSX DSTES,4 LOFAP00684
* PZE NAME1,,NAME2 LOFAP00685
*ALL FILES ARE TESTED AT BEGINNING OF PASS 1-- LOFAP00686
*ASSEMBLY IS TERMINATED IF ANY FILE CANNOT BE DELETED LOFAP00687
* FAP00688
DSTES STZ TEMFLG NOT TEMPORARY, QUIT IF PROTECTED. DAFAP00689
DSTS1 SXA DSTX4,4 ENTRY FROM DSDEL FOR TEMPORARY FILES. DAFAP00690
CAL 1,4 DAFAP00691
STA DSTN1 GET FILE NAMES DAFAP00692
STA DSTN3 DAFAP00693
ARS 18 DAFAP00694
STA DSTN2 DAFAP00695
STA DSTN4 DAFAP00696
TSX FSTATE,4 AND FILE STATUS. DAFAP00697
DSTN1 PTH ** DAFAP00698
DSTN2 PTH ** DAFAP00699
PTH DSBUF,,8 DAFAP00700
PTH DSTER DAFAP00701
PTH DSTRC DAFAP00702
CLA DSBUF+1 IF MODE IS NEGATIVE, DAFAP00703
TMI DSTLK FILE IS A LINK. DAFAP00704
PAI STASH THE MODE, DAFAP00705
CLA DSBUF+2 AND SEE DAFAP00706
SUB Q1 IF ACTIVE. DAFAP00707
TNZ DSTAC AHA... DAFAP00708
RFT 134 CHECK MODE, IF P/V/W/R DAFAP00709
ZET TEMFLG AND NOT A TEMPORARY, DAFAP00710
TRA DSTCH DAFAP00711
TRA DSTMD1 DAFAP00712
REM DAFAP00713
DSTMD NZT TEMFLG DAFAP00714
TRA DSKBD DAFAP00715
DSTMD1 LDQ DSBUF+1 CALL IT BAD MODE. DAFAP00716
RQL 27 DAFAP00717
ZAC DAFAP00718
LGL 3 DAFAP00719
ALS 3 DAFAP00720
LGL 3 DAFAP00721
ALS 3 DAFAP00722
LGL 3 DAFAP00723
STA DSTM1+2 DAFAP00724
CAL DSTM1 DAFAP00725
REM FAP00726
DSTRM SLW DST.M HERE FOR ERROR, SAVE COMMENT. DAFAP00727
CLA* DSTN1 DAFAP00728
LDQ* DSTN2 DAFAP00729
DST DSTMS PUT FILE NAME IN MESSAGE DAFAP00730
TSX WRFLXA,4 DAFAP00731
DSTMS,,2 DAFAP00732
TSX WRFLX,4 DAFAP00733
DST.M **,,** DAFAP00734
NZT TEMFLG DAFAP00735
TRA DSASK DAFAP00736
DSTBD STL DSASK ELIMINATE EXTRANEOUS QUESTIONS DAFAP00737
SXD STAR2,0 SET ERROR EXIT. DAFAP00738
DSTND CAL * FLAG TO NOT DELETE. DAFAP00739
DSTX4 AXT **,4 DAFAP00740
TRA 2,4 DAFAP00741
REM FAP00742
DSTER CLA DSTRC HERE FOR FSTATE ERROR. DAFAP00743
SUB Q3 DAFAP00744
TZE DSTND 'NO FILE', RETURN GOOD WITH NO DELETE. DAFAP00745
TMI DSERN SYSTEM/MACHINE ERROR. DAFAP00746
SUB Q3 DAFAP00747
TPL DSERN MORE ERRORS. DAFAP00748
REM DAFAP00749
DSTLK CAL DSTM2 LINKED FILE, DAFAP00750
TRA DSTRM GO COMPLAIN. DAFAP00751
REM DAFAP00752
DSTAC CAL DSTM3 FILE IS ACTIVE. DAFAP00753
TRA DSTRM DAFAP00754
REM DAFAP00755
DSASK TSX SETBCD,4 DAFAP00756
TSX WRFLXA,4 DAFAP00757
DSTM5,,5 DAFAP00758
TSX RDFLXA,4 DAFAP00759
DSBUF,,1 DAFAP00760
CAL DSBUF DAFAP00761
ERA DSYES DAFAP00762
TZE DSTCH DAFAP00763
DSKBD TSX WRFLX,4 DAFAP00764
DSTM6,,2 DAFAP00765
TRA DSTBD DAFAP00766
REM DAFAP00767
DSTCH TSX CHFILE,4 TRY TO MAKE FILE TEMPORARY MODE. DAFAP00768
DSTN3 PTH ** DAFAP00769
DSTN4 PTH ** DAFAP00770
PTH Q1 DAFAP00771
PTH P4 DAFAP00772
PTH P4 DAFAP00773
PTH DSTMD IF ERROR, ASSUME MODE PROBLEMS. DAFAP00774
PXD ,0 IT WORKED. DAFAP00775
TRA DSTX4 RETURN WITH DELETE. DAFAP00776
REM DAFAP00777
TEMFLG DAFAP00778
DSTRC DAFAP00779
DSTMS BCI 2, DAFAP00780
DSTM1 PZE *+1,,3 DAFAP00781
BCI 3, MODE IS 000. DAFAP00782
DSTM2 PZE *+1,,5 DAFAP00783
BCI 5, IS LINKED. PLEASE UNLINK IT. DAFAP00784
DSTM3 PZE *+1,,2 DAFAP00785
BCI 2, IS ACTIVE. DAFAP00786
DSTM5 BCI 5, DO YOU WISH TO DELETE IT ... DAFAP00787
DSTM6 BCI 2,NOT DELETED. DAFAP00788
DSYES OCT 702562556060 DAFAP00789
REM DAFAP00790
REM FAP00791
* FAP00792
*SUBROUTINE DSDEL DELETES OLD TEMPORARY FILES (NORMALLY NOT FOUND) FAP00793
*CALLING SEQUENCE TSX DSDEL,4 LOFAP00794
* PZE NAME1 LOFAP00795
*COMMENT PRINTED BY DSTES IDENTIFIES FILE AS FAP TEMPORARY FILE LOFAP00796
* FAP00797
DSDEL SXA DSDE3,4 LOFAP00798
CLA 1,4 PRIMARY FILE NAME LOFAP00799
STA DSDE0 LOFAP00800
STA DSDE1 LOFAP00801
STL TEMFLG DAFAP00802
TSX DSTS1,4 TEST DELETION PERMITTED LOFAP00803
DSDE0 PZE **,,FAPTEM LOFAP00804
TNZ DSDE3 NO, DONT TRY DAFAP00805
TSX DELFIL,4 YES, DELETE THE FILE LOFAP00806
DSDE1 BRN ** LOFAP00807
BRN FAPTEM LOFAP00808
BRN DSERN LOFAP00809
DSDE3 AXT **,4 RETURN LOFAP00810
TRA 2,4 LOFAP00811
* FAP00812
*SUBROUTINE STASH FILES USERS CREATED FILE LOFAP00813
* (1) FILE THE TEMPORARY LOFAP00814
* (2) DELETE OLD USER FILE LOFAP00815
* (3) RENAME AND CHANGE MODE LOFAP00816
*PROVIDE DIAGNOSTIC FOR TRACK QUOTA EXCEEDED LOFAP00817
*CALLING SEQUENCE TSX STASH,4 LOFAP00818
* PZE TEMNAM,,FAPNAM LOFAP00819
* FAP00820
STASH SXA STAS9,4 SAVE LINKAGE LOFAP00821
CLA 1,4 TEMPORARY FILE NAME LOFAP00822
STA STAS1 CLOSE LOFAP00823
STA STAS3 RENAME LOFAP00824
ARS 18 USER FILE NAME LOFAP00825
STA STAS2 DELETE LOFAP00826
STA STAS4 RENAME LOFAP00827
STA STAS8 CHMODE FAP00828
TSX CLOSE,4 CLOSE THE TEMPORARY LOFAP00829
STAS1 BRN ** LOFAP00830
BRN FAPTEM LOFAP00831
BRN DSERN LOFAP00832
TSX DELFIL,4 DELETE OLD USER FILE LOFAP00833
BRN FILNAM LOFAP00834
STAS2 BRN ** LOFAP00835
BRN *+3 LOFAP00836
BRN STASA LOFAP00837
TRA STAS3-1 LOFAP00838
CLA STASA ERROR RETURN, GET CODE LOFAP00839
SUB Q3 TEST NOT FOUND LOFAP00840
TNZ DSERN NO, MACHINE ERROR LOFAP00841
TSX CHFILE,4 RENAME AND CHANGE MODE LOFAP00842
STAS3 BRN ** LOFAP00843
BRN FAPTEM LOFAP00844
BRN Q1 TEMPORARY MODE LOFAP00845
BRN FILNAM LOFAP00846
STAS4 BRN ** LOFAP00847
BRN DSERN FAP00848
TSX CHFILE,4 CHANGE MODE FAP00849
BRN FILNAM FAP00850
STAS8 BRN ** FAP00851
BRN Q0 TO PERMANENT FAP00852
BRN P4 FAP00853
BRN P4 FAP00854
BRN STAS5 LOFAP00855
BRN STASA LOFAP00856
TRA STAS9 RENAME OKAY, EXIT LOFAP00857
STAS5 CLA STASA LOFAP00858
SUB Q9 TEST TRACK QUOTA EXCEEDED LOFAP00859
TNZ DSERN NO, MACHINE ERROR LOFAP00860
REM PRINT ERROR LINE FOR EACH ERROR ENTRY LOFAP00861
STAS7 CLA* STAS2 GET FILE NAME LOFAP00862
STO DSER3+2 WNFAP00863
CLA* STAS2-1 LOFAP00864
STO DSER3 WNFAP00865
WRFLXM DSER3,7 PRINT ERROR LINE WNFAP00866
STAS9 AXT **,4 LOFAP00867
TRA 2,4 LOFAP00868
STASA PZE TEMPORARY FOR ERROR CODE LOFAP00869
DSER3 PZE WNFAP00870
OCT 605757575757 WNFAP00871
PZE WNFAP00872
BCI 4, IS IN TEMPORARY MODE. WNFAP00873
* FAP00874
*USE NEW DISK DIAGNOSTICS, ERROR OPENING INPUT FILE LOFAP00875
* FAP00876
DSERS CLA DSES2 ERROR CODE LOFAP00877
SUB Q12 TEST CODE 12 (NOT FOUND) LOFAP00878
TNZ DSERN NO, MACHINE ERROR LOFAP00879
CLA FILNAM YES, GET FILE NAME LOFAP00880
STO DSES1 LOFAP00881
CLA FAPFAP MOVE NAME2 WNFAP00882
STO DSES1+2 WNFAP00883
WRFLXM DSES1,5 PRINT MESSAGE LOFAP00884
TRA (SECL) GO TO SOURCE ERROR LOFAP00885
DSES1 PZE ** WNFAP00886
OCT 605757575757 WNFAP00887
OCT 575757262147 'FAP' , MAY BE PATCHED BY SAVE WNFAP00888
BCI 2, NOT FOUND. WNFAP00889
DSES2 PZE ERROR CODE LOFAP00890
* FAP00891
*SUBROUTINE TO GET 2 DIGIT ERROR CODE IN BCD LOFAP00892
* FAP00893
DSERP SXA DSEM3,4 SUBROUTINE FOR ERROR CODE LOFAP00894
TSX IODIAG,4 GET DIAGNOSTICS LOFAP00895
TXH DSBUF,,7 LOFAP00896
LDQ DSBUF+2 ERROR CODE, LOFAP00897
PXD 0,0 LOFAP00898
DVP Q10 DIVIDE BY 10 LOFAP00899
XCL LOFAP00900
RQL 30 2 DIGITS LOFAP00901
LGL 6 IN ACCUMULATOR LOFAP00902
DSEM3 AXT **,4 LOFAP00903
TRA 1,4 LOFAP00904
* FAP00905
*GENERAL ERROR RETURN, NEW DISK ROUTINES. LOFAP00906
*PRINT ERROR MESSAGE AND GO TO MACHINE ERROR. LOFAP00907
* FAP00908
DSERN TSX DSERP,4 GET ERROR CODE LOFAP00909
ORS DSEM1+1 LOFAP00910
CAL DSBUF+1 NAME OF SUBROUTINE LOFAP00911
SLW DSRNM LOFAP00912
LDQ DSBUF+4 THE FILE NAME LOFAP00913
CLA DSBUF+5 LOFAP00914
DSEM2 STQ DSEM1+7 ENTRY FROM DSERN LOFAP00915
STO DSEM1+8 TSFAP00916
WRFLXM DSEM1,9 PRINT DIAGNOSTIC TSFAP00917
TRA (MECL) GO TO MACHINE ERROR TSFAP00918
DSEM1 BCI 1,ERROR TSFAP00919
BCI 3,COD 00, DISK SUBR TSFAP00920
DSRNM BCI 1, TSFAP00921
BCI 2,, FOR FILE TSFAP00922
BCI 2, TSFAP00923
REM TSFAP00924
REM FAP00925
REM ASSEMBLE UNIFORM SYMBOL FAP00926
LOCFL SXA LOCFX,4 SAVE CALLING LINKAGE FAP00927
STZ SYMBL CLEAR WORKING STORAGE FAP00928
LAS BLANKS IS SYMBOL ALL BLANKS FAP00929
TRA *+2 NO FAP00930
TRA LOCF2 YES FAP00931
XCL RECALL SYMBOL FAP00932
AXT 6,4 PREPARE TO SCAN SIX CHARACTERS FAP00933
LOCF1 PXD ,0 FAP00934
LGL 6 GET NEXT CHARACTER FAP00935
LAS BLANK IS IT BLANK FAP00936
TRA *+2 NO FAP00937
TRA *+5 YES FAP00938
LGR 6 ADD NONBLANK CHARACTER FAP00939
CAL SYMBL FAP00940
LGL 6 FAP00941
SLW SYMBL SAVE PARTIAL SYMBOL FAP00942
TIX LOCF1,4,1 IS SYMBOL ASSEMBLED FAP00943
LOCF2 CAL SYMBL YES, RELOAD UNIFORM SYMBOL FAP00944
LOCFX AXT **,4 RELOAD CALLING LINKAGE FAP00945
TRA 1,4 FAP00946
REM FAP00947
REM SET UP OPCODE, VARIABLE FIELD FAP00948
SETUP SXA STUPX,4 SAVE CALLING LINKAGE FAP00949
STZ INDFG RESET INDIRECT ADDRESS FLAG FAP00950
REM CHECK FOR COMMENTS CARD (42)FAP00951
CAL BCDBF LOAD CARD WORD 1 (42)FAP00952
LGR 30 ISOLATE COLUMN 1 (42)FAP00953
ERA ASTRK IS THIS COMMENTS CARD *FAP00954
TZE 1,4 YES *FAP00955
ERA Q7 IS IT $ COMMENTS CARD (42)FAP00956
TZE 1,4 YES (42)FAP00957
AXC 1,2 NO, INITIALIZE WORD AND (42)FAP00958
AXT 6,1 CHARACTER POSITIONS FOR OP CODE SCAN (42)FAP00959
CAL BCDBF+1 CHECK FOR ASTERISK IN COLUMN 7 (UGH) (42)FAP00960
LGR 30 POSSIBLE IF IN IBSFAP MODE (42)FAP00961
REM REENTRY TO SCAN NEXT CHARACTER IN OP FIELD (42)FAP00962
STP01 SXA STP06,2 (42)FAP00963
SXA NERAS,1 (42)FAP00964
TSX C0190+1,4 (42)FAP00965
SUB ASTRK IS THIS * FAP00966
TNZ *+3 NO *FAP00967
STL INDFG YES, SET INDIRECT FLAG *FAP00968
TRA STP02 *FAP00969
SUB Q4 IS THIS BLANK *FAP00970
TZE STP2A YES, END OF OPCODE (42)FAP00971
SUB EQUAL NO, IS THIS , *FAP00972
TZE STP03 YES, END OF OPCODE *FAP00973
SUB Q1 NO, IS THIS ( *FAP00974
TZE STP04 YES (42)FAP00975
STZ INDFG NO, RESET INDIRECT FLAG *FAP00976
STP02 TXH STP01,2,-2 ARE WE STILL IN CARD WORD 2 (42)FAP00977
TXH STP01,1,4 NO, ARE WE PAST CC 14 (42)FAP00978
LXA STUPX,4 YES, OP FIELD IS TOO LONG (42)FAP00979
TRA 2,4 TAKE ERROR RETURN (42)FAP00980
REM REENTRY FOR OP CODE TERMINATED BY BLANK (42)FAP00981
STP2A TSX C019Q,4 *OBTAIN NEXT CHARACTER (42)FAP00982
SUB BLANK IS IT BLANK (42)FAP00983
TNZ STP05 NO, VARIABLE FIELD HAS BEGUN (42)FAP00984
TXH STP2A,2,-2 YES, ARE WE PAST WORD 2 (42)FAP00985
TXH STP2A,1,4 YES, IS NEXT COLUMN 16 (42)FAP00986
REM REENTRY FOR OP CODE TERMINATED BY , (42)FAP00987
STP03 TSX C019Q,4 *INITIALIZE CHRCTR PROPERLY (42)FAP00988
REM REENTRY FOR OP CODE TERMINATED BY ( (42)FAP00989
STP04 TXL STP05,2,-2 ARE WE PAST WORD TWO (42)FAP00990
TXH STP01,1,4 NO, ( IN CC 8 IS PART OF OP CODE (42)FAP00991
REM REENTRY FOR BEGINNING OF VARIABLE FIELD SENSED (42)FAP00992
STP05 CAL CHRCTR RELOAD BEGINNING CHARACTER (42)FAP00993
LGR 6 AND POSITION FOR SCAN (42)FAP00994
STQ RESIDU STORE SCAN WORD (42)FAP00995
TXI *+1,1,1 BUMP CHARACTER POSITION BACK (42)FAP00996
SXD VRFLD,2 STORE WORD AND CHARACTER (42)FAP00997
SXA VRFLD,1 POSITIONS BEGINNING VARIABLE FIELD (42)FAP00998
LDQ NERAS LOAD CHARACTER POSITION OF OP FIELD (42)FAP00999
VLM Q6,,15 END AND MULTIPLY BY 6 TO COMPUTE (42)FAP01000