LMS1  OCT 0         TEMP STORAGE FOR MSK PTR
LMS2  OCT 0         TEMP STORAGE FOR MSK PTR
LMSV1 OCT 0         PARITY (T)
LMSV2 OCT 0         PARITY (F)
LMSV3 OCT 0         AND TERM 1
LMSV4 OCT 0         AND TERM 2
LMSK1 DEF *         POINTER TO START OF 1ST MASK TBL
      OCT 41        2116A 
      OCT 3         2116B 
      OCT 140       2116C 
      OCT 101       2115A 
      OCT 101       2114A 
      OCT 101       2114B 
      OCT 140       2100A 
      OCT 100       210XX 
      OCT 40
      OCT 40
      OCT 40
      OCT 40
      OCT 40
      OCT 40
      OCT 40
LMSK2 DEF *         POINTER TO START OF 2ND MASK TBL
      OCT 100 
      OCT 200 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      SPC 3 
* 
*    LSACK PERFORMS SECOND PATTERN GENERATION 
*          FROM ADDRESS BITS IN TABLE FOR 
*          VARIOUS CPU/MEMORIES 
* 
LSACK NOP 
      LDA LACK
      STA LSACK     FORM NEW EXIT 
      LDA LSDS1,I   PICK UP MASK
      AND LADDR     AND ADDRESS BITS
      SZA           TEST FOR "0"
      ISZ LSACK 
      JMP LSACK,I   EXIT
LPFG  OCT 0 
LSDS1 OCT 0 
LSDM1 DEF *+1 
      OCT 1         210X
      OCT 0         210XX 
      SPC 2 
LDACK NOP 
      LDA LADDR     LOAD CURRENT ADDRESS
      AND LMSK3     MASK BITS 0/5 
      CPA LMSK3 
      JMP LDACK,I   EXIT
      SZA 
      ISZ LDACK 
      JMP LDACK,I   EXIT
LMSK3 OCT 101 
LJC1  JSB LACK
LJC2  JSB LDACK 
      SKP 
* 
*    LCMP SAVES CURRENT PATTERN,WRITES/READS/TESTS
*         COMPLIMENT PATTERN AND RESTORES OLD PATTERN 
*         FOR EACH LOCATION TESTED
* 
LCMP  NOP 
      LDA LGDS      LOAD GOOD DATA
      CMA           COMPLIMENT CURRENT PATTERN
      STA LHLD2     SAVE
      STA LADDR,I   WRITE IT BACK 
      LDB LADDR,I   READ IT  BACK 
      CPB LHLD2     IS OK ? 
      RSS 
      JSB LER1      NO
      LDA LGDS      RELOAD DATA 
      STA LADDR,I   WRITE IT BACK 
      JMP LCMP,I    EXIT
LGDS  OCT 0 
      SKP 
*************** LOW MEMORY RANDOM NUM.TEST *************************
* 
*    LRNT PERFORMS RANDOM PATTERN TESTING OF MEMORY 
* 
LRNT  NOP 
      LDA LB60
      STA LHLTS     SAVE HALT TYPE
      LDA LRN 
LRN0  STA LRNS      INITIALIZE RNDM NO STORAGE
      STA LRNTS 
      CLO           INDICATE WRITING MEMORY 
      LDA LFWA
      STA LADDR     INITIALIZE 1ST ADDR 
LRN1  JSB LRNG      GENERATE RNDM NUMBER
      STA LADDR,I   STORE NUMBER IN TEST ADR
      LDA LADDR 
      CPA LLWA      LAST ADDR ? 
      JMP *+3 
      ISZ LADDR     BUMP ADDR 
      JMP LRN1      NO
      STO           INDICATE READING MEMORY 
      LDA LFWA      YES 
      STA LADDR     INITIALIZE 1ST ADDR 
      LDA LRNTS 
      STA LRNS      INITIALIZE RNDM NO STORAGE
LRN2  JSB LRNG      GENERATE RNDM NUMBER
      LDB LADDR,I 
      CPB LRNS      TEST (ADR)
      RSS 
      JSB LER1      BAD 
      LDA LADDR     GOOD
      CPA LLWA      LAST ADDR ? 
      JMP *+3 
      ISZ LADDR 
      JMP LRN2      NO
      JSB LRST      TEST FOR PGM RESTART
      NOP 
      JMP *+2 
      JMP LRNT,I    EXIT
      LDA LRNS
      JMP LRN0
LRN   OCT 177777    RNDM NO 
LRNS  OCT 0         RNDM NO STORAGE 
LRNTS OCT 0 
      SKP 
* 
*    LRNG PERFORMS ACTUAL RANDOM NUMBER GENERATION
* 
* 
******** RANDOM PATTERN GENERATION *********************************
* 
*         (1) INITIALIZE PATTERN  (RPS _ 1'S) 
* 
*         (2) AND OFF BITS 11,13,14,16
* 
*         (3) FORM EXCLUSIVE OR OF BITS  (PARITY SUM) 
* 
*         (4) LEFT SHIFT RNDM PATTERN SHIFTING IN PARITY SUM
*             TO BIT O
* 
*         (5) TEST FOR ALL O'S AND DO (1) IF T, (6) IF F
* 
*         (6) EXIT
* 
LRNG  NOP 
      JSB LRST      TEST FOR PROGRAM RESTART
      LDA LRNS
      AND LRNM      MASK NO FOR BITS 11,13,14,16
      RAL           POSITION BITS 
      STA LRNS1     SAVE
      JSB LPS       FORM PARITY 
      LDA LRNS
      RAL           SHIFT 
      AND LBT0
      ADA LMSV1 
      SZA,RSS       TEST FOR "0"
      LDA LRN 
      STA LRNS      SAVE
      STA LHLD2 
      JMP LRNG,I
LRNM  OCT 132000    BIT MASK
LBT0  OCT 177776    BIT O MASK
      SKP 
* 
*    LPS  GENERATES THE PARITY OF THE BITS IN RSN1
*         GENERATOR IS A TOGGLING FLOPFLOP INITIALLY
*         CLEARED 
* 
LPS   NOP 
      LDA LDM7
      STA LRCT      INITIALIZE COUNT
      LDA LRNS1 
      CLB           CLEAR FLOP
LPS1  SLA,RSS 
      JMP LPS2
      CMB           TOGGLE FLIP FLOP
LPS2  RAL           NEXT BIT
      ISZ LRCT      LAST BIT
      JMP LPS1      NO
      SZB           TEST FOR PARITY "0" 
      JMP LPS3      "1" 
      STB LMSV1     SAVE T.P. 
      INB 
      JMP LPS4
LPS3  CLB,INB 
      STB LMSV1     SAVE T.P. 
      CLB 
LPS4  STB LMSV2     SAVE F.P. 
      JMP LPS,I     EXIT
LRNS1 OCT 0 
LDM7  DEC -7
LRCT  OCT 0         CTR STORAGE 
      SKP 
* 
*    LER1 IS THE COMMON ERROR REPORTING SUBROUTINE WHICH
* 
*         (1) CHECKS FOR ERROR HALT 
* 
*         (2) FORMS HALT TYPE 
* 
*         (3) CHECKS FOR ERROR TO BE PUT IN TABLE 
* 
LER1  NOP 
      STB LHLD1     SAVE BAD DATA 
      LDA LHLT
      IOR LHLTS     OR IN HALT TYPE 
      STA LHLT0 
      INA 
      STA LHLT1 
      LIA SWR       CHECK 
      ALF,ALF        BIT 5
      RAL,RAL 
      SSA,RSS       ON? 
      JMP *+3       NO
      JSB LETBL     YES. GO STORE 
      JMP LE2        ERRORS IN ERROR TABLE
      JSB LCHK      CHECK TO SEE IF HLT REQUESTED 
LHLT0 HLT 10B 
      LDA LADDR 
      CLB 
LHLT1 HLT 11B 
LE2   LDA LSAVA 
      LDB LSAVB 
      JMP LER1,I    EXIT
LHLD1 OCT 0         TEMP. STORAGE FOR BAD DATA
LHLD2 OCT 0         TEMP. STORAGE FOR GOOD DATA 
      SPC 2 
* 
*    LCHK CHECKS TO SEE IF ERROR HALT IS BEING REQUESTED
* 
LCHK  NOP 
      STO           SET OVERFLOW (ERROR)
      LIA SWR       ALL ENTRIES CHECKED 
      RAL,RAL 
      SLA           SUPPRESS ERROR HALT ? 
      JMP LNHLT     YES 
      LDA LHLD2 
      LDB LHLD1 
      JMP LCHK,I    NO
LNHLT LDA LCHK
      ADA B4        MODIFY RETURN ADDRESS 
      JMP A,I       RETURN
      SKP 
* 
*    LETBL PLACES ERROR IN TABLE
* 
LETBL NOP 
      LDA LADDR     ERROR ADDRESS 
      ADA M8K        IN FIRST 8K
      SSA             OF MEMORY?
      JMP LHLT0-1   YES.MUST GO HALT
      LDA LHLTS     NO.IS THIS A
      CPA L10        MOVE COMPARISON? 
      JMP LHLT0-1   YES.MUST GO HALT
      LDA LECNT     NO.CHECK TO 
      STA LCTR1      SEE IF THIS
      LDB LAT1        ADDRESS HAS ERRORED 
      LDA LADDR        BEFORE 
LCPR  EQU * 
      CPA B,I       BAD ADDRESS BEEN USED?
      JMP LCH1      YES 
      ADB B5        NO.CHECK NEXT ERROR ADDRESS 
      ISZ LCTR1     DONE? 
      JMP LCPR      NO
      JMP LCH2      YES.GO ON 
LCH1  EQU * 
      LDA B4        BUMP # OF 
      ADA B          TIMES ERROR
      ISZ A,I         COUNTER 
      JMP LE2       CONTINUE WITHOUT HALT 
      CCB           STOP AT 
      STB A,I        32K ERRORS 
      JMP LE2 
LAT1  DEF LTBL1 
LCTR1 OCT 0         COUNTER STORAGE 
LCH2  EQU * 
      LDA LAT1      POINT TO
      STA TEMP       START OF TABLE 
      STA LPNT1 
      LDA LADDR     ERROR ADDRESS 
      LDB M30K      START WITH MOD 2
LET1  EQU * 
      ADA B         IS THE ERROR
      SSA            IN THIS MODULE?
      JMP LET2      YES 
      LDA TEMP      NO.POINT TO 
      ADA B24        NEXT 4K MODULE 
      STA TEMP        ERROR TABLE LOCATION
      STA LPNT1 
      LDA LADDR     GET ERROR ADDRESS 
      ADB M10K      BUMP MODULE #(4K) 
      SZB           32K?
      JMP LET1      NO
LET2  EQU *         YES 
      LDA MB4       SET 
      STA COUNT      COUNTER
      LDB TEMP
LET3  EQU * 
      LDA B,I       GET TABLE ADDRESS ENTRY 
      SZA,RSS       ANY PREVIOUS ENTRY? 
      JMP LET4      NO.GO AHEAD & ENTER THE ERROR 
      ADB B5        YES.POINT TO NEXT ERROR 
      STB LPNT1 
      ISZ COUNT     DONE 4 ERRORS YET?
      JMP LET3      NO
      JMP LE2       YES.TABLE IS FULL FOR THIS MOD. 
LET4  EQU * 
      LDA LPNT1     MOVE TABLE POINTERS 
      INA 
      STA LPNT2 
      INA 
      STA LPNT3 
      INA 
      STA LPNT4 
      INA 
      STA LPNT5 
      LDA LADDR 
      STA LPNT1,I   SAVE BAD ADDR 
      LDA LHLD2 
      STA LPNT2,I   SAVE GOOD PTRN
      LDA LHLD1 
      STA LPNT3,I   SAVE BAD PTRN 
      CLA,INA 
      STA LPNT5,I   SAVE FIRST TIME THIS ERROR
      ISZ LCNT      BUMP TABLE COUNT
      LDA LPNT1 
      CMA,INA 
      ADA L2000 
      SSA,RSS       TEST AREA OVERLAP TABLE ? 
      JMP LETBL,I   NO
      HLT 6         SOMETHING IS WRONG
      JMP LETBL,I 
M8K   OCT -20000
COUNT BSS 1         COUNTER 
LCNT  OCT 0 
LPNT1 DEF LTBL1     POINTER TO TBL 1
LPNT2 DEF LTBL2     POINTER TO TBL 2
LPNT3 DEF LTBL3     POINTER TO TBL 3
LPNT4 DEF LTBL4     POINTER TO TBL 4
LPNT5 DEF LTBL5     POINTER TO TBL 5
      SKP 
* 
*    LRSET RESETS THE ERROR TABLE 
* 
LRSET NOP 
      CLA           CLEAR 
      LDB LAT1       ERROR
LRS1  EQU *           TABLE 
      STA B,I 
      INB 
      CPB L2000     DONE? 
      RSS 
      JMP LRS1      NO
      STA LCNT      CLEAR ERROR COUNT 
      JMP LRSET,I   EXIT
LECNT DEC -24 
      SKP 
* 
*    LMPPE PARITY/MEMORY PROTECT INT HANDLER
* 
LMPPE NOP 
      STA LSAVA     SAVE A
      STB LSAVB     SAVE B
      LDA LFRST 
      CMA,INA 
      STA LNFST     FORM NEG 1ST LOCATION ADR 
      LIA 5 
      SSA           TEST FOR
      JMP *+3                MEMORY 
      OCT 106005                    PROTECT 
      JMP LMP1+2                            INT.
      AND LMSB      READ ERROR ADR AND MASK OUT BT15
      ADA LNFST 
      SSA           IS PE IN PGM OR TEST AREA 
      JMP LPGM      PGM AREA
      LDA LHLD2     LOAD CURRENT PATTERN
      CPA LSAVB     LOAD PARITY ERROR PATTERN 
      JMP LMP1      ERROR IS BIT
LMP0  STF 5         TURN ON PARITY
      LDA LSAVA     RESTORE A 
      LDB LSAVB     RESTORE B 
      JMP LMPPE,I   EXIT
LMP1  LDB LADDR     LOAD ADDR 
      HLT 13B       PARITY ERROR
      JMP LMP0      EXIT
LPGM  LIA 5 
      AND LMSB
      LDB A,I 
      HLT 7B        A= ADDR  B= (ADDR)
      STB A,I       RESTORE (P.E. ADDR) 
      STF 5 
      JMP LPE2      RESTART 
LNFST OCT 0         STORAGE FOR FRST
LSAVA OCT 0         SAVE AREA 
LSAVB OCT 0         SAVE AREA 
LJPE  JSB LMPPE 
      SKP 
* 
*     MOVE ROUTINE
* 
*     MOVES A SECTION OF MEMORY UP OR DOWN
* 
*     CALLING SEQUENCE: 
* 
*                   CLE(MOVE UP) OR CCE(MOVE DOWN)
*                   LDA UPPER LIMIT OF BLOCK + 1
*                   LDB LOWER LIMIT OF BLOCK
*                   JSB MOVE
*                   (DESTINATION STARTING ADDRESS MUST BE IN
*                   LOCATION LADDR) 
* 
MOVE  NOP 
      STA TEMP      SAVE UPPER LIMIT
      LDA L10       SAVE
      STA LHLTS      HALT TYPE
      SEZ           UP? 
      JMP LOOP6     NO
LOOP5 EQU *         YES 
      LDA B,I       TRANSFER
      STA LADDR,I    A WORD 
      LDA LADDR,I   COMPARE 
      CPA B,I        IT 
      JMP NEXT7     OK.GO ON
      STA LSAVA     SAVE
      STB LSAVB      REGISTERS
      LDB B,I       GET GOOD DATA 
      SWP 
      STA LHLD2     SAVE GOOD DATA
      JSB LER1      GO TO ERROR ROUTINE 
NEXT7 EQU * 
      ISZ LADDR     BUMP
      INB            POINTERS 
      CPB TEMP      DONE? 
      JMP MOVE,I    YES 
      JMP LOOP5     NO
LOOP6 EQU * 
      LDA B,I       TRANSFER
      STA LADDR,I    A WORD 
      LDA LADDR,I   COMPARE 
      CPA B,I        IT 
      JMP NEXT8     OK.GO ON
      STA LSAVA     SAVE
      STB LSAVB      REGISTERS
      LDB B,I       GET GOOD DATA 
      SWP 
      STA LHLD2     SAVE GOOD DATA
      JSB LER1      GO TO ERROR ROUTINE 
NEXT8 EQU * 
      ISZ LADDR     BUMP
      INB            POINTERS 
      CPB TEMP      DONE? 
      JMP MOVE,I    YES 
      JMP LOOP6     NO
      ORG 1600B 
LTBL1 OCT 0         BAD  ADDR 
LTBL2 OCT 0         GOOD DATA 
LTBL3 OCT 0         BAD DATA
LTBL4 OCT 0         RESERVED
LTBL5 OCT 0         # TIMES ERROR AT THIS ADDRESS 
      SKP 
* 
*     *   MEMORY SIZE & COMPUTER TYPE ROUTINE 
*     OVERLAYED AFTER PROGRAM IS STARTED
* 
MEMRY NOP 
      LDA L10       SAVE
      STA PHLTS,I    HALT TYPE
      LDA B10K      START WITH  8K
      ADA B3        MOVE TO ADDRESS 3 OF PAGE FOR WRAPAROUND
AGAIN EQU * 
      CLB           CLEAR WRAPAROUND
      STB 3B
      CCB 
      STB A,I       TRY TO WRITE ONES THERE 
      CPB 3B        DID IT WRAPAROUND?
      JMP GOTIT     YES - NO MORE MEMORY
      LDB A,I       GET RESULTS 
      CPB ONES      IS IT ALL ONES? 
      JMP *+4       YES.MEMORY IS THERE 
      SZB           NO.IS IT ALL ZEROS? 
      HLT 77B,C     NO.SOMETHING IS WRONG 
      JMP GOTIT     OK NO MORE MEMORY 
      ADA B10K      MOVE UP 4K
      SSA,RSS       DID THE ADDRESS GO MINUS? 
      JMP AGAIN     NO.TRY AGAIN
GOTIT EQU *         YES 
      ADA MB10K     DROP BACK ONE 4K
      AND B70K      ELIMINATE 3B
      STA TEMP      SAVE ADDRESS
      ADA B7700     POINT TO BINARY LOADER
      LDB A,I       TRY TO READ WORD
      LDA TEMP      RESTORE A REG.
      ADA B7677 
      SZB           DID IT READ?
      IOR B100      YES THEN CHECK LOADER 
      STA LMAX      SET UPPER LIMIT MAX 
      LIA 1         CHECK FOR CONFIGURATOR
      STA 3B        SAVE S-REG
      ALF,ALF 
      ERA           PUT BIT IN  E REG 
      LDA 115B      PICK UP COMPUTER TYPE FROM CONFIGURATOR 
      ALF 
      AND B17 
      SEZ,RSS       IS CONFIG. LOADED 
      JMP *+4 
      LDA B7        SET FOR 2100
      SZB           IS IT 
      INA           NO MOVE TO 21MX 
      STA LTYPE     SAVE MACHINE TYPE 
      STA PHTYP,I 
      LDA B17       SET TIME FOR DISPLAY OF MEMORY
      CMA,INA       MAKE IT NEGATIVE
      STA LLDCM 
      LDA LMAX      GET MEMORY SIZE 
      OTA 1         PUT IT ON S-REG.
      CLB 
      INB,SZB 
      JMP *-1 
      ISZ LLDCM     TIME UP 
      JMP *-3       NO
      LDA 3B        GET ORIGINAL S-REG
      OTA 1         RESTORE IT
      SKP 
      CLA 
      STA PLPE,I    DISABLE CALLS 
      STA PHPE,I     TO THIS ROUTINE
      LDA PHPE,I    COMPARE 
      SZA,RSS        NOP
      JMP NEXT5     OK
      LDB PHPE      FORM
      STB PADDR,I    ADDRESS
      LDB A         FORM GOOD DATA
      CLA 
      STA PHLD2,I   SAVE GOOD DATA
      JSB PHER1,I   GO HALT FOR ERROR 
NEXT5 EQU * 
      LDA PLPE,I    COMPARE 
      SZA,RSS        OTHER NOP
      JMP NEXT6     OK
      LDB PLPE      FORM
      STB PADDR,I    ADDRESS
      LDB A         FORM GOOD ADDRESS 
      CLA 
      STA PHLD2,I   SAVE GOOD DATA
      JSB PHER1,I   GO HALT FOR ERROR 
NEXT6 EQU * 
      LDA TEMP      FORM START OF 
      ADA B6500      CONFIGURATOR ADDRESS 
      STA LLDCM     SAVE IT 
      LDA LTYPE     GET COMPUTER TYPE IN A REG
      JSB LRSET     CLEAR ERROR TABLE 
      JMP MEMRY,I 
MB10K OCT -10000
B3    OCT 3 
B7    OCT 7 
B17   OCT 17
B100  OCT 100 
B7700 OCT 7700
B7677 OCT 7677
B10K  OCT 10000 
B70K  OCT 70000 
ONES  OCT 177777
PLPE  DEF LPE       LINK TO LOWER CALLING ADDRESS 
PHPE  DEF HPE       LINK TO HIGH CALLING ADDRESS
PHLTS DEF HHLTS     LINK TO HIGH HALT TYPE
PHTYP DEF HTYPE     LINK TO HIGH COMPUTER TYPE
PHLD2 DEF HHLD2     LINK TO GOOD DATA IN HIGH TEST
PHER1 DEF HER1      LINK TO HIGH ERROR ROUTINE
PADDR DEF HADDR     LINK TO ADDRESS IN HIGH TEST
      HED 2100 SERIES MEMORY DIAGNOSTIC(HIGH) 
* 
*     *   START OF LOW MEMORY TEST
* 
      ORG 2000B 
      JMP HPE 
HTYPE OCT 0 
HSTBL OCT 17        TESTS 0-3 
      OCT 6         START OF TEST AREA
      OCT 1777      END OF TEST AREA
HWTBL OCT 2 
      OCT 6 
      OCT 1777
HFRST EQU HWTBL+1 
HFWA  EQU HWTBL+1 
HLAST EQU HWTBL+2 
HLWA  EQU HWTBL+2 
PMEM  DEF MEMRY     LINK TO MEMORY ROUTINE
HDM16 DEC -16       LOOP COUNT
HMMG  OCT 10
HMFG  OCT 0 
HADDR OCT 0         CURRENT WORKING ADDRESS 
HPTN1 OCT 0         DATA PATTERN 1
HPTN2 OCT 0         DATA PATTERN 2
HLPC  OCT 0         LOOP COUNTER
HBPT1 OCT 1         BIT PATTERN 1 
HBPT2 OCT 177776    BIT PATTERN 2 
HBPTS OCT 0         BIT PATTERN SAVE
HMSB  OCT 77777     BIT 15 MASK 
HB20  OCT 20
HB30  OCT 30
HB37  OCT 37
HB40  OCT 40
HB50  OCT 50
HB52  OCT 52
HB60  OCT 60
HHLTS OCT 0 
HHLT  HLT 0 
* 
* 
*    HRST TESTS SWR BIT 10 FOR PROGRAM RESTART
*         IF IT IS SET THE PROGRAM RESTARTS SKIPPING
*            HIGH MEMORY MODULE 
*         IF IT IS NOT SET A NORMAL RETURN IS MADE
* 
HRST  NOP 
      LIA SWR 
      ALF,RAL 
      SSA           TEST FOR RESTART
      JMP HTS4
      JMP HRST,I
      SKP 
* 
* 
*    HPE  START OF PROGRAM
* 
HPE   EQU * 
      JSB PMEM,I    GO FIND MEMORY SIZE & COMP. 
      LDA HTYPE 
      CPA HMMG      TEST FOR NEW TYPE 
      RSS 
      CLA 
      STA HMFG
      LDA HTYPE 
      ADA HMSK1     FORM MASK 1 POINTER 
      STA HMS1      SAVE
      LDA HTYPE 
      ADA HMSK2     FORM MASK 2 POINTER 
      STA HMS2      SAVE
      LDA HSDM1 
      STA HSDS1 
      NOP 
      NOP 
      NOP 
      NOP 
      NOP 
      LDB HJPE
      STB 5B        YES 
      JSB UPPER     SAVE LOWER PROGRAM IN TEST AREA 
HPE2  JSB HINIT     INITIALIZE INT LOC 4,5
      SKP 
* 
************** TEST SELECTION CONTROL  *****************************
* 
      LIA SWR       SAVE PROGRAM
      STA HWTBL      OPTIONS
      AND HB37      DEFAULT 
      SZA,RSS        TESTS? 
      LDA HSTBL     YES 
      STA HTSW      INITIALIZE TEST SELECT WORD 
      LDA HTSOL 
      STA HTADR     SET POINTER TO FIRST TEST ADR 
HTS2  LDA HTSW
      SLA,RSS       PERFORM TEST ?
      JMP HTS3      NO
HTS   JSB HTADR,I   YES 
      LIA SWR 
      SSA           TEST FOR HALT REQUEST 
      HLT 76B 
      LIA SWR 
      RAL,RAL 
      SSA           TEST FOR LOOP ON PGM
      JMP HTS 
HTS3  LDA HTSW
      ARS 
      STA HTSW      MODIFY TEST SELECT WD FOR NXT TST 
      ISZ HTADR 
      LDA HTADR 
      CPA HTEOL     TEST FOR LAST ADR 
      RSS 
      JMP HTS2      LOOK FOR NEXT TEST
HTS4  EQU * 
      JSB LOWER     RESTORE LOWER PROGRAM 
      JMP 130B      GO DO LOW MEMORY TEST 
HTADR BSS 1 
HTSW  BSS 1 
HTSOL DEF *+1,I 
      DEF HADRT 
      DEF HSWRD 
                                                    