               job  PRINT-PUNCH                                            1050B
               ctl  6611
               org  333
               org  333
     *
     * Set up for one-field-per-card format and begin loading
     *
  333start     sw   8,12
  340reload    sw   1
  344          r    1
     *
     * Look for next program -- A in column 80
     *
  348nxprog    r
  349tptest    bce  *&5,80,a
  357          b    cont
  361          cs   reload,80
     *
     tapes1    equ  1268   blank indicates the tape loader
     s3        equ  1261
     s4        equ  1262
     taperd    equ  1288   tape read routine?
     tapes2    equ  1398   GM indicates the tape loader
     *
               org  377
  377          bce  tests4,s3,1
  385          bin  taperd,
               org  400
  400begin     cs   332              START TEST
  404          cs
  405          bce  titlpr,titlsw,1  BR TO TITLE PRINT ROUTINE IF 1 IN S52
  413          bin  cont,
               org  420
  420cont      cw   d1&1,d2&1      EXPAND TABLE FROM 701-760 TO 701-820
  427          lca  d3,d6            ,,
  434          cw   d3&1,d3&1        ,,
  441          cs   180            CLEAR PUNCH
  445          sw   101,201        SET WM IN PUNCH AND PRINT AREAS
  452repeat    lca  first,count    LOAD 780 INTO CARD COUNTER
  459next      mcw  count,move1&3  MOVE CARD COUNTER INTO LOCATION 474-476
  466          mcw  count,move2&3  MOVE CARD COUNTER INTO LOCATION 481-483
  473move1     mcw  5777&X1,280    MOVE TABLE INTO PRINT AREA
  480move2     mcw  5777&X1,180    MOVE TABLE INTO PUNCH AREA
  487          bwz  wpbr,101,2     BR TO PRINT-PUNCH & BR IF NO ZONE IN 101
  495scope     wp                  PRINT-PUNCH
  496          bss  scope,B        B ON TO SCOPE
  501          b    test           BRANCH TO TEST FOR LAST CARD
  505wpbr      wp   btest          PRINT-PUNCH & BRANCH
  509          h                   ERROR STOP IF NO BRANCH
  510btest     bss  wpbr,B         B ON TO SCOPE
  515test      c    last,count     COMPARE CARD COUNTER WITH 799
  522          bu   bump           BRANCH TO ADD 1 IF NOT 799
  527          bss  repeat,D       D ON TO REPEAT TEST
  532          b    clear          BRANCH TO READ NEXT RECORD
  536bump      a    k1,count       ADD 1 TO CARD COUNTER
  543          b    next           BRANCH TO PRINT-PUNCH NEXT CARD
  547tests4    bce  begin,s4,1
  555          b    nxprog
  559clear     cs   280
  563          cs   180
  567          bin  nxprog,
               org  600
               dcw  #5
  607first     dsa  d4             CONSTANT TO START CARD COUNTER
  608k1        dcw  1              CONSTANT TO INCREMENT CARD COUNTER
  611last      dsa  d5             CONSTANT TO STOP CARD COUNTER
  614count     dcw  @XXX@          CARD COUNTER
               org  701
  720d1        dcw  @AKT4 BLU5"CMV6 DNW7_@   TABLE TO BE PRINT-PUNCHED
  740d2        dcw  @EOX8 FPY9+GQZ0 HR'#(@     ,,
  760d3        dcw  @I-,@ &$%1?.*/2 )JS3!@     ,,
  780d4        ds   20
  799d5        ds   19
  820d6        ds   21
     *
     * Title print routine.  Notice that in the original format,
     * the title and ID are in CC 49-77 of the last card -- the one
     * that transfers control to the program.
     *
     titlsw    equ  1252   1 to use title print routine
     hdrs      equ  1120   All programs put headers in 1120-1199
     titlex    equ  413    All routines must return here after title
     *
               org  1200
 1200titlpr    w                 Print (space).
 1201          sw   49           Set WM for Title and Block No.
 1205          lca  76,276       Load Title and Block No. in Print Area.
 1212          w                 Print Title and Block No.
 1213          cs   277          Clear Print Area
 1217          w    cont         Print (space).
 1221          dcw  #1
               end  start
