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. LOAD S-REGISTER WITH WCS PCA SELECT CODE.
*         E. PRESS PRESET,RUN AND WAIT FOR HALT 102074. 
*         F. LOAD S-REGISTER
*                   IF SET =: 
*                   15 = HALT AT END OF EACH TEST(SEE HALT
*                        102076 BELOW)
*                   14 = SUPPRESS ERROR HALTS 
*                   13 = LOOP ON LAST TEST
*                   12 = LOOP ON DIAGNOSTIC 
*                        (SUPPRESS ALL OPERATOR INTERVENTION) 
*                   11 = SUPPRESS ERROR MESSAGES
*                   10 = SUPPRESS NON-ERROR MESSAGES
*                    9 = GO TO USER CONTROL SECTION 
*                        AT END OF PRESENT TEST(SEE HALT
*                        102075 BELOW)
*                    8 = SUPPRESS OPERATOR INTERVENTION TESTS 
*                    7 = ABORT TST25 AND COMPLETE CURRENT PASS
*                    6
*                      = RESERVED 
*                    0
*         NOTE: CLEAR S-REGISTER WILL EXECUTE THE DEFAULT SET OF
*               TESTS(TST00-TST24) HALTING ON ERRORS AND AT THE 
*               END OF THE PASS.
* 
*         G. PRESS RUN. 
*         H. RESTART - LOAD ADDRESS 2000B 
*         I. RECONFIGURE - LOAD ADDRESS 100B
* 
* 
*         CONTROL PROGRAM HALT MESSAGES 
* 
*         106077    TRAP CELL HALT
*         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
      HED CONFIGURATOR LINKAGE TABLE
A     EQU 0         A-REGISTER REFERENCE
INTP  EQU 0         INTERRUPT SYSTEM REFERENCE
B     EQU 1         B-REGISTER REFERENCE
S     EQU 1         S-REGISTER REFERENCE
DCPCL EQU 2         DCPC CHANNEL LOW REFERENCE
DCPCH EQU 6         DCPC CHANNEL HIGH REFERENCE 
WCS   EQU 11B       WCS SELECT CODE REFERENCE 
* 
      ORG 100B
      JMP CFIG,I    GO TO CONFIGURATION SECTION 
      BSS 1         FAST INPUT (PHOTO READER) 
      BSS 1         SLOW OUTPUT (LIST)
      BSS 1         FAST OUTPUT (DUMP OR PUNCH) 
      BSS 1         SLOW INPUT (KEYBOARD) 
      DEF FWAA      FIRST WORD OF AVBL. MEMORY
      BSS 1         LAST WORD OF AVBL. MEMORY 
      BSS 1         NOT USED (MAG TAPE) 
      BSS 1         1 MILL SEC TIME OUT COUNT 
      BSS 4         SELECT CODES FOR I/O
CPTO  BSS 1         COMPUTER TYPE/OPTIONS 
USSC  BSS 1         USER CARD TYPE AND SELECT CODE
      BSS 1         MEMORY SIZE AND TYPE
      BSS 1         INTERNAL SWITCH REGISTER
TMRR  BSS 1         1 MILL SEC TIMER
SWRC  BSS 1         CONFIGURATOR SWITCH CK PTR
      BSS 1         INTEGER TO ASCII CONVERSION 
O2AS  BSS 1         OCTAL TO ASCII CONVERSION 
AS2N  BSS 1         ASCII CONVERSION
      OCT 103023    DIAGNOSTIC SERIAL NUMBER
FMTR  BSS 1         FORMATTER 
      HED WRITE,READ1 
*     LOADS ENTIRE WCS RAM STORAGE ACCORDING TO THE FOLLOWING 
*     INPUT PARAMETERS: 
* 
*     B = CONTROL MEMORY MOD NUMBERS
*     X = 8MSB  OF RAM DATA 
*     Y = 16LSB  OF RAM DATA
* 
WRITE NOP 
      CLA           START AT RAM ADDRESS 0
CLF01 CLF WCS       INSURE WCS IS DISABLED
CLC01 CLC WCS       PUT WCS IN COMMAND STATE
OTA01 OTA WCS       START AT RAM ADDRESS IN A-REG 
OTB01 OTB WCS       SET CONTROL MEMORY MOD'S
STC01 STC WCS       PUT WCS IN DATA MODE
      CXA           GET RAM DATA
      CYB            WORD IN A- AND B-REG'S 
      LDY B2000     SET COUNTER=1024(DECIMAL) 
OTA02 OTA WCS       LOAD
OTB02 OTB WCS        RAMS 
      DSY           DONE? 
      JMP OTA02     NO.CONTINUE 
      JMP WRITE,I   YES 
* 
*     READS AND VERIFIES ONE RAM LOCATION IN WCS ACCORDING TO THE 
*     FOLLOWING INPUT PARAMETERS: 
* 
*     A = RAM ADDRESS 
*     X = 8MSB  OF RAM DATA EXPECTED
*     Y = 16LSB  OF RAM DATA EXPECTED 
* 
*     RETURNS WITH REGISTERS INTACT 
* 
READ1 NOP 
      STA SAVE1     SAVE
      STB SAVE3      A- & B-REG'S 
      LDA READ1     FIX LOAD TO RETURN
      STA LOAD1      TO READ1'S CALLING ADDRESS+1 
      LDA SAVE1     RESTORE A 
      JMP CLC05     GO USE LOAD 
      HED READ
*     READS ENTIRE WCS RAM STORAGE ACCORDING TO THE FOLLOWING 
*     INPUT PARAMETERS: 
* 
*     X = 8MSB  OF RAM DATA EXPECTED
*     Y = 16LSB  OF RAM DATA EXPECTED 
* 
READ  NOP 
      CLA           START AT RAM ADDRESS 0
      STX GD.08     SAVE RAM
      STY GD.16      DATA LOADED
CLC02 CLC WCS       PUT WCS BACK IN COMMAND STATE 
OTA03 OTA WCS       RESET STARTING RAM ADDRESS
      CAX           CLEAR X-REG 
      LDY B2000     RESET COUNTER 
STC02 STC WCS       PUT WCS BACK IN DATA MODE 
LIA01 LIA WCS       READ
LIB01 LIB WCS        RAMS 
      STA SAVE2     SAVE 1ST READ 
      AND MASK1     ANY BIT(S) SET
      SZA            IN BITS 8-15?
      JSB ERRAA     YES.ERROR 
      LDA SAVE2     DID 8MSB
      AND MASK2      OF RAM DATA
      CPA GD.08       GET LOADED OK?
      JMP L.000     YES 
      JSB ERRBB     RAM DATA ERROR
      JMP L.001 
L.000 CPB GD.16     16LSB  OF RAM DATA LOADED OK? 
      JMP L.001     YES 
      JSB ERRBB     RAM DATA ERROR
L.001 ISX           BUMP RAM ADDRESS
      DSY           DONE? 
      JMP LIA01     NO.CONTINUE 
      JMP READ,I    YES 
      HED LOAD1 
*     LOADS AND VERIFIES WCS TO ONE MICROWORD ACCORDING TO THE
*     FOLLOWING INPUT PARAMETERS: 
* 
*     A = RAM ADDRESS 
*     B = CONTROL MEMORY MOD NUMBERS
*     X = 8MSB  OF RAM DATA 
*     Y = 16LSB  OF RAM DATA
* 
*     RETURNS WITH REGISTERS INTACT 
* 
LOAD1 NOP 
CLF02 CLF WCS       INSURE WCS IS DISABLED
CLC04 CLC WCS       PUT WCS IN COMMAND STATE
OTA05 OTA WCS       SET RAM ADDRESS 
OTB03 OTB WCS       SET CONTROL MEMORY MODULE 
      STA SAVE1     SAVE RAM ADDRESS
      STB SAVE3      AND CONTROL MEMORY MODULE
STC03 STC WCS       PUT WCS IN DATA MODE
      CXA           GET RAM DATA
      CYB            IN A- & B-REG'S
OTA06 OTA WCS       LOAD WCS WITH 
OTB04 OTB WCS        RAM DATA 
      LDA SAVE1     GET RAM ADDRESS 
CLC05 CLC WCS       PUT WCS IN COMMAND STATE
OTA07 OTA WCS       SET RAM ADDRESS 
      STX GD.08     SAVE
      STY GD.16      RAM DATA 
STC04 STC WCS       PUT WCS IN DATA MODE
LIA02 LIA WCS       READ RAM
LIB02 LIB WCS        DATA BACK
      STA SAVE2     ANY BIT(S)
      AND MASK1      SET IN 
      SZA,RSS         1ST READ? 
      JMP L.007     NO
      LDX SAVE1     YES.X-REG=RAM ADDRESS 
      JSB ERRAA     RAM READ ERROR
L.007 LDA SAVE2     DID 8MSB
      AND MASK2      OF RAM DATA
      CPA GD.08       GET LOADED OK?
      JMP L.008     YES 
      LDX SAVE1     NO.X-REG=RAM ADDRESS
      JSB CHECK     GO CHECK FOR ADDRESS FAILURE
      JSB ERRBB     RAM DATA ERROR
      JMP L.009 
L.008 CPB GD.16     16LSB  OF RAM DATA LOADED OK? 
      JMP L.009     YES 
      LDX SAVE1     NO.X-REG=RAM ADDRESS
      JSB CHECK     GO CHECK FOR ADDRESS FAILURE
      JSB ERRBB     RAM DATA ERROR
L.009 LDA SAVE1     RESTORE 
      LDB SAVE3      REGISTERS
      LDX GD.08 
      LDY GD.16 
      JMP LOAD1,I 
      HED ALTST 
*     WRITES/READS IN AN OTA,LIA,OTB,LIB,OTA,LIA,ETC. SEQUENCE
*     ACCORDING TO THE FOLLOWING INPUT PARAMETERS:
* 
*     A = STARTING RAM ADDRESS=0
*     B = CONTROL MEMORY MOD'S
*     X = 8MSB  OF RAM DATA TO BE LOADED
*     Y = 16LSB  OF RAM DATA TO BE LOADED 
*     GD.08 =  8MSB  OF RAM DATA PREVIOUSLY LOADED
*     GD.16 =  16LSB  OF RAM DATA PREVIOUSLY LOADED 
* 
ALTST NOP 
      STA SAVE1     SAVE RAM ADDRESS
CLC08 CLC WCS       PUT WCS IN COMMAND STATE
OTA10 OTA WCS       STARTING RAM ADDRESS
OTB07 OTB WCS       SET CONTROL MEMORY MOD'S
STC06 STC WCS       PUT WCS IN DATA MODE
L.014 CXA           GET RAM DATA TO 
      CYB            BE LOADED IN A & B 
OTA11 OTA WCS       LOAD
OTB08 OTB WCS        WCS
      ISZ SAVE1     BUMP RAM ADDRESS
LIA05 LIA WCS       READ
LIB04 LIB WCS        WCS
      STA SAVE2     ANY BIT(S) IN 
      AND MASK1      LEFT BYTE FROM 
      SZA,RSS         1ST READ? 
      JMP L.010     NO
      STX SAVE3     YES.RAM 
      LDX SAVE1      READ 
      JSB ERRAA       ERROR 
      LDX SAVE3 
L.010 LDA SAVE2     DID PREVIOUS 8MSB 
      AND MASK2          OF RAM 
      CPA GD.08       DATA GET LOADED OK? 
      JMP L.011     YES 
L.013 STX SAVE3     NO.RAM
      LDX SAVE1      DATA 
      JSB ERRBB       ERROR 
      LDX SAVE3 
      JMP L.012 
L.011 CPB GD.16     16LSB  OF RAM DATA LOADED OK? 
      RSS 
      JMP L.013     NO.RAM DATA ERROR 
L.012 LDA SAVE1     YES 
      CPA B1777     DONE? 
      JMP ALTST,I   YES 
      ISZ SAVE1     NO.BUMP RAM ADDRESS 
      JMP L.014      AND CONTINUE 
      HED WHANG,.8
*     SUBJECTS WCS TO A SERIES OF I/O INSTRUCTIONS(NOT CLF OR STF)
* 
WHANG NOP 
OTA13 OTA WCS 
OTB10 OTB WCS 
LIA07 LIA WCS 
LIB06 LIB WCS 
STC08 STC WCS 
CLC10 CLC WCS 
      JMP WHANG,I 
* 
*     PUTS 3 ASCII DIGITS RHJ IN S100 AREA WITH A PERIOD INTO THE 
*     MESSAGE AREA POINTED TO BY B-REG
* 
.8MSB NOP 
      LDA S100A     GET 1ST OF
      ALF,ALF        3 ASCII
      AND MASK1       DIGITS
      STA ZSAV1 
      LDA S100B     GET NEXT
      AND MASK1      ASCII DIGIT
      ALF,ALF         AND MERGE 
      IOR ZSAV1        WITH 1ST 
      STA B,I       PUT IT IN MSG 
      INB 
      LDA S100B     FORM LAST 
      ALF,ALF        ASCII DIGIT
      AND MASK1       AND PERIOD
      IOR PEROD 
      STA B,I       PUT IT IN MSG 
      JMP .8MSB,I 
      HED .24BS,.10BS 
*     CONVERT 24 BIT MICROINSTRUCTION TO ASCII AND MOVES IT TO MSG
*     H101 BASED ON THE FOLLOWING INPUT PARAMETERS: 
* 
*     A = 8MSB  OF MICROINSTRUCTION 
*     B = POINTER TO START OF ASCII STRING IN H101
*     X = 16LSB  OF MICROINSTRUCTION
* 
.24BS NOP 
      CLE           CONVERT 8MSB
      CBY            OF MICRO-OBJECT
      LDB PS100       CODE TO ASCII 
      JSB O2AS,I       AND STUFF IN 
      CYB               MSG H101 WITH 
      JSB .8MSB          A PERIOD 
      CLE           CONVERT 16LSB 
      CXA            OF MICRO-OBJECT
      CYB             CODE TO ASCII 
      ADB B2           AND STUFF IN 
      JSB O2AS,I        MSG H101
      JMP .24BS,I 
* 
*     CONVERTS 10 BIT RAM ADDRESS TO ASCII AND MOVES IT 
*     TO THE MESSAGE BASED ON THE FOLLOWING INPUT PARAMETERS: 
* 
*     A =  10 BIT RAM ADDRESS 
*     B =  POINTER TO START OF ASCII STRING IN MSG
* 
.10BS NOP 
      CLE           CONVERT RAM 
      CBY            ADDRESS TO 
      LDB PS100       ASCII AND 
      JSB O2AS,I       STUFF IT 
      CYB               IN THE ASCII
      LDA PS10A          STRING OF
      MVW B2              THE MESSAGE 
      JMP .10BS,I 
      HED CHECK,EO37
*     CHECKS CURRENT RAM DATA ERROR TO SEE IF IT SHOULD 
*     BE PRECEDED BY AN ADDRESS ERROR MESSAGE TO INDICATE 
*     THAT AN ADDRESS LINE ON THE PC BOARD IS BAD.
* 
CHECK NOP 
      STA A.REG     SAVE
      STB B.REG      A & B
      XOR GD.08     ALL 8MSB  OF
      CPA B377       RAM DATA FAIL? 
      RSS           YES.POSSIBLE ADDRESS FAILURE
      JMP L.019     NO.DATA ERROR 
      STB A         ALL 16LSB 
      XOR GD.16      OF RAM DATA
      INA,SZA,RSS     FAIL? 
      JMP ERR37     YES.ADDRESS FAILURE 
L.019 LDA A.REG     NO.DATA ERROR.RESTORE 
      LDB B.REG      REGISTERS
      JMP CHECK,I 
* 
*     REPORTS E037
* 
ERR37 EQU * 
      LDA TSTN      CURRENTLY IN
      CPA B11        TST11? 
      RSS 
      JMP L.019     NO.SKIP THIS ERROR
      CXA           YES.ERROR AT
      CPA SAVE4      TEST LOCATION? 
      RSS 
      JMP L.020     NO.BACKGROUND ALTERED 
      LDA SAVE9     YES.TEST PATTERN ALTERED
L.021 STA ZSAVB     SAVE IT FOR ERROR HALT
      LDB PE37A     CONVERT ALTERING ADDRESS TO 
      JSB .10BS      ASCII IN MESSAGE E037
      CXA           CURRENT ADDRESS ALTERED 
      STA ZSAVA     SAVE IT FOR ERROR HALT
      LDB PE37B     CONVERT ALTERED ADDRESS TO
      JSB .10BS      ASCII IN MESSAGE E037
      LDA ZSAVA     ARRANGE REGISTERS 
      LDB ZSAVB      FOR ERROR HALT 
      JSB ERMS,I    REPORT
      DEF E037       ERROR
      JMP PT118,I   CONTINUE IN TST11 
L.020 LDA SAVE4     BACKGROUND ALTERED
      JMP L.021 
      HED ERRAA,ERRBB 
*     REPORTS E032(102032) ACCORDING TO FOLLOWING INPUT PARAMETERS: 
* 
*     A = BITS PICKED UP IN BITS 8-15 ON 1ST READ OF RAM DATA 
*     X = RAM ADDRESS 
* 
ERRAA NOP 
      STB ZSAV1     SAVE B-REG
      CXB           GET RAM ADDRESS IN B-REG
      JSB ERMS,I    GO REPORT ERROR 
      DEF E032
      LDB ZSAV1     RESTORE B-REG 
      JMP ERRAA,I 
* 
*     REPORTS RAM DATA ERROR READ FROM WCS ACCORDING
*     TO FOLLOWING INPUT PARAMETERS:
* 
*     A      = 8MSB  OF RAM DATA READ 
*     B      = 16LSB  OF RAM DATA READ
*     X      = RAM ADDRESS
*     GD.08  = 8MSB  OF RAM DATA LOADED 
*     GD.16  = 16LSB  OF RAM DATA LOADED
* 
ERRBB NOP 
      STA ZSAVA     SAVE
      STB ZSAVB      A-&B-REG'S 
      STY SAVEY       AND Y-REG 
      LDB TSTN      START WITH B=TEST # 
      LDA TSTN      IN TST16
      ADA M16        THRU 
      SSA,RSS         TST24?
      LDB B35       YES.USE ERROR 35 INSTEAD
      LDA TSTN      IN
      CPA B26        TST25? 
      LDB B30       YES.USE ERROR 30 INSTEAD
      LDA B         CONVERT 
      JSB QO2AS,I    # TO ASCII 
      STA PERBB,I     & STUFF IN MESSAGE E0BB 
      CLE           CONVERT 
      CXA            RAM ADDRESS
      LDB P100A       TO ASCII
      JSB O2AS,I
      CLE           CONVERT 8MSB
      LDA GD.08      OF RAM DATA
      LDB PS100       LOADED TO 
      JSB O2AS,I       ASCII
      LDB P100B     PUT IT
      JSB .8MSB      IN MSG H100
      CLE           CONVERT 16LSB 
      LDA GD.16          OF RAM 
      LDB P100C       DATA LOADED 
      JSB O2AS,I       TO ASCII 
      CLE           CONVERT 8MSB
      LDA ZSAVA          OF RAM 
      LDB PS100       DATA READ 
      JSB O2AS,I       TO ASCII 
      SKP 
      LDB P100D     PUT IT
      JSB .8MSB      IN MSG H100
      CLE           CONVERT 16MSB 
      LDA ZSAVB          OF RAM 
      LDB P100E       DATA READ 
      JSB O2AS,I       TO ASCII 
      LDA GD.08     FORM GOOD 
      ALF,ALF        AND BAD 8RAM 
      IOR ZSAVA           OF RAM
      LDB A            DATA IN B-REG
      STX SAVEX     SAVE RAM ADDRESS
      LDX GD.16     GOOD 16LSB  IN X-REG
      LDY ZSAVB     BAD 16LSB  IN Y-REG 
      LDA TSTN      IN
      CPA B26        TST25? 
      JMP L.015      YES.SKIP ERROR HALT & MESSAGE
      LDA SAVEX      A-REG=RAM ADDRESS
      JSB ERMS,I    GO REPORT ERROR 
      DEF E0BB,I     FIRST AND
      DEF H100        MESSAGE H100 NEXT 
L.015 LDA SAVEX     RESTORE RAM ADDRESS 
      LDX SAVEX     RESTORE X- AND
      LDY SAVEY      Y-REG'S
      JMP ERRBB,I 
      HED ERR36,ERREE,ERRDD,ERRFF 
*     REPORTS BAD EXECUTION OF A FLT(105120) MACROINSTRUCTION 
* 
ERR36 NOP 
      JSB ERMS,I
      DEF E036
      JMP ERR36,I 
* 
*     REPORTS THAT WCS WAS NOT ENABLED BY A STF 
* 
ERREE NOP 
      LDA PERRE     MOVE
      LDB PERRF      "ENABLED"
      MVW B4          INTO MSG EFF
      JSB ERRFF     REPORT IT 
      JMP ERREE,I 
* 
*     REPORTS THAT WCS WAS NOT DISABLED BY A CLF
* 
ERRDD NOP 
      CLA           SET UP
      LDB TMOD       WCS FOR
CLC12 CLC WCS         MOD'S 2-5 
OTA15 OTA WCS          WITHOUT USING
OTB12 OTB WCS           EIG INSTRUCTIONS
      LDA PERRD     MOVE
      LDB PERRF      "DISABLED" 
      MVW B4          INTO MSG E017 
      JSB ERRFF     REPORT IT 
      JMP ERRDD,I 
* 
*     REPORTS MSG EFF 
* 
ERRFF NOP 
      LDA TSTN      CONVERT TEST
      JSB QO2AS,I    # TO ASCII 
      STA PERFF,I     AND STUFF IN MSG EFF
      JSB ERMS,I    GO REPORT 
      DEF EFF        EFF
      JMP ERRFF,I 
      HED EH101 
*     REPORTS BAD EXECUTION OF MICROCODE ACCORDING TO THE FOLLOWING 
*     INPUT PARAMETERS: 
* 
*     SAVEX =  LOWER RAM ADDRESS
*     SAVEY =  UPPER RAM ADDRESS
*     ZSAVA =  MOD NUMBER 
*     ZSAVB =  MICROCODE #
* 
*     THE ACTUAL RAM DATA MUST BE SET UP IN THE ASCII STRING
*     OF MSG H101 PRIOR TO CALLING THIS ROUTINE.
* 
EH101 NOP 
      LDA ZSAVA     CONVERT MOD 
      JSB QO2AS,I    # TO ASCII & 
      STA P101A,I     STUFF IN MSG H101 
      LDA TSTN      CONVERT TEST #
      JSB QO2AS,I    TO ASCII AND 
      STA PERRG,I     STUFF IN MSG EGG
      LDA ZSAVA     ARRANGE 
      LDB SAVEX      REGISTERS
      ALF,ALF 
      ALF 
      RAR,RAR 
      IOR B 
      STA ZSAVA 
      LDA ZSAVB 
      LDB SAVEY 
      ALF,ALF 
      ALF 
      RAR,RAR 
      IOR B 
      LDB A         ARRANGE REGISTERS 
      LDA ZSAVA      FOR ERROR HALT 
      JSB ERMS,I    REPORT
      DEF EGG,I      ERROR
      DEF H101
      JMP EH101,I 
      HED ERRGG 
*     REPORTS E021 ACCORDING TO THE FOLLOWING INPUT PARAMETERS: 
* 
*     SAVEX =  LOWER RAM ADDRESS
*     SAVEY =  UPPER RAM ADDRESS
*     ZSAVA =  MOD NUMBER 
*     ZSAVB =  MICROCODE # AND SUSPECT MICROFIELD # 
* 
ERRGG NOP 
      LDA SAVEX     CONVERT RAM ADDRESS 
      LDB P101B      TO ASCII IN
      JSB .10BS       MESSAGE H101
      LDA P1        CONVERT RAM DATA
      LDB P101C      TO ASCII IN
      LDX P1+1        MESSAGE H101
      JSB .24BS 
      LDA SLASH     STOP AT ONE LINE
      STA P101E,I    OF MICROCODE 
      JSB EH101     GO REPORT ERROR 
      JMP ERRGG,I 
      HED ERRMM 
*     REPORTS E024
* 
ERRMM NOP 
      LDA SAVE5     FORM MICROCODE
      INA            NUMBER FOR A-REG 
      STA ZSAVB 
      LDA SAVE6     FORM MOD
      ALF,ALF        NUMBER FOR 
      AND B3          A-REG AT THE
      ADA B2           ERROR HALT 
      STA ZSAVA 
      LDA SAVE6     FORM LOWER RAM
      STA SAVEX      ADDRESS FOR ERROR HALT 
      ADA B2        FORM UPPER RAM
      STA SAVEY      ADDRESS FOR ERROR HALT 
      CLE           CONVERT 1ST 
      LDA SAVE6      RAM ADDRESS
      LDB PS100       TO ASCII
      JSB O2AS,I       AND MOVE 
      LDB P101B         TO MSG
      LDA PS10A          H101 
      MVW B2
      LDB P101C     CONVERT 1ST 
      LDA P2         MICROINSTRUCTION 
      LDX P2+1        TO ASCII IN 
      JSB .24BS        MSG H101 
      ISZ SAVE6     CONVERT 2ND RAM 
      LDA SAVE6      ADDRESS TO 
      LDB P101E       ASCII IN
      JSB .10BS        MSG H101 
      LDB P101F     CONVERT 2ND 
      LDA P3         MICROINSTRUCTION 
      LDX P3+1        TO ASCII
      JSB .24BS        IN MSG H101
      ISZ SAVE6     CONVERT 3RD 
      LDA SAVE6      RAM ADDRESS
      LDB P101H       TO ASCII
      JSB .10BS        IN MSG H101
      LDB P101I     CONVERT 3RD 
      LDA P4         MICROINSTRUCTION 
      LDX P4+1        TO ASCII
      JSB .24BS        IN MSG H101
      LDA SLASH     SET MSG H101 TO 
      STA P101K,I    STOP AT 3 RAM ADDRESSES
      JSB EH101     GO REPORT ERROR 
      JMP ERRMM,I 
      HED PROGRAM CONSTANTS,LINKS AND STORAGE 
.0    DEC 0 
.1    DEC 1 
.32K  DEC 32767 
.M1   DEC -1
.M16  DEC -16 
.M2   DEC -2
A.REG BSS 1         STORAGE FOR A AFTER MACRO 
B.REG BSS 1         STORAGE FOR B AFTER MACRO 
B10   OCT 10
B11   OCT 11
B1000 OCT 1000
B100K OCT 100000
B177  OCT 177 
B1776 OCT 1776
B1777 OCT 1777
B2    OCT 2 
B200  OCT 200 
B2000 OCT 2000
B26   OCT 26
B3    OCT 3 
B30   OCT 30
B35   OCT 35
B377  OCT 377 
B4    OCT 4 
B6000 OCT 6000
B77   OCT 77
B7760 OCT 7760
BACK1 BSS 1         8MSB  OF RAM BACKGROUND 
BACK2 BSS 1         16LSB  OF RAM BACKGROUND
BIT7  EQU B200      BIT 7 
CFIG  DEF ZCONF     LINK TO CONFIGURATION SECTION 
CW2   OCT 4000      BUFFER AREA 
CW3   OCT -4000     MOVE 2K WORDS(1K RAM DATA)
E.REG BSS 1         STORAGE FOR E AFTER MACRO 
ERMS  DEF ZERMS     ERROR MESSAGE WITH HALT 
FLOAT OCT 105120    FLT MACROINSTRUCTION
GD.08 BSS 1         8MSB  OF RAM DATA LOADED
                                                                                                                                                                                    