Common COMSSRT

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.comssrt +++|          CTEXT  COMSSRT - SYMBOLS FOR RECORD TYPES.
00002  M01S00002.comssrt +++| SRT      SPACE  4,10
00003  M01S00003.comssrt +++|          BASE   D
Line S00004 Modification History
M01 (Added by) comssrt
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00004  M02S00004.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORPORATION, 1985.
00005  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00006  M01S00005.comssrt +++| SRT      SPACE  4,10
00007  M01S00006.comssrt +++|***       SRT - SYMBOLS FOR RECORD TYPES.
00008  M01S00007.comssrt +++|*
00009  M01S00008.comssrt +++|*         J. M. MAREK.      85/10/25.
00010  M01S00009.comssrt +++|          SPACE  4,10
00011  M01S00010.comssrt +++|***       *COMSSRT* DEFINES RECORD TYPE NUMBERS AND RECORD TYPE
00012  M01S00011.comssrt +++|*         MNEMONICS.  A SYMBOL IS DEFINED FOR EACH RECORD TYPE NUMBER,
00013  M01S00012.comssrt +++|*         WHICH HAS THE FORM --RT.  THE MNEMONICS ARE USED BY THE NOS
00014  M01S00013.comssrt +++|*         UTILITIES IN DIRECTIVES AND LISTINGS.  THE MNEMONICS ARE
00015  M01S00014.comssrt +++|*         DEFINED BY A MICRO AS A STRING THAT CAN EASILY BE REFERENCED
00016  M01S00015.comssrt +++|*         IN AN *ECHO* PSEUDO OP OR IN A MACRO CALL.  TWO MACROS,
00017  M01S00016.comssrt +++|*         *CONRT* AND *EQURT* ARE DEFINED TO FACILITATE CREATING BIT
00018  M01S00017.comssrt +++|*         STRINGS THAT CORRESPOND TO THE RECORD TYPES.
00019  M01S00018.comssrt +++|
00020  M01S00019.comssrt +++|
00021  M01S00020.comssrt +++|****      RECORD TYPE NUMBER SYMBOL DEFINITIONS.
00022  M01S00021.comssrt +++|*
00023  M01S00022.comssrt +++|* SYMBOL         NUMBER      MNEMONIC    FORMAT
00024  M01S00023.comssrt +++|
00025  M01S00024.comssrt +++| TXRT     EQU    0           TEXT        UNRECOGNIZED
00026  M01S00025.comssrt +++| PPRT     EQU    1           PP          PP PROGRAM
00027  M01S00026.comssrt +++| RLRT     EQU    3           REL         RELOCATABLE SUBPROGRAM
00028  M01S00027.comssrt +++| OVRT     EQU    4           OVL         OVERLAY
00029  M01S00028.comssrt +++| ULRT     EQU    5           ULIB        USER LIBRARY
00030  M01S00029.comssrt +++| OPRT     EQU    6           OPL         MODIFY OPL DECK
00031  M01S00030.comssrt +++| OCRT     EQU    7           OPLC        MODIFY OPL COMMON DECK
00032  M01S00031.comssrt +++| ODRT     EQU    8D          OPLD        MODIFY OPL DIRECTORY
00033  M01S00032.comssrt +++| ABRT     EQU    9D          ABS         ABSOLUTE PROGRAM
00034  M01S00033.comssrt +++| PURT     EQU    10D         PPU         PPU PROGRAM
00035  M01S00034.comssrt +++| CART     EQU    14D         CAP         FAST DYNAMIC LOAD CAPSULE
00036  M01S00035.comssrt +++| PRRT     EQU    16D         PROC        PROCEDURE RECORD
00037  M01S00036.comssrt +++| PLRT     EQU    20D         PPL         16-BIT PP PROGRAM
00038  M01S00037.comssrt +++|****
00039  M01S00038.comssrt +++| RTMIC    SPACE  4,25
00040  M01S00039.comssrt +++|**        RTMIC - RECORD TYPE MICRO.
00041  M01S00040.comssrt +++|*
00042  M01S00041.comssrt +++|*         *RTMIC* DEFINES THE RECORD TYPE MNEMONICS USED BY THE NOS
00043  M01S00042.comssrt +++|*         UTILITIES IN DIRECTIVES AND LISTINGS.  THE DEFINITION IS IN
00044  M01S00043.comssrt +++|*         THE FORM OF A MICRO THAT CONTAINS THE MNEMONICS IN ORDER AND
00045  M01S00044.comssrt +++|*         SEPARATED BY COMMAS.  THE ORDER IS BY RECORD TYPE NUMBER.
00046  M01S00045.comssrt +++|*         A NULL MNEMONIC IS USED FOR UNUSED RECORD TYPE NUMBERS.  THE
00047  M01S00046.comssrt +++|*         INTENT OF THE MICRO IS THAT IT BE USED IN AN *ECHO* PSEUDO OP
00048  M01S00047.comssrt +++|*         OR A MACRO CALL.
00049  M01S00048.comssrt +++|*
00050  M01S00049.comssrt +++|*         EXAMPLE - GENERATE A TABLE OF THE MNEMONICS IN RECORD TYPE
00051  M01S00050.comssrt +++|*         ORDER, GENERATING *-1* FOR THE UNUSED ENTRIES.  (TO AVOID
00052  M01S00051.comssrt +++|*         ASSEMBLY PROBLEMS, THIS EXAMPLE USES DOLLAR SIGNS WHERE MICRO
00053  M01S00052.comssrt +++|*         MARKS SHOULD BE USED.)
00054  M01S00053.comssrt +++|*
00055  M01S00054.comssrt +++|* TNAM    BSS    0
00056  M01S00055.comssrt +++|* .E      ECHO   ,RT=($RTMIC$)
00057  M01S00056.comssrt +++|* .A      IFC    NE,/RT//
00058  M01S00057.comssrt +++|*         DATA   L/RT/
00059  M01S00058.comssrt +++|* .A      ELSE
00060  M01S00059.comssrt +++|*         DATA   -1
00061  M01S00060.comssrt +++|* .A      ENDIF
00062  M01S00061.comssrt +++|* .E      ENDD
00063  M01S00062.comssrt +++|
00064  M01S00063.comssrt +++|
00065  M01S00064.comssrt +++| RTMIC    MICRO  1,,/TEXT,PP,,REL,OVL,ULIB,OPL,OPLC,OPLD,ABS,PPU,,,,CAP,
00066  M01S00065.comssrt +++|,,PROC,,,,PPL/
00067  M01S00066.comssrt +++| CONRT    SPACE  4,15
00068  M01S00067.comssrt +++|**        CONRT - GENERATE A RECORD TYPE BIT MAP.
00069  M01S00068.comssrt +++|*
00070  M01S00069.comssrt +++|*         *CONRT* IS USED TO GENERATE A VALUE THAT REPRESENTS A BIT MAP
00071  M01S00070.comssrt +++|*         OF RECORD TYPES.  THE MAP CONTAINS A BIT FOR EACH SPECIFIED
00072  M01S00071.comssrt +++|*         RECORD TYPE.  BY DEFAULT, BIT I CORRESPONDS TO RECORD TYPE I,
00073  M01S00072.comssrt +++|*         BUT IF A FIELD WIDTH (FW) PARAMETER IS SPECIFIED, BIT FW-I-1
00074  M01S00073.comssrt +++|*         CORRESPONDS TO RECORD TYPE I.
00075  M01S00074.comssrt +++|*
00076  M01S00075.comssrt +++|* TAG     CONRT  (RT1,RT2,...),FW
00077  M01S00076.comssrt +++|*
00078  M01S00077.comssrt +++|*         ENTRY  *RTI* = A RECORD TYPE SYMBOL OR NUMBER.
00079  M01S00078.comssrt +++|*                *FW* = OPTIONAL FIELD WIDTH PARAMETER.
00080  M01S00079.comssrt +++|*
00081  M01S00080.comssrt +++|*         MACROS .RTMIC.
00082  M01S00081.comssrt +++|
00083  M01S00082.comssrt +++|
00084  M01S00083.comssrt +++|          PURGMAC  CONRT
00085  M01S00084.comssrt +++|
00086  M01S00085.comssrt +++|          MACRO  CONRT,TAG,RT,FW
00087  M01S00086.comssrt +++|          .RTMIC (RT),FW
00088  M01S00087.comssrt +++| TAG      CON    ".1"
00089  M01S00088.comssrt +++| CONRT    ENDM
00090  M01S00089.comssrt +++| EQURT    SPACE  4,15
00091  M01S00090.comssrt +++|**        EQURT - EQUATE TO RECORD TYPE BIT MAP.
00092  M01S00091.comssrt +++|*
00093  M01S00092.comssrt +++|*         *EQURT* IS USED TO EQUATE A SYMBOL TO A VALUE THAT REPRESENTS
00094  M01S00093.comssrt +++|*         A BIT MAP OF RECORD TYPES.  THE MAP CONTAINS A BIT FOR EACH
00095  M01S00094.comssrt +++|*         SPECIFIED RECORD TYPE.  BY DEFAULT, BIT I CORRESPONDS TO
00096  M01S00095.comssrt +++|*         RECORD TYPE I, BUT IF A FIELD WIDTH PARAMETER IS SPECIFIED,
00097  M01S00096.comssrt +++|*         BIT FIELD WIDTH-I-1 CORRESPONDS TO RECORD TYPE I.
00098  M01S00097.comssrt +++|*
00099  M01S00098.comssrt +++|* TAG     EQURT  (RT1,RT2,...),FW
00100  M01S00099.comssrt +++|*
00101  M01S00100.comssrt +++|*         ENTRY  *RTI* = A RECORD TYPE SYMBOL OR NUMBER.
00102  M01S00101.comssrt +++|*                *FW* = OPTIONAL FIELD WIDTH PARAMETER.
00103  M01S00102.comssrt +++|*
00104  M01S00103.comssrt +++|*         MACROS .RTMIC.
00105  M01S00104.comssrt +++|
00106  M01S00105.comssrt +++|
00107  M01S00106.comssrt +++|          PURGMAC  EQURT
00108  M01S00107.comssrt +++|
00109  M01S00108.comssrt +++|          MACRO  EQURT,TAG,RT,FW
00110  M01S00109.comssrt +++|          .RTMIC (RT),FW
00111  M01S00110.comssrt +++| TAG      EQU    ".1"
00112  M01S00111.comssrt +++| EQURT    ENDM
00113  M01S00112.comssrt +++| .RTMIC   SPACE  4,15
00114  M01S00113.comssrt +++|**        .RTMIC - GENERATE RECORD TYPE BIT MAP MICRO.
00115  M01S00114.comssrt +++|*
00116  M01S00115.comssrt +++|*         *.RTMIC* IS AN AUXILIARY MACRO CALLED BY *CONRT* AND *EQURT*
00117  M01S00116.comssrt +++|*         TO PRODUCE AS A MICRO AN EXPRESSION THAT IS ACCEPTABLE TO
00118  M01S00117.comssrt +++|*         *CON* AND *EQU* PSEUDO OPS AND THAT REPRESENTS THE REQUESTED
00119  M01S00118.comssrt +++|*         BIT MAP.
00120  M01S00119.comssrt +++|*
00121  M01S00120.comssrt +++|*         .RTMIC (RT1,RT2,...),FW
00122  M01S00121.comssrt +++|*
00123  M01S00122.comssrt +++|*         ENTRY  *RTI* = A RECORD TYPE SYMBOL OR NUMBER.
00124  M01S00123.comssrt +++|*                *FW* = OPTIONAL FIELD WIDTH PARAMETER.
00125  M01S00124.comssrt +++|*
00126  M01S00125.comssrt +++|*         EXIT   *.1* IS THE MICRO.
00127  M01S00126.comssrt +++|
00128  M01S00127.comssrt +++|
00129  M01S00128.comssrt +++|          PURGMAC  .RTMIC
00130  M01S00129.comssrt +++|
00131  M01S00130.comssrt +++| .RTMIC   MACRO  RT,FW
00132  M01S00131.comssrt +++| .1       MICRO  1,,/0/
00133  M01S00132.comssrt +++| .A       IFC    NE,/FW//
00134  M01S00133.comssrt +++| .2       MICRO  1,, FW-1-
00135  M01S00134.comssrt +++| .A       ELSE
00136  M01S00135.comssrt +++| .2       MICRO  0,,//
00137  M01S00136.comssrt +++| .A       ENDIF
00138  M01S00137.comssrt +++| .B       IRP    RT
00139  M01S00138.comssrt +++| .3       DECMIC ".2"_RT
00140  M01S00139.comssrt +++| .1       MICRO  1,, ".1"+1S".3"
00141  M01S00140.comssrt +++| .B       IRP
00142  M01S00141.comssrt +++| .RTMIC   ENDM
00143  M01S00142.comssrt +++|          SPACE  4
00144  M01S00143.comssrt +++|          BASE   *
00145  M01S00144.comssrt +++| SRT      ENDX