1 C00   21:21 JUN 20,'83                                                                          PAGE    1
A      1                     1.000  +1,11                                                               *H00
       2                     1.010           PCC                                                        *H00
       3                     1.020  CATALOG  EQU      C'0308'                                           *H00
       4                     1.030  VERSION  EQU      C'H00'                                            *H00
       5                     1.040  TITLE    EQU      S:PT('TELEFILE CPU DIAGNOSTIC, MEMORY PROTECT ',; *H00
       6                     1.050                    '960-',CATALOG,'-',VERSION)                       *H00
       7                     1.060           SPACE                                                      *H00
       8                     1.070           SYSTEM   SIG7FDP                                           *H00
       9                     1.080           SPACE                                                      *H00
      10                   460.000  +460,463                                                            *H00
      11                   460.010  COMBTRAP LW,9     NO                SET NOT WRITTEN                 *H00
      12                   460.020           STW,9    IMAGE+19           INDICATION                     *H00
      13                   460.030           SPACE                                                      *H00
      14                   460.040           LW,11    PSW1MPV           ON T-SERIES MACHINE             *H00
      15                   460.050           CW,11    RETURN             ONLY PROTECTION VIOLATION OCCUR*H00
      16                   460.060           BE       TESTPSW1                                          *H00
      17                   460.070           SPACE                                                      *H00
      18                   460.080           LW,11    PSW1NEAP          ELSE LOOK FOR BOTH PROTECTION   *H00
      19                   460.090           B        TESTPSW1           VIOLATION AND NONEXISTANT MEMOR*H00
      20                   460.100           SPACE                                                      *H00
      21                   540.000  +540                                                                *H00
      22                   540.010           SPACE                                                      *H00
      23                   540.020           LI,14    X'4000'           BEEP ON SUCCESS                 *H00
      24                   540.030           WD,0     X'41'              ALARM RESET AT 'CYCLE'         *H00
      25                   540.040           BDR,14   %                                                 *H00
      26                   540.050           SPACE                                                      *H00
      27                  9999.999  +END
1 C00   21:21 JUN 20,'83                                                                          PAGE    2
A   .SS BA,HA,WA,DA,LF,CF,AF,AFA,NAME,NUM,ABSVAL
    .SS R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15
    .SS X1,X2,X3,X4,X5,X6,X7,SCOR,TCOR,%,%%
    .END
1 C00   21:21 JUN 20,'83                                                                          PAGE    3
A       1*                                    PCC                                                        *H00
        2*        TEXT               CATALOG  EQU      C'0308'                                           *H00
        3*        TEXT               VERSION  EQU      C'H00'                                            *H00
        4*                           TITLE    EQU      S:PT('TELEFILE CPU DIAGNOSTIC, MEMORY PROTECT ',; *H00
        5*        TEXT                                 '960-',CATALOG,'-',VERSION)                       *H00

        7*                                    SYSTEM   SIG7FDP                                           *H00

       12                            *  *** SENSE SWITCH DEFINITIONS ***
       13                            * SS1      SET=SHORT LOOP
       14                            *        RESET=NORMAL OPERATION
       15                            *
       16                            * SS2      SET=LONG LOOP
       17                            *        RESET=NORMAL OPERATION
       18                            *
       19                            * SS3      SET=REPORT
       20                            *        RESET=NORMAL OPERATION
       21                            *
       22                            * SS4      SET=SUPPRESS ERROR HALT
       23                            *        RESET=HALT ON ERROR
       24                            *
       25                            *
       26                            *  *** REGISTER USAGE ***
       27                            *
       28                            * R0     I/O,  R0 CONTAINS DEVICE ADDRESS DURING C.P. INTERRUPT HALT
       29                            * R1     TEST NUMBER IN BITS 29 THRU 31
       30                            * R2     ADDRESS FOR WRITE PROTECT TESTS
       31                            * R3     LOCK
       32                            * R4     KEY
       33                            * R5     CONTAINS COUNTER ARMING BITS DURING C.P. INTERRUPT HALT
       34                            * R6
       35                            * R7
       36                            * R8
       37                            * R9
       38                            * R10    ACTUAL PSW1               (R10 AND
       39                            * R11    EXPECTED PSW1                R11 ALSO USED FOR MMC)
       40                            * R12
       41                            * R13    ERROR COUNTER
       42                            * R14    PASS COUNTER
       43                            * R15    LINK FOR SUBROUTINE RETURNS
1 C00   21:21 JUN 20,'83                                                                          PAGE    4
A      45                            *
       46   01 00040                          ORG      X'40'       *** TRAP LOCATIONS ***
            01 00040
       47                            *
       48   01 00040    0F400060              XPSD,4   NAO               NONALLOWED OPERATION
       49   01 00041    0F000074              XPSD,0   TRAP              UNIMPLEMENTED INSTRUCTION
       50   01 00042    0F000074              XPSD,0   TRAP              STACK LIMIT
       51   01 00043    0F000074              XPSD,0   TRAP              FIXED POINT OVERFLOW
       52   01 00044    0F000074              XPSD,0   TRAP              FLOATING POINT FAULT
       53   01 00045    0F000074              XPSD,0   TRAP              UNUSED TRAP LOCATION
       54   01 00046    0F000074              XPSD,0   TRAP              WATCHDOG TIMER RUNOUT
       55   01 00047    0F000074              XPSD,0   TRAP
       56   01 00048    0F000074              XPSD,0   TRAP              CALL ONE
       57   01 00049    0F000074              XPSD,0   TRAP              CALL TWO
       58   01 0004A    0F000074              XPSD,0   TRAP              CALL THREE
       59   01 0004B    0F000074              XPSD,0   TRAP              CALL FOUR
       60                            *
       61                            *
       62   01 00052                          ORG      X'52'       *** INTERRUPT LOCATIONS ***
            01 00052
       63                            *
       64   01 00052    33100254              MTW,1    CNT1CP            COUNT PULSE INTERRUPT 1
       65   01 00053    33100255              MTW,1    CNT2CP            COUNT PULSE INTERRUPT 2
       66   01 00054    33100256              MTW,1    CNT3CP            COUNT PULSE INTERRUPT 3
       67   01 00055    33100257              MTW,1    CNT4CP            COUNT PULSE INTERRUPT 4
       68   01 00056    0F00007A              XPSD,0   PARITY            MEMORY PARITY
       69   01 00057    0F0000A6              XPSD,0   INT
       70   01 00058    0F0000A6              XPSD,0   INT
       71   01 00059    0F0000A6              XPSD,0   INT
       72   01 0005A    0F0000A6              XPSD,0   INT
       73   01 0005B    0F0000A6              XPSD,0   INT
       74   01 0005C    0F0000A6              XPSD,0   INT               I/O INTERRUPT
       75   01 0005D    0F000086              XPSD,0   CPI               CONTROL PANEL INTERRUPT
       76   01 0005E    0F0000A6              XPSD,0   INT
       77   01 0005F    0F0000A6              XPSD,0   INT
1 C00   21:21 JUN 20,'83                                                                          PAGE    5
A      79                            *
       80                            *  *** NONALLOWED OPERATION TRAP ***
       81                            *
       82   01 00060    00000000 A   NAO      PZE
       83   01 00061    00000000 A            PZE
       84   01 00062    00000064              PZE,0    %+2
       85   01 00063    00000000 A            PZE
       86   01 00064    0F0000AC              XPSD,0   RETURN
       87   01 00065    0F0000AC     NAOPV    XPSD,0   RETURN            MEMORY PROTECT VIOLATION
       88   01 00066    0F0000AC              XPSD,0   RETURN
       89   01 00067    0F0000AC              XPSD,0   RETURN
       90   01 00068    0F0000AC     NAONEA   XPSD,0   RETURN            NONEXISTENT MEMORY ADDRESS
       91   01 00069    0F0000AC     NAONPV   XPSD,0   RETURN            PROTECT VIOLATION AND NONEXIST. ADR.
       92   01 0006A    0F0000AC              XPSD,0   RETURN
       93   01 0006B    0F0000AC              XPSD,0   RETURN
       94   01 0006C    0F0000AC              XPSD,0   RETURN
       95   01 0006D    0F0000AC              XPSD,0   RETURN
       96   01 0006E    0F0000AC              XPSD,0   RETURN
       97   01 0006F    0F0000AC              XPSD,0   RETURN
       98   01 00070    0F0000AC              XPSD,0   RETURN
       99   01 00071    0F0000AC              XPSD,0   RETURN
      100   01 00072    0F0000AC              XPSD,0   RETURN
      101   01 00073    0F0000AC              XPSD,0   RETURN
      102                            *
      103                            *
      104                            *  *** OTHER TRAPS ***
      105                            *
      106   01 00074    00000000 A   TRAP     PZE
      107   01 00075    00000000 A            PZE
      108   01 00076    00000078              PZE,0    %+2
      109   01 00077    00000000 A            PZE
      110   01 00078    0F0000AC              XPSD,0   RETURN
1 C00   21:21 JUN 20,'83                                                                          PAGE    6
A     112                            *
      113                            *  *** PARITY ERROR INTERRUPT ROUTINE ***
      114                            *
      115                            * PARITY INTERRUPT SERVICE ROUTINE IS ENTERED FROM INTERRUPT LOC X'56'.
      116                            * MEMORY FAULT INDICATORS ARE STORED IN R4.  CONTENTS OF OTHER REGISTERS
      117                            * ARE UNPREDICTABLE.  LOCATION LABELED 'PARITY' CONTAINS PROGRAM ADDRESS
      118                            * AT TIME OF INTERRUPT, BUT THIS MAY BE A SHORT WAY AFTER THE INSTR
      119                            * WHERE THE FAULT ACTUALLY OCCURED.  UPON CLEARING THE WAIT, AN ATTEMPT
      120                            * IS MADE TO REINITIALIZE AND RESTART THE PROGRAM FROM THE BEGINNING.
      121                            *
      122                            *
      123                                     BOUND 8
      124                            *
      125   01 0007A    00000000 A   PARITY   PZE
      126   01 0007B    00000000 A            PZE
      127   01 0007C    0000007E              PZE,0    %+2
      128   01 0007D    00000000 A            PZE
      129   01 0007E    22F0F000 A            LI,15    X'F000'
      130   01 0007F    6DF01500 A            WD,15    X'1500'           DISARM COUNT PULSE INTERRUPTS
      131   01 00080    6C400010 A            RD,4     X'10'             RECORD MEMORY FAULT INDICATORS
      132   01 00081    2E000000 A            WAIT,0   0
      133   01 00082    0E300084              LPSD,3   RESTART           RELEASE INTERRUPT
      134                            *
      135                                     BOUND 8
      136                            *
      137   01 00084    00000100     RESTART  PZE,0    START
      138   01 00085    00000000 A            PZE
1 C00   21:21 JUN 20,'83                                                                          PAGE    7
A     140                            *
      141                            *  *** CONTROL PANEL INTERRUPT ROUTINE ***
      142                            *
      143                            * THE CONTROL PANEL INTERRUPT ROUTINE IS ENTERED FROM LOCATION X'5D'.
      144                            * THIS ROUTINE ALLOWS THE OPERATOR TO EASILY CHANGE CERTAIN PROGRAM
      145                            * PARAMETERS.  UPON INTERRUPTING, REGISTERS 0 THRU 5 ARE LOADED AND
      146                            * THEN A WAIT OCCURS.  THE OPERATOR MAY THEN MODIFY ANY OR ALL OF
      147                            * THESE REGISTERS TO SELECT A DIFFERENT OUTPUT DEVICE, SELECT A
      148                            * PARTICULAR TEST, LOCK AND KEY COMBINATION, OR A SPECIFIC WRITE
      149                            * ADDRESS FOR THE WRITE PROTECTION TEST.  THE SENSE SWITCHES (1 OR 2)
      150                            * MAY BE SET TO LOOP ON THE SELECTED TEST CONDITIONS.  AFTER MAKING
      151                            * THE DESIRED CHANGES, THE WAIT SHOULD BE CLEARED TO CONTINUE.
      152                            *
      153                            * REGISTERS R0 THRU R5 ARE SET UP AS FOLLOWS:
      154                            *
      155                            *        R0       BITS  0-16        ZERO VALUE: EDIT FOR TYPEWRITER
      156                            *                                   NONZERO VALUE: EDIT FOR LINE PRINTER
      157                            *
      158                            *                 BITS 21-31        OUTPUT IOP/DEVICE ADDRESS
      159                            *
      160                            *        R1       BITS 29-31        TEST NUMBER  (EQUALS 00 THRU 07)
      161                            *
      162                            *        R2       BITS 15-31        MEMORY ADDRESS FOR WRITE PROTECT
      163                            *                                   TESTS (MUST HAVE 1'S IN BITS 23-31)
      164                            *
      165                            *        R3       BITS 30-31        LOCK
      166                            *
      167                            *        R4       BITS 30-31        KEY
      168                            *
      169                            *        R5       BITS 16-19        ARM AND ENABLE BITS FOR COUNT PULSE
      170                            *                                   INTERRUPTS (OTHER BITS ARE NOT
      171                            *                                   SIGNIFICANT).  THESE MAY BE MODIFIED
      172                            *                                   AT ANY TIME BUT ARE NOT EFFECTIVE
      173                            *                                   UNTIL AFTER 20TH PASS.
1 C00   21:21 JUN 20,'83                                                                          PAGE    8
A     175                            *
      176                                     BOUND 8    CONTROL PANEL INTERRUPT ROUTINE (CONTINUED)
      177                            *
      178   01 00086    00000000 A   CPI      PZE
      179   01 00087    00000000 A            PZE
      180   01 00088    0000008A              PZE,0    %+2
      181   01 00089    00000000 A            PZE
      182   01 0008A    32000270              LW,0     DVC
      183   01 0008B    3210026B              LW,1     TESTNUM
      184   01 0008C    3220026C              LW,2     ADDRESS
      185   01 0008D    32300279              LW,3     LOCK
      186   01 0008E    3240027A              LW,4     KEY
      187   01 0008F    3250026F              LW,5     INTRC
      188   01 00090    22F0F000 A            LI,15    X'F000'
      189   01 00091    6DF01500 A            WD,15    X'1500'           DISABLE COUNT PULSE INTERRUPTS
      190   01 00092    2E000000 A   CPIWAIT  WAIT     0
      191   01 00093    35000270              STW,0    DVC               STORE DEVICE ADDRESS
      192   01 00094    4B10024E              AND,1    W29T31
      193   01 00095    3510026B              STW,1    TESTNUM           STORE TEST NUMBER
      194   01 00096    4B200246              AND,2    W15T31            CLEAR BITS 0-14
      195   01 00097    4920024B              OR,2     W23T31            INSERT 1'S IN BITS 23 THRU 31
      196   01 00098    3520026C              STW,2    ADDRESS           STORE ADDRESS FOR WRITE PROTECT TEST
      197   01 00099    4B30024F              AND,3    W30T31
      198   01 0009A    35300279              STW,3    LOCK              STORE LOCK VALUE
      199   01 0009B    4B40024F              AND,4    W30T31
      200   01 0009C    3540027A              STW,4    KEY               STORE KEY VALUE
      201   01 0009D    4B500247              AND,5    W16T19
      202   01 0009E    3550026F              STW,5    INTRC             STORE COUNTER BITS
      203   01 0009F    32E0026A              LW,14    PASSES
      204   01 000A0    21E00014 A            CI,14    20
      205   01 000A1    682000A4              BLE      %+3               USE COUNT
      206   01 000A2    20500810 A            AI,5     X'810'              PULSE ARMING BITS IMMEDIATELY
      207   01 000A3    3550026E              STW,5    INTR                  IF PASS COUNT IS OVER 20.
      208   01 000A4    0E3000B4              LPSD,3   ENTER             RELEASE INTERRUPT
1 C00   21:21 JUN 20,'83                                                                          PAGE    9
A     210                            *
      211                            *  *** INTERRUPTS OTHER THAN CONTROL PANEL OR PARITY ***
      212                            *
      213                                     BOUND 8
      214   01 000A6    00000000 A   INT      PZE
      215   01 000A7    00000000 A            PZE
      216   01 000A8    000000AA              PZE,0    %+2
      217   01 000A9    00000000 A            PZE
      218   01 000AA    0F0000AC              XPSD,0   RETURN
      219                            *
      220                            *
      221                            * *** RETURN FROM TRAP OR ERRONEOUS INTERRUPT ***
      222                            *
      223                                     BOUND 8
      224   01 000AC    00000000 A   RETURN   PZE
      225   01 000AD    00000000 A            PZE
      226   01 000AE    000000B0              PZE,0    DEADSTOP          THIS LOCATION IS MODIFIED TO WRITE+3
      227   01 000AF    00000000 A            PZE                          DURING TEST WRITE.
      228                            *
      229                            *
      230                            *  *** HALT FOR ERRONEOUS TRAP OR INTERRUPT ***
      231                            *
      232   01 000B0    22F0F000 A   DEADSTOP LI,15    X'F000'
      233   01 000B1    6DF01500 A            WD,15    X'1500'           DISABLE COUNTERS
      234   01 000B2    2E000000 A            WAIT     0                 ERRONEOUS FAULT HALT
      235   01 000B3    0E300084              LPSD,3   RESTART           START OVER
      236                            *
      237                            *
      238                            *  *** ENTRANCE FROM CONTROL PANEL INTERRUPT ROUTINE ***
      239                            *
      240                                     BOUND 8
      241   01 000B4    0000011E     ENTER    PZE,0    CYCLE
      242   01 000B5    00000000 A            PZE
1 C00   21:21 JUN 20,'83                                                                          PAGE   10
A     244                            *
      245   01 000F9                          ORG      X'F9'
            01 000F9
      246                            *
      247                            *  *** INITIALIZE ***
      248                            *
      249   01 000F9    3200026D     LOADED   LW,0     BTO100            MOVE BRANCH-TO-START
      250   01 000FA    35000026 A            STW,0    X'26'               TO LOCATION X'26'
      251   01 000FB    6C000000 A            RD,0     0
      252   01 000FC    68800100              BCR,8    START
      253   01 000FD    22000000 A            LI,0     0
      254   01 000FE    3500026F              STW,0    INTRC
      255   01 000FF    2E000000 A            WAIT     0
      256   01 00100    220000B0     START    LI,0     DEADSTOP
      257   01 00101    350000AE              STW,0    RETURN+2          INITIALIZE RETURN
      258   01 00102    22100000 A            LI,1     0
      259   01 00103    3510026B              STW,1    TESTNUM           INITIALIZE TEST NUMBER
      260   01 00104    222001FF A            LI,2     X'1FF'
      261   01 00105    3520026C              STW,2    ADDRESS           INITIALIZE ADDRESS
      262   01 00106    22300000 A            LI,3     0
      263   01 00107    35300279              STW,3    LOCK              INITIALIZE LOCK
      264   01 00108    22400000 A            LI,4     0
      265   01 00109    3540027A              STW,4    KEY               INITIALIZE KEY
      266   01 0010A    22D00000 A            LI,13    0
      267   01 0010B    35D00269              STW,13   ERRORS            INITIALIZE ERROR COUNT
      268   01 0010C    22E00000 A            LI,14    0
      269   01 0010D    35E0026A              STW,14   PASSES            INITIALIZE PASS COUNT
      270   01 0010E    22500810 A            LI,5     X'810'
      271   01 0010F    3550026E              STW,5    INTR              INITIALIZE REG. BITS FOR INTERRUPTS
      272   01 00110    226FFFCD A            LI,6     -51
      273   01 00111    35600272              STW,6    LINE              INITIALIZE LINE COUNT FOR TYPEWRITER
      274   01 00112    226FFFFE A            LI,6     -2
      275   01 00113    35600273              STW,6    FIRST             INITIALIZE FIRST PASS
      276   01 00114    35600274              STW,6    FIRSTL              INDICATORS FOR PRINT OUT
1 C00   21:21 JUN 20,'83                                                                          PAGE   11
A     278                            *
      279                            *  *** COMPUTE MEMORY SIZE ***
      280                            *
      281   01 00115    22F0011C              LI,15    SAVEMS
      282   01 00116    46F000AE              XW,15    RETURN+2          MODIFY TRAP RETURN
      283   01 00117    226FFFFF A            LI,6     -1
      284   01 00118    20600200 A   NOTDUN   AI,6     X'200'
      285   01 00119    328C0001 A            LW,8     1,6               ATTEMPT TO STIMULATE NEA TRAP
      286   01 0011A    2161FFFF A            CI,6     X'1FFFF'          TEST FOR MAXIMUM MEMORY
      287   01 0011B    69100118              BL       NOTDUN
      288   01 0011C    35600268     SAVEMS   STW,6    MEMSIZE           SAVE ADDRESS OF HIGHEST LOCATION
      289   01 0011D    35F000AE              STW,15   RETURN+2          RESET TRAP RETURN
1 C00   21:21 JUN 20,'83                                                                          PAGE   12
A     291                            *
      292                            * EACH PASS THRU THE TEST BEGINS HERE WITH  TEST NUMBER = 0; LOCK = 0;
      293                            * AND KEY = 0.  THE PASS AND ERROR COUNTERS ARE TESTED AND IF THE FIRST
      294                            * TWENTY PASSES ARE COMPLETED WITHOUT ERROR,  THE COUNT PULSE INTERRUPTS
      295                            * ARE AUTOMATICALLY ARMED AND ENABLED FOR ALL SUBSEQUENT PASSES.
      296                            *
      297   01 0011E    226FFFFF A   CYCLE    LI,6     -1
      298   01 0011F    6D601100 A            WD,6     X'1100'           DISARM INTERRUPTS
      299   01 00120    220000B0              LI,0     DEADSTOP
      300   01 00121    350000AE              STW,0    RETURN+2          REINITIALIZE RETURN
      301   01 00122    6D000040 A            WD,0     X'40'             TURN OFF ALARM
      302   01 00123    32E0026A              LW,14    PASSES
      303   01 00124    21E00014 A            CI,14    20                TEST PASS COUNT
      304   01 00125    6930012E              BNE      ARM
      305   01 00126    32D00269              LW,13    ERRORS            TEST ERROR COUNT
      306   01 00127    6930012E              BNEZ     ARM
      307   01 00128    3290026F              LW,9     INTRC
      308   01 00129    6830012E              BEZ      ARM               TEST COUNTER ENABLING BITS
      309   01 0012A    49900242              OR,9     W2027             ARM AND ENABLE
      310   01 0012B    3590026E              STW,9    INTR                    COUNT PULSE INTERRUPTS
      311   01 0012C    22000176              LI,0     DA(CNTRDW)
      312   01 0012D    6AF00239              BAL,15   PRINT             NOTIFY OPR OF COUNTERS BEING ARMED
      313   01 0012E    3290026E     ARM      LW,9     INTR
      314   01 0012F    6D901200 A            WD,9     X'1200'           ARM AND ENABLE INTERRUPTS
1 C00   21:21 JUN 20,'83                                                                          PAGE   13
A     316                            *
      317                            *
      318                            *
      319                            * THE TWO LEAST SIGNIFICANT BITS OF THE TEST NUMBER ARE SPREAD
      320                            * THRU THE 16 WORDS OF THE LOCK CONTROL IMAGE.
      321                            *
      322   01 00130    3260026B     LOCKLOAD LW,6     TESTNUM           PICK UP TEST NUMBER
      323   01 00131    4B60024F              AND,6    W30T31            SELECT TWO LEAST SIG. BITS
      324   01 00132    327C0250              LW,7     L0,6              PICK UP LOCK WORD
      325   01 00133    226FFFF0 A            LI,6     -16
      326   01 00134    357C0298              STW,7    CONTIMG+16,6      SPREAD LOCK CONTROL WORD THRUOUT
      327   01 00135    65600134              BIR,6    %-1                 LOCK CONTROL IMAGE
      328   01 00136    12A0027E              LD,10    MMCR1
      329   01 00137    21100004 A            CI,1     4
      330   01 00138    6810013A              BGE      KEYLOAD           BYPASS THIS MMC IF TEST NO. 4-7
      331   01 00139    6FA20000 A            MMC,10   1                 LOAD ALL LOCKS IF DOING TESTS 0-3
      332                            *
      333                            *
      334                            *
      335                            * THE CURRENT KEY VALUE IS ACCESSED AND INSERTED IN THE PSW2 WHICH
      336                            * WILL BE SET UP WHEN THE WRITE TEST TAKES PLACE.
      337                            *
      338   01 0013A    3240027A     KEYLOAD  LW,4     KEY               PICK UP KEY
      339   01 0013B    4B40024F              AND,4    W30T31            MASK OUT EXTRANEOUS BITS
      340   01 0013C    35400006 A            STW,4    6
      341   01 0013D    2560001C A            SLS,6    28
      342   01 0013E    35600283              STW,6    PSDW+1            INSERT IN PSW2
1 C00   21:21 JUN 20,'83                                                                          PAGE   14
A     344                            *
      345                            * THE REGISTER WORDS ARE SET UP FOR THE MMC TO LOAD THE LOCK UNDER TEST.
      346                            * IN TESTS 00 THRU 03, ONE WORD IS WRITTEN INTO THE LOCKS, WITH THE LOCK
      347                            * UNDER TEST ALWAYS IN THE LAST BYTE WRITTEN.
      348                            * IN TESTS 04 THRU 07, SIXTEEN WORDS ARE WRITTEN INTO THE LOCKS, WITH
      349                            * THE LOCK UNDER TEST ALWAYS IN THE FIRST BYTE WRITTEN.
      350                            *
      351   01 0013F    3260026C     LOCKSET  LW,6     ADDRESS           PICK UP ADDRESS FOR CONTROL START
      352   01 00140    3210026B              LW,1     TESTNUM
      353   01 00141    21100004 A            CI,1     4
      354   01 00142    68100146              BGE      SETMMCR1          TEST NO. = 4 THRU 7
      355   01 00143    206FE800 A            AI,6     -X'1800'          SUBTRACT 3 FROM CONTROL START BITS
      356   01 00144    12A00280              LD,10    MMCR2             SET UP TO LOAD ONE LOCK WORD
      357   01 00145    68000147              B        %+2
      358   01 00146    12A0027E     SETMMCR1 LD,10    MMCR1             SET UP TO LOAD ALL LOCKS
      359   01 00147    4B600248              AND,6    W15T20
      360   01 00148    49B00006 A            OR,11    6                 INSERT CONTROL START BITS
      361   01 00149    4960027B              OR,6     COUNT1
      362   01 0014A    3560027D              STW,6    MMCR0+1
      363   01 0014B    15A00286              STD,10   MMCR
      364   01 0014C    3260026C              LW,6     ADDRESS           PICK UP ADDRESS TO DETERMINE
      365   01 0014D    25600078 A            SLS,6    -8                  WHICH LOCK IS TO BE LOADED
      366   01 0014E    4B60024D              AND,6    W29T30
      367   01 0014F    3A600006 A            LCW,6    6                 NEGATE
      368   01 00150    32900243              LW,9     W0T1              LOAD MASK
      369   01 00151    32800289              LW,8     CONTIMG+1
      370   01 00152    32700279              LW,7     LOCK
      371   01 00153    2570027E A            SCS,7    -2
      372   01 00154    4A800007 A            LS,8     7
      373   01 00155    258C0200 A            SCS,8    0,6               SHIFT LOCK INTO POSITION
      374   01 00156    21100004 A            CI,1     4
      375   01 00157    68100159              BGE      %+2
      376   01 00158    25800208 A            SCS,8    8                 SHIFT TO BYTE 3 IF DOING TESTS 00-03
      377   01 00159    35800288              STW,8    CONTIMG
      378   01 0015A    6D000040 A            WD,0     X'40'             TURN OFF ALARM
1 C00   21:21 JUN 20,'83                                                                          PAGE   15
A     380                            *
      381                            *
      382                            * AN MMC IS PERFORMED TO LOAD THE LOCKS AS SET UP ON THE PREVIOUS PAGE.
      383                            * THE KEY IS SET UP AND A WRITE IS ATTEMPTED FROM LOCATION LABELED
      384                            * WRITE.  THE KEY IS THEN SET TO 00 AND RESULTS ARE TESTED.  THE
      385                            * LOCATION ADDRESSED BY THE WRITE IS INITIALLY LOADED WITH A PATTERN
      386                            * OF ALTERNATING ONES AND ZEROS IF IT IS WITHIN IMPLEMENTED MEMORY.
      387                            *
      388   01 0015B    12A00286     SHORT    LD,10    MMCR              CYCLE HERE FOR SHORT LOOP MODE
      389   01 0015C    6FA20000 A            MMC,10   1                 LOAD LOCKS
      390   01 0015D    3220026C              LW,2     ADDRESS
      391   01 0015E    35200275              STW,2    IA                SET UP INDIRECT ADDRESS
      392   01 0015F    31200268              CW,2     MEMSIZE
      393   01 00160    69200163              BG       %+3
      394   01 00161    32700252              LW,7     L2
      395   01 00162    B5700275              STW,7    *IA               STORE PATTERN
      396   01 00163    22600169              LI,6     WRITE+3
      397   01 00164    356000AE              STW,6    RETURN+2          MODIFY RETURN
      398   01 00165    0E000282              LPSD,0   PSDW              SET KEY
      399                            ************************************************************************
      400   01 00166    B5200275     WRITE    STW,2    *IA               TEST WRITE PROTECT
      401                            ************************************************************************
      402   01 00167    0E000284              LPSD,0   PSDW1             CLEAR KEY
      403   01 00168    0F0000AC              XPSD,0   RETURN            SAVE INDICATION OF RETURN ROUTE
      404   01 00169    220000B0              LI,0     DEADSTOP
      405   01 0016A    350000AE              STW,0    RETURN+2          RESET RETURN TO DEADSTOP
      406   01 0016B    6C000000 A            RD,0     0                 READ SS1
      407   01 0016C    6980015B              BCS,8    SHORT             SHORT LOOP
      408   01 0016D    21100004 A            CI,1     4                 CHECK TEST NUMBER
      409   01 0016E    68100171              BGE      %+3
      410   01 0016F    12A0027C              LD,10    MMCR0
      411   01 00170    6FA20000 A            MMC,10   1                 RESET LOCK JUST TESTED
1 C00   21:21 JUN 20,'83                                                                          PAGE   16
A     413                            *
      414                            *  *** VERIFICATION OF RESULTS ***
      415                            *
      416                            * USING THE LOCK, KEY, ADDRESS, AND MEMORY SIZE, THE EXPECTED RESULTS
      417                            * ARE DETERMINED AND COMPARED WITH ACTUAL RESULTS.
      418                            *
      419   01 00171    22900000 A            LI,9     0
      420   01 00172    35900261              STW,9    ERRIND            CLEAR ERROR INDICATOR
      421   01 00173    32300279              LW,3     LOCK
      422   01 00174    6830019D              BEZ      NOPROT            LOCK = 0
      423   01 00175    3240027A              LW,4     KEY
      424   01 00176    6830019D              BEZ      NOPROT            KEY = 0
      425   01 00177    3130027A              CW,3     KEY
      426   01 00178    6830019D              BE       NOPROT            LOCK = KEY
      427   01 00179    3220026C              LW,2     ADDRESS
      428   01 0017A    31200268              CW,2     MEMSIZE
      429   01 0017B    69200192              BG       COMBTRAP          COMBINATION NEA MPV TRAP EXPECTED
      430   01 0017C    32B0025A              LW,11    PSW1MPV           MPV TRAP EXPECTED
      431   01 0017D    32900252              LW,9     L2
      432   01 0017E    31940000 A            CW,9     0,2               DID ADDRESSED LOCATION CHANGE
      433   01 0017F    69300199              BNE      WRTERR1             YES
      434   01 00180    3290025E              LW,9     NO                  NO
      435   01 00181    359002E2              STW,9    IMAGE+19
1 C00   21:21 JUN 20,'83                                                                          PAGE   17
A     437                            *
      438                            *      VERIFICATION OF RESULTS (CONTINUED)
      439                            *
      440   01 00182    32A000AC     TESTPSW1 LW,10    RETURN
      441   01 00183    31A0000B A            CW,10    11                COMPARE EXPECTED AND ACTUAL PSW1
      442   01 00184    693001AE              BNE      WRONGPSW
      443   01 00185    329002E3              LW,9     BLANK
      444   01 00186    359002DB              STW,9    IMAGE+12          CLEAR PSW1 ERROR MARKER IN PRINTOUT
      445   01 00187    32900261              LW,9     ERRIND
      446   01 00188    693001B1              BNEZ     COUNTERR          TEST ERROR INDICATOR
      447   01 00189    6C000000 A            RD,0     0                 READ SS3 (REQUEST FOR REPORT)
      448   01 0018A    682001BD              BCR,2    CLRERR            NO REPORT
      449   01 0018B    6AF00234              BAL,15   TSTDVC            TEST OUTPUT DEVICE
      450   01 0018C    6AF001DF              BAL,15   EDIT              RETURN HERE IF AVAILABLE
      451   01 0018D    680001BD              B        CLRERR
      452   01 0018E    2290F000 A            LI,9     X'F000'           RETURN HERE IF UNAVAILABLE
      453   01 0018F    6D901500 A            WD,9     X'1500'           DISABLE COUNTER INTERRUPTS
      454   01 00190    2E000000 A            WAIT     0                 REPORT HALT
      455   01 00191    680001BD              B        CLRERR
1 C00   21:21 JUN 20,'83                                                                          PAGE   18
A     457                            *
      458                            *      VERIFICATION OF RESULTS (CONTINUED)
      459                            *
        1*  01 00192    3290025E     COMBTRAP LW,9     NO                SET NOT WRITTEN                 *H00
        2*  01 00193    359002E2              STW,9    IMAGE+19           INDICATION                     *H00

        4*  01 00194    32B0025A              LW,11    PSW1MPV           ON T-SERIES MACHINE             *H00
        5*  01 00195    31B000AC              CW,11    RETURN             ONLY PROTECTION VIOLATION OCCUR*H00
        6*  01 00196    68300182              BE       TESTPSW1                                          *H00

        8*  01 00197    32B0025B              LW,11    PSW1NEAP          ELSE LOOK FOR BOTH PROTECTION   *H00
        9*  01 00198    68000182              B        TESTPSW1           VIOLATION AND NONEXISTANT MEMOR*H00

      464   01 00199    3290025D     WRTERR1  LW,9     YESERR
      465   01 0019A    359002E2              STW,9    IMAGE+19          INDICATE WRITE ERROR
      466   01 0019B    33100261              MTW,1    ERRIND            SET ERROR INDICATOR
      467   01 0019C    68000182              B        TESTPSW1
      468   01 0019D    3220026C     NOPROT   LW,2     ADDRESS
      469   01 0019E    31200268              CW,2     MEMSIZE
      470   01 0019F    692001AA              BG       NEATRAP           EXPECT NEA TRAP
      471   01 001A0    32B00258              LW,11    PSW1NO            NO TRAP EXPECTED
      472   01 001A1    31240000 A            CW,2     0,2               DID WRITE OCCUR
      473   01 001A2    693001A6              BNE      WRTERR2             NO
      474   01 001A3    3290025C              LW,9     YES                 YES
      475   01 001A4    359002E2              STW,9    IMAGE+19          INDICATE WRITE
      476   01 001A5    68000182              B        TESTPSW1
      477   01 001A6    3290025F     WRTERR2  LW,9     NOERR
      478   01 001A7    359002E2              STW,9    IMAGE+19          INDICATE WRITE ERROR
      479   01 001A8    33100261              MTW,1    ERRIND            SET ERROR INDICATOR
      480   01 001A9    68000182              B        TESTPSW1
      481   01 001AA    32B00259     NEATRAP  LW,11    PSW1NEA           LOAD R11 FOR NEA TRAP
      482   01 001AB    3290025E              LW,9     NO
      483   01 001AC    359002E2              STW,9    IMAGE+19          INDICATE NO WRITE
      484   01 001AD    68000182              B        TESTPSW1
      485   01 001AE    33100261     WRONGPSW MTW,1    ERRIND            SET ERROR INDICATOR
      486   01 001AF    32900260              LW,9     ASTR
      487   01 001B0    359002DB              STW,9    IMAGE+12          INSERT ERROR MARKER FOR PRINTOUT
1 C00   21:21 JUN 20,'83                                                                          PAGE   19
A     489                            *
      490                            *      VERIFICATION OF RESULTS (CONTINUED)
      491                            *
      492   01 001B1    32D00269     COUNTERR LW,13    ERRORS
      493   01 001B2    20D00001 A            AI,13    1                 INCREMENT ERROR COUNTER
      494   01 001B3    35D00269              STW,13   ERRORS
      495   01 001B4    6D000041 A            WD,0     X'41'             TURN ON ALARM
      496   01 001B5    6AF00234              BAL,15   TSTDVC            TEST OUTPUT DEVICE
      497   01 001B6    6AF001DF              BAL,15   EDIT                RETURN HERE IF DEVICE AVAILABLE
      498   01 001B7    02200000 A            LCI,0    0                     NO OP
      499   01 001B8    6C000000 A   READSS4  RD,0     0                   RETURN HERE IF DEVICE UNAVAILABLE
      500   01 001B9    691001BD              BCS,1    CLRERR            NO HALT ON ERROR
      501   01 001BA    2290F000 A            LI,9     X'F000'
      502   01 001BB    6D901500 A            WD,9     X'1500'           DISABLE COUNTER INTERRUPTS
      503   01 001BC    2E000000 A            WAIT     0                 ERROR HALT
      504   01 001BD    22900000 A   CLRERR   LI,9     0
      505   01 001BE    35900261              STW,9    ERRIND            CLEAR ERROR INDICATOR






      507                            *  *** TESTING OF RESULTS COMPLETED ***
      508                            *          *** DO NEXT TEST ***
1 C00   21:21 JUN 20,'83                                                                          PAGE   20
A     510                            *
      511                            * CHECK SENSE SWITCHES AND LOOP OR INCREMENT THE
      512                            * APPROPRIATE VALUE FOR THE NEXT TEST.
      513                            *
      514   01 001BF    6C000000 A            RD,0     0                 READ SS1 AND SS2
      515   01 001C0    69C0013F              BCS,12   LOCKSET           LOOP
      516   01 001C1    3220026C              LW,2     ADDRESS
      517   01 001C2    20200200 A            AI,2     X'200'            INCREMENT ADDRESS
      518   01 001C3    3520026C              STW,2    ADDRESS
      519   01 001C4    2121FFFF A            CI,2     X'1FFFF'          TEST ADDRESS
      520   01 001C5    6820013F              BLE      LOCKSET           NOT FINISHED
      521   01 001C6    222001FF A            LI,2     X'1FF'
      522   01 001C7    3520026C              STW,2    ADDRESS           REINITIALIZE ADDRESS
      523   01 001C8    32300279     NEXTLOCK LW,3     LOCK
      524   01 001C9    20300001 A            AI,3     1                 INCREMENT LOCK
      525   01 001CA    4B30024F              AND,3    W30T31
      526   01 001CB    35300279              STW,3    LOCK
      527   01 001CC    6930013F              BNEZ     LOCKSET           TEST LOCK
      528   01 001CD    3240027A     NEXTKEY  LW,4     KEY
      529   01 001CE    20400001 A            AI,4     1                 INCREMENT KEY
      530   01 001CF    4B40024F              AND,4    W30T31
      531   01 001D0    3540027A              STW,4    KEY
      532   01 001D1    6930013A              BNEZ     KEYLOAD           TEST KEY
      533   01 001D2    3210026B     NEXTTEST LW,1     TESTNUM
      534   01 001D3    20100001 A            AI,1     1                 INCREMENT TEST NUMBER
      535   01 001D4    4B10024E              AND,1    W29T31
      536   01 001D5    3510026B              STW,1    TESTNUM
      537   01 001D6    69300130              BNEZ     LOCKLOAD          TEST THE TEST NUMBER
      538   01 001D7    32E0026A     NEXTPASS LW,14    PASSES
      539   01 001D8    20E00001 A            AI,14    1                 INCREMENT PASS COUNT
      540   01 001D9    35E0026A              STW,14   PASSES

        2*  01 001DA    22E04000 A            LI,14    X'4000'           BEEP ON SUCCESS                 *H00
        3*  01 001DB    6D000041 A            WD,0     X'41'              ALARM RESET AT 'CYCLE'         *H00
        4*  01 001DC    64E001DC              BDR,14   %                                                 *H00

      541   01 001DD    6800011E              B        CYCLE             START A NEW PASS THRU ENTIRE TEST
1 C00   21:21 JUN 20,'83                                                                          PAGE   21
A     543                            *  *** EDIT SUBROUTINE ***
      544                            *
      545                            * THE EDIT ROUTINE PREPARES THE REPORT DATA FOR PRINTOUT, INSERTS IT
      546                            * IN THE PRINTOUT AREA, THEN PRINTS IT ON THE SELECTED OUTPUT DEVICE
      547                            *
      548   01 001DE    00000000 A   EDITLINK PZE,0    0
      549   01 001DF    35F001DE     EDIT     STW,15   EDITLINK          SAVE RETURN LINKAGE
      550   01 001E0    52920264              LH,9     TESTNO,1
      551   01 001E1    559002D1              STH,9    IMAGE+2           INSERT TEST NUMBER FOR PRINTOUT
      552   01 001E2    52960262              LH,9     NUMBERS,3
      553   01 001E3    559002D9              STH,9    IMAGE+10          INSERT LOCK
      554   01 001E4    52980262              LH,9     NUMBERS,4
      555   01 001E5    22500001 A            LI,5     1
      556   01 001E6    559A02DA              STH,9    IMAGE+11,5        INSERT KEY
      557   01 001E7    32900269              LW,9     ERRORS
      558   01 001E8    225B000D A            LI,5     X'B000D'
      559   01 001E9    6AF00200              BAL,15   CONVERT           CONVERT ERROR COUNT
      560   01 001EA    3290026A              LW,9     PASSES
      561   01 001EB    225B0015 A            LI,5     X'B0015'
      562   01 001EC    6AF00200              BAL,15   CONVERT           CONVERT PASS COUNT
      563   01 001ED    3290026C              LW,9     ADDRESS
      564   01 001EE    225B001E A            LI,5     X'B001E'
      565   01 001EF    6AF00200              BAL,15   CONVERT           CONVERT ADDRESS
      566   01 001F0    3290000A A            LW,9     10
      567   01 001F1    22580033 A            LI,5     X'80033'
      568   01 001F2    6AF00200              BAL,15   CONVERT           CONVERT PSW1
      569   01 001F3    3290000B A            LW,9     11
      570   01 001F4    2258003E A            LI,5     X'8003E'
      571   01 001F5    6AF00200              BAL,15   CONVERT           CONVERT EXPECTED PSW1
      572                            *
      573                            * TEST MOST SIGNIFICANT HALF OF DEVICE ADDRESS WORD
      574                            *
      575   01 001F6    52000270              LH,0     DVC
      576   01 001F7    69300221              BNEZ     LISTOUT           USE LINE PRINTER IF NONZERO
      577   01 001F8    68000211              B        TYPEOUT           USE TYPEWRITER IF ZERO
1 C00   21:21 JUN 20,'83                                                                          PAGE   22
A     579                            *
      580                            *  *** CONVERT SUBROUTINE ***
      581                            *
      582                            * HEXADECIMAL CHARACTERS ARE CONVERTED TO EBCDIC AND STORED IN THE
      583                            * PRINT-OUT IMAGE AREA.  PRIOR TO ENTERING THIS ROUTINE, THE MAIN
      584                            * PROGRAM MUST LOAD REGISTERS R5 AND R9 AS FOLLOWS:
      585                            *
      586                            *        R5       BITS 00-15  = NEGATIVE COUNT OF CHARACTERS (1 TO 8)
      587                            *                 BITS 16-31  = FIRST BYTE OF IMAGE TO BE LOADED
      588                            *
      589                            *        R9       WORD TO BE CONVERTED
      590                            *
      591                            *
      592   01 00200                          ORG      X'200'            AVOID 1ST TEST WRITE LOCATION(1FF)
            01 00200
      593   01 00200    22800008 A   CONVERT  LI,8     8                 8 INTO R8
      594   01 00201    50800005 A            AH,8     5                 ADD NEGATIVE CHARACTER COUNT
      595   01 00202    68300205              BEZ      %+3               DIFF = 0  (IE. COUNT = FULL WORD)
      596   01 00203    25800002 A            SLS,8    2                 MULTIPLY BY 4
      597   01 00204    A5900008 A            SLS,9    *8                SHIFT OUT CHARACTERS NOT USED
      598   01 00205    52600005 A            LH,6     5                 NEGATIVE CHARACTER COUNT INTO R6
      599   01 00206    4B50024A              AND,5    W16T31            MASK OUT COUNT LEAVING BYTE ADDRESS
      600   01 00207    22800000 A   CLR8     LI,8     0                 CLEAR R8
      601   01 00208    25800104 A            SLD,8    4                 ONE CHARACTER TO R8
      602   01 00209    21800009 A            CI,8     9
      603   01 0020A    6920020C              BCS,2    %+2               CONVERT
      604   01 0020B    20800039 A            AI,8     X'39'              TO
      605   01 0020C    208000B7 A            AI,8     X'B7'               EBCDIC
      606   01 0020D    758A02CF              STB,8    IMAGE,5           PUT CONVERTED BYTE INTO IMAGE
      607   01 0020E    20500001 A            AI,5     1                 INCREMENT BYTE INDEX
      608   01 0020F    65600207              BIR,6    CLR8              DO ANOTHER CHARACTER
      609   01 00210    E800000F A            B        *15               EXIT
1 C00   21:21 JUN 20,'83                                                                          PAGE   23
A     611                            *
      612                            *
      613                            *  *** TYPEWRITER OUTPUT ROUTINE ***
      614                            *
      615                            * THE FOLLOWING CODE TESTS THE FIRST PASS INDICATOR AND THE LINE COUNT.
      616                            * IF FIRST TIME THRU, TITLE AND HEADING ARE PRINTED.  IF AT BOTTOM OF
      617                            * PAGE, PAPER IS UPSPACED TO NEW PAGE BEFORE PRINTING.  ERROR OR REPORT
      618                            * MESSAGE IS THEN PRINTED.
      619                            *
      620   01 00211    32C00272     TYPEOUT  LW,12    LINE              GET LINE COUNT (INITIALLY=-51)
      621   01 00212    32D00273              LW,13    FIRST             GET FIRST PASS INDICATOR
      622   01 00213    65D00217              BIR,13   SKIP6             FIRST TIME THRU
      623   01 00214    65C0021C              BIR,12   MSGOUT            LINE COUNT NOT ZERO
      624   01 00215    22000172              LI,0     DA(DSIXNL)
      625   01 00216    6AF00239              BAL,15   PRINT             UPSPACE 6 LINES
      626   01 00217    22000173     SKIP6    LI,0     DA(DTITLE)
      627   01 00218    6AF00239              BAL,15   PRINT             NEW PAGE TITLE
      628   01 00219    22000174              LI,0     DA(DHEAD)
      629   01 0021A    6AF00239              BAL,15   PRINT             NEW HEADING
      630   01 0021B    22CFFFCD A            LI,12    -51               RESET LINE COUNT
      631   01 0021C    22000175     MSGOUT   LI,0     DA(DMSG)
      632   01 0021D    6AF00239              BAL,15   PRINT             PRINT REPORT OR ERROR
      633   01 0021E    35C00272              STW,12   LINE              SAVE NEW LINE COUNT
      634   01 0021F    35D00273              STW,13   FIRST             SAVE NEW FIRST PASS INDICATOR
      635   01 00220    E80001DE              B        *EDITLINK
1 C00   21:21 JUN 20,'83                                                                          PAGE   24
A     637                            *
      638                            *
      639                            *  *** LINE PRINTER OUTPUT ROUTINE ***
      640                            *
      641                            * THE FIRST PASS INDICATOR IS MODIFIED AND TESTED.  IF ON FIRST PASS
      642                            * THE PRINTER IS SET TO TOP OF PAGE AND THE TITLE AND HEADING ARE
      643                            * PRINTED.  IF NOT ON FIRST PASS, THE PRINTER IS TESTED FOR TOP OF
      644                            * PAGE SO THAT THE TITLE AND HEADING MAY BE PRINTED AT THE TOP OF
      645                            * EVERY PAGE.  THE ERROR OR REPORT MESSAGE IS THEN PRINTED.
      646                            *
      647   01 00221    32D00274     LISTOUT  LW,13    FIRSTL            FIRST PASS INDICATOR
      648   01 00222    65D00231              BIR,13   TOPSET            FIRST PASS
      649   01 00223    CEB00270              TDV,11   *DVC
      650   01 00224    68800227              BCR,8    %+3
      651   01 00225    68400223              BCR,4    %-2               SIOP BUSY
      652   01 00226    E80001DE              B        *EDITLINK
      653   01 00227    31B00276              CW,11    MOVEBIT           TEST FOR PAPER IN MOTION
      654   01 00228    69400223              BCS,4    %-5
      655   01 00229    31B00277              CW,11    TOPBIT            TEST FOR TOP OF PAGE
      656   01 0022A    6840022D              BCR,4    LISTMSG
      657   01 0022B    22000178              LI,0     DA(LTTL)
      658   01 0022C    6AF00239              BAL,15   PRINT             PRINT TITLE AND HEADING
      659   01 0022D    2200017C     LISTMSG  LI,0     DA(LMSG)          LOAD R0 FOR REPORT
      660   01 0022E    6AF00239              BAL,15   PRINT             PRINT MESSAGE
      661   01 0022F    35D00274              STW,13   FIRSTL            SAVE FIRST PASS INDICATOR
      662   01 00230    E80001DE              B        *EDITLINK
      663   01 00231    22000177     TOPSET   LI,0     DA(LTOP)
      664   01 00232    6AF00239              BAL,15   PRINT             UPSPACE PRINTER TO TOP OF PAGE
      665   01 00233    6800022D              B        LISTMSG
1 C00   21:21 JUN 20,'83                                                                          PAGE   25
A     667                            *
      668                            *
      669                            * TSTDVC ROUTINE TESTS AVAILABILITY OF OUTPUT DEVICE.  IF DEVICE IS
      670                            * AVAILABLE, RETURN IS MADE TO ADDRESS IN LINK REGISTER 15.  IF DEVICE
      671                            * IS NOT AVAILABLE, RETURN IS MADE TO THAT ADDRESS+2.
      672                            *
      673   01 00234    CF000270     TSTDVC   HIO,0    *DVC
      674   01 00235    CD000270              TIO,0    *DVC
      675   01 00236    E8C0000F A            BCR,12   *15               SIO POSSIBLE
      676   01 00237    20F00002 A            AI,15    2
      677   01 00238    E800000F A            B        *15               DEVICE NOT OPERATIONAL
      678                            *
      679                            *
      680                            * PRINT ROUTINE ASSUMES PROGRAM HAS ALREADY LOADED R0 FOR THE OUTPUT
      681                            * OPERATION.  SIO IS ISSUED TO START OUTPUT DEVICE FOLLOWED BY TIO
      682                            * TO TEST STATUS.  ROUTINE LOOPS ON TIO UNTIL STATUS INDICATES
      683                            * THAT DEVICE IS NO LONGER BUSY OR HAS BECOME UNAVAILABLE OR
      684                            * INOPERATIVE.
      685                            *
      686                            * ENTRY IS MADE VIA THE INSTRUCTION ---  BAL,15   PRINT
      687                            *
      688                            *
      689   01 00239    CC000270     PRINT    SIO,0    *DVC              START DEVICE
      690   01 0023A    CDB00270     PRTIO    TIO,11   *DVC              TEST DEVICE
      691   01 0023B    6880023E              BCR,8    %+3
      692   01 0023C    6840023A              BCR,4    %-2               REPEAT TIO IF SIOP BUSY
      693   01 0023D    E800000F A            B        *15
      694   01 0023E    4BB00271              AND,11   BUSYBITS
      695   01 0023F    31B00271              CW,11    BUSYBITS
      696   01 00240    6830023A              BE       PRTIO             REPEAT TIO IF DEVICE BUSY
      697   01 00241    E800000F A            B        *15               EXIT WHEN NOT BUSY
1 C00   21:21 JUN 20,'83                                                                          PAGE   26
A     699                            *
      700                            ************************************************************************
      701                            * CONSTANTS AND WORKING STORAGE
      702                            *
      703   01 00242    00000810 A   W2027    DATA     X'00000810'
      704   01 00243    C0000000 A   W0T1     DATA     X'C0000000'
      705   01 00244    FFF80000 A   W0T12    DATA     X'FFF80000'
      706   01 00245    00070000 A   W13T15   DATA     X'00070000'
      707   01 00246    0001FFFF A   W15T31   DATA     X'0001FFFF'
      708   01 00247    0000F000 A   W16T19   DATA     X'0000F000'
      709   01 00248    0001F800 A   W15T20   DATA     X'0001F800'
      710   01 00249    0000FFF0 A   W16T27   DATA     X'0000FFF0'
      711   01 0024A    0000FFFF A   W16T31   DATA     X'0000FFFF'
      712   01 0024B    000001FF A   W23T31   DATA     X'000001FF'
      713   01 0024C    000000FF A   W24T31   DATA     X'000000FF'
      714   01 0024D    00000006 A   W29T30   DATA     X'00000006'
      715   01 0024E    00000007 A   W29T31   DATA     X'00000007'
      716   01 0024F    00000003 A   W30T31   DATA     X'00000003'
      717                            *
      718   01 00250    00000000 A   L0       DATA     X'00000000'
      719   01 00251    55555555 A   L1       DATA     X'55555555'
      720   01 00252    AAAAAAAA A   L2       DATA     X'AAAAAAAA'
      721   01 00253    FFFFFFFF A   L3       DATA     X'FFFFFFFF'
      722                            *
      723   01 00254    00000000 A   CNT1CP   DATA     0
      724   01 00255    00000000 A   CNT2CP   DATA     0
      725   01 00256    00000000 A   CNT3CP   DATA     0
      726   01 00257    00000000 A   CNT4CP   DATA     0
      727                            *
      728   01 00258    00000169     PSW1NO   PZE,0    WRITE+3           PSW1 FOR NO TRAP
      729   01 00259    40000069     PSW1NEA  GEN,4,28 4,NAONEA+1        PSW1 FOR NONEXISTENT ADDRESS TRAP
      730   01 0025A    10000066     PSW1MPV  GEN,4,28 1,NAOPV+1         PSW1 FOR MEMORY WRITE PROTECT TRAP
      731   01 0025B    5000006A     PSW1NEAP GEN,4,28 5,NAONPV+1        PSW1 FOR NEA AND WRT PROT TRAP
1 C00   21:21 JUN 20,'83                                                                          PAGE   27
A     733                            *
      734   01 0025C    40E8C5E2 A   YES      TEXT     ' YES'
      735   01 0025D    5CE8C5E2 A   YESERR   TEXT     '*YES'
      736   01 0025E    40D5D640 A   NO       TEXT     ' NO '
      737   01 0025F    5CD5D640 A   NOERR    TEXT     '*NO '
      738   01 00260    40405C40 A   ASTR     TEXT     '  * '
      739   01 00261    00000000 A   ERRIND   DATA     0
      740   01 00262    F0F0F0F1 A   NUMBERS  TEXT     '00011011'
            01 00263    F1F0F1F1 A
      741   01 00264    F0F0F0F1 A   TESTNO   TEXT     '0001020304050607'
            01 00265    F0F2F0F3 A
            01 00266    F0F4F0F5 A
            01 00267    F0F6F0F7 A
      742   01 00268    00000000 A   MEMSIZE  DATA     0
      743   01 00269    00000000 A   ERRORS   DATA     0
      744   01 0026A    00000000 A   PASSES   DATA     0
      745   01 0026B    00000000 A   TESTNUM  DATA     0
      746   01 0026C    000000FF A   ADDRESS  DATA     X'FF'
      747   01 0026D    68000100 A   BTO100   DATA     X'68000100'
      748   01 0026E    00000810 A   INTR     DATA     X'00000810'
      749   01 0026F    0000F000 A   INTRC    DATA     X'0000F000'
      750   01 00270    00000001 A   DVC      DATA     1
      751   01 00271    60000000 A   BUSYBITS GEN,4,28 6,0
      752   01 00272    FFFFFFCD A   LINE     DATA     -51
      753   01 00273    FFFFFFFE A   FIRST    DATA     -2
      754   01 00274    FFFFFFFE A   FIRSTL   DATA     -2
      755   01 00275    00000000 A   IA       PZE      0
      756   01 00276    08000000 A   MOVEBIT  DATA     X'08000000'
      757   01 00277    10000000 A   TOPBIT   DATA     X'10000000'
      758   01 00278    F1000000 A   TOPFORM  DATA     X'F1000000'
      759   01 00279    00000000 A   LOCK     DATA     0
      760   01 0027A    00000000 A   KEY      DATA     0
      761   01 0027B    01000000 A   COUNT1   DATA     X'01000000'
1 C00   21:21 JUN 20,'83                                                                          PAGE   28
A     763                            *
      764                                     BOUND 8
      765                            *
      766   01 0027C    00000289     MMCR0    PZE,0    CONTIMG+1
      767   01 0027D    01000000 A            GEN,8,24 1,0
      768   01 0027E    00000288     MMCR1    PZE,0    CONTIMG           USED FOR LOADING ALL LOCKS
      769   01 0027F    10000000 A            GEN,8,24 16,0
      770   01 00280    00000288     MMCR2    PZE      CONTIMG
      771   01 00281    01000000 A            GEN,8,24 1,0
      772   01 00282    00000166     PSDW     DATA     WRITE
      773   01 00283    00000000 A            DATA     0
      774   01 00284    00000168     PSDW1    DATA     WRITE+2
      775   01 00285    00000000 A            DATA     0
      776   01 00286    00000000 A   MMCR     DATA     0
      777   01 00287    00000000 A            DATA     0
1 C00   21:21 JUN 20,'83                                                                          PAGE   29
A     779                            *
      780                            *
      781   01 00288    00000000 A   CONTIMG  DATA     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
            01 00289    00000000 A
            01 0028A    00000000 A
            01 0028B    00000000 A
            01 0028C    00000000 A
            01 0028D    00000000 A
            01 0028E    00000000 A
            01 0028F    00000000 A
            01 00290    00000000 A
            01 00291    00000000 A
            01 00292    00000000 A
            01 00293    00000000 A
            01 00294    00000000 A
            01 00295    00000000 A
            01 00296    00000000 A
            01 00297    00000000 A
      782                            *
      783   01 00298    15151515 A   TTL      TEXT     '






                            '
            01 00299    15151540 A
            01 0029A    40404040 A
            01 0029B    40404040 A
            01 0029C    40404040 A
            01 0029D    40404040 A
            01 0029E    40404040 A
            01 0029F    40404040 A
            01 002A0    40404040 A
      784   01 002A1    404040D7 A            TEXT     '   PROTECT ERROR DISPLAY'
            01 002A2    D9D6E3C5 A
            01 002A3    C3E340C5 A
            01 002A4    D9D9D6D9 A
            01 002A5    40C4C9E2 A
            01 002A6    D7D3C1E8 A
1 C00   21:21 JUN 20,'83                                                                          PAGE   30
A     786                            *
      787   01 002A7    15C3D5E3 A   CNTRMSG  TEXT     '
CNT PULSE INTERRUPTS ARMED ON NEXT PASS. --'
            01 002A8    40D7E4D3 A
            01 002A9    E2C540C9 A
            01 002AA    D5E3C5D9 A
            01 002AB    D9E4D7E3 A
            01 002AC    E240C1D9 A
            01 002AD    D4C5C440 A
            01 002AE    D6D540D5 A
            01 002AF    C5E7E340 A
            01 002B0    D7C1E2E2 A
            01 002B1    4B406060 A
      788   01 002B2    40C9D5E3 A            TEXT     ' INTERRUPT AND CLEAR R5 TO DISARM.'
            01 002B3    C5D9D9E4 A
            01 002B4    D7E340C1 A
            01 002B5    D5C440C3 A
            01 002B6    D3C5C1D9 A
            01 002B7    40D9F540 A
            01 002B8    E3D640C4 A
            01 002B9    C9E2C1D9 A
            01 002BA    D44B4040 A
1 C00   21:21 JUN 20,'83                                                                          PAGE   31
A     790                            *
      791                            *
      792   01 002BB    15404040 A   HDG      TEXT     '
      TEST  ERRORS  PASSES  ADDRESS   LOCK  KEY'
            01 002BC    404040E3 A
            01 002BD    C5E2E340 A
            01 002BE    40C5D9D9 A
            01 002BF    D6D9E240 A
            01 002C0    40D7C1E2 A
            01 002C1    E2C5E240 A
            01 002C2    40C1C4C4 A
            01 002C3    D9C5E2E2 A
            01 002C4    404040D3 A
            01 002C5    D6C3D240 A
            01 002C6    40D2C5E8 A
      793   01 002C7    40404040 A            TEXT     '     PSW1   EXPECTED PSW1  WROTE'
            01 002C8    40D7E2E6 A
            01 002C9    F1404040 A
            01 002CA    C5E7D7C5 A
            01 002CB    C3E3C5C4 A
            01 002CC    40D7E2E6 A
            01 002CD    F14040E6 A
            01 002CE    D9D6E3C5 A
1 C00   21:21 JUN 20,'83                                                                          PAGE   32
A     795                            *
      796                            *
      797   01 002CF    15404040 A   IMAGE    TEXT     '
                                       '
            01 002D0    40404040 A
            01 002D1    40404040 A
            01 002D2    40404040 A
            01 002D3    40404040 A
            01 002D4    40404040 A
            01 002D5    40404040 A
            01 002D6    40404040 A
            01 002D7    40404040 A
            01 002D8    40404040 A
      798   01 002D9    40404040 A            TEXT     '                                        '
            01 002DA    40404040 A
            01 002DB    40404040 A
            01 002DC    40404040 A
            01 002DD    40404040 A
            01 002DE    40404040 A
            01 002DF    40404040 A
            01 002E0    40404040 A
            01 002E1    40404040 A
            01 002E2    40404040 A
      799                                     BOUND 4
      800   01 002E3    40404040 A   BLANK    TEXT     '    '
1 C00   21:21 JUN 20,'83                                                                          PAGE   33
A     802                            *
      803                            *  *** COMMAND DOUBLEWORDS FOR TYPEWRITER ***
      804                            *
      805                                     BOUND 8
      806                            *
      807   01 002E4    05000A60     DSIXNL   GEN,8,24 5,BA(TTL)         SIX NEW LINE CHARACTERS
      808   01 002E5    08000006 A            GEN,8,24 8,6
      809   01 002E6    05000A60     DTITLE   GEN,8,24 5,BA(TTL)         TITLE
      810   01 002E7    0800003C A            GEN,8,24 8,60
      811   01 002E8    05000AEC     DHEAD    GEN,8,24 5,BA(HDG)         HEADING
      812   01 002E9    08000050 A            GEN,8,24 8,80
      813   01 002EA    05000B3C     DMSG     GEN,8,24 5,BA(IMAGE)       REPORT
      814   01 002EB    08000050 A            GEN,8,24 8,80
      815   01 002EC    05000A9C     CNTRDW   GEN,8,24 5,BA(CNTRMSG)     COMMAND DOUBLEWORD FOR
      816   01 002ED    0200004E A            DATA     X'0200004E'         INTERRUPT MESSAGE PRINT OUT
      817                            *
      818                            *
      819                            *  *** COMMAND DOUBLEWORDS FOR LINE PRINTER ***
      820                            *
      821   01 002EE    030009E0     LTOP     GEN,8,24 3,BA(TOPFORM)     TOP OF PAGE ORDER
      822   01 002EF    28000001 A            DATA     X'28000001'       COMMAND CHAIN
      823   01 002F0    01000B8C     LTTL     GEN,8,24 1,BA(BLANK)       SKIP
      824   01 002F1    8B000006 A            DATA     X'8B000006'       DATA CHAIN
      825   01 002F2    01000A67              GEN,8,24 1,BA(TTL)+7       TITLE
      826   01 002F3    2A000035 A            DATA     X'2A000035'       COMMAND CHAIN
      827   01 002F4    01000B8C     LHEAD    GEN,8,24 1,BA(BLANK)       SKIP
      828   01 002F5    8B000006 A            DATA     X'8B000006'       DATA CHAIN
      829   01 002F6    01000AED              GEN,8,24 1,BA(HDG)+1       HEADING
      830   01 002F7    0A00004F A            DATA     X'0A00004F'
      831   01 002F8    01000B8C     LMSG     GEN,8,24 1,BA(BLANK)
      832   01 002F9    8B000006 A            DATA     X'8B000006'       SKIP, DATA CHAIN
      833   01 002FA    01000B3D              GEN,8,24 1,BA(IMAGE)+1
      834   01 002FB    0A00004F A            DATA     X'0A00004F'
      835         01 000F9                    END      LOADED

  CONTROL SECTION SUMMARY: 01 002FC   PT 0
  * NO UNDEFINED SYMBOLS
  *    ERROR SEVERITY LEVEL: 0
  * NO ERROR LINES
1 C00   21:21 JUN 20,'83                                                                          PAGE   34
A  ADDRESS          184/LW       196/STW      261/STW      351/LW       364/LW       390/LW       427/LW
       468/LW       516/LW       518/STW      522/STW      563/LW       746-DATA
   ARM              304/BNE      306/BNEZ     308/BEZ      313-LW
   ASTR             486/LW       738-TEXT
   BLANK            443/LW       800-TEXT     823/GEN      827/GEN      831/GEN
   BTO100           249/LW       747-DATA
   BUSYBITS         694/AND      695/CW       751-GEN
   CATALOG          0.2-EQU      0.4/EQU
   CLRERR           448/BCR      451/B        455/B        500/BCS      504-LI
   CLR8             600-LI       608/BIR
   CNTRDW           311/LI       815-GEN
   CNTRMSG          787-TEXT     815/GEN
   CNT1CP            64/MTW      723-DATA
   CNT2CP            65/MTW      724-DATA
   CNT3CP            66/MTW      725-DATA
   CNT4CP            67/MTW      726-DATA
   COMBTRAP         429/BG     459.1-LW
   CONTIMG          326/STW      369/LW       377/STW      766/PZE      768/PZE      770/PZE      781-DATA
   CONVERT          559/BAL      562/BAL      565/BAL      568/BAL      571/BAL      593-LI
   COUNTERR         446/BNEZ     492-LW
   COUNT1           361/OR       761-DATA
   CPI               75/XPSD     178-PZE
   CPIWAIT          190-WAIT
   CYCLE            241/PZE      297-LI       541/B
   DEADSTOP         226/PZE      232-LI       256/LI       299/LI       404/LI
   DHEAD            628/LI       811-GEN
   DMSG             631/LI       813-GEN
   DSIXNL           624/LI       807-GEN
   DTITLE           626/LI       809-GEN
   DVC              182/LW       191/STW      575/LH       649/TDV*     673/HIO*     674/TIO*     689/SIO*
       690/TIO*     750-DATA
   EDIT             450/BAL      497/BAL      549-STW
   EDITLINK         548-PZE      549/STW      635/B*       652/B*       662/B*
   ENTER            208/LPSD     241-PZE
   ERRIND           420/STW      445/LW       466/MTW      479/MTW      485/MTW      505/STW      739-DATA
   ERRORS           267/STW      305/LW       492/LW       494/STW      557/LW       743-DATA
   FIRST            275/STW      621/LW       634/STW      753-DATA
   FIRSTL           276/STW      647/LW       661/STW      754-DATA
   HDG              792-TEXT     811/GEN      829/GEN
   IA               391/STW      395/STW*     400/STW*     755-PZE
   IMAGE            435/STW      444/STW    459.2/STW      465/STW      475/STW      478/STW      483/STW
       487/STW      551/STH      553/STH      556/STH      606/STB      797-TEXT     813/GEN      833/GEN
   INT               69/XPSD      70/XPSD      71/XPSD      72/XPSD      73/XPSD      74/XPSD      76/XPSD
        77/XPSD     214-PZE
   INTR             207/STW      271/STW      310/STW      313/LW       748-DATA
   INTRC            187/LW       202/STW      254/STW      307/LW       749-DATA
   KEY              186/LW       200/STW      265/STW      338/LW       423/LW       425/CW       528/LW
       531/STW      760-DATA
   KEYLOAD          330/BGE      338-LW       532/BNEZ
   LHEAD            827-GEN
   LINE             273/STW      620/LW       633/STW      752-DATA
   LISTMSG          656/BCR      659-LI       665/B
   LISTOUT          576/BNEZ     647-LW
   LMSG             659/LI       831-GEN
   LOADED           249-LW       835/END
   LOCK             185/LW       198/STW      263/STW      370/LW       421/LW       523/LW       526/STW
       759-DATA
   LOCKLOAD         322-LW       537/BNEZ
   LOCKSET          351-LW       515/BCS      520/BLE      527/BNEZ
   LTOP             663/LI       821-GEN
   LTTL             657/LI       823-GEN
   L0               324/LW       718-DATA
   L1               719-DATA
   L2               394/LW       431/LW       720-DATA
   L3               721-DATA
   MEMSIZE          288/STW      392/CW       428/CW       469/CW       742-DATA
   MMCR             363/STD      388/LD       776-DATA
   MMCR0            362/STW      410/LD       766-PZE
   MMCR1            328/LD       358/LD       768-PZE
   MMCR2            356/LD       770-PZE
   MOVEBIT          653/CW       756-DATA
   MSGOUT           623/BIR      631-LI
   NAO               48/XPSD      82-PZE
   NAONEA            90-XPSD     729/GEN
   NAONPV            91-XPSD     731/GEN
   NAOPV             87-XPSD     730/GEN
   NEATRAP          470/BG       481-LW
   NEXTKEY          528-LW
   NEXTLOCK         523-LW
   NEXTPASS         538-LW
   NEXTTEST         533-LW
   NO               434/LW     459.1/LW       482/LW       736-TEXT
   NOERR            477/LW       737-TEXT
   NOPROT           422/BEZ      424/BEZ      426/BE       468-LW
   NOTDUN           284-AI       287/BL
   NUMBERS          552/LH       554/LH       740-TEXT
   PARITY            68/XPSD     125-PZE
   PASSES           203/LW       269/STW      302/LW       538/LW       540/STW      560/LW       744-DATA
   PRINT            312/BAL      625/BAL      627/BAL      629/BAL      632/BAL      658/BAL      660/BAL
       664/BAL      689-SIO
   PRTIO            690-TIO      696/BE
   PSDW             342/STW      398/LPSD     772-DATA
   PSDW1            402/LPSD     774-DATA
   PSW1MPV          430/LW     459.4/LW       730-GEN
   PSW1NEA          481/LW       729-GEN
   PSW1NEAP       459.8/LW       731-GEN
   PSW1NO           471/LW       728-PZE
   READSS4          499-RD
   RESTART          133/LPSD     137-PZE      235/LPSD
   RETURN            86/XPSD      87/XPSD      88/XPSD      89/XPSD      90/XPSD      91/XPSD      92/XPSD
        93/XPSD      94/XPSD      95/XPSD      96/XPSD      97/XPSD      98/XPSD      99/XPSD     100/XPSD
       101/XPSD     110/XPSD     218/XPSD     224-PZE      257/STW      282/XW       289/STW      300/STW
       397/STW      403/XPSD     405/STW      440/LW     459.5/CW
   S:PT             0.4/EQU
   SAVEMS           281/LI       288-STW
   SETMMCR1         354/BGE      358-LD
   SHORT            388-LD       407/BCS
   SKIP6            622/BIR      626-LI
   START            137/PZE      252/BCR      256-LI
   TESTNO           550/LH       741-TEXT
   TESTNUM          183/LW       193/STW      259/STW      322/LW       352/LW       533/LW       536/STW
       745-DATA
   TESTPSW1         440-LW     459.6/BE     459.9/B        467/B        476/B        480/B        484/B
   TITLE            0.4-EQU
   TOPBIT           655/CW       757-DATA
   TOPFORM          758-DATA     821/GEN
   TOPSET           648/BIR      663-LI
   TRAP              49/XPSD      50/XPSD      51/XPSD      52/XPSD      53/XPSD      54/XPSD      55/XPSD
        56/XPSD      57/XPSD      58/XPSD      59/XPSD     106-PZE
   TSTDVC           449/BAL      496/BAL      673-HIO
   TTL              783-TEXT     807/GEN      809/GEN      825/GEN
   TYPEOUT          577/B        620-LW
   VERSION          0.3-EQU      0.4/EQU
   WRITE            396/LI       400-STW      728/PZE      772/DATA     774/DATA
   WRONGPSW         442/BNE      485-MTW
   WRTERR1          433/BNE      464-LW
   WRTERR2          473/BNE      477-LW
   W0T1             368/LW       704-DATA
   W0T12            705-DATA
   W13T15           706-DATA
   W15T20           359/AND      709-DATA
   W15T31           194/AND      707-DATA
   W16T19           201/AND      708-DATA
   W16T27           710-DATA
   W16T31           599/AND      711-DATA
   W2027            309/OR       703-DATA
   W23T31           195/OR       712-DATA
   W24T31           713-DATA
   W29T30           366/AND      714-DATA
   W29T31           192/AND      535/AND      715-DATA
   W30T31           197/AND      199/AND      323/AND      339/AND      525/AND      530/AND      716-DATA
   YES              474/LW       734-TEXT
   YESERR           464/LW       735-TEXT
