               JOB  TEST FOR ZONE OR WM & BR                               0060A
               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           PROGRAM CHAINING ROUTINE
  340reload    sw   1                ,,
  344          r    1                ,,
     *
     * Look for next program -- A in column 80
     *
  348detail    r                   READ DETAIL OR PROGRAM HEADER
  349tptest    bce  *&5,80,a       BRANCH IF HEADER
  357bcont     b    cont           CONTINUE PROGRAM
  361          cs   reload,80      BRANCH TO CHAINING ROUTINE
  368          dcw  #1
     *
     * 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
     *
     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
  421cont      sw   1,78           LOAD PRINT AREA
  428          lca  80,299           ,,
  435          lca  72,272           ,,
  442          bce  setwm,224,*    BR TO SET WM IN ALL * AND % CHARAC
  450          bce  setwm,224,%      ,,
  458dotest    bce  ztest,41,      BR TO TEST EQUAL ZONES IF BLANK IN 041
  466          mcw  201,*&8        MOVE D MODIFIER TO TEST ZONE OP
  473scope     bwz  uneq,224,X     TEST UNEQUAL ZONES OR WM
  481          bwz                   ,,
  482          bwz                   ,,
  483          bwz                   ,,
  484          bss  scope,B        B ON TO SCOPE
  489          b    result         BRANCH TO LOAD RESULT COMMENT
  493ztest     mcw  201,*&8        MOVE D MODIFIER TO TEST ZONE OP
  500scope2    bwz  eqzone,224,X   TEST EQUAL ZONES OR WM
  508          bss  scope2,B       B ON TO SCOPE
  513          b    failed         BRANCH TO ERROR PRINT ROUTINE IF UNEQ
  517eqzone    bss  scope2,B       B ON TO SCOPE
  522result    sw   241            LOAD RESULT COMMENT
  526          lca  247,267          ,,
  533          bss  950,C          C ON TO CORRECT PRINT ROUTINE
  538          bin  958,           BRANCH TO SENSE D
               org  600
  600setwm     sw   224            SET WM IN 224 IF * OR %
  604          bin  dotest,          ,,
               org  895
  895uneq      bss  scope,B        B ON TO SCOPE
  900failed    lca  1114,285       BEGIN ERROR PRINT ROUTINE
  907          bss  errhlt,E       E ON TO ERROR STOP
  912          w    loop           ERROR PRINT
  916errhlt    h    loop           ERROR STOP
  939          dcw  @                    @   WORD MARK
               org  950
  950          lca  1119,285       CORRECT PRINT ROUTINE
  957          w                     ,,
  958loop      bss  cont,D         D ON TO REPEAT
  963          bin  bnx,           BRANCH TO READ NEXT RECORD
               org  1110
 1114          dcw  @ERROR@        CONSTANTS
 1119          dcw  @     @          ,,
 1139          dcw  @D MODIFIER          @     ,,
 1159          dcw  @B FIELD CHARACTERS  @     ,,
 1179          dcw  @RESULT SHOULD BE    @     ,,
 1199          dcw  @RESULT IS           @     ,,
               end  start
