JOB Unblock and print and punch from tape 1 CTL 6611 * * At stop with 364 in IAR and 372 in AAR, push start to print or * start reset and start to skip printing. * * At stop with 600 in IAR and 604 in AAR, push start to punch or * start reset and start to rewind tape and quit. * x1 equ 89 Index in buffer ORG 1 1 BER halt Q. Tape error 6 B start No, enter program 10halt H 1,1 Yes, halt 17 bin halt, Back to the halt ORG 333 333start LCA kzero3,x1 Initialize index 340 SW buf 344clear CS 3999 Clear buffer 348 SBR clear&3 Keep track 352 BW clear,buf Back for more if not done 360 H print Push start to print 364 SW sw Start reset / start to skip print 368 B skipb * * Print 134-character records blocked 10 * 372print CC 1 374 SW 201 378nxblkw RT 1,buf&1 386 BER tperr 391 C buf&60,k5b Q. BBBBB in 60 398 BE gotb Yes 403nxlin C buf&60&X1,k5l 410 BE skipb 415 BCE newpag,buf&1&X1,1 Q. New page 423 BCE dblspc,buf&1&X1,0 Q. Double space 431mvlin MCW buf&133&X1,332 Move record to print area 438 W Print it 439 A k01,recnt Bump record counter 446 BCE newbkw,recnt-1,1 Q. Record counter # 10 454 A k134,x1 bump index 461 B nxlin 465newbkw MCW kzero2,recnt Record counter back to zero 472 MCW kzero3,x1 Index back to zero 479 B nxblkw 483newpag CC 1 485 B mvlin 489dblspc CC L 491 B mvlin * * Tape error routine * 495tperr SBR tperx&3 499 MCW kzero2,ercnt 506bsp BSP 1 511 RT 1,buf&1 519 BER test10 Check for ten errors 524tperx B 0 * 528test10 A k01,ercnt Bump error counter 535 BCE many,ercnt-1,1 Q. Ten errors 543 B bsp No, go backspace again 547many H 1,1 Yes, halt 554 B bsp Now go backspace again * * Skip to a block with BBBBB in 60 * 558skipb RT 1,buf&1 566 BER tperr 571 C buf&60,k5b Q. BBBBB in 60 578 BE gotb 583 BU skipb 588gotb BW punch,sw Q. start reset at first 596 H punch Start to punch 600 B rwd Start reset / start to finish * * Punch 81-character records blocked 20 * 604punch MCW kzero3,x1 Zero to index 611 MCW kzero2,recnt Zero to record counter 618 SW 101 622nxblkp RT 1,buf&1 Read next block to punch 630 BER tperr 635 BEF eof 640nxcrd C buf&60&X1,k5l Q. LLLLL in 60 647 BE eof Yes, done 652 MCW buf&80&X1,180 Move record to punch area 659 P Punch it 660 SS 4 into stacker 4 662 A k01,recnt Bump record counter 669 BCE newbkp,recnt-1,2 Q. Record counter # 20 677 A k81,x1 684 B nxcrd 688newbkp B punch 692eof CS 180 696 P 697rwd RWD 1 702halt9 H 999,999 709 B halt9 717k5l DCW @LLLLL@ 722k5b DCW @BBBBB@ 723sw dc #1 726kzero3 DSA 0 728k01 DCW @01@ 730recnt DCW #2 733k134 DSA 134 735kzero2 DCW 00 737ercnt DCW #2 740k81 DSA 81 741 DCW @}@ org 1500 buf equ *&1 END