JOB Print and/or punch CTL 6611 * * If start reset is pushed at the stop with I 390, skip a block * with BBB in column 60 twice. Then if SSG is on punch the next * segment. * * Otherwise, if start is pressed at the stop with I 390 and if SSG * is on print the first segment of records. Otherwise, skip until * a block with BBBBB in column 60 is found and then skip until a * record with LLLLL in column 60 is found and then print the next * segment, then skip to a record with BBBBB in column 60. * * If start reset is pushed at the stop with I 754 rewind and stop. * Otherwise punch the next block. * * If start reset is pushed at the stop with I 900 rewind and stop. * Otherwise start over. * x1 equ 89 ORG 1 1 BER 10 6 B 333 10 H 1,1 15 BIN 10, ORG 333 333start BSS *&8,G 338 MCW k1,ssgoff Remember SSG is off 345again SW buf-1 Sentinel to stop core clearing 349 LCA kzero3,x1 356 MCW kzero2,recnt 363 MCW topcor,clear&3 370clear CS 3999 374 SBR clear&3 378 BW clear,buf-1 386htest1 H testg1 390 SW sw 394 MCW k1,punchx 401 B rt4 405testg1 BCE rt1,ssgoff,1 Q. Was SSG off 413 B print * * Skip to after a block with BBBBB in column 60, then * Skip to after a record with LLLLL in column 60 * 417rt1 RT 1,buf 425 BER taperr 430 C buf&59,k5b Q. BBBBB in column 60 or block 437 BE rt2 yes 442 BU rt1 no, back for more 447rt2 RT 1,buf 455 BER taperr 460 MCW kzero3,x1 467 MCW kzero2,recnt 474lck1 C buf&59&X1,k5l Q. LLLLL in column 60 of record 481 BE print yes 486 A k01,recnt bump record counter 493 BCE rt2,recnt-1,2 Q. 20 records 501 MA k81,x1 508 B lck1 * * Unblock and print 134 character records blocked 10 * until BBBBB in column 60 of the block or LLLLL in column 60 * of the record * 512print CC 1 514 SW 201 518 MCW kzero3,x1 525 MCW kzero2,recnt 532rt3 RT 1,buf 540 BER taperr 545 C buf&59,k5b 552 BE testsw 557lck2 C buf&59&X1,k5l Q. LLLLL in column 60 of record 564 BE rt4 569 BCE top,buf&X1,1 Top of page if 1 577 BCE dble,buf&X1,0 Double space if 0 585mvpr MCW buf&132&X1,332 Record to print area 592 W 593 A k01,recnt 600 BCE newbk1,recnt-1,1 Q. Ten records 608 A k134,x1 615 B lck2 619newbk1 MCW kzero2,recnt 626 MCW kzero3,x1 633 B rt3 637top CC 1 639 B mvpr 643dble CC L 645 B mvpr * * Tape error routine * 649taperr SBR taperx&3 653 MCW kzero2,ercnt 660bsp BSP 1 665 RT 1,buf 673 BER *&5 678taperx B 0 682 A k01,ercnt 689 BCE *&5,ercnt-1,1 697 B bsp 701 H 1,1 708 B bsp * * Skip to after a second block with BBBBB in column 60 * 712rt4 RT 1,buf 720 BER taperr 725 C buf&59,k5b 732 BE testsw 737 BU rt4 742testsw BW testg2,sw Q. Start-reset at htest1&4 750 H punch 754 B done 758tstb2 BCE punch,bcnt,1 Q. BBBBB seen already 766 MCW k1,bcnt No, remember we have seen one 773 B rt4 777testg2 BCE tstb2,ssgoff,1 Q. Was SSG off * * Unblock and punch 80 character records blocked 20 until EOF * or a record with LLLLL in column 60 * 785punch MCW kzero3,x1 792 MCW kzero2,recnt 799 SW 101 803 RT 1,buf 811 BER taperr 816 BEF pdone 821lck3 C buf&59&X1,k5l Q. LLLLL in column 60 of record 828 BE ptest Yes, done punching 833 MCW buf&79&X1,180 840 P 841 SS 4 843 A k01,recnt 850 BCE bpunch,recnt-1,2 Q. 20 records 858 A k81,x1 865 B lck3 869bpunch B punch * * Done punching if SSG was set or if start reset was pressed after * the halt with IAR htest1&4 * 873ptest BCE pdone,ssgoff,1 Q. Was SSG off 881 BCE pdone,punchx,1 Q. Start-reset at htest1&4 889 MCW k1,punchx 896 H again 900pdone CS 180 904 P 905done RWD 1 910h999 H 999,999 917 B h999 * 925k5l DCW @LLLLL@ 930k5b DCW @BBBBB@ last block of listing segment 931sw dc #1 934kzero3 DSA 0 936k01 DCW @01@ 938recnt DCW #2 Record counter 941k134 DSA 134 943kzero2 DCW @00@ 945ercnt DCW #2 946bcnt DCW #1 Set to 1 on first BBBBB block 947ssgoff DCW #1 1 if SSG off 948punchx DCW #1 Only punch if 1 951k81 DSA 81 952k1 dcw 1 955topcor DSA 3999 Last core location to clear 956 DCW @}@ * * Write the program to tape * begin lca link,19 chain3 wtw 1,1 ber wterr halt7 nop 7 h b halt7 wterr nop 666 h bsp 1 b begin * * Link code moved to bottom of core * 1 BER 10 6 B 333 10 H 1,1 15 B 10 19link dc #1 buf equ 1501 END begin