COMPIOU 
COMMON
          CTEXT  COMPIOU - IOU INSTRUCTION DEFINITIONS. 
          SPACE  4,10 
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   COMPIOU
 QUAL$    ENDIF 
          BASE   O
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
 IOU      SPACE  4,10 
***       COMPIOU - IOU INSTRUCTION DEFINITIONS.
* 
*         B. R. HANSON       83/11/03.
*         R. C. SCHMITTER    83/11/03.
          SPACE  4,10 
***       COMPIOU DEFINES SIXTEEN BIT INSTRUCTIONS. 
*         EACH INSTRUCTION CREATED WITH THESE MACROS WILL 
*         GENERATE A TABLE ENTRY IN THE LONG INSTRUCTION TABLE. 
*         COMMON DECK *COMPDLI* MUST THEN BE USED TO CONVERT
*         THE INSTRUCTIONS INTO ACTUAL 16-BIT INSTRUCTIONS. 
 BIT16    SPACE  4,10 
**        BIT16 - ENTER FOLLOWING INSTRUCTION INTO TABLE OF 
*                16 BIT INSTRUCTIONS. 
  
  
          PURGMAC  BIT16
  
 BIT16    MACRO  ADDR 
          LOCAL  X
          QUAL
 X        EQU    ADDR * 
          QUAL   *
 T16      RMT 
          CON    X
 T16      RMT 
 BIT16    ENDM
 D16A     SPACE  4,10 
**        D16A - DEFINE SINGLE OPERAND 16 BIT INSTRUCIIONS. 
  
  
          PURGMAC  D16A 
  
 D16A     MACRO  LIST 
          IRP    LIST 
          PURGMAC  ;AL
 ;AL      MACRO  A
          LIST   A
          BIT16  *-1
 ;AL      ENDM
          IRP 
 D16A     ENDM
 D16AB    SPACE  4,10 
**        D16AB - DEFINE DOUBLE OPERAND 16 BIT INSTRUCTIONS.
  
  
          PURGMAC  D16AB
  
 D16AB    MACRO  LIST 
          IRP    LIST 
          PURGMAC  ;AL
 ;AL      MACRO  A,B
          LIST   A,B
          BIT16  *-2
 ;AL      ENDM
          IRP 
 D16AB    ENDM
          SPACE  4,10 
*         DEFINE SINGLE OPERAND 16 BIT INSTRUCTIONS.
  
  
          D16A   (LDD,STD,LDI,STI,ADD,SBD,ADI,SBI,LMD,LMI)
          D16A   (RAD,AOD,SOD,RAI,CRD,CWD)
          SPACE  4,10 
*         DEFINE DOUBLE OPERAND 16 BIT INSTRUCTIONS.
  
          D16AB  (LDM,STM,ADM,SBM,AOM,SOM,LMM,RAM,CRM,CWM)
          SPACE  4,10 
          PURGMAC D16A,D16AB
 LPDL     SPACE  4,10 
**        LPDL - LOGICAL PRODUCT DIRECT.
  
  
 LPDL.    PPOP   4,2200 
  
          PURGMAC  LPDL 
  
 LPDL     MACRO  D
          BIT16 
          LPDL.  D
          ENDM
 LPIL     SPACE  4,10 
**        LPIL - LOGICAL PRODUCT INDIRECT.
  
  
 LPIL.    PPOP   4,2300 
  
          PURGMAC  LPIL 
  
 LPIL     MACRO  A
          BIT16 
          LPIL.  A
          ENDM
 LPML     SPACE  4,10 
**        LPML - LOGICAL PRODUCT LONG.
  
  
 LPML.    PPOP   5,2400 
  
          PURGMAC  LPML 
  
 LPML     MACRO  A,B
          LPML.  A,B
          BIT16  *-2
          ENDM
 RDSL     SPACE  4,10 
**        RDSL - CENTRAL READ AND SET LOCK. 
  
  
 RDSL.    PPOP   4,000
  
          PURGMAC  RDSL 
  
 RDSL     MACRO  A
          BIT16 
          RDSL.  A
          ENDM
 RDCL     SPACE  4,10 
**        RDCL - CENTRAL READ AND CLEAR LOCK. 
  
  
 RDCL.    PPOP   4,0100 
  
          PURGMAC  RDCL 
  
 RDCL     MACRO  A
          BIT16 
          RDCL.  A
          ENDM
 FSJM     SPACE  4,10 
**        FSJM - JUMP TO M IF CHANNEL C FLAG SET. 
  
  
          PURGMAC  FSJM 
  
 FSJM     MACRO  M,C
          BIT16 
          AJM    M,C
          ENDM
 FCJM     SPACE  4,10 
**        FCJM - JUMP TO M IF CHANNEL C FLAG CLEAR. 
  
  
          PURGMAC  FCJM 
  
 FCJM     MACRO  M,C
          BIT16 
          IJM    M,C
          ENDM
 IAPM     SPACE  4,10 
**        IAPM - INPUT WORDS TO M FROM CHANNEL C PACKED.
  
  
          PURGMAC  IAPM 
  
 IAPM     MACRO  M,C
          BIT16 
          IAM    M,C
          ENDM
 OAPM     SPACE  4,10 
**        OAPM - OUTPUT WORDS FROM M TO CHANNEL C PACKED. 
  
  
          PURGMAC  OAPM 
  
 OAPM     MACRO  M,C
          BIT16 
          OAM    M,C
          ENDM
 INPN     SPACE  4,10 
**        INPN - INTERRUPT PROCESSOR. 
  
  
 INPN.    PPOP   4,2600 
  
          PURGMAC  INPN 
  
 INPN     MACRO  D
          BIT16 
          INPN.  D
          ENDM
 LIST16   SPACE  4,10 
**        LIST16 - CREATE TABLE OF 16 BIT INSTRUCTION ADDRESSES.
  
  
          PURGMAC  LIST16 
  
 LIST16   MACRO 
 T16      HERE
          CON    0
          ENDM
          SPACE  4,10 
          BASE   *
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 QUAL$    ENDIF 
 IOU      ENDX
