      LDB TSTA5      AND THE TABLE POINTER
      LDX NSTA3      AND THE NEGATIVE COUNT 
      XMM            THEN LOAD THE MAP REGISTERS
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      LDA MAPSK     GET MASK CONSTANT 
      AND TSTA5,I   STRIP OFF NON-RETURNABLE BITS 
      STA B         PUT IN B TO COMPARE 
      LDA MAPSK     GET THE CONSTANT AGAIN
      AND TSTA4,I   STRIP OFF THE BITS
      CPA B         COMPARE THE TWO WORDS 
      JMP BUMPR     COMPARISON OK, JUMP OVER ERROR
FA1   LDX TSTA2     GET REGISTER
      LDY FAD1      AND ADDRESS 
      JSB ERMS,I    REPORT SINGLE MAP 
      DEF E033       XMM FAILURE
BUMPR ISZ TSTA2     BUMP REGISTER NUMBER POINTER
      ISZ TSTA1          AND XTHRU COUNTER.  XTHRU? 
      JMP TSTA.     NO, DO IT FOR ANOTHER REGISTER
      NOP           YES, CONTINUE 
      SKP 
      SPC 1 
*               SINGLE MAP XMM - LOAD, READ AND COMPARE.
      SPC 1 
      JSB LTONE     LOAD THE LOAD TABLE W/ALL ONES
      JSB RDZRO     AND CLEAR THE READ TABLE
* 
      CLA,INA       RESET THE 
      STA WHCON          WHICH ONE POINTER
TST.A CLA           LOAD THE SYSTEM MAP REGISTERS 
      LDB LTSYS      WITH THE CONTENTS OF THE 
      LDX OCT40     TABLE NAMED LTSYS 
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      CLA 
      LDB RTSYS      NOW READ BACK THE
      LDX NON40      SYSTEM MAP INTO RTSYS
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA LTSYS     COMPARE THE 
      LDB RTSYS          LOAD AND READ
      JSB TBCMP               TABLES. 
      JSB SMERR     DID NOT COMPARE, REPORT ERROR 
      NOP           CONTINUE (CHANGE TO JMP *-N FOR LOOP/)
      SPC 2 
      LDA OCT40     LOAD THE USER MAP REGISTERS 
      LDB LTUSR 
      LDX OCT40      WITH THE CONTENTS OF LTUSR 
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA OCT40          READ BACK THE
      LDB RTUSR          USER MAP REGISTERS 
      LDX NON40          INTO RTUSR 
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA LTUSR     COMPARE THE USER MAP
      LDB RTUSR           LOAD AND READ 
      JSB TBCMP               TABLES
      JSB SMERR     DID NOT COMPARE, REPORT ERROR 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 2 
      LDA OC100     LOAD THE PORTA MAP REGISTERS
      LDB LTPTA      WITH THE CONTENTS OF 
      LDX OCT40      THE TABLE NAMED LTPTA
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SKP 
      LDA OC100     NOW READ BACK THE 
      LDB RTPTA      PORTA MAP REGISTERS
      LDX NON40      INTO RTPTA 
      XMM            WITH XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA LTPTA     COMPARE THE PORTA MAP 
      LDB RTPTA          LOAD AND READ
      JSB TBCMP               TABLES
      JSB SMERR     DID NOT COMPARE, REPORT ERROR 
      SPC 3 
      LDA OC140     LOAD THE PORTB MAP REGISTERS
      LDB LTPTB      WITH THE CONTENTS OF 
      LDX OCT40      THE TABLE NAMED LTPTB
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA OC140     NOW READ BACK THE 
      LDB RTPTB      PORT B MAP REGISTERS 
      LDX NON40      INTO RTPTB 
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA LTPTB     COMPARE THE PORTB MAP 
      LDB RTPTB          LOAD AND READ
      JSB TBCMP               TABLES
      JSB SMERR     DID NOT COMPARE, REPORT ERROR 
      SPC 1 
      JSB PTNCG     CHANGE THE PATTERN
      JMP TST.A          AND DO AGAIN 
      SKP 
      SPC 1 
*               BOUNDRY AREA XMM
      SPC 1 
      JSB RDZRO     ZERO THE READ TABLE 
      LDA OCT33     STARTING WITH REGISTER 27 
      LDB LTBSU      FOR 12 REGISTERS, DO AN
      LDX DEC12      ACROSS THE BOUNDRIES LOAD
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA OCT33     READ BACK 
      LDB RTBSU      THE BOUNDRY AREA LOAD
      LDX NDN12      INTO RTBSU 
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA LTBSU     COMPARE THE BOUNDRY 
      LDB RTBSU          AREA LOAD AND READ 
      JSB BACMP               TABLES
      JSB BAERR     ERROR DETECTED, REPORT. 
      SPC 1 
      LDA OCT73     STARTING WITH REGISTER 59 
      LDB LTBUA      FOR 12 REGISTERS, DO AN
      LDX DEC12      ACROSS THE BOUNDRY XMM 
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA OCT73     NOW READ BACK THE 
      LDB RTBUA      BOUNDRY AREA TO THE
      LDX NDN12      READ TABLE RTBUA 
      XMM 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA LTBUA     COMPARE THE BOUNDRY AREA
      LDB RTBUA      BETWEEN THE USER AND PORTA 
      JSB BACMP      MAP REGISTERS
      JSB BAERR     ERROR DETECTED, REPORT IT 
      SPC 2 
      LDA OC133     STARTING WITH REGISTER 91 
      LDB LTBAB      FOR 12 REGISTERS, DO 
      LDX DEC12      AN ACROSS THE BOUNDRIES XMM
      XMM 
      NOP 
      SPC 1 
      LDA OC133     READ BACK THE BOUNDRY 
      LDB RTBAB      AREA REGISTERS INTO
      LDX NDN12      THE READ TABLE AREA
      XMM 
      NOP 
      SPC 1 
      LDA LTBAB     COMPARE THE TWO TABLES
      LDB RTBAB      FOR PROPER EXECUTION 
      JSB BACMP      OF XMM BETWEEN PORTSA&B
      JSB BAERR     ERROR DETECTED, REPORT IT.
      SKP 
*               ALL MAP REGISTERS XMM - LOAD, READ AND COMPARE
      SPC 1 
      JSB RDZRO     ZERO THE READ TABLE AREA
      LDA PTRN1      AND PLACE AN ALTERNATE 
      LDB PTRN2      ONES AND ZEROS PATTERN 
      JSB MKTBL      IN THE LOAD TABLE AREA.
      OCT 074000
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      CLA           LOAD THE ENTIRE CONTENTS
      LDB LTSYS      OF THE LOAD MAP TABLE
      LDX DE128      INTO THE MAP REGISTERS.
      XMM 
      NOP 
      SPC 1 
      CLA           NOW READ ALL FOUR MAPS
      LDB RTSYS      INTO THE MEMORY TABLE
      LDX ND128      NAMED RDTBL. 
      XMM 
      NOP 
      SPC 1 
      JSB ALCMP     COMPARE TABLES
      JSB XALER     ERROR DETECTED, REPORT
      NOP 
      JMP TST00,I   EXIT XMM ROUTINE
      SPC 5 
ND128 DEC -128
TSTA1 OCT 0          TEST 00 SCRATCH PAD 1
TSTA2 OCT 0          TEST 00 SCRATCH PAD 2
TSTA3 OCT 0          TEST 00 SCRATCH PAD 3
TSTA4 DEF LDTBL 
FAD1  DEF FA1 
NSTA3 OCT -1
TSTA5 DEF RDTBL 
WHCON OCT 0 
DEC12 DEC 12
NDN12 DEC -12 
OC133 OCT 133 
DE128 DEC 128 
      SKP 
PTNCG NOP 
      LDA WHCON     GET WHICH ONE POINTER 
      CPA OCT01     CHANGE TO PATTERN ZEROS?
      JMP CH1ST          YES, CHANGE THEM 
      CPA OCT02     NO, CHANGE TO ALTERNATE 1S-0S?
      JMP CH2ND          YEP, DO IT 
      CPA OCT03     NO.  CHANGE TO ALTERNATE 0S-1S? 
      JMP CH3RD          YES, DO ALT. 0S AND 1S.
      CPA OCT04     NO, HOW ABOUT 3D 1S AND 0S? 
      JMP CH4TH          O.K.,  DO
      CPA OCT05     NO, THEN IT MUSTBE
      JMP CH5TH               3D 0S AND 1S. 
CH1ST JSB LTZRO     CLEAR OUT THE LOAD TABLE
      ISZ WHCON     BUMP WHICH ONE POINTER
      JMP PTNCG,I   AND BACK TO ROUTINE 
      SPC 1 
CH2ND LDA PTRN1     GET PATTERN ONE 
      LDB A              IN THE A&B REGISTERS 
      JSB MKTBL               AND PUT IT IN 
      OCT 074000                   THE READ TABLE 
      ISZ WHCON     BUMP THE WHICH ONE POINTER, 
      JMP PTNCG,I   AND BACK TO THE ROUTINE 
      SPC 1 
CH3RD LDA PTRN2     GET PATTERN TWO 
      LDB A              TABLE WITH AN
      JSB MKTBL               ALTERNATE 1S AND
      OCT 074000                   ZEROS PATTERN
      ISZ WHCON     BUMP WHICH ONE POINTER
      JMP PTNCG,I   AND EXIT
      SPC 1 
CH4TH LDA PTRN1     PUT NEW 
      LDB PTRN2          PATTERN
      JSB MKTBL               IN THE LOAD 
      OCT 074000                   TABLE, 
      ISZ WHCON     INCREMENT WHICH ONE POINTER 
      JMP PTNCG,I   AND EXIT
      SPC 1 
CH5TH LDA PTRN2     PUT NEW REVERSE 
      LDB PTRN1          PATTERN
      JSB MKTBL               IN THE LOAD 
      OCT 074000                   TABLE
      ISZ PTNCG     BUMP THE RETURN ADDRESS 
      JMP PTNCG,I   AND CONTINUE. 
      SKP 
SMERR NOP 
      JSB RGSVE     SAVE THE REGISTERS
      LDX REGNR     GET FAILING ADDRESS 
      LDY SMERR     MAKE THE
      JSB ERMS,I    REPORT XMM
      DEF E034       FAILURE
      JSB RGRS2     RESTORE X&Y 
      JMP TCPHR     CONTINUE
      SPC 3 
BAERR NOP 
      JSB RGSVE 
      LDX REGNR 
      LDY BAERR 
      JSB ERMS,I    REPORT XMM
      DEF E035       FAILURE
      JSB RGRS2 
      JMP BCPHR 
      SPC 5 
XALER NOP 
      JSB RGSVE 
      LDX REGNR 
      LDY XALER 
      JSB ERMS,I    REPORT XMM
      DEF E036       FAILURE
      JSB RGRS2 
      JMP TCPHR     CONTINUE
      SPC 3 
      SKP 
BACMP NOP 
      STA BACM1     INITIALIZE THE LOAD AND READ
      STB BACM2      REGISTER ADDRESS POINTERS. 
      LDA LTSYS     CALCULATE THE 
      CMA,INA        STARTING REGISTER
      ADA BACM1      NUMBER AND PLACE IN
      STA REGNR      THE REGISTER NUMBER
      LDA NDN12     INITIALIZE THE
      STA BACM3      XTHRU COUNTER
BACM. LDA MAPSK     MASK BITS 13-10 
      AND BACM2,I    FROM THE EXPECTED
      STA B         PLACE IN B TO COMPARE 
      LDA MAPSK     MASK OFF BITS 13-10 
      AND BACM1,I    FROM THE ACTUAL
      CPA B         AND COMPARE THE TWO 
      JMP *+3        YES, JUMP OVER ERROR 
      JMP BACMP,I    PATTERN AND GO REPORT IT.
BCPHR NOP           CONTINUE UNTIL XTHRU
      ISZ REGNR     BUMP THE REGISTER NUMBER
      ISZ BACM1          THE READ TABLE POINTER 
      ISZ BACM2          THE LOAD TABLE POINTER 
      ISZ BACM3          THE XTHRU
      JMP BACM.     NO XTHRU, DO AGAIN
      ISZ BACMP     XTHRU COMPLETE, BUMP OVER ERROR 
      JMP BACMP,I    AND BACK TO CALLER 
      SPC 1 
BACM1 OCT 0 
BACM2 OCT 0 
BACM3 OCT 0 
      SPC 3 
ALCMP NOP           ********************************
      LDA LTSYS     *                              *
      LDB RTSYS     *    COMPARE                   *
      JSB TBCMP     *         ALL FOUR             *
      JMP ALCMP,I   *              MAPS            *
      NOP           *    IF ANY ERROR DETECTED     *
      LDA LTUSR     *                              *
      LDB RTUSR     *    REPORT BACK TO CALLER     *
      JSB TBCMP     *                              *
      JMP ALCMP,I   *    IF NO ERRORS              *
      LDA LTPTA     *         DETECTED.            *
      LDB RTPTA     *                              *
      JSB TBCMP     *         BUMP RETURN          *
      JMP ALCMP,I   *         ADDRESS AND          *
      LDA LTPTB     *         EXIT.                *
      LDB RTPTB     *                              *
      JSB TBCMP     *                              *
      JMP ALCMP,I   *                              *
      ISZ ALCMP     *                              *
      JMP ALCMP,I   ********************************
      HED MEM DIAGNOSTIC - LOAD/STORE MAPS
* 
*     TEST 03 STARTS WITH THE SYA INSTRUCTION (LOAD SYSTEM MAP) 
*     AND PLACES THE CONTENTS OF LOAD SYSTEM MAP TABLE (LTSYS)
*     INTO THE SYSTEM MAP REGISTERS.  SYA IS USED AGAIN, THIS TIME
*     USING A NEGATIVE SIGN BIT IN THE TABLE ADDRESS TO READ THE
*     CONTENTS OF THE SYSTEM MAP REGISTERS INTO THE READ SYSTEM MAP 
*     TABLE (RTSYS).  THEN THE LOAD AND READ TABLE CONTENTS ARE 
*     COMPARED TO INSURE PROPER OPERATION AND EXECUTION OF THE SYA
*     INSTRUCTION.  NOW, A DIFFERENT PATTERN IS ESTABLISHED IN THE
*     LOAD SYSTEM MAP TABLE AND THE PROCESS IS REPEATED THIS TIME 
*     USING SYB, WHICH IS THE B-REGISTER COUNTERPART OF SYA.
* 
*     THIS SAME SCHEME IS REPEATED USING INSTRUCTIONS AND LOAD AND
*     READ TABLES TO INSURE PROPER EXECUTION OF:
* 
*          USA  LOAD/READ USER MAP FROM/TO THE A-REGISTER 
*          USB  LOAD/READ USER MAP FROM/TO THE B-REGISTER 
* 
*          PAA  LOAD/READ PORTA MAP FROM/TO THE A-REGISTER
*          PAB  LOAD/READ PORTA MAP FROM/TO THE B-REGISTER
* 
*          PBA  LOAD/READ PORTB MAP FROM/TO THE A-REGISTER
*          PBB  LOAD/READ PORTB MAP FROM/TO THE B-REGISTER
* 
*     WHEN THESE EIGHT INSTRUCTIONS HAVE BEEN VERIFIED FOR PROPER 
*     EXECUTION.INDIVIDUALLY, THEY ARE TESTED TO MAKE SURE THEY 
*     DO NOT INTERFERE WITH THE EXECUTIONS OF ONE ANOTHER, AND THE
*     TEST IS EXITED. 
* 
* 
*     CALLING SEQUENCE:   LDA/B TABLE 
*                         SYA/B 
* 
* 
* 
*     IF AN ERROR IS DETECTED WHILE EXECUTING TST03, THE ERROR  CODE
*     AND FAILING INSTRUCTION ARE OUTPUT ON THE COUNSOLE, AND THE 
*     PROGRAM HALTS THE COMPUTER.  AT THIS TIME THE T,A,B,X AND Y 
*     REGISTERS CAN BE INTERROGATED TO DETERMINE THE CAUSE AND
*     LOCATION OF THE ERROR, AND WHERE IN THE PROGRAM IT WAS
*     DETECTED. 
* 
*     THE FORMAT FOR DETERMINING THESE CONDITIONS AND LOCATION IS AS
*     FOLLOWS:
* 
*              T REGISTER = HALT CODE 
*              A REGISTER = GOOD PATTERN
*              B REGISTER = BAD  PATTERN
*              X REGISTER = FAILING REGISTER NUMBER 
*              Y REGISTER = ADDRESS OF FAILURE
      SKP 
TST03 EQU * 
      SPC 1 
      NOP 
      JSB CLTBL     ZERO BOTH LOAD AND READ TABLES
      LDA PTRN1     ESTABLISH THE 
      LDB PTRN2      FIRST PATTERN
      JSB MKTBL      IN THE LOAD MAP
      OCT 040000     TABLE
      SPC 1 
      LDA LTSYS     LOAD THE SYSTEM MAP REGISTERS 
      SYA            USING THE SYA INSTRUCTION
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA RTSYS     READ THE SYSTEM MAP REGISTERS 
      IOR MASKO      INTO THE CONTENTS OF THE 
      SYA            SYSTEM READ TABLE
      NOP 
      SPC 1 
      LDA LTSYS     GET THE LOAD AND
      LDB RTSYS      READ TABLE POINTERS
      JSB TBCMP      AND COMPARE THE TWO. 
      JSB SYAER     ERROR DETECTED, REPORT IT.
      JSB CLTBL     ZERO THE LOAD/READ TABLES 
      SPC 2 
      LDA PTRN2     ESTABLISH THE SECOND
      LDB PTRN1      PATTERN IN 
      JSB MKTBL      THE LOAD MAP 
      OCT 040000     TABLE
      LDB LTSYS     LOAD THE SYSTEM MAP REGISTERS 
      SYB            USING SYB
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA RTSYS     SET UP ADDRESS WITH THE 
      IOR MASKO      NEGATIVE SIGN BIT
      LDB A          AND TRANSFER TO B-REGISTER.
      SYB           READ THE SYSTEM MAP INTO RTSYS
      NOP 
      SPC 1 
      LDA LTSYS     COMPARE THE LOAD
      LDB RTSYS      AND READ TABLES TO 
      JSB TBCMP      VERIFY PROPER EXECUTION
      JSB SYBER     ERROR DETECTED, REPORT
      SKP 
      JSB CLTBL     ZERO LOAD AND READ TABLES 
      LDA PTRN1     ESTABLISH PATTERN 1 
      LDB PTRN2      IN THE LOAD TABLE
      JSB MKTBL      FOR THE USER MAP 
      OCT 020000     REGISTERS. 
      LDA LTUSR     EXECUTE THE USA INSTRUCTION 
      USA 
      NOP 
      SPC 1 
      LDA RTUSR     NOW READ THE USER MAP REGISTERS 
      IOR MASKO      INTO THE CONTENTS OF THE READ
      USA            TABLE USING USA
      NOP 
      SPC 1 
      LDA LTUSR     COMPARE THE LOAD AND
      LDB RTUSR      READ TABLES TO VERIFY PROPER 
      JSB TBCMP      EXECUTION OF THE USA INST. 
      JSB USAER     ERROR DETECTED, REPORT
      SPC 2 
      LDA PTRN2     ESTABLISH PATTERN TWO 
      LDB PTRN1      IN THE LOAD TABLE
      JSB MKTBL      FOR THE USER MAP 
      OCT 020000     REGISTERS. 
      LDB LTUSR     LOAD THE USER MAP REGISTERS WITH
      USB            LOAD TABLE CONTENTS USING USB
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA RTUSR     NOW READ THE USER MAP REGISTERS 
      IOR MASKO      INTO THE RTUSR TABLE POINTER 
      LDB A          TO BY THE CONTENTS 
      USB            OF THE B REGISTER
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA LTUSR     COMPARE THE LOAD AND
      LDB RTUSR      READ TABLES TO VERIFY
      JSB TBCMP      PROPER EXECTUION OF USB
      JSB USBER     ERROR DETECTED, REPORT. 
      SKP 
      JSB CLTBL     ZERO THE LOAD AND READ TABLES 
      LDA PTRN1     ESTABLISH PATTERN ONE 
      LDB PTRN2      IN THE LOAD TABLE
      JSB MKTBL      FOR THE PORTA MAP
      OCT 010000     REGISTERS
      LDA LTPTA     EXECUTE THE PAA INSTRUCTION WITH
      PAA            PAA
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA RTPTA     READ THE PORTA MAP REGISTERS
      IOR MASKO      INTO THE CONTENTS OF THE READ
      PAA            TABLE USING PAA
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDA LTPTA     COMPARE THE TWO TABLES TO 
      LDB RTPTA      VERIFY PROPER EXECUTION OF 
      JSB TBCMP      THE PAA INSTRUCTION. 
      JSB PAAER     ERROR DETECTED, REPORT
      SPC 2 
      LDA PTRN2     NOW REVERSE THE PATTERN 
      LDB PTRN1      IN THE PORTA LOAD TABLE
      JSB MKTBL      TO ESTABLISH A PATTERN 
      OCT 010000     TO CHECK PAB 
      LDB LTPTA     EXECUTE THE PAB INSTRUCTION WITH
      PAB            PAB
      NOP 
      SPC 1 
      LDA RTPTA     READ BACK INTO THE READ TABLE 
      IOR MASKO      USING THE PAB INSTRUCTION
      LDB A          AND THE NEGATIVE 
      PAB            ADDRESS POINTER
      NOP 
      SPC 1 
      LDA LTPTA     COMPARE THE TWO TABLES TO 
      LDB RTPTA      VERIFY PROPER EXECUTION OF 
      JSB TBCMP      THE PAB INSTRUCTION. 
      JSB PABER     ERROR DETECTED,  REPORT.
      SKP 
      JSB CLTBL     ZERO THE LOAD AND READ TABLES 
      LDA PTRN1     ESTABLISH PATTERN ONE 
      LDB PTRN2      IN THE LOAD TABLE
      JSB MKTBL      CONTENTS OF THE
      OCT 4000       PORTB MAP
      LDA LTPTB     EXECUTE THE PBA INSTRUCTION 
      PBA            LOADING THE PORTB MAP
      NOP 
      SPC 1 
      LDA RTPTB     NOW, USING THE NEGATIVE SIGN
      IOR MASKO      BIT OF THE POINTER, REVERSE
      PBA            DIRECTION OF THE INSTRUCTION 
      NOP 
      SPC 1 
      LDA LTPTB     COMPARE THE TWO TABLES CONTENTS 
      LDB RTPTB      TO VERIFY PROPER EXECUTION OF
      JSB TBCMP      THE PBA INSTRUCTION
      JSB PBAER     ERROR DETECTED, REPORT
      SPC 2 
      LDA PTRN2     REVERSE THE PATTERN 
      LDB PTRN1      IN THE LOAD TABLE
      JSB MKTBL      CONTENTS OF THE
      OCT 4000       PORTB MAP. 
      LDB LTPTB     EXECUTE THE PBB INSTRUCTION 
      PBB 
      NOP 
      SPC 1 
      LDA RTPTB     REVERSE THE SIGN BIT OF 
      IOR MASKO      THE BREG POINTER, AND
      LDB A          EXECUTE THE PBB
      PBB 
      NOP 
      SPC 1 
      LDA LTPTB     COMPARE THE TWO TABLES TO 
      LDB RTPTB      VERIFY PROPER EXECUTION OF 
      JSB TBCMP      THE PBB INSTRUCTION
      JSB PBBER     ERROR DETECTED, REPORT. 
      SKP 
      JSB RDZRO     CLEAR THE READ TABLE
      LDA PTRN1     LOAD ALTERNATE
      LDB A          ONES AND ZEROS 
      JSB MKTBL      INTO THE LOAD
      OCT 040000     SYSTEM TABLE 
      LDA PTRN2     LOAD ALTERNATE
      LDB A          ZEROS AND ONES 
      JSB MKTBL      INTO THE LOAD
      OCT 020000     USER TABLE 
      LDA PTRN1     LOAD AN ALTERNATE ONES- 
      LDB PTRN2      ZEROS THEN ZEROS-ONES
      JSB MKTBL      PATTERN INTO THE 
      OCT 010000     LOAD PORTA TABLE 
      LDA PTRN2     LOAD AN ALTERNATE ZEROS-
      LDA PTRN1      ONES,THEN ONES-ZEROS 
      JSB MKTBL      PATTERN INTO THE 
      OCT 04000      LOAD PORTB TABLE 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      SPC 1 
      LDB LTSYS     LOAD SYSTEM MAP REGISTERS 
      SYB           * 
      LDB LTUSR     LOAD USER MAP REGISTERS 
      USB           * 
      LDB LTPTA     LOAD THE PORTA MAP REGISTERS
      PAB           * 
      LDB LTPTB     LOAD THE PORTB MAP REGISTERS
      PBB           * 
      LDA RTSYS     READ BACK 
      IOR MASKO      THE SYSTEM MAP REGISTERS 
      SYA           * 
      LDA RTUSR     READ BACK THE 
      IOR MASKO      USER MAP REGISTERS 
      USA           * 
      LDA RTPTA     READ BACK THE 
      IOR MASKO      PORTA MAP REGISTERS
      PAA           * 
      LDA RTPTB     READ BACK THE 
      IOR MASKO      PORTB MAP REGISTERS
      PBA           * 
      SKP 
      JSB ALCMP     COMPARE ALL FOUR MAPS 
      JSB INFER     ERROR DETECTED, REPORT
      LDA RTPTB     NOW REVERSE THE 
      IOR MASKO      SEQUENCE 
      PBA            INTERFERENCE 
      LDA RTPTA      CHECK
      IOR MASKO      FOR
      PAA            OVERLAY
      LDA RTUSR      OF 
      IOR MASKO      REGISTER 
      USA            CONTENTS 
      LDA RTSYS      *
      IOR MASKO      *
      SYA 
      SPC 1 
      JSB ALCMP      COMPARE ALL FOUR MAPS
      JSB INFER      INTERFERENCE ERROR DETECTED. 
      NOP           CHANGE TO JMP *-N FOR LOOP/ 
      JMP TST03,I   EXIT. 
      SKP 
SYAER NOP 
      JSB RGSVE 
      LDX REGNR 
      LDY SYAER 
      JSB ERMS,I    REPORT SYA
      DEF E037       FAILURE
      JSB RGRS2 
      JMP TCPHR 
      SPC 2 
SYBER NOP 
      JSB RGSVE 
      LDX REGNR 
      LDY SYBER 
                                                                                                  