*COMDECK  COMPCTI 
 CTI      CTEXT  COMPCTI - CTI COMMON MACROES.
          SPACE  4,10 
          BASE   D
*         COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1978. 
          TITLE  COMPCTI - CTI COMMON MACROES.
 CTI      SPACE  4,10 
***       COMPCTI - CTI COMMON MACROES. 
* 
*         R. A. MATTHEWS.          12/28/77.
          SPACE  4,10 
***       COMPCTI - CTI COMMON MACROES. 
* 
*         COMPCTI DEFINES THE MACROES USED THROUGHOUT THE CTI PACKAGE 
*         TO PREVENT A DEPENDANCE ON A GIVEN SYSTEM TEXT. 
 DFN      SPACE  4,10 
**        DFN - DEFINE FIELD MASK AND SHIFT COUNTS. 
* 
* 
* TAG      DFN   RBT,LEN
* 
*         ENTRY  *TAG* = NAME OF FIELD. 
*                *RBT* = BIT POSITION OF RIGHTMOST PART OF FIELD. 
*                *LEN* = LENGTH OF FIELD IN BITS. 
* 
*         EXIT   SL.*TAG* = SHIFT COUNT FOR LEFTMOST BIT TO BIT 17D.
*                SR.*TAG* = SHIFT COUNT FOR RIGHTMOST BIT TO BIT 0. 
*                MP.*TAG* = MASK TO EXTRACT FIELD FROM 12 BIT BYTE. 
* 
*         EXAMPLE - 
* 
*         ABC    DFN     1,3
* 
*         DEFINES A FIELD - 
* 
*         11 10 09 08 07 06 05 04 03 02 01 00 
*                                 B3 B2 B1
* 
*         YEILDS -
* 
*         SL.ABC EQU     14D
*         SR.ABC EQU     1
*         MP.ABC EQU     0016B
  
          PURGMAC DFN 
  
  
  
          MACRO  DFN,TAG,RBT,LEN
          LOCAL  A
  
 A        SET    RBT+LEN
 SL.TAG   EQU    18D-A
 SR.TAG   EQU    RBT
 #BIT#    DECMIC A
 A        SET    1S"#BIT#"
 #BIT#    DECMIC RBT
 MP.TAG   EQU    A-1S"#BIT#"
          ENDM
 ENM      SPACE  4,10 
**        ENM - PPU SUBROUTINE ENTRY/EXIT.
* 
* 
* NAME    ENM    X
* 
*         ENTRY  *NAME* = NAME OF ENTRY POINT FOR SUBROUTINE. 
* 
*         EXIT   *NAME_X* = NAME OF EXIT FOR SUBROUTINE.
  
          PURGMAC ENM 
  
  
  
          MACRO  ENM,N,X
  
          IFC    NE,$X$$,2
 N_X      LJM 
          SKIP   1
          LJM 
 N        EQU    *-1
          IF     DEF,TRACE$,1 
          RJM    TRACE$ 
          ENDM
          SPACE  4,10 
          BASE   *
          ENDX
