ASMB,A,B,L,C
      HED GENERAL OPERATING PROCEDURE 
      ORG 0 
      SUP 
*     GENERAL OPERATING PROCEDURE 
* 
*         A. LOAD DIAGNOSTIC CONFIGURATOR AND SET IT UP.
*         B. LOAD DIAGNOSTIC MAIN PROGRAM 
*         C. LOAD ADDRESS 100B. 
*         D. SKIP 
*         E. SKIP 
*         F. LOAD SWITCH REGISTER 
*                   IF SET =: 
*                   15 = HALT AT END OF EACH TEST 
*                   14 = SUPRESS ERROR HALTS
*                   13 = LOOP ON LAST TEST
*                   12 = LOOP ON DIAGNOSTIC 
*                        (SUPPRESS ALL OPERATOR INTERVENTION) 
*                   11 = SUPRESS ERROR MESSAGES 
*                   10 = SUPRESS NON-ERROR MESSAGES 
*                    9 = GO TO USER CONTROL SECTION 
*                        AT END OF PRESENT TEST 
*                    8= SUPPRESS OPERATOR INTERVENTION TESTS
*                    7
*                      = RESERVED 
*                    0
*         NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0
*               USER CONTROL WILL ASK FOR A 32 BIT WORD.
*               EACH BIT WILL = 1 TEST
* 
*         G. PRESS RUN. 
*         H. RESTART - LOAD ADDRESS 2000B 
*         I. RECONFIGURE IF TESTING I/O INTERFACE - LOAD ADDRESS 100B 
* 
*         GENERAL COMPUTER HALTS
* 
*         1020XX    E OR H  000 TO 067
*         1060XX    E OR H  100 TO 167
*         1030XX    E OR H  200 TO 267
*         1070XX    E OR H  300 TO 367
* 
*         CONTROL PROGRAM HALT MESSAGES 
* 
*         102077    END OF DIAG (A = PASS COUNT)
*         102076    END OF TEST (A = TEST #)
*         102075    USER SELECTION REQUEST
*         102074    SELECT CODE INPUT COMPLETE
*         102073    USER SELECT CODE ERROR
*         102072    RESERVED
*         102071    RESERVED
*         102070    RESERVED
* 
*         106077    TRAP CELL HALT
* 
* 
* 
      HED PROGRAM ORGANIZATION CHART
*         ******************************************* 
*         *         CONFIGURATOR            100B    * 
*         *            LINKAGE TABLE                * 
*         ******************************************* 
*         *         EXECUTIVE               130B    * 
*         *         LINKAGE                         * 
*         ******************************************* 
*         *         CONSTANTS               150B    * 
*         *            AND                          * 
*         *         STORAGE                         * 
*         ******************************************* 
*         *                                2000B    * 
*         *         EXECUTIVE CONTROL               * 
*         *                                         * 
*         ******************************************* 
*         *         IF USED                         * 
*         *         BASIC I/O TESTS (TEST 00)       * 
*         *                                ZCEND    * 
*         ******************************************* 
*         *         TABLE OF TEST POINTERS          * 
*         *         TABLE OF I/O INSTR POINTERS     * 
*         ******************************************* 
*         *                                         * 
*         *                                         * 
*         *                                         * 
*         *                                         * 
*         *                                         * 
*         *         MAIN DIAGNOSTICS (1-31)         * 
*         *                                         * 
*         *                                         * 
*         *                                         * 
*         *                                         * 
*         *                                         * 
*         ******************************************* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
      HED CONFIGURATOR LINKAGE TABLE
A     EQU 0         A REGISTER REFERENCE
B     EQU 1         B REGISTER REFERENCE
SW    EQU 1         SWITCH REGISTER REFERENCE 
INTP  EQU 0         INTERRUPT CHANNEL REFERENCE 
* 
* 
      ORG 100B
* 
      JMP STRT,I    GO START PROGRAM
FAIN  BSS 1         FAST INPUT (PHOTO READER) 
SLOP  BSS 1         SLOW OUTPUT (LIST)
FAOP  BSS 1         FAST OUTPUT (DUMP OR PUNCH) 
SLIN  BSS 1         SLOW INPUT (KEYBOARD) 
FWAM  DEF FWAA      FIRST WORD OF AVBL. MEMORY
LWAM  BSS 1         LAST WORD OF AVBL. MEMORY 
      BSS 1         NOT USED (MAG TAPE) 
OTMC  BSS 1         1 MILL SEC TIME OUT COUNT 
      BSS 4         SELECT CODES FOR I/O
CPTO  BSS 1         COMPUTER TYPE/OPTIONS 
USSC  NOP           USER CARD TYPE AND SELECT CODE
MEMO  BSS 1         MEMORY SIZE AND TYPE
ISWR  BSS 1         INTERNAL SWITCH REGISTER
TMRR  BSS 1         1 MILL SEC TIMER
SWRC  BSS 1         CONFIGURATOR SWITCH CK PTR
I2AS  BSS 1         INTEGER TO ASCII CONVERSION 
O2AS  BSS 1         OCTAL TO ASCII CONVERSION 
AS2N  BSS 1         ASCII CONVERSION
DSN   OCT 101011    DIAGNOSTIC SERIAL NUMBER
FMTR  BSS 1         FORMATTER 
* 
* 
*         CONTROL LINKAGE AND DATA REFERENCES 
* 
CFIG  DEF ZCONF     CONFIGURATION SECTION 
MSGC  DEF ZMSGC     MESSAGE WITH NO HALT
MSGH  DEF ZMSGH     MESSAGE WITH HALT 
ERMS  DEF ZERMS     ERROR MESSAGE 
SWRT  DEF ZSWRT     SWITCH REGISTER CHECK ROUTINE 
TSTN  OCT 0         CURRENT TEST NUMBER 
EXRT  DEF ZEXRT     RETURN TO CONTROL PROGRAM 
      NOP           RESERVED
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
      SKP 
      ORG 140B
IOIP  DEF IODP
TSTP  DEF TSTD
HDMP  DEF HDMS
STDA  OCT 7777
STDB  OCT 0 
      HED EIG DIAGNOSTIC - CONSTANTS
      ORG 150B
IODP  EQU * 
      DEC -1
TSTD  EQU * 
      DEF TST00 
      DEF TST01 
      DEF TST02 
      DEF TST03 
      DEF TST04 
      DEF TST05 
      DEF TST06 
      DEF TST07 
      DEF TST10 
      DEF TST11 
      DEF TST12 
      DEF TST13 
      DEC -1
      ORG 200B
AACT  OCT 0 
AEXP  OCT 0 
BACT  OCT 0 
BEXP  OCT 0 
XACT  OCT 0 
XEXP  OCT 0 
YACT  OCT 0 
YEXP  OCT 0 
MACT  OCT 0 
MEXP  OCT 0 
OEACT OCT 0 
EEACT OCT 0 
HDMS  ASC 12, EIG (INDEX) DIAGNOSTIC/ 
STRT  OCT 2000
      SKP 
*                   TEST  SEQUENCES 
* 
*  TEST 
* 
* SUBTST 1          2         3         4 
* 
*        LDA        LDA       LDB       LDB 
*    0   CAX        CAY       CBX       CBY 
*        STX        STY       STX       STY 
* 
*        LDX        LDY       LDX       LDY 
*    1   CXA        CYA       CXB       CYB 
*        STA        STA       STB       STB 
* 
*        LDX        LDY       LDX       LDY 
*    2   XAX        XAY       XBX       XBY 
*        STX        STY       STX       STY 
* 
*        LDX        LDY       LDX       LDY 
*    3   ISX        ISY       DSX       DSY 
*        STX        STY       STK       STY 
* 
*        LDX        LDY       LDX       LDY 
*    4   ADX +N     ADY +N    ADX -N    ADY -N
*        STX        STY       STX       STY 
* 
*        LDX        LDY       LDX       LDY 
*    5   LAX        LAY       LBX       LBY 
*        STA        STA       STB       STB 
* 
*        LDA        LDA       LDB       LDB 
*    6   LDX        LDY       LDX       LDY 
*        SAX        SAY       SBX       SBY 
* 
*        JLY        JLY I(2)  LDY 
*    7   STY        STY       JPY 
* 
*    8   LDX A      LDX B     STX A     STX B 
* 
*    9   LAX M,I(1) LAY M,I(2)LDX M,I(3)LDX A,I(1)
* 
*   10   SAX MP     SAY MP    STX MP    STY MP
* 
*   11   JLY MP     JPY MP
* 
* 
*        N = 52525
*        M = MEMORY 
*        I = INDIRECT 
*        MP = MEMORY PROTECT
* 
* 
* 
* 
      SKP 
ZCONF EQU * 
MP    EQU 5B
BT15  OCT 100000
MPBT  OCT 40
OP1   OCT 52525 
OP2   OCT 125252
DM1   DEC -1
CT    DEC -10000
LOCS  OCT 0 
B2    OCT 2 
B4    OCT 4 
B6    OCT 6 
B7    OCT 7 
D10   DEC 10
ECSV1 OCT 0 
ERFLG OCT 0 
BPFLG OCT 0 
MFLG  OCT 0 
YFLG  OCT 0 
BUFS  OCT 0 
TPSV  OCT 0 
CTSV  OCT 0 
ECSV  OCT 0 
FPPS  OCT 0 
SPPS  OCT 0 
ASV   OCT 0 
BSV   OCT 0 
OPTS1 DEF *+1 
OPTS  BSS 40
OPTP1 DEF OPT1
OPT1  OCT 0 
      OCT 1 
      OCT 2 
      OCT 4 
      OCT 10
      OCT 20
      OCT 40
      OCT 100 
      OCT 200 
      OCT 400 
      OCT 1000
      OCT 2000
      OCT 4000
      OCT 10000 
      OCT 20000 
      OCT 40000 
      OCT 100000
      OCT 177776
      OCT 177775
      OCT 177773
      OCT 177767
      OCT 177757
      OCT 177737
      OCT 177677
      OCT 177577
      OCT 177377
      OCT 176777
      OCT 175777
      OCT 173777
      OCT 167777
      OCT 157777
      OCT 137777
      OCT 77777 
      OCT 177777
OTE1  DEF * 
      SKP 
FPP   DEF AACT
OSV   OCT 0 
ESV   OCT 0 
OPP1  DEF OPTP1,I 
OPP2  DEF OPP1,I
JMP1  JMP JP1P,I
JMP2  JMP JP2P,I
JMP3  JMP JP3P,I
JP1P  DEF JP1R
JP2P  DEF JP2R
JP3P  DEF JP3R
EC11  OCT 70300 
EC12  OCT 72340 
EC13  OCT 70401 
EC14  OCT 72441 
EC21  OCT 04526 
EC22  OCT 04627 
EC23  OCT 06566 
EC24  OCT 06667 
EC31  OCT 71426 
EC32  OCT 73467 
EC33  OCT 71526 
EC34  OCT 73567 
EC41  OCT 71026 
EC42  OCT 73067 
EC43  OCT 70726 
EC44  OCT 72767 
EC51  OCT 70226 
EC52  OCT 72267 
EC53  OCT 70226 
EC54  OCT 72267 
EC61  OCT 05126 
EC62  OCT 05167 
EC63  OCT 07226 
EC64  OCT 07267 
EC71  OCT 75300 
EC72  OCT 77340 
EC73  OCT 101301
EC74  OCT 103341
EC101 OCT 71300 
EC102 OCT 72340 
      SKP 
ISMT  ASC 02,LDA-             00   00000
      ASC 02,LDB-             01   00001
      ASC 02,STA-             02   00010
      ASC 02,STB-             03   00011
      ASC 02,ADX-             04   00100
      ASC 02,ADY-             05   00101
      ASC 02,CAX-             06   00110
      ASC 02,CAY-             07   00111
      ASC 02,CBX-             08   01000
      ASC 02,CBY-             09   01001
      ASC 02,CXA-             10   01010
      ASC 02,CXB-             11   01011
      ASC 02,CYA-             12   01100
      ASC 02,CYB-             13   01101
      ASC 02,DSX-             14   01110
      ASC 02,DSY-             15   01111
      ASC 02,ISX-             16   10000
      ASC 02,ISY-             17   10001
      ASC 02,LAX-             18   10010
      ASC 02,LAY-             19   10011
      ASC 02,LBX-             20   10100
      ASC 02,LBY-             21   10101
      ASC 02,LDX-             22   10110
      ASC 02,LDY-             23   10111
      ASC 02,XAX-             24   11000
      ASC 02,XAY-             25   11001
      ASC 02,XBX-             26   11010
      ASC 02,XBY-             27   11011
      ASC 02,STX-             28   11100
      ASC 02,STY-             29   11101
      ASC 02,SAX-             30   11110
      ASC 02,SAY-             31   11111
      ASC 02,SBX-             32   10000
      ASC 02,SBY-             33   10001
      SKP 
SPP   DEF *+1 
AAP   DEF AS+1
AEP   DEF AS+5
BAP   DEF BS+1
BEP   DEF BS+5
XAP   DEF XS+1
XEP   DEF XS+5
YAP   DEF YS+1
YEP   DEF YS+5
MAP   DEF MS
MEP   DEF MS+4
EPP   DEF * 
MS030 ASC 12,E030  AAA-BBB-CCC-ERROR
      OCT 6412
      ASC 06,REG-ACT-EXP
      OCT 6412
AS    ASC 10,A AAAAAA  AAAAAA 
BS    ASC 10,B BBBBBB  BBBBBB 
      OCT 6412
XS    ASC 10,X XXXXXX  XXXXXX 
YS    ASC 10,Y YYYYYY  YYYYYY 
      OCT 6412
MTRM  ASC 01,/
MS    ASC 07,MMMMMM  MMMMMM 
      OCT 6412
SLCH  ASC 01,/
MCH   ASC 01,M
MS031 ASC 13,E031 OVERFLOW-EXTEND ERROR 
      OCT 6412
      ASC 06,REG-ACT-EXP
      OCT 6412
OES   ASC 08,OV  XX  EX  XX/
      HED EIG DIAGNOSTIC - SUBROUTINES
RCK01 NOP 
      STA AACT      SAVE ACT A
      STB BACT      SAVE ACT B
      LDA YFLG
      SZA           TEST FOR FLAG SET 
      JMP RC00      YES 
      LDA BPFLG     LOAD BYPASS FLAG
      SZA,RSS       IS IT SET ? 
      JMP X01 
      CLA 
      STA YACT      CLEAR ACT 
      STA YEXP      CLEAR EXP 
      JMP ECK       CHECK FOR ERROR FLAG SET
X01   STY YACT      SAVE Y
      NOP           DANGER  DO NOT REMOVE 
      JMP ECK       CHECK FOR ERROR FLAG SET
RC00  LDA BPFLG 
      SZA,RSS       IS IT SET ? 
      JMP Y01 
      CLA 
      STA XACT      CLEAR ACT 
      STA XEXP      CLEAR EXP 
      JMP ECK       CHECK FOR ERROR FLAG SET
Y01   STX XACT      SAVE X
      NOP           DANGER  DO NOT REMOVE 
ECK   LDA ERFLG     LOAD ERROR FLAG 
      SZA           IS FLAG SET ? 
      JMP RC11-1    YES 
MCK   LDB MFLG      LOAD MEM CHECK FLAG 
      SZB,RSS       IS IT SET ? 
      JMP ATST      NO
* 
MTST  LDB MACT      LOAD ACT M
      CPB MEXP      TEST M
      JMP ATST      OK
      JSB RPER      REPORT ERROR IN M 
      JMP RC11      CONTINUE
* 
ATST  LDA AACT      LOAD A
      CPA AEXP      TEST A
      JMP BTST      OK
      JSB RPER1     REPORT ERROR IN A 
      JMP RC11      GO TO NEXT TEST CASE
* 
BTST  LDB BACT      LOAD B
      CPB BEXP      TEST B
      JMP XTST      OK
      JSB RPER1     REPORT ERROR IN B 
      JMP RC11      GO TO NXT TST CASE
* 
XTST  LDA XACT      LOAD X
      CPA XEXP      TEST X
      JMP YTST      OK
      JSB RPER1     REPORT ERROR IN X 
      JMP RC11      CONTINUE
* 
YTST  LDA YACT      LOAD Y
      CPA YEXP           Y
      JMP RC11
* 
      JSB RPER1     REPORT ERROR IN Y 
      JMP RC11      CONTINUE
* 
      JSB RPER1     REPORT ERROR
RC11  ISZ TPSV      BUMP TST CASE PTR 
      LDA TPSV
      CPA OTE1      LAST TST CASE ? 
RCEX1 ISZ RCK01     MOVE RTN PT 
      CLA           CLEAR 
      STA ERFLG           ERROR FLAG
      LDA AACT      NO, RELOAD A,B
      LDB BACT
      JMP RCK01,I   EXIT
STS   OCT 0 
ST1   OCT 20
ST2   OCT 40
ST3   OCT 60
ST4   OCT 100 
      SKP 
RPOEE NOP 
      STA ASV       SAVE A
      STB BSV       SAVE B
      CCA           SET 
      STA ERFLG         ERROR FLAG
      LDA OEACT     FORM
      AND D1
      IOR B60            ASCII
      STA TMP 
      LDA OEACT                FOR
      RAL 
      AND D1                       O
      IOR B60                        ERROR
      ALF,ALF 
      IOR TMP                              MESSAGE
      ALF,ALF       POSITION ACT-EXP
      STA OAP,I 
      LDA EEACT     FORM
      AND D1             ASCII
      IOR B60                  FOR
      STA TMP                      E
      LDA EEACT                      ERROR
      RAL 
      AND D1                               MESSAGE
      IOR B60 
      ALF,ALF 
      IOR TMP 
      ALF,ALF       POSITION ACT-EXP
      STA EMP,I 
      LDA TSTN      LOAD TEST NO
      IOR STS       OR IN SUBTEST NO
E031  JSB ERMS,I    REPORT ERROR
      DEF MS031 
      LDA ASV       RELOAD A
      LDB BSV       RELOAD B
      JMP RPOEE,I   EXIT
TMP   OCT 0 
D1    OCT 1 
OAP   DEF OES+2 
EMP   DEF OES+6 
B60   OCT 60
      SKP 
RPER  NOP 
      LDA MCH       ADD MSG 
      STA MTRM              LINK
      JSB ERRP      REPORT ERROR
      JMP RPER,I    EXIT
      SPC 2 
RPER1 NOP 
      LDA SLCH      ADD MSG 
      STA MTRM              TERMINATOR
      JSB ERRP      REPORT ERROR
      JMP RPER1,I   EXIT
      SPC 2 
ERRP  NOP 
      JSB SIS       INSERT SEQUENCE IN MESSAGE
      JSB CAID      CONVERT AND INSERT DATA 
      LDA TSTN      LOAD TEST NO
      IOR STS       OR IN SUBTEST NO
E030  JSB ERMS,I    REPORT ERROR
      DEF MS030 
      JMP ERRP,I    EXIT
      SPC 2 
SIS   NOP 
      LDA ISMP      INITIALIZE
      STA ISMPS                PTR TO FIRST MSG 
      LDA ECSV      LOAD ERROR CODE 
      AND B37       MASK OFF CODE 
      JSB MMSG      CONVERT AND STORE 1 ST INSTR
      LDA ECSV      RELOAD ERROR CODE 
      RAR,ALF       POSITION
      ALF,ALF                NEXT CODE
      AND B37       MASK OFF CODE 
      JSB MMSG      CONVERT AND STORE 2 ND INSTR
      LDA ECSV      RELOAD ERROR CODE 
      ALF           POSITION
      RAL,RAL                LAST CODE
      AND B77       MASK OFF CODE 
      JSB MMSG      CONVERT AND STORE 3 RD INSTR
      JMP SIS,I     EXIT
      SPC 2 
MMSG  NOP 
      RAL           MULTIPLY BY 2 
      ADA ISP       ADD TABLE ENTRY POINT 
      LDB A,I       LOAD 1ST CHAR 
      STB ISMPS,I   STORE IN MSG
      INA           BUMP
      ISZ ISMPS          POINTERS 
      LDB A,I       LOAD 2ND CHAR 
      STB ISMPS,I   STORE IN MSG
      ISZ ISMPS     MOVE POINTER
      JMP MMSG,I    EXIT
ISMPS OCT 0 
ISMP  DEF MS030+3 
ISP   DEF ISMT
B37   OCT 37
B77   OCT 77
      SKP 
CAID  NOP 
      LDA FPP       LOAD OPERAND POINTER
      STA FPPS
      LDA SPP       LOAD POINTER TO MSG STRING
      STA SPPS
CLP   CLE           SET 
      LDA FPPS,I        UP
      LDB SPPS,I           CONVERSION 
      JSB O2AS,I               ROUTINE
      ISZ FPPS      BUMP NEXT OPERAND 
      ISZ SPPS      BUMP DESTINATION POINT
      LDA SPPS      TEST
      CPA EPP            FOR LAST OPERAND 
      JMP CAID,I    YES 
      JMP CLP       NO, CONTINUE
      SKP 
EOSV  NOP 
      STA ASV       SAVE A
      ERA           SAVE
      AND BT15
      STA ESV            E
      STA EEACT 
      LDA BT15
      SOS           TEST FOR
      CLA                    O
      STA OSV                 SET/CLEAR 
      STA OEACT 
      CLO           CLEAR E 
      CLE                   O 
      LDA ASV       RESTORE A 
      JMP EOSV,I    EXIT
      SPC 2 
EOCK  NOP 
      STA ASV       SAVE A
      STB BSV       SAVE B
      ERA           TEST
      AND BT15           E
      LDB A         SAVE A
      RAL           POSITION BIT
      IOR EEACT     ADD IN EXP VALUE
      STA EEACT     SAVE EXP/ACT E
      LDA B         RESTORE A 
      CPA ESV 
      JMP OCK       OK
      JMP EOE       ERROR 
OCK   LDA BT15
      SOS           TEST FOR
      CLA                    O
      RAL           POSITION BIT
      IOR OEACT     ADD IN EXP VALUE
      STA OEACT     SAVE EXP/ACT O
      LDA BT15
      SOS           TEST FOR
      CLA                     O 
      CPA OSV 
      JMP EOE+1     OK
      LDA ASV       RESTORE A 
      LDB BSV       RESTORE B 
EOE   JSB RPOEE     REPORT O/E ERROR
      LDA ASV       RESTORE A 
      LDB BSV       RELOAD B
      JMP EOCK,I    EXIT
      SKP 
RSEI  NOP 
      STA ASV       SAVE A
      STB BSV       SAVE B
      LDA ERFLG     LOAD FLAG 
      SZA,RSS       IS IT SET ? 
      JMP END       EXIT
      LDA ERFLG     TEST
      CPA B2             FOR WHICH MSG TO USE 
      JMP RSED
      LDA ISE       NO
      ADA ECSV1     FORM
      LDB A,I            MSG
      STB MS032+2            FOR
      INA                        OUTPUT 
      LDB A,I 
      STB MS032+3 
      LDA TSTN      LOAD TEST NO
      IOR STS       OR IN SUBTEST NO
E032  JSB ERMS,I    REPORT ERROR
      DEF MS032 
      JMP END       EXIT
RSED  LDA ISE 
      ADA ECSV1     FORM
      LDB A,I            MSG
      STB MS033+2            FOR
      INA                        OUTPUT 
      LDB A,I 
      STB MS033+3 
      LDA TSTN      LOAD TEST NO
      IOR STS       OR IN SUBTEST NO
E033  JSB ERMS,I    REPORT ERROR
      DEF MS033 
END   LDA ASV       RESTORE A 
      LDB BSV       RESTORE B 
      JMP RSEI,I    EXIT
ISE   DEF ISET
ISET  ASC 02, ISX 
      ASC 02, ISY 
      ASC 02, DSX 
      ASC 02, DSY 
MS032 ASC 15,E032 ISX INSTR FAILED TO SKIP/ 
MS033 ASC 19,E033 ISX INSTR SKIP'D BUT SHOULD NOT/
      SKP 
SKP1  NOP 
      STA ASV       SAVE A
      STB BSV 
      LDA SKP1      MOVE
      STA SKXY           RTN POINT
      LDA XEXP      LOAD SKP INDICATOR
      JMP SKXY+1
      SPC 2 
SKP2  NOP 
      STA ASV       SAVE A
      STB BSV       SAVE B
      LDA SKP2      MOVE
      STA SKXY           RTN POINT
      LDA YEXP      LOAD SKP INDICATOR
      JMP SKXY+1
      SPC 2 
SKXY  NOP 
      CCB 
      SZA           TEST FOR SKP CORRECT
      CLB 
      STB ERFLG     INITIALIZE FLAG 
      LDA ASV       RESTORE A 
      LDB BSV                B
      ISZ SKXY      MOVE RTN POINT
      JMP SKXY,I    EXIT
      SPC 2 
SKP11 NOP 
      STA ASV       SAVE A
      STB BSV       SAVE B
      LDA SKP11     MOVE
      STA SKXY1          RTN POINT
      LDA XEXP      LOAD SKP INDICATOR
      JMP SKXY1+1 
      SPC 2 
SKP21 NOP 
      STA ASV       SAVE A
      STB BSV       SAVE B
      LDA SKP21     MOVE
      STA SKXY1          RTN POINT
      LDA YEXP      LOAD SKP INDICATOR
      JMP SKXY1+1 
      SPC 2 
SKXY1 NOP 
      LDB B2
      SZA,RSS       TEST FOR SKP CORRECT
      CLB 
      STB ERFLG     INITIALIZE FLAG 
      LDA ASV       RESTORE A 
      LDB BSV                B
      JMP SKXY1,I   EXIT
      SKP 
RCK02 NOP 
      STA AACT      SAVE A
      STB BACT            B 
      STX XACT             X
      NOP           DANGER  DO NOT REMOVE 
      STY YACT              Y 
      NOP           DANGER  DO NOT REMOVE 
      CPA AEXP      TEST A
      JMP RCK02,I   OK
      JSB RPIE      REPORT INDIRECT ERROR 
      JMP RCK02,I   EXIT
      SPC 2 
RCK03 NOP 
      STA AACT      SAVE A
      STB BACT            B 
      STX XACT             X
      NOP           DANGER  DO NOT REMOVE 
      STY YACT              Y 
      NOP           DANGER  DO NOT REMOVE 
      LDA XACT
      CPA XEXP      TEST X RESULTS
      JMP RCK03,I   EXIT
      JSB RPIE      REPORT INDIRECT ERROR 
      JMP RCK03,I   EXIT
      SPC 2 
RPIE  NOP 
      LDA TSTN      LOAD TEST NO
      IOR STS       OR IN SUBTEST NO
E040  JSB ERMS,I    REPORT ERROR
      DEF MS040 
      JMP RPIE,I    EXIT
LAXM  ASC 01,AX 
LAYM  ASC 01,AY 
LDXM  ASC 01,DX 
MS040 ASC 13,E040 LAX INDIRECT FAILED/
      SKP 
                                                                                                                                                                                                                  