               job  TEST CHARACTER & BRANCH                                0050B
               ctl  6611
     *
     * Stuff in the preamble -- not in one-field-per-card format
     *
               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
     *
  348detail    r
  349tptest    bce  *&5,80,a
  357          b    421    What's going to be at 421?
  361          cs   reload,80
  368          dcw  #1
     *
     tapes1    equ  1268   blank indicates the tape loader
     taperd    equ  1288   tape read routine?
     tapes2    equ  1398   GM indicates the tape loader
     *
     * Stuff that is in one-field-per-card format
     *
               org  377
  377          bin  init,          USE WHEN TESTS ARE RUN FROM TAPE
               org  385
  385          b    taperd           ,,
  389init      nop  0                ,,
  393          mcw  tptest&11,init&3 ,,
  400begin     cs   332            START TEST
  404          cs
  405          bce  titlpr,titlsw,1  BR TO TITLE PRINT ROUTINE IF 1 IN S52
  413          org  titlex
  413          cs   80             CLEAR READ AREA
  417bnx       b    detail         BRANCH TO PROGRAM CHAINING ROUTINE
  421first     sw   1,78           LOAD PRINT AREA
  428          lca  80,299           ,,
  435          lca  72,272           ,,
  442          sw   202,241          ,,
  449          mcw  72,*&1         MOVE B OR N OP INTO 456
  456          dcw  #1             B OP FOR EQUAL CHAR-N OP FOR UNEQ CHAR
  459          dc   testeq         
  460          mcw  202,*&8        MOVE D MODIFIER TO TEST CHARAC OP
  467          bce  sbfail,224,X   TEST UNEQUAL CHARACTERS
  475          b                     ,,
  476          b                     ,,
  477iseq      bss  clear,B        B ON TO SCOPE
  482          lca  247,267        LOAD RESULT COMMENT
  489          b    bump
  493testeq    mcw  202,*&8
  500          bce  iseq,222,X     TEST EQUAL CHARACTERS
  508          b    sbfail         Test B, else error
  512          dcw  #1
               org  900
  900errpr2    lca  error,285      BEGIN ERROR PRINT ROUTINE
  907          bss  errhlt,E       E ON TO ERROR STOP
  912          w    bump           ERROR PRINT
  916errhlt    h    bump           ERROR STOP
  920bump      a    bump,count     Bump counter
  927          bce  zero,count-1,9  Ninety times?
  935clear     cs   332            CLEAR
  939          cs                    ,,
  940          b    first
  944zero      s    count
  948corr      bss  corrpr,C       C ON TO CORRECT PRINT ROUTINE
  953          b    last           BRANCH TO SENSE D
  957corrpr    w                   CORRECT PRINT ROUTINE
  958last      bss  first,D        D ON TO REPEAT
  963          b    detail         BRANCH TO READ NEXT RECORD
  970count     dcw  @000?@
  971sbfail    bss  clear,B        B ON TO SCOPE
  976          b    errpr2         BRANCH TO ERROR PRINT ROUTINE
  980          dcw  #1
               org  hdrs-10
 1114error     dcw  @ERROR@
 1119          dcw  @     @
 1139          dcw  @D MODIFIER          @
 1159          dcw  @B FIELD CHARACTERS  @
 1179          dcw  @RESULT SHOULD BE    @
 1199          dcw  @RESULT IS           @
     *
     * 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  77,277       Load Title and Block No. in Print Area.
 1212          w                 Print Title and Block No.
 1213          cs   277          Clear Print Area
 1217          w                 Print (space).
 1218          cw   hdrs&20,hdrs&40  Clear Word Marks in second
 1225          cw   hdrs&60      line stored information.
 1229          lca  hdrs&69,270  Load second line.
 1236          w                 Print second line.
 1237          cs   270          Clear Print Area.
 1241          w    titlex       Print (space) and branch to main program.
 1245          dcw  #1
               end  start
