{\scriptsize\begin{verbatim}
 BOOTSTRAP NO CLEAR  ,008015,022029,036040,047054,061068,072/061039              ,0010011040                      3
 
                           INFRASTRUCTURE FOR ONE-CARD TESTS.                                             PAGE    1
 
  SEQ PG LIN  LABEL  OP    OPERANDS                                            SFX CT  LOCN  INSTRUCTION TYPE  CARD

  101                JOB   INFRASTRUCTURE FOR ONE-CARD TESTS.
  102         *
  103         * FIRST CARD OF A TEST BLOCK:
  104         *
  105         * 1-7   WIDTHS OF UP TO SIX INSTRUCTIONS
  106         * 8-72  CODE TO BE LOADED STARTING AT 401, FOLLOWED BY A TITLE.
  107         *       THE WORD MARK AT 401 IS SET AUTOMATICALLY.  ONE IS NOT
  108         *       NEEDED AT THE END IF IT IS A BRANCH INSTRUCTION WITH A
  109         *       BLANK D MODIFIER.
  110         * 73-77 TEST BLOCK ID
  111         * 78-80 SEQUENCE NUMBER PLUS 12-ZONE IN 80
  112         *
  113         * DETAIL CARDS:
  114         *
  115         *  1-20 A OR D FIELD.  THIS IS PRINTED IN 201-220.
  116         * 21-40 B FIELD.  THIS IS PRINTED IN 222-241.
  117         * 41-60 CORRECT RESULT.  THIS IS PRINTED IN 264-283.
  118         * 61-72 COMMENT.  THIS IS PRINTED IN 302-313 (IF YOUR PRINTER
  119         *       HAS 132 COLUMNS).
  120         * 73-77 TEST BLOCK ID.  THIS IS PRINTED IN 292-296.
  121         * 78-80 SEQUENCE NUMBER.  THIS IS PRINTED IN 298-300.
  122         *
  123         RA     EQU   20   READER AREA A FIELD                                    0020
  124         RB     EQU   40   READER AREA B FIELD                                    0040
  125         RCORR  EQU   60   READER AREA CORRECT RESULT FIELD                       0060
  126         RCOMM  EQU   72   READER AREA COMMENT                                    0072
  127         RID    EQU   77   READER AREA ID                                         0077
  128         RSEQ   EQU   80   READER AREA SEQUENCE FIELD                             0080
  129         *
  130         PA     EQU   220  PRINTER AREA A FIELD                                   0220
  131         PB     EQU   241  PRINTER AREA B FIELD                                   0241
  132         PRES   EQU   262  PRINTER AREA RESULT FIELD                              0262
  133         PCORR  EQU   283  PRINTER AREA CORRECT RESULT FIELD                      0283
  134         PSTAT  EQU   290  PRINTER AREA TEST STATUS FIELD                         0290
  135         PID    EQU   296  PRINTER AREA ID                                        0296
  136         PSEQ   EQU   300  PRINTER AREA SEQUENCE FIELD                            0300
  137         PCOMM  EQU   313  PRINTER AREA COMMENT                                   0313
  138         *
  139         * HEADER PROCESSING:
  140         * 7-72 IS PUT INTO 401-465 AND 201-265.  WORD MARKS ARE SET AS
  141         * INDICATED IN 1-6.  THE TEST BLOCK ID IN 73-77 IS PUT INTO
  142         * 292-296.  IF 190 IS NOT BLANK THE HEADER IS PRINTED, WITH
  143         * WORD MARKS.
  144         *
  145         * DETAIL PROCESSING:
  146         * WORD MARKS ARE SET IN 1, 21, 41, 61, 73 AND 78.  THE DETAIL
  147         * FIELDS ARE LOADED INTO THE PRINT AREA.  THE B FIELD IS ALSO
  148         * LOADED INTO 243-262, WHICH IS THE RESULT FIELD.  CONTROL
  149         * BRANCHES TO 401.  AT THE END OF PROCESSING, CONTROL SHOULD
  150         * BRANCH TO
  151         * FAILED (669) IF THE TEST FAILED,
  152         * FAILNS (674) IF THE TEST FAILED AND NO SCOPING (SS B) TEST
  153         *   SHOULD BE DONE,
  154         * WORKED (636) IF THE TEST WORKED,
  155         * WORKNS (641) IF THE TEST WORKED AND NO SCOPING (SS B) TEST
  156         *   SHOULD BE DONE,
  157         * COMPAR (699) IF THE INFRASTRUCTURE IS TO COMPARE THE RESULT
  158         *   FIELD (243-262) TO THE CORRECT RESULT FIELD (264-283) AND
  159         *   BRANCH TO FAILED OR WORKED DEPENDING UPON WHETHER THE
  160         *   RESULT IS UNEQUAL OR EQUAL,
  161         * TEST (706) IF THE LOADED CODE HAS DONE A COMPARE AND THE
  162         *   UNEQUAL INDICATOR IS TO BE TESTED AS FOR COMPAR,
  163         * COMPNS (715) AS FOR COMPAR, BUT NO SCOPING (SS B) TEST SHOULD
  164         *   BE DONE,
  165         * TESTNS (722) AS FOR TEST, BUT NO SCOPING (SS B) TEST SHOULD
  166         *   BE DONE.
  167         *
  168         * HALTS (INDICATED BY CONTENTS OF A-ADDR AND B-ADDR):
  169         * 001 -- BWZ CANNOT RELIABLY DETECT A 12 ZONE.
  170         * 002 -- COMPARE APPEARS NOT TO WORK.
  171         * 003 -- ADD APPEARS NOT TO WORK.
  172         * 086 -- TAPE ERROR IF TEST READ FROM TAPE.
  173         * 099 -- TEST FAILED.
  174         *
  175         * SENSE SWITCHES:
  176         * B -- TIGHT LOOP AROUND TEST, FOR SCOPING
  177         * C -- PRINT CORRECT RESULTS
  178         * D -- REPEAT ENTIRE TEST WITH SAME DETAIL -- USEFUL FOR ERRATIC
  179         *      ERRORS
  180         * E -- HALT IF ERROR
  181         * F -- NOT USED BY THE INFRASTRUCTURE
  182         * G -- NOT USED BY THE INFRASTRUCTURE
  183         *
  184         * START WITH SOME SELF TESTS.
  185         * VERIFY THAT BWZ CAN DETECT A 12 ZONE:
  186         *
  187         START  BWZ   V2,*,B        GOOD IF BRANCH                             8  0333  V 350 340 B          4
  188         V1     NOP   001           001 = BCE FAILED                           4  0341  N 001                4
  189                H                                                              1  0345  .                    4
  190                B     START                                                    4  0346  B 333                4
  191         V2     BWZ   V1,START&7,K  BAD IF BRANCH -- START&7 HAS 12 ZONE       8  0350  V 341 340 K          4
  192         *
  193         * VERIFY THAT COMPARE CAN DETECT UNEQUAL FIELDS.  THIS IS ONLY
  194         * NEEDED TO VERIFY THAT ADD WORKS CORRECTLY.
  195         *
  196                C     V2&7,START&7                                             7  0358  C 357 340            4
  197                BU    C2            GOOD IF UNEQUAL BRANCH                     5  0365  B 379 /              4
  198         C1     NOP   002           002 = COMPARE / BRANCH UNEQUAL FAIL        4  0370  N 002                5
  199                H                                                              1  0374  .                    5
  200                B     START                                                    4  0375  B 333                5
  201         C2     C     V2&7,V2&7                                                7  0379  C 357 357            5
  202                BU    C1            BAD IF UNEQUAL BRANCH                      5  0386  B 370 /              5
  203                B     ADDTST        SKIP CODE LOAD AREA                        4  0391  B 467                5
  204         *
  205         * TEST CODE IS LOADED HERE.
  206         *
  207                ORG   401                                                                0401
  208         CODE1  EQU   *&1                                                         0401
  209         CODE   DS    65                                                          0465
  210                DS    1             IN CASE LAST IS B NEEDING BLANK D             0466
  211         *
  212         * VERIFY THAT ADD WORKS WELL ENOUGH TO SET THE WORD MARKS.
  213         *
  214         ADDTST LCA   @200@,203                                                7  0467  L 962 203            6
  215                A     *-6,203                                                  7  0474  A 474 203            6
  216                C     203,@201@     IS 200 & 1 EQUAL TO 201?                   7  0481  C 203 965            6
  217                BU    S1            FAIL IF UNEQUAL                            5  0488  B 497 /              6
  218                B     DETAIL        START THE TEST SEQUENCES                   4  0493  B 506                6
  219         S1     NOP   003                                                      4  0497  N 003                6
  220                H                                                              1  0501  .                    6
  221                B     START                                                    4  0502  B 333                7
  222         *
  223         * READ A RECORD FROM CARD OR TAPE.  TAPE INPUT IS INDICATED
  224         * BY A GM IN 81.  SE PUT A WM UNDER IT SO LONG RECORDS WILL
  225         * NOT CLOBBER US.  A  IN COLUMN 80 IS A HEADER.  OTHERWISE
  226         * BRANCH TO 401 TO EXECUTE THE TEST.
  227         *
  228         DETAIL SW    81            IN CASE OF GM THERE                        4  0506  , 081                7
  229         READIT BCE   TAPEIN,81,"   TAPE LOAD PUTS GM IN 81                    8  0510  B 541 081 "          7
  230                CS    80            START FRESH                                4  0518  / 080                7
  231                CS    332                                                      4  0522  / 332                7
  232                CS                                                             1  0526  /                    7
  233                R     GOTIT                                                    4  0527  1 554                7
  234         TAPERR BSP   1                                                        5  0531  U %U1 B              8
  235                NOP   86            HALT 86 FOR TAPE ERROR                     4  0536  N 086                8
  236                H                                                              1  0540  .                    8
  237         TAPEIN RT    1,1                                                      8  0541  M %U1 001 R          8
  238                BER   TAPERR                                                   5  0549  B 531 L              8
  239         *
  240         * GOT A RECORD.
  241         *
  242         GOTIT  BWZ   HEADER,80,B   HEADER?                                    8  0554  V 731 080 B          8
  243         *
  244         * DETAIL RECORD
  245         *
  246                SW    RA-19,RB-19                                              7  0562  , 001 021            8
  247                SW    RCORR-19,RCOMM-11                                        7  0569  , 041 061            9
  248                SW    RID-4,RSEQ-2                                             7  0576  , 073 078            9
  249                LCA   RA,PA         A FIELD                                    7  0583  L 020 220            9
  250                LCA   RB,PB         B FIELD                                    7  0590  L 040 241            9
  251                LCA   RCORR,PCORR   CORRECT RESULT FIELD                       7  0597  L 060 283            9
  252                MCW   RID,PID       ID FIELD                                   7  0604  M 077 296           10
  253                LCA   RSEQ,PSEQ     SEQUENCE NUMBER FIELD                      7  0611  L 080 300           10
  254                MCW   RCOMM,PCOMM   COMMENT                                    7  0618  M 072 313           10
  255         SCOPE  LCA   RB,PRES       ACTUAL RESULT FIELD STARTS AS B            7  0625  L 040 262           10
  256                B     CODE1         RUN THE TEST                               4  0632  B 401               10
  257         *
  258         * RETURN HERE FOR SUCCESS
  259         *
  260         WORKED BSS   SCOPE,B      TIGHT LOOP FOR SCOPING                      5  0636  B 625 B             10
  261         * RETURN HERE FOR SUCCESS BUT NO SCOPING TEST
  262         WORKNS BSS   PRNTOK,C     PRINT CORRECT RESULT                        5  0641  B 650 C             11
  263                B     TESTD                                                    4  0646  B 660               11
  264         PRNTOK MCW   @OK@,PSTAT-4                                             7  0650  M 967 286           11
  265         PRNTIT W                                                              1  0657  2                   11
  266                CS                                                             1  0658  /                   11
  267                CS                                                             1  0659  /                   11
  268         TESTD  BSS   SCOPE,D      LOOSE LOOP -- TEST & PRINT                  5  0660  B 625 D             11
  269                B     READIT       GO DO ANOTHER TEST                          4  0665  B 510               12
  270         *
  271         * RETURN HERE FOR FAILURE
  272         *
  273         FAILED BSS   SCOPE,B      TIGHT LOOP FOR SCOPING                      5  0669  B 625 B             12
  274         * RETURN HERE FOR FAILURE BUT NO SCOPING TEST
  275         FAILNS BSS   ERRHLT,E     ERROR HALT?                                 5  0674  B 690 E             12
  276                MCW   @ERROR@,PSTAT-1                                          7  0679  M 972 289           12
  277                B     PRNTIT                                                   4  0686  B 657               12
  278         ERRHLT NOP   99           HALT 99 FOR TEST FAILURE                    4  0690  N 099               12
  279                H                                                              1  0694  .                   12
  280                B     TESTD                                                    4  0695  B 660               13
  281         *
  282         * RETURN HERE TO COMPARE B TO CORRECT AND ANNOUNCE
  283         * ERROR IF UNEQUAL.
  284         *
  285         COMPAR C     PRES,PCORR                                               7  0699  C 262 283           13
  286         TEST   BU    FAILED                                                   5  0706  B 669 /             13
  287                B     WORKED                                                   4  0711  B 636               13
  288         *
  289         * RETURN HERE TO COMPARE B TO CORRECT AND ANNOUNCE
  290         * ERROR IF UNEQUAL, WITHOUT SCOPING TEST
  291         *
  292         COMPNS C     PRES,PCORR                                               7  0715  C 262 283           13
  293         TESTNS BU    FAILNS                                                   5  0722  B 674 /             13
  294                B     WORKNS                                                   4  0727  B 641               13
  295         *
  296         * RECORD IS A HEADER.
  297         *
  298         HEADER BCE   PRNTHD,1,*    PRINT HEADERS WITH * IN 1                  8  0731  B 916 001 *         14
  299                SW    8             WORD MARKS UNDER FIRST INSTRUCTION         4  0739  , 008               14
  300                CHAIN 7               AND WIDTHS                                                    MACRO
  301                SW                                                             1  0743  ,           GEN     14
  302                SW                                                             1  0744  ,           GEN     14
  303                SW                                                             1  0745  ,           GEN     14
  304                SW                                                             1  0746  ,           GEN     14
  305                SW                                                             1  0747  ,           GEN     14
  306                SW                                                             1  0748  ,           GEN     15
  307                SW                                                             1  0749  ,           GEN     15
  308                LCA   72,CODE-200   CODE (7-72) TO PRINT AREA                  7  0750  L 072 265           15
  309                LCA   72,CODE       CODE (7-72) TO EXECUTE AREA                7  0757  L 072 465           15
  310                MCW   @01@,SWADDR#2  REFRESH CHANGED INSTRUCTIONS              7  0764  M 974 976           15
  311                MCW   @01@,ADD&3                                               7  0771  M 974 789           15
  312         SWLOOP BCE   DONESW,ADD&3,8  ALREADY SET SEVEN WORD MARKS             8  0778  B 826 789 8         15
  313         ADD    A     1-0,SWADDR    ADD LENGTH TO  SW  ADDRESS                 7  0786  A 001 976           16
  314                MCW   SWADDR,SW1&3  PLUG OFFSET INTO                           7  0793  M 976 810           16
  315                MCW   SWADDR,SW2&3    SW  INSTRUCTIONS                         7  0800  M 976 814           16
  316         SW1    SW    200-0                                                    4  0807  , 200               16
  317         SW2    SW    400-0                                                    4  0811  , 400               16
  318                A     *-6,ADD&3     BUMP WIDTH COUNTER                         7  0815  A 815 789           16
  319                B     SWLOOP        GO SET ANOTHER WORD MARK?                  4  0822  B 778               17
  320         *
  321         * DONE SETTING WORD MARKS.  FINISH THE HEADER.
  322         *
  323         DONESW BCE   DETAIL,190,   NO HEADER IF 190 IS BLANK                  8  0826  B 506 190           17
  324                SW    RID-4,RSEQ-2                                             7  0834  , 073 078           17
  325                MCW   RID,PID       TEST ID TO PRINT AREA                      7  0841  M 077 296           17
  326                MCW   RSEQ,PSEQ     SEQUENCE NUMBER TO PRINT AREA              7  0848  M 080 300           17
  327                W                                                              1  0855  2                   17
  328                WM                                                             2  0856  2 )                 17
  329                CS                                                             1  0858  /                   18
  330                CS                                                             1  0859  /                   18
  331                MCW   @--A/D FIELD---------@,PA                                7  0860  M 996 220           18
  332                MCW   @--B FIELD-----------@,PB                                7  0867  M '16 241           18
  333                MCW   @--ACTUAL RESULT-----@,PRES                              7  0874  M '36 262           18
  334                MCW   @--CORRECT RESULT----@,PCORR                             7  0881  M '56 283           18
  335                MCW   @STATUS@,290                                             7  0888  M '62 290           18
  336                MCW   @-ID--@,PID                                              7  0895  M '67 296           19
  337                MCW   @SEQ@,PSEQ                                               7  0902  M '70 300           19
  338                W                                                              1  0909  2                   19
  339                CS                                                             1  0910  /                   19
  340                CS                                                             1  0911  /                   19
  341                B     DETAIL         READ A DETAIL RECORD                      4  0912  B 506               19
  342         *
  343         * PRINT HEADERS WITH * IN 1
  344         *
  345         PRNTHD BCE   DETAIL,190,   NO HEADER IF 190 IS BLANK                  8  0916  B 506 190           19
  346                SW    RID-4,RSEQ-2                                             7  0924  , 073 078           20
  347                MCW   RID,PID       TEST ID TO PRINT AREA                      7  0931  M 077 296           20
  348                MCW   RSEQ,PSEQ     SEQUENCE NUMBER TO PRINT AREA              7  0938  M 080 300           20
  349                SW    1                                                        4  0945  , 001               20
  350                MCW   RCOMM,272                                                7  0949  M 072 272           20
  351                W     READIT                                                   4  0956  2 510               20
                     DCW   @200@                                                    3  0962              LIT     20
                     DCW   @201@                                                    3  0965              LIT     21
                     DCW   @OK@                                                     2  0967              LIT     21
                     DCW   @ERROR@                                                  5  0972              LIT     21
                     DCW   @01@                                                     2  0974              LIT     21
              SWADDR DCW   #02                                                      2  0976              AREA    21
                     DCW   @--A/D FIELD---------@                                  20  0996              LIT     21
                     DCW   @--B FIELD-----------@                                  20  1016              LIT     22
                     DCW   @--ACTUAL RESULT-----@                                  20  1036              LIT     23
                     DCW   @--CORRECT RESULT----@                                  20  1056              LIT     24
                     DCW   @STATUS@                                                 6  1062              LIT     24
                     DCW   @-ID--@                                                  5  1067              LIT     24
                     DCW   @SEQ@                                                    3  1070              LIT     24
  352                END   START                                                             / 333 080
 
 SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS  SYMBOL  ADDRESS

 ADD       786    ADDTST    467    C1        370    C2        379    CODE      465    CODE1     401    COMPAR    699
 COMPNS    715    DETAIL    506    DONESW    826    ERRHLT    690    FAILED    669    FAILNS    674    GOTIT     554
 HEADER    731    PA        220    PB        241    PCOMM     313    PCORR     283    PID       296    PRES      262
 PRNTHD    916    PRNTIT    657    PRNTOK    650    PSEQ      300    PSTAT     290    RA         20    RB         40
 RCOMM      72    RCORR      60    READIT    510    RID        77    RSEQ       80    S1        497    SCOPE     625
 START     333    SW1       807    SW2       811    SWADDR    976    SWLOOP    778    TAPEIN    541    TAPERR    531
 TEST      706    TESTD     660    TESTNS    722    V1        341    V2        350    WORKED    636    WORKNS    641
\end{verbatim}}
