ASMB,A,B,L,C
      HED           DIAGNOSTIC CONFIGURATOR  (DSN 000200) 
      ORG 2 
      SUP 
A     EQU 0 
B     EQU 1 
SC    EQU 0 
INTP  EQU 0 
SWREG EQU 1 
DMA2  EQU 2 
DMA6  EQU 6 
MPRT  EQU 5 
      JMP 130B      GO TO START OF PRETEST
      OCT 106077
      REP 15
      OCT 106077,106077,106077,106077 
* 
*         LINK TABLE
* 
START JMP CFIG,I    GO DIRECT TO CONFIGURATION
DRI   DEF LDVR      DATA RECORD INPUT 
COD   DEF CNSLO     CONSOLE OUTPUT DRIVER 
LPD   DEF LNPTR     LINE PRINTER DRIVER 
CID   DEF CNSLI     CONSOLE INPUT DRIVER
FWA   OCT 130       FIRST WORD OF AVBL. MEMORY
LWA   DEF LWAA      LAST WORD OF AVBL. MEMORY 
DLP   DEF LOAD      DIAG. LOADER PROGRAM
      DEC -252      1 MILSEC. TIME COUNT
DRISC OCT 0         DATA RECORD INPUT SELECT CODE 
CODSC OCT 0         CONSOLE OUTPUT SELECT CODE
LPDSC OCT 0         LINE PRINTER SELECT CODE
CIDSC OCT 0         CONSOLE INPUT SELECT CODE 
CTO   NOP           COMPUTER TYPE/OPTIONS 
      NOP           USER CARD TYPE AND SELECT CODE
MEM   NOP           MEMORY SIZE 
      JSB DLP,I     GO TO DIAG. LOADER PROGRAM
WAIT  DEF TMR       1 MILL SEC TIMER ROUTINE
SWRC  DEF SWR       CHECK SWITCH REG
D2AS  DEF D2ASC     DECIMAL TO ASCII CONVERSION 
O2AS  DEF O2ASC     OCTAL TO ASCII CONVERSION 
AS2N  DEF ASC2N     ASCII TO BINARY CONVERSION
DSN   OCT 000200    CONF. SERIAL NUMBER 
FMTO  DEF FMTR      FORMATTED OUTPUT
      SKP 
*     ONLY SINGLE OPERATION INSTRUCTIONS ARE TESTED.
*     IT IS ASSUMED THAT COMBINATIONS AFTER INITIAL 
*     TEST WILL WORK(NOT NECESSARILY TRUE BUT NECESSARY). 
* 
*     INSTRUCTIONS ARE TESTED IN THE FOLLOWING SEQUENCE:
* 
*     RSS  SOS  SOC  STO  CLO  CLE  SEZ  CCE  CME 
* 
*     CLA  CCA  CPA  SZA  STA  LDA  INA  CMA  SSA  SLA (B-REG INCLUSIVE)
* 
*     STA B,I  STB A,I  LDA B,I  LDB A,I  CPA B,I  CPB A,I
* 
*     JMP (BP)  JSB (BP)  JSB (BP),I TO (BP)
* 
*     GENERAL MEMORY TEST (FIRST 4K ONLY) 
* 
*     AND  XOR  IOR  ISZ  ADA  ADB
* 
*     MEMORY ADDRESS, PATTERN & WORST CASE TEST (ABOVE 4K ONLY) 
* 
*     CURRENT PAGE / BASE PAGE  JMP  LDA  STA  CPA  JSB 
* 
*     ALS  ARS  RAL  RAR  ALR  ALF  (BITS 8-6)
* 
*     ALS  ARS  RAL  RAR  ALR  ALF  (BITS 2-0)
* 
*     ELA  ERA  (BITS 8-6)  ELA  ERA  (BITS 2-0)
* 
* 
*     ANY ERROR ENCOUNTERED WILL BE INDICATED BY
*     A HALT 66B  (102066)
ERH   EQU 66B 
*     REFER TO LISTING AT THE M-REG. ADDRESS FOR DETAILS IF 
*     A HALT OCCURS.
*     FOR REFERENCES (BP) = BASE PAGE  AND (CP) = CURRENT PAGE
      SPC 5 
*     ARITHMETIC SETTING OF E & O REGISTERS (INA ADA  INB ADB)
* 
*     EXTEND & OVERFLOW REGISTER RESULTS
* 
* 
*    AD* MEM  TO REG.   =     REG.   OVF  EXT 
*         +       +            +      0    0
*         +       +            -      1    0
*         +       -            +      0    1
*         -       +            +      0    1
*         -       +            -      0    0
*         +       -            -      0    0
*         -       -            -      0    1
*         -       -            +      1    1
      SKP 
*                   PRE-TEST PART A (BP)
* 
      CLC INTP,C    GENERATE CRS
      RSS 
HLT0  HLT ERH       RSS FAILED OR I/O CAUSED SKIP 
* 
      STA DISN      SAVE A-REG. FOR LATER 
      STB DIBP      SAVE B-REG FOR LATER ALSO 
      CLA 
      STA SWRX      CLEAR S-REG. FLAG IF RESTART. 
      STA BIOSC     CLEAR BASIC I/O SELECT CODE 
* 
PTLP  STO           START HERE IF PRE TEST LOOP 
      SOC 
      SOS 
      HLT ERH       STO / SOC / SOS 
      CLO 
      SOS 
      SOC 
      HLT ERH       CLO / SOS / SOC 
      CLE 
      SEZ,RSS 
      SEZ 
      HLT ERH       CLE / SEZ,RSS / SEZ 
      CCE 
      SEZ 
      SEZ,RSS 
      HLT ERH       CCE / SEZ / SEZ,RSS 
      CME 
      SEZ,RSS 
      SEZ 
      HLT ERH       CME / SEZ / SEZ,RSS 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      CLA 
      CCB 
      STA TMPA
      STB TMPB
      CPA B0
      SZA 
      HLT ERH       CLA/CPA/SZA 
      SZB 
      CPB B0
      HLT ERH       CCB/CPB/SZB 
      CPA M1
      HLT ERH       CPA 
      CPB B0
      HLT ERH       CPB 
      LDA TMPB
      LDB TMPA
      SZA 
      CPA B0
      HLT ERH       STB/LDA 
      CPB B0
      SZB 
      HLT ERH       STA/LDB 
      SOS 
      SEZ 
      HLT ERH       E / O  SET
      INB 
      SOS 
      SEZ 
      HLT ERH       E / O  SET
      INA 
      SEZ 
      SOC 
      HLT ERH       E NOT SET / O SET 
      CLE 
      SZB 
      SZA 
      HLT ERH       INA/INB 
      CPB B1
      RSS 
      HLT ERH       INB 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      CCA 
      CLB 
      STA TMPA
      STB TMPB
      CPA M1
      SZA,RSS 
      HLT ERH       CCA/CPA/SZA,RSS 
      SZB,RSS 
      CPB M1
      HLT ERH       CLB/CPB/SZB,RSS 
      CPA B0
      HLT ERH       CPA 
      CPB M1
      HLT ERH       CPB 
      LDA TMPB
      LDB TMPA
      SZA,RSS 
      CPA M1
      HLT ERH       STB/LDA 
      CPB M1
      SZB,RSS 
      HLT ERH       STA/LDB 
      SOS 
      SEZ 
      HLT ERH       E / O  SET
      INA 
      SOS 
      SEZ 
      HLT ERH       E / O  SET
      INB 
      SEZ 
      SOC 
      HLT ERH       E NOT SET / O SET 
      CLE 
      SZB,RSS 
      SZA,RSS 
      HLT ERH       INA/INB 
      CPA B1
      RSS 
      HLT ERH       INA 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      LDA ALT0
      LDB ALT1
      STA TMPA
      STB TMPB
      CPA ALT0
      RSS 
      HLT ERH       LDA/CPA 
      CPB ALT1
      RSS 
      HLT ERH       LDB/CPB 
      LDA TMPB
      LDB TMPA
      CPA ALT1
      RSS 
      HLT ERH       LDA/STB 
      CPB ALT0
      RSS 
      HLT ERH       LDB/STA 
      INA 
      INB 
      CPA ALT1A 
      RSS 
      HLT ERH       INA 
      CPB ALT0A 
      RSS 
      HLT ERH       INB 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      CLA 
      CCB 
      CMA 
      CMB 
      CPA M1
      SZB 
      HLT ERH       CMA / CMB 
      SSA 
      SSB 
      HLT ERH       SSA / SSB 
      SLA 
      SLB 
      HLT ERH       SLA / SLB 
      CMA 
      CMB 
      CPB M1
      SZA 
      HLT ERH       CMA / CMB 
      SSB 
      SSA 
      HLT ERH       SSA / SSB 
      SLB 
      SLA 
      HLT ERH       SLA / SLB 
      LDA ALT0
      LDB ALT1
      CMA 
      CMB 
      CPA ALT1
      RSS 
      HLT ERH       CMA 
      CPB ALT0
      RSS 
      HLT ERH       CMB 
      SKP 
*                   PRE-TEST PART A (BP)
* 
*     CHECK SWITCH REGISTER I/O 
* 
      LDA SWRX      CHECK IF SWREG HAS
      SZA             BEEN CHECK BEFORE 
      JMP NXT00     YES SKIP CHECK
      LIA SWREG     GET AND 
      STA SWRX         SAVE S-REG.
      LDA ALT0      TRY ALTERNATING PATTERNS
      OTA SWREG 
      LIA SWREG 
      CPA SWRX      STILL ORIGINAL? 
      LDA ALT0      YES 2116/5 FORCE SKIP 
      CPA ALT0
      RSS 
      HLT ERH 
      LDA ALT1      OTHER PATTERN 
      OTA SWREG 
      LIA SWREG 
      CPA SWRX      STILL ORIGINAL? 
      LDA ALT1      YES 2116/5 FORCE SKIP 
      CPA ALT1
      RSS 
      HLT ERH 
      CCA           TRY OUTPUTING 
      OTA SWREG     ALL ONE'S 
      LIA SWREG     NOW GET IT BACK 
      CPA SWRX      2115/2116?
      JMP *+11      OPERATOR MUST SET S-REG.
      LIA SWREG     GET IT AGAIN
      CPA M1        DID IT ECHO THE 1'S?
      RSS 
      HLT ERH       NO
      CLA           TRY OUTPUTING 
      OTA SWREG     B0  'S
      LIA SWREG     GET IT BACK 
      SZA           OK
      HLT ERH       NO
      JMP NXT00     YES 
      HLT 20B       2115/2116 OPERATOR MUST SET S-REG.
      LIA SWREG     GET IT
      CPA M1        IS IT ALL ONES
      RSS 
      HLT ERH       NO INFORM OPERATOR
      HLT 21B       OPERATOR MUST CLEAR S-REG.
NXT00 EQU * 
      LIA SWREG     GET IT AGAIN
      SZA           DID IT ECHO THE 0'S 
      HLT ERH       NO
      SOS 
      SEZ 
      HLT ERH       E   O SET 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      LDA DTMPB 
      LDB DTMPA 
      STA B,I 
      STB A,I 
      CPA TMPA
      RSS 
      HLT ERH       STA B,I/STB A,I 
      CPB TMPB
      RSS 
      HLT ERH       STA B,I/STB A,I 
      LDA B,I 
      LDB A,I 
      CPA TMPA
      RSS 
      HLT ERH       LDA B,I 
      CPB TMPB
      RSS 
      HLT ERH       LDB A,I 
      LDA A,I 
      LDB B,I 
      CPA B,I 
      RSS 
      HLT ERH       CPA B,I/LDA A,I 
      CPB A,I 
      RSS 
      HLT ERH       CPB A,I/LDB B,I 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      JMP *+2 
      HLT ERH       JMP (BP)
      JMP *+4 
      HLT ERH       JMP (BP)
      JMP *+4 
      HLT ERH       JMP (BP)
      JMP *-2 
      HLT ERH       JMP (BP)
* 
      CLA 
      STA JB0 
      STA JB1 
      LDA HLT0
      LDB HLT0
      JSB *+2 
JBR0  HLT ERH       JSB (BP)
JB0   NOP 
      LDA *-1 
      CPA DJBR0 
      RSS 
      HLT ERH       JSB (BP)  RETURN ADDRESS
      LDA HLT0
      JSB *+2,I 
JBR1  HLT ERH       JSB (BP),I
      DEF *+3 
      HLT ERH       JSB (BP),I
      HLT ERH       JSB (BP),I
JB1   NOP 
      LDA *-1 
      CPA DJBR1 
      RSS 
      HLT ERH       JSB (BP),I  RETURN ADDRESS
      SKP 
*                   PRE-TEST PART A (BP)
* 
*     GENERAL MEMORY TEST 
*     COVERS 4K MEMORY (2 TO 7677)
*     EXCEPT THIS ROUTINE 
* 
GMTS  EQU * 
      CLB           START WITH ADDRESS
      INB 
      INB           TWO 
L00   LDA B,I       GET CURRENT CONTENTS
      CPA B,I       DID IT LOAD OK? 
      RSS 
      HLT ERH       NO FAILED ON LOAD 
      STA TMPA      OK SAVE ORIGINAL CONTENTS 
      CCA 
      STA B,I       PUT ALL M1   IN LOCATION
      CPA B,I       DID IT STORE? 
      RSS 
      HLT ERH       NO FAILED ON STORE
      CLA           PUT  0   IN LOCATION
      STA B,I 
      CPA B,I       DID IT STORE? 
      RSS 
      HLT ERH       NO FAILED ON STORE
      LDA ALT0      PUT ALTERNATING PATTERN IN LOACTION 
      STA B,I 
      CPA B,I       DID IT STORE? 
      RSS 
      HLT ERH       NO
      LDA ALT1      TRY OPPSITE PATTERN 
      STA B,I 
      CPA B,I       DID IT STORE? 
      RSS 
      HLT ERH       NO
      LDA TMPA      RESTORE ORIGINAL CONTENTS 
      STA B,I 
      CPA B,I       DID IT GO BACK? 
      RSS 
      HLT ERH       NO
      INB           MOVE TO NEXT LOCATION 
      CPB GMTSA     GOT TO THIS PROGRAM 
      LDB GMTEA     YES SKIP OVER THIS SECTION
      CPB B7700     DONE THIS 4K? 
      RSS 
      JMP L00       NO DO NEXT LOCATION 
GMTE  EQU * 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      CCA 
      AND B0
      SZA 
      HLT ERH       AND 
      LDA ALT0
      AND ALT1
      SZA 
      HLT ERH       AND 
      LDA ALT1
      AND ALT0
      SZA 
      HLT ERH       AND 
      CCA 
      AND ALT0
      CPA ALT0
      RSS 
      HLT ERH       AND 
      CCA 
      AND ALT1
      CPA ALT1
      RSS 
      HLT ERH       AND 
* 
      CLA 
      XOR B0
      SZA 
      HLT ERH       XOR 
      XOR ALT0
      CPA ALT0
      RSS 
      HLT ERH       XOR 
      XOR ALT1
      CPA M1
      RSS 
      HLT ERH       XOR 
      XOR ALT0
      CPA ALT1
      RSS 
      HLT ERH       XOR 
      XOR ALT1
      SZA 
      HLT ERH       XOR 
      CCA 
      XOR M1
      SZA 
      HLT ERH       XOR 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      CLA 
      IOR B0
      SZA 
      HLT ERH       IOR 
      IOR ALT0
      CPA ALT0
      RSS 
      HLT ERH       IOR 
      IOR ALT1
      CPA M1
      RSS 
      HLT ERH       IOR 
      CLA 
      IOR ALT1
      CPA ALT1
      RSS 
      HLT ERH       IOR 
      IOR ALT0
      CPA M1
      RSS 
      HLT ERH       IOR 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      CLA 
      CLB 
      STA TMPA
L01   CPA B100K 
      RSS 
      JMP *+5 
      SOC 
      SEZ 
      HLT ERH       E SET / O NOT SET 
      CLO 
      SOS 
      SEZ 
      HLT ERH       E / O  SET
      INA 
      SZA,RSS 
      JMP NXT01 
      INB 
      SZB,RSS 
      HLT ERH       INA 
      ISZ TMPA
      RSS 
      HLT ERH       ISZ 
      CPA TMPA
      RSS 
      HLT ERH       ISZ / INA 
      CPB A 
      JMP L01 
      HLT ERH       ISZ / INB 
NXT01 SEZ 
      SOC 
      HLT ERH       E NOT SET / O SET 
      CLE 
      INB 
      SEZ 
      SOC 
      HLT ERH       E NOT SET / O  SET
      CLE 
      SZB 
      HLT ERH       INB 
      ISZ TMPA
      HLT ERH       ISZ 
      SOS 
      SEZ 
      HLT ERH       E / O SET 
      SKP 
*                   PRE-TEST PART A (BP)
* 
      CLA 
      CCB 
      ADA B1
      SOS 
      SEZ 
      HLT ERH       E / O SET 
      ADB B1
                                                                                                                                                                                                                    