COMPDLI 
COMMON
          CTEXT  COMPDLI - DEFINE LONG INSTRUCTIONS.
          SPACE  4,10 
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   COMPDLI
 QUAL$    ENDIF 
          BASE   M
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
 DLI      SPACE  4,10 
***       COMPDLI - DEFINE LONG INSTRUCTIONS. 
* 
*         B. R. HANSON.      83/11/03.
*         R. C. SCHMITTER    83/11/03.
 DLI      SPACE  4,10 
***       COMPDLI SET 16-BIT INSTRUCTIONS IN PP MEMORY BY FIRST 
*         BUILDING A 16-BIT STORE INSTRUCION IN THE ACCUMULATOR,
*         WRITING IT TO THE MAINTENANCE CHANNEL, AND READING IT 
*         BACK IN DIRECTLY TO MEMORY.  THIS INSTRUCTION IS THEN 
*         USED TO CREATE THE 16-BIT INSTRUCTIONS DEFINED IN THE 
*         LONG INSTRUCTION TABLE (THE LONG INSTRUCTION TABLE IS 
*         BUILT USING THE MACROS DEFINED IN *COMPIOU*). 
*         COMPDLI CAN ALSO BE USED TO CLEAR THE LONG INSTRUCTIONS 
*         WHICH WERE CREATED ON A PREVIOUS CALL.  THIS SHOULD BE
*         DONE BEFORE DROPPING THE PP.
* 
*         ENTRY  (A) = ADDRESS OF LONG INSTRUCTION TABLE, IF TO 
*                      DEFINE LONG INSTRUCTIONS.
*                (A) = 400000B + ADDRESS OF LONG INSTRUCTION TABLE, 
*                      IF TO CLEAR LONG INSTRUCTIONS. 
* 
*         EXIT   LONG INSTRUCTIONS DEFINED (OR CLEARED).
* 
*         CALLS  CMI, SMI.
* 
*         XREF   COMPMRA. 
  
  
 STILI    EQU    4400+1S15
  
 DLI      SUBR               ENTRY/EXIT 
          STD    T2 
          PJN    DLI1        IF TO DEFINE LONG INSTRUCTIONS 
          LDC    LDNI+0      SET UP TO CLEAR LONG INSTRUCTIONS
          STM    DLIA 
          LDC    STII+T3
          STM    DLIB 
          UJN    DLI2        CLEAR LONG INSTRUCTIONS
  
 DLI1     RJM    SMI         OBTAIN MAINTENANCE CHANNEL 
          DCN    MR+40
          FNC    MRDC,MR     KILL DEADMAN TIMER 
          DCN    MR+40
          LDC    STILI+T3 
          ACN    MR 
          OAN    MR 
          LDN    1
          IAM    DLIB,MR     READ *STIL* TO MEMORY
          RJM    CMI         RETURN MAINTENANCE CHANNEL 
 DLI2     LDI    T2          ADDRESS OF 16-BIT INSTRUCTION
          ZJN    DLIX        IF FINISHED
          STD    T3 
 DLIA     LDI    T3 
*         LDN    0           (CLEARING LONG INSTRUCTIONS) 
          LMC    1S15        CONVERT TO 16-BIT INSTRUCTION
 DLIB     STI    T3          CLEAR LONG INSTRUCTIONS
*         STIL   T3          (SETTING LONG INSTRUCTIONS)
          AOD    T2 
          UJN    DLI2        PROCESS NEXT INSTRUCTION 
          SPACE  4,10 
          BASE   *
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 DLI      EQU    /COMPDLI/DLI 
 QUAL$    ENDIF 
 DLI      ENDX
