* 
* 
*     TVP10    SC 
* 
TVP10 NOP 
      JSB OPEND     CHECK FOR ABORT 
      LDA TVP10,I   WD2 
      STA SHTAS     EXPECTED STATUS 
      ISZ TVP10 
      ISZ TVP10 
      JSB WCHK      CHECK STATUS
      CLA 
      STA SHTAS     RESET EXPECTED STATUS 
      JMP TVP10,I 
* 
* 
*     TVP13    HT 
* 
TVP13 NOP 
      JSB OPEND     CHECK FOR ABORT 
      LDA TVP13,I   HALT CODE 
      HLT 2 
      ISZ TVP13 
      ISZ TVP13 
      JMP TVP13,I 
* 
* 
*     TVP14    LP 
* 
TVP14 JSB OPEND     CHECK FOR ABORT 
      JMP BPTO,I
* 
*     TVP15    RT 
* 
TVP15 NOP 
      JSB OPEND     CHECK FOR ABORT 
      LDA TVP15,I   NUMBER OF TIMES TO REPEAT 
      ISZ TVP15 
      CPA TVP15,I   DONE? 
      JMP TV15A     YES 
      ISZ TVP15,I 
      ISZ TVP15 
      JMP TVP15,I   JUMP TO LABEL 
TV15A CLA 
      STA TVP15,I   RESET COUNT 
      ISZ TVP15 
      ISZ TVP15 
      ISZ TVP15 
      JMP TVP15,I 
* 
* 
* 
*     TRANSFER VECTORS
* 
* 
*     POINTERS USED BY TRANSFER VECTORS 
* 
* 
CODEC ABS -*-2
CODEE DEF *+1 
      ASC 1,AR      0 
      ASC 1,CB      1 
      ASC 1,CD      2 
      ASC 1,CE      3 
      ASC 1,DB      4 
      ASC 1,DS      5 
      ASC 1,EE      6 
      ASC 1,EN      7 
      ASC 1,EP      10
      ASC 1,GO      11
      ASC 1,HT      12
      ASC 1,ID      13
      ASC 1,IS      14
      ASC 1,LB      15
      ASC 1,RD      16
      ASC 1,RR      17
      ASC 1,RS      20
      ASC 1,SC      21
      ASC 1,SD      22
      ASC 1,SR      23
      ASC 1,WD      24
      ASC 1,LP      25
      ASC 1,RL      26
      ASC 1,ST      27
      ASC 1,RT      30
      ASC 1,FL      31
      ASC 1,FU      32
      ASC 1,VL      33
      ASC 1,VU      34
CODEF DEF * 
* 
*     TABLE OF OP CODES 
* 
* 
* 
*     CODE GENERATOR TRANSFER TABLE 
* 
OUTC  DEF *+1 
      DEF POUT1     AR
      DEF POUT5     CB
      DEF POUT4     CD
      DEF POUT2     CE
      DEF POUT6     DB
      DEF POUT1     DS
      DEF POT11     EE
      DEF POUT7     EN
      DEF POT12     EP
      DEF POUT3     GO
      DEF POT10     HT
      DEF POUT9     ID
      DEF POUT1     IS
      DEF POUT3     LB
      DEF POUT4     RD
      DEF POUT2     RR
      DEF POUT2     RS
      DEF POT10     SC
      DEF POUT8     SD
      DEF POUT1     SR
      DEF POUT4     WD
      DEF POT14     LP
      DEF POUT2     RL
      DEF POUT2     ST
      DEF POT15     RT
      DEF POUT2     FL
      DEF POUT2     FU
      DEF POUT2     VL
      DEF POUT2     VU
      HED PACK2 
* 
* 
*     PACK2 
*      INPUT TWO CHARACTERS PACKED INTO ONE WORD
*      SKIPS ON ERROR-FREE EXIT 
* 
PACK2 NOP 
      JSB CHAR      FIRST CHARACTER 
      JMP PACK2,I   ERROR 
      ALF,ALF       POSITION TO LEFT CHARACTER
      STA LOCAL     SAVE
      JSB CHAR      SECOND CHARACTER
      JMP PACK2,I   ERROR 
      IOR LOCAL     PACK TOGETHER 
      ISZ PACK2 
      JMP PACK2,I 
      HED BUILD,OPEND 
* 
*     BUILD 
*      TRANSFERS CODE FROM WD1,WD2,WD3 AND WD4 TO 
*      THE WORK AREA. 
*      ON ENTRY A= NUMBER OF WORDS TO TRANSFER
* 
BUILD NOP 
      LDB A         SAVE COUNT
      ADB WD0       FORM POINTER TO NEXT WORD 
      STB LOCAL 
      ALF,ALF       FORM WORD N 
      ADA OPCNT 
      STA B,I       STORE INTO TRANSFER AREA
      JSB PUT3N     CHECK FOR OVERFLOW
      LDA WD0 
BUL1  INA 
      LDB A,I       TRANSFER
      STB BILD,I     TO WORK AREA 
      ISZ BILD
      CPA LOCAL     DONE? 
      JMP BUILD,I   YES 
      JMP BUL1      NO
* 
* 
*     OPEND 
*      CHECKS FOR ABORT (BIT3=0)
* 
OPEND NOP 
      JSB SWR 
      AND BIT3
      SZA           SKIP IF BIT 3 = 0 
      JMP OPEND,I   NO,OK 
      LDA MM650     DELAY FOR 650 
      STA LCNT       MILLISECONDS 
OPED1 EQU * 
      CLA,INA       DELAY FOR 1 
      JSB TMR,I      MILLISECOND
      ISZ LCNT      DONE? 
      JMP OPED1     NO
      JSB SWR 
      AND BIT3
      SZA           SKIP IF BIT 3 = 0 
      JMP OPDNI,I   RESTART OPDSN 
      JMP DONE
      HED MESSAGES
* 
      SUP 
M0    OCT 06412 
      ASC 19,H0 7900/7901 CARTRIDGE DISC MEMORY DIA 
      ASC 04,GNOSTIC# 
M1    ASC 04,H1 UNIT
J001A BSS 1 
      ASC 13, REMOVED FROM UNIT TABLE#
M2    ASC 15,E2 CLF OR SFS FAILED-CHANNEL 
J002A BSS 1 
      ASC 01,#
M3    ASC 19,E3 SFC FAILED WITH FLAG CLEAR-CHANNEL
J003A BSS 1 
      ASC 01,#
M4    ASC 15,E4 STF OR SFC FAILED-CHANNEL 
J004A BSS 1 
      ASC 01,#
M5    ASC 18,E5 SFS FAILED WITH FLAG SET-CHANNEL
J005A BSS 1 
      ASC 01,#
M6    ASC 18,E6 NO INTERRUPT ON COMMAND CHANNEL#
M7    ASC 19,E7 WRONG RETURN ADDRESS USING COMMAND
      ASC 04,CHANNEL# 
M10   ASC 10,E10 NO COMMAND FLAG# 
M11   ASC 10,E11 LATE DATA FLAG#
M12   ASC 17,E12 NO DATA FLAG(GETTING STATUS)#
M13   ASC 02,E13
JP13A BSS 2 
      ASC 10, WORDS TRANSFERRED 
JP13B BSS 2 
      ASC 05, EXPECTED# 
M14   ASC 16,E14 NO COMMAND FLAG(USING DMA)#
M15   ASC 10,H15 ADDRESS RECORD#
M16   ASC 07,H16 OVERFLOW#
M17   ASC 10,H17 DUPLICATE LABEL# 
M20   ASC 13,H20 UNDEFINED INSTRUCTION# 
M21   ASC 20,E21 MISSING OR DUPLICATE ATTENTION BIT#
M22   ASC 09,H22 CYCLIC CHECK#
M23   ASC 02,H23
JP23A BSS 3 
      ASC 11, ERRORS/PASS ALLOWED#
M24   ASC 09,H24 CYLINDER TABLE 
      OCT 06412 
JP24A BSS 20
      ASC 01,#
M25   ASC 10,H25 WISH TO CHANGE?# 
M26   ASC 19,H26 ENTER CYLINDERS SEPARATED BY COMMA 
      ASC 01,S# 
M27   ASC 09,H27 PATTERN TABLE
      OCT 06412 
JP27A BSS 41
      ASC 01,#
M30   ASC 20,H30 ENTER PATTERNS SEPARATED BY COMMAS#
M31   ASC 08,H31 INPUT ERROR# 
M32   ASC 11,H32 ENTER ERRORS/PASS# 
M33   ASC 13,H33 ATTENTION/SEEK-STATUS
      OCT 6412
JP33A BSS 32
M34   ASC 20,H34 ENTER UNIT NUMBERS(0-3)SEPARATED BY
      ASC 04,COMMAS#
M35   ASC 10,H35 INITIAL STATUS#
M36   ASC 11,H36 INITIALIZE DATA #
M37   ASC 08,H37 UNIT TABLE/
JP37A BSS 1 
      ASC 05, DRIVE(S); 
JP37B BSS 5 
M40   ASC 06,H40 PROTECT
JP40A BSS 1 
      ASC 09,D THEN READY UNIT
JP40B BSS 1 
      ASC 01,#
M41   ASC 05,H41 CLEAR
JP41A BSS 1 
      ASC 12,D PROTECT,LOAD,PUSH RUN# 
M42   ASC 04,H42 UNIT 
JP42A BSS 1 
      ASC 08, ATTENTION SET#
M43   ASC 08,E43 DMA MISSING# 
M44   ASC 05,H44 SEEK#
M45   ASC 06,H45 WRITE #
M46   ASC 05,H46 READ#
M47   ASC 07,E47 DATA WORD
JP47A BSS 2 
      ASC 02, IS
JP47B BSS 3 
      ASC 06, SHOULD BE 
JP47C BSS 3 
      ASC 01,#
M50   ASC 04,E50 UNIT 
JP50A BSS 1 
      ASC 08, MISSING-PRESENT 
JP50B BSS 3 
      ASC 04,  NONE#
M51   ASC 04,H51 CYL
JP51A BSS 2 
      ASC 03, HEAD
JP51B BSS 1 
      ASC 04, SECTOR
JP51C BSS 1 
      ASC 06, WORD COUNT
JP51D BSS 2 
      ASC 03, UNIT
JP51E BSS 1 
      ASC 01,#
M52   ASC 10,E52 BUFFER CHECKSUM
JP52A BSS 3 
      ASC 03, CYL 
JP52B BSS 3 
      ASC 01, ( 
JP52D BSS 2 
      ASC 03,)HD/S
JP52C BSS 3 
      ASC 02, (H= 
JP52E BSS 1 
      ASC 02,  S= 
JP52F BSS 1 
      ASC 01,)# 
M53   ASC 15,H53 AVERAGE MINIMUM SEEK TIME
JP53A BSS 1 
JP53B BSS 1 
      ASC 01,#
M54   ASC 15,H54 AVERAGE RANDOM SEEK TIME 
JP54A BSS 3 
      ASC 04,,LENGTH
JP54B BSS 2 
      ASC 01,#
M55   ASC 12,H55 ENTER INSTRUCTIONS#
M56   ASC 10,H56 UNDEFINED LABEL
JP56A BSS 1 
      ASC 01,#
M57   ASC 15,E57 SCREEN TEST ERROR-CHANNEL
JP57A BSS 1 
      ASC 1,# 
M60   ASC 06,H60 REFINE#
M62   ASC 18,H62 TYPE A FOR HEADS 0,1;B FOR 2,3;C 
      ASC 15, FOR ALTERNATELY 0,1 THEN 2,3# 
M63   ASC 09,E63 NO DATA FLAG#
M64   ASC 07,E64 STATUS IS
JP64A BSS 3 
      ASC 06, SHOULD BE 
JP64B BSS 3 
      ASC 01,#
M65   ASC 08,H65 XXXXX PASS 
JP65A BSS 2 
      ASC 08,,HEADS X/X,UNIT
JP65E BSS 1 
      ASC 01,,
JP65B BSS 2 
      ASC 10, ERRORS,MULTI-DRIVE# 
JP65C ASC 03,  NGLO   (LONG  )
JP65D ASC 03,T ORSH   (SHORT )
M66   ASC 17,H66 SET OVERRIDE SWITCH,PUSH RUN#
M67   ASC 18,H67 CLEAR OVERRIDE SWITCH,PUSH RUN#
M70   ASC 08,H70 UNLOAD UNIT
JP70A BSS 1 
      ASC 05,,PUSH RUN# 
M71   ASC 18,H71 PRESS PRESET(S) THEN PRESS RUN#
M72   ASC 04,E72 UNIT 
JP72A BSS 1 
      ASC 06, NOT READY#
      HED ADDO
* 
*         ROUTINE TO PRINT OUT THE CURRENT DISK ADDRESS 
* 
* 
ADDO  NOP 
      JSB B11CK     IS TTY AVAILABLE? 
      JMP AOUT      NO
      LDA CYL       YES,CONVERT CYLINDER NUMBER 
      LDB P051A     TO ASCII
      JSB DCIN2       AND STORE IN MESSAGE
      LDA HEAD      CONVERT HEAD NUMBER 
      IOR HDON
      LDB P051B     TO ASCII
      JSB DCIN1       AND STORE IN MESSAGE
      LDA SECTR     CONVERT SECTOR NUMBER 
      LDB P051C     TO ASCII
      JSB DCIN1       AND STORE IN MESSAGE
      LDA WCNT      CONVERT WORD COUNT
      LDB P051D     TO ASCII
      JSB DCIN2       AND STORE IN MESSAGE
      LDA UNIT      CONVERT UNIT NUMBER TO ASCII
      ADA ASCZZ     =030060B  AND STORE IN MESSAGE
      STA JP51E 
H51   LDA B51       CYL,HEAD,SECTOR 
      JSB FPRNT     WORD COUNT XXXX UNIT X
AOUT  JSB ERHTI,I   ALLOW HALT
      JMP ADDO,I
      HED PCOPR 
*     PCOPR 
*      PRINT CURRENT OPERATION
* 
PCOPR EQU * 
      JSB PRNT1     GET MESSAGE LENGTH AND ADDRESS
      JMP PCOPB     TELEPRINTER IS SUPPRESSED 
      ARS           CONVERT LENGTH
      CMA,INA        FROM CHARACTERS
      STA LOCAL       TO WORDS
      LDA PCOPC     FINAL MESSAGE 
      STA PSAVE      ADDRESS
      JSB PMOVE     MOVE FIRST HALF OF MESSAGE
      LDA STEPN     DEPOSIT 
      LDB PCOPE      STEP NUMBER IN 
      JSB DCIN1       SECOND HALF OF MESSAGE
      LDA MM7       LENGTH OF SECOND
      STA LOCAL      HALF IS 7 WORDS
      LDB PCOPF     ADDRESS OF SECOND HALF
      JSB PMOVE     MOVE SECOND HALF OF MESSAGE 
      LDA B61 
      JSB FPRNT     OUTPUT MESSAGE
PCOPB EQU * 
      LDA COPRN 
      JMP PCOP,I
* 
PMOVE NOP           B = ADDRESS OF DATA TO MOVE 
PMV   EQU *         PSAVE = WHERE TO MOVE IT
      LDA B,I       LOCAL = NUMBER OF WORDS TO MOVE 
      STA PSAVE,I 
      ISZ B 
      ISZ PSAVE 
      ISZ LOCAL     DONE? 
      JMP PMV       NO
      JMP PMOVE,I   YES 
PCOPC DEF *+1 
M61   BSS 17
PCOPF DEF *+1 
      ASC 05, IN STEP 
PCOPD BSS 1 
      ASC 01,#
PCOPE DEF PCOPD 
      HED WADRA 
* 
*     WADRA 
*      THIS PART IS SEPARATE FROM WADR SO OPDSN CAN USE IT. 
* 
WADRA NOP 
      JSB DMW       START DMA WRITE 
      LDB B36       SET UP CURRENT OPERATION
      LDA WRITA     INITIALIZE DATA COMMAND 
      IOR WRSP      PCI AND DCI BITS
      JSB COMMD     ISSUE COMMAND 
      JSB DMAT
      JSB STAT      GET STATUS
      JMP WADRA,I   EXIT
      HED ERHLT 
      ORG 12000B
* 
*     ERHLT 
*      TESTS HALT BIT (BIT14) AFTER ERROR 
* 
ERHLT NOP 
      JSB SWR       TTY AVAILABLE 
      AND A4400      AND SPACES WANTED? 
      SZA 
      JMP ERH1      NO
      LDA CRLFL     YES 
      LDB 113B      IS FAST DEVICE
      SZB            CONFIGURED?
      JMP ERH2      YES 
      LDB CRLFI 
      JSB SIOLO,I   PRINT BLANK LINE
      JMP ERH1
ERH2  EQU * 
      LDB CRLFI 
      JSB SIOFO,I   PRINT BLANK LINE
ERH1  EQU * 
*      RECORD ERROR AND POSSIBLY REMOVE UNIT
* 
      ISZ ERR       INCREMENT ERROR COUNT 
      NOP           AVOID SKIP
      LDA ERR 
      CPA MAX       = 20 IN DEFAULT CASE
      RSS           REMOVE UNIT 
      JMP ATCLR 
      LDA UNIT
      ADA ASCZZ 
      STA P001A,I 
      LDA B1
H1    JSB FPRNT     UNIT X REMOVED FROM UNIT TABLE
      LDA UNITC     DECREMENT 
      STA LOCAL      NUMBER OF
      ADA MM1         UNITS 
      STA UNITC        IN TABLE 
      SZA           ANY LEFT? 
      JMP RCRDA     YES 
RCRDB CLA,INA 
      STA UNITC 
      HLT 5 
      JMP DONE
RCRDA LDA UNITA     MOVE UNIT TABLE 
      STA WD1        INTO 
      LDA UNITA+1     TEMPORARY 
      STA WD2          STORAGE
      LDA UNITA+2 
      STA WD3 
      LDA UNITA+3 
      STA WD4 
      LDA LOCAL     NUMBER OF 
      CMA,INA        UNITS IN 
      STA LOCAL       TABLE 
      LDB UNITS     TO ADDRESS
      LDA WD0 
      INA 
      STA GLOB1     FROM ADDRESS
      CLA 
      STA UNITC     REMOVE ALL OCCURANCES OF UNIT 
RCRDC EQU * 
      LDA GLOB1,I 
      CPA UNIT      REMOVE ?
      JMP RCRDD     YES 
      STA B,I       NO
      INB 
      ISZ UNITC 
RCRDD EQU * 
      ISZ GLOB1 
      ISZ LOCAL     DONE? 
      JMP RCRDC     NO
      LDA UNITC     ANY LEFT
      SZA,RSS 
      JMP RCRDB     NO
      JMP DONE      YES 
* 
*     ATCLR 
*      CLEARS UNEXPECTED ATTENTION BITS DURING RUN
* 
ATCLR LDA SECTN     DON'T CLEAR 
      CPA D5         ATTENTION IN SECTION 5 
      JMP RCRD
      LDA MM4       MAXIMUM NUMBER OF UNITS 
      STA CCNT
CC20  LIA CC
      JSB GETNI,I   ANY ATTENTION BITS SET? 
      RSS           YES 
      JMP RCRD
      LDA UNIT      SAVE
      STA LABEL      UNIT NUMBER
      CPB UNIT      THIS UNIT?
      JMP CLST      YES-CLEAR BUT DON'T REPORT
      STB UNIT
      ADB B2060 
      STB P042A,I 
      LDA B42 
H42   JSB FPRNT     H42 UNIT X ATTENTION SET
CLST  JSB STAT      CLEAR ATTENTION 
      LDA LABEL     RESTORE 
      STA UNIT       UNIT NUMBER
      ISZ CCNT      DONE? 
      JMP CC20      NO
RCRD  EQU * 
      JSB SWR 
      AND BIT14 
      SZA           HALT? 
      JMP ERHLT,I   NO
      LDA ELOC      YES 
      HLT 1 
      JMP ERHLT,I 
      HED   DMR,DWW CONTINUATION AND OVERN
DMRR  LDA BUFAE       LOAD MEMORY ADDRESS 
      IOR BIT15       OR IN DIRECTION BIT 
      JSB DMALL 
DC05  STC DC,C
      LDA  NEWBD       SEE IF NEW BOARD 
      SZA              SKIP IF NOT NEW BOARD
      JSB OVERN 
DM6B  STC DMAD,C      START DMA CHANNEL 
      JMP DMR,I       RETURN
DMWW  LDA BUFAD       GET MEMORY ADDRESS
      JSB DMALL 
      LDA NEWBD       SEE IF NEW BOARD
      SZA             SKIP IF NOT 
DC06  STC DC          START DMA 
DC07  STF DC
      SZA             SKIP IF NOT NEW BOARD 
      JSB OVERN 
DM6D  STC DMAD,C
      JMP DMW,I 
OVERN NOP 
      LDA C0001       OVERRUN STATUS
      STA SHTAS       PLACE IN EXPECTED STATUS
      CLA 
      STA NEWBD       CLEAR NEW BOARD INDICATOR 
      ISZ OVERN       INCREMENT RETURN ADDRESS
      JMP OVERN,I 
      HED STP32 AND STP35 PATCHES 
STP32 NOP 
      LDA STAUS       GET STATUS
      CPA B41         IS THIS THE STATUS
      RSS 
      JMP ST32A 
     ISZ NEWBD        INDICATE TESTING NEW BOARD
      JSB SEEH        ISSUE SEEK
      JSB WAIH        WAIT FOR HEAD SWITCHING 
      JSB WRITE 
ST32A JSB WCHK        CHECK FOR ERROR 
      JSB SNDI,I
      JMP STP32,I 
SNDI  DEF SEND
STP35 NOP 
      LDA STAUS        GET STATUS 
      CPA B41          SEE IF THIS IS THE STATUS
      JMP ST35A 
      CLA 
      STA PATT         SET PATTERN
      JSB PCHKI,I      CHECK READ BUFFER
      JMP ST35B 
ST35A CLA 
      STA SHTAS        CLEAR EXPECTED STATUS
      JSB SEEH         ISSUE SEEK 
      ISZ NEWBD        INDICATE NEW BOARD 
      JSB WAIH         WAIT FOR HEAD SWITCHING
      JSB READ
      JSB WCHK         CHECK FOR OVERRUN
ST35B JSB SNDI,I
      JMP STP35,I 
      HED BUFFER DEFINITIONS
* 
*     WRITE BUFFER FROM BUFB TO BUFB+2000B. 
*     READ BUFFER FROM BUFB+2000B TO BUFB+4000B.
*     OPDSN BUFFER FROM 16000B TO CONFIGURATOR(OR 20000B AT MOST).
*     (BPTOS = UNUSED SPACE). 
* 
BUFB  DEF *         WRITE BUFFER
      ABS 12500B-BUFB    OPDSN WORK AREA
      HED INIT
INIT  JSB SWR 
      STA CNFSW     SAVE CONFIGURATION SWITCH REG 
      AND B77 
      STA LOCAL     SAVE DATA CHANNEL SELECT CODE 
      ADA MM8 
      SSA 
      HLT 73B       INVALID SELECT CODE 
      LDB FRSTB 
      STB GLOB2     SAVE FIRST POINTER
      CCA 
      STA FLAG      FLAG = -1 
      LDB LASTB 
LA    STB GLOB1     SAVE LAST POINTER 
LB    LDB GLOB2,I   LOAD POINTER
      LDA B,I       LOAD WORD 
      AND P7700     MASK OUT SELECT CODE
      IOR LOCAL     STUFF IN NEW SELECT CODE
      STA B,I       STORE BACK
      CPB GLOB1,I   DONE? 
      JMP LC        YES 
      ISZ GLOB2     NO
      JMP LB
LC    EQU * 
      ISZ FLAG      SKIP IF NOT DONE
      JMP IOUT      DONE
      ISZ LOCAL     INCREMENT SELECT CODE 
      LDB FRSTC 
      STB GLOB2     SAVE FIRST POINTER
      LDB LASTC     LOAD LAST POINTER 
      JMP LA
IOUT  EQU * 
* 
*     SET UP DMA
* 
      LDA CNFSW     LOAD CONFIGURATION SWITCH REG 
      AND BIT14 
      SZA           SKIP FOR DMA 6
      CLA,INA       THIS IS  DMA 7
      STA LOCAL 
      LDB FRSTD 
      STB GLOB2     SET UP POINTER
LD    LDB GLOB2,I   LOAD ADDRESS FROM TABLE 
      LDA B,I       LOAD VALUE FROM CORE
      AND MM2       MASK OFF BIT 0
      IOR LOCAL          ADD DMA CHANNEL BIT
      STA B,I       RESTORE CORE
      CPB LASTD,I   DONE? 
      JMP LE        YES 
      ISZ GLOB2     NO,CONTINUE 
      JMP LD
LE    EQU * 
* 
      HLT 74B 
      JMP *+1,I 
      DEF START 
CNFSW BSS 1 
FLAG  BSS 1 
FRSTB DEF *+1 
      DEF DMACW 
      DEF DC01
      DEF DC02
      DEF DC03
      DEF DC04
      DEF DC05
      DEF DC06
      DEF DC07
      DEF DC11
      DEF DC12
      DEF DC13
      DEF DC22
      DEF DC23
      DEF DC14
      DEF  DC15 
LASTB DEF *-1 
FRSTC DEF *+1 
      DEF CC01
      DEF CC02
      DEF CC03
      DEF CC04
      DEF CC05
      DEF CC06
      DEF CC7 
      DEF CC09
      DEF CC10
      DEF CC11
      DEF CC12
      DEF CC13
      DEF CC14
      DEF CC15
      DEF CC16
      DEF CC17
      DEF CC18
      DEF CC19
      DEF CC20
LASTC DEF *-1 
FRSTD DEF *+1 
      DEF DM2A
      DEF DM2B
      DEF DM2C
      DEF DM2D
      DEF DM2I
      DEF DM2J
      DEF DM2K
      DEF DM2L
      DEF DM6A
      DEF DM6B
      DEF DM6D
      DEF DM6E
      DEF DM6F
      DEF DM6G
      DEF DM6H
      DEF DM6I
LASTD DEF *-1 
PEND  EQU * 
      END 
                                                                                                                                                                                      