Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.comprel +++| CTEXT COMPREL - LOCATION FREE OVERLAY MACROS.
Line S00002 Modification History |
M01 (Added by) | comprel |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00002 M02S00002.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORP. 1970.
00003 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00004 M01S00003.comprel +++| MACROS SPACE 4
00005 M01S00004.comprel +++|*** COMPREL - LOCATION FREE OVERLAY MACROS.
00006 M01S00005.comprel +++|* G. R. MANSFIELD. 70/10/04.
00007 M01S00006.comprel +++|* R. J. THIELEN. 75/11/20. MODIFIED.
00008 M01S00007.comprel +++| MACROS SPACE 4
00009 M01S00008.comprel +++|*** APPROPRIATE INSTRUCTIONS ARE RE-DEFINED SUCH THAT
00010 M01S00009.comprel +++|* PROPER CODE IS ASSEMBLED FOR LOCATION FREE OVERLAYS.
00011 M01S00010.comprel +++|* THE ORIGINAL DEFINITION OF THE INSTRUCTION MAY BE USED
00012 M01S00011.comprel +++|* WHERE APPROPRIATE, BY APPENDING A *.* TO THE OPCODE.
00013 M01S00001.ns21000 +++|*
00014 M01S00012.comprel +++|* IF REL$ = 1 IS DEFINED, THEN THE USE OF A SYSTEXT SYMBOL
00015 M01S00013.comprel +++|* (NON-RELOCATED VALUE) AS THE FIRST SYMBOL IN THE -M- FIELD
00016 M01S00014.comprel +++|* OF AN INSTRUCTION WILL PERMIT USE OF THE -D- FIELD.
00017 M01S00015.comprel +++|* IF *REL$* IS NOT DEFINED IN THE PROGRAM OR IS SET " 1,
00018 M01S00016.comprel +++|* THERE IS NO CHANGE IN THE RELOCATION SCHEME.
00019 M01S00002.ns21000 +++|*
00020 M01S00017.comprel +++|* IF *RIREL$* IS UNDEFINED, THE INSTRUCTIONS WILL BE REDEFINED
00021 M01S00018.comprel +++|* AT THE TIME *COMPREL* IS ASSEMBLED AND THE MACRO *RIREL* WILL
00022 M01S00019.comprel +++|* NOT BE CREATED. IF *RIREL$* IS DEFINED, HOWEVER, THE MACRO
00023 M01S00020.comprel +++|* *RIREL* WILL BE CREATED AND INSTRUCTION REDEFINITION WILL
00024 M01S00021.comprel +++|* NOT TAKE PLACE UNTIL *RIREL* IS CALLED. THE MACROS *RIREL*
00025 M01S00022.comprel +++|* AND *RSTR* CAN BE USED TO ENABLE OR DISABLE INSTRUCTION
00026 M01S00023.comprel +++|* REDEFINITION.
00027 M01S00024.comprel +++|*
00028 M01S00003.ns21000 +++|* THE SYMBOL *REL=* WILL BE SET TO 1 WHEN RELOCATABLE ASSEMBLY
00029 M01S00004.ns21000 +++|* IS IN EFFECT. IT WILL BE UNDEFINED OR 0 IF RELOCATABLE
00030 M01S00005.ns21000 +++|* ASSEMBLY IS NOT IN EFFECT.
00031 M01S00006.ns21000 +++|*
00032 M01S00025.comprel +++|* THE FOLLOWING INSTRUCTIONS USE *LA* FOR RELOCATION.
00033 M01S00026.comprel +++|* IF REL$ = 1 IS DEFINED, USE OF A SYSTEXT SYMBOL AS THE FIRST
00034 M01S00027.comprel +++|* SYMBOL IN THE -M- FIELD OF THE INSTRUCTION WILL PREVENT
00035 M01S00028.comprel +++|* RELOCATION BY *LA* AND WILL PERMIT USE OF THE -D- FIELD.
00036 M01S00007.ns21000 +++|*
00037 M01S00029.comprel +++|* LJM
00038 M01S00030.comprel +++|* RJM
00039 M01S00031.comprel +++|* LDM
00040 M01S00032.comprel +++|* ADM
00041 M01S00033.comprel +++|* SBM
00042 M01S00034.comprel +++|* LMM
00043 M01S00035.comprel +++|* STM
00044 M01S00036.comprel +++|* RAM
00045 M01S00037.comprel +++|* AOM
00046 M01S00038.comprel +++|* SOM
00047 M01S00039.comprel +++|*
00048 M01S00040.comprel +++|* THE FOLLOWING INSTRUCTIONS ARE ILLEGAL UNLESS THE FIRST
00049 M01S00041.comprel +++|* SYMBOL OF THE -M- FIELD IS A SYSTEXT SYMBOL (NON-RELOCATED
00050 M01S00042.comprel +++|* VALUE) WHEN REL$ = 1 IS DEFINED.
00051 M01S00008.ns21000 +++|*
00052 M01S00043.comprel +++|* CRM
00053 M01S00044.comprel +++|* CWM
00054 M01S00045.comprel +++|* AJM
00055 M01S00046.comprel +++|* IJM
00056 M01S00047.comprel +++|* FJM
00057 M01S00048.comprel +++|* EJM
00058 M01S00049.comprel +++|* IAM
00059 M01S00050.comprel +++|* OAM
00060 M01S00051.comprel +++|*
00061 M01S00052.comprel +++|* IF THE SYMBOL *RINST$* IS DEFINED, INSTRUCTIONS WILL BE
00062 M01S00053.comprel +++|* RESTORED ON EXIT FROM THIS DECK.
00063 M01S00054.comprel +++| RELM SPACE 4
00064 M01S00055.comprel +++|** RELM - DEFINE M-TYPE INSTRUCTIONS TO USE *LA* AS D-PART OF
00065 M01S00056.comprel +++|* INSTRUCTION.
00066 M01S00057.comprel +++|*
00067 M01S00058.comprel +++|*
00068 M01S00059.comprel +++|* RELM OPC,CODE
00069 M01S00060.comprel +++|* ENTRY *OPC* = INSTRUCTION MNEMONIC.
00070 M01S00061.comprel +++|* *CODE* = OPERATION CODE.
00071 M01S00062.comprel +++|
00072 M01S00063.comprel +++|
00073 M01S00064.comprel +++| PURGMAC RELM
00074 M01S00065.comprel +++| RELM MACRO OPC,CODE
00075 M01S00066.comprel +++| PURGMAC OPC
00076 M01S00067.comprel +++| OPC. PPOP 5,CODE
00077 M01S00068.comprel +++| OPC MACRO M,D
00078 M01S00069.comprel +++| LOCAL CP,SEP,SMB
00079 M01S00070.comprel +++| .A IF DEF,REL$
00080 M01S00071.comprel +++| .A IFEQ REL$,1
00081 M01S00072.comprel +++| .A IF DEF,//M
00082 M01S00073.comprel +++| CP SET 1
00083 M01S00074.comprel +++| DUP 9
00084 M01S00075.comprel +++| SEP MICRO CP,1,$_M$
00085 M01S00076.comprel +++| .B IFC NE,$"SEP"$$
00086 M01S00077.comprel +++| .B IFC LE,$"SEP"$9$
00087 M01S00078.comprel +++| CP SET CP+1
00088 M01S00079.comprel +++| .B ELSE
00089 M01S00080.comprel +++| STOPDUP
00090 M01S00081.comprel +++| .B ENDIF
00091 M01S00082.comprel +++| ENDD
00092 M01S00083.comprel +++| CP SET CP-1
00093 M01S00084.comprel +++| .A IFNE CP,0
00094 M01S00085.comprel +++| SMB MICRO 1,CP,$_M$
00095 M01S00086.comprel +++| .A IF SST,//"SMB"
00096 M01S00087.comprel +++| OPC. M,D
00097 M01S00088.comprel +++| .A ELSE
00098 M01S00089.comprel +++| .B IFNE D,0
00099 M01S00090.comprel +++| ERR D-FIELD NOT ALLOWED.
00100 M01S00091.comprel +++| .B ELSE
00101 M01S00092.comprel +++| OPC. M,LA
00102 M01S00093.comprel +++| .B ENDIF
00103 M01S00094.comprel +++| .A ENDIF
00104 M01S00095.comprel +++| OPC ENDM
00105 M01S00096.comprel +++| RELM ENDM
00106 M01S00097.comprel +++| ILLM SPACE 4
00107 M01S00098.comprel +++|** ILLM - DEFINE CERTAIN M-TYPE INSTRUCTIONS TO BE ILLEGAL.
00108 M01S00099.comprel +++|*
00109 M01S00100.comprel +++|*
00110 M01S00101.comprel +++|* ILLM OPC
00111 M01S00102.comprel +++|* ENTRY *OPC* = INSTRUCTION MNEMONIC.
00112 M01S00103.comprel +++|* *CODE* = OPERATION CODE.
00113 M01S00104.comprel +++|
00114 M01S00105.comprel +++|
00115 M01S00106.comprel +++| PURGMAC ILLM
00116 M01S00107.comprel +++| ILLM MACRO OPC,CODE
00117 M01S00108.comprel +++| PURGMAC OPC
00118 M01S00109.comprel +++| OPC. PPOP 7,CODE
00119 M01S00110.comprel +++| OPC MACRO M,D
00120 M01S00111.comprel +++| LOCAL CP,SEP,SMB
00121 M01S00112.comprel +++| .A IF DEF,REL$
00122 M01S00113.comprel +++| .A IFEQ REL$,1
00123 M01S00114.comprel +++| .A IF DEF,//M
00124 M01S00115.comprel +++| CP SET 1
00125 M01S00116.comprel +++| DUP 9
00126 M01S00117.comprel +++| SEP MICRO CP,1,$_M$
00127 M01S00118.comprel +++| .B IFC NE,$"SEP"$$
00128 M01S00119.comprel +++| .B IFC LE,$"SEP"$9$
00129 M01S00120.comprel +++| CP SET CP+1
00130 M01S00121.comprel +++| .B ELSE
00131 M01S00122.comprel +++| STOPDUP
00132 M01S00123.comprel +++| .B ENDIF
00133 M01S00124.comprel +++| ENDD
00134 M01S00125.comprel +++| CP SET CP-1
00135 M01S00126.comprel +++| .A IFNE CP,0
00136 M01S00127.comprel +++| SMB MICRO 1,CP,$_M$
00137 M01S00128.comprel +++| .A IF SST,//"SMB"
00138 M01S00129.comprel +++| OPC. M,D
00139 M01S00130.comprel +++| .A ELSE
00140 M01S00131.comprel +++| ERR OPERATION NOT ALLOWED.
00141 M01S00132.comprel +++| .A ENDIF
00142 M01S00133.comprel +++| OPC ENDM
00143 M01S00134.comprel +++| ILLM ENDM
00144 M01S00135.comprel +++| RIREL SPACE 4
00145 M01S00136.comprel +++|*** RIREL - REDEFINE INSTRUCTIONS.
00146 M01S00137.comprel +++|*
00147 M01S00138.comprel +++|* RIREL
00148 M01S00139.comprel +++|* EACH TIME *RIREL* IS CALLED, INSTRUCTION REDEFINITION OCCURS.
00149 M01S00140.comprel +++|* *RIREL* IS CREATED ONLY IF *RIREL$* IS DEFINED.
00150 M01S00141.comprel +++|
00151 M01S00142.comprel +++|
00152 M01S00143.comprel +++| IF DEF,RIREL$,2
00153 M01S00144.comprel +++| PURGMAC RIREL
00154 M01S00145.comprel +++| RIREL MACRO
00155 M01S00146.comprel +++|
00156 M01S00009.ns21000 +++| REL= SET 1 INDICATE RELOCATABLE CODE
00157 M01S00010.ns21000 +++|
00158 M01S00147.comprel +++| RELM LJM,0100
00159 M01S00148.comprel +++| RELM RJM,0200
00160 M01S00149.comprel +++| RELM LDM,5000
00161 M01S00150.comprel +++| RELM ADM,5100
00162 M01S00151.comprel +++| RELM SBM,5200
00163 M01S00152.comprel +++| RELM LMM,5300
00164 M01S00153.comprel +++| RELM STM,5400
00165 M01S00154.comprel +++| RELM RAM,5500
00166 M01S00155.comprel +++| RELM AOM,5600
00167 M01S00156.comprel +++| RELM SOM,5700
00168 M01S00157.comprel +++|
00169 M01S00158.comprel +++| ILLM CRM,6100
00170 M01S00159.comprel +++| ILLM CWM,6300
00171 M01S00160.comprel +++| ILLM AJM,6400
00172 M01S00161.comprel +++| ILLM IJM,6500
00173 M01S00162.comprel +++| ILLM FJM,6600
00174 M01S00163.comprel +++| ILLM EJM,6700
00175 M01S00164.comprel +++| ILLM IAM,7100
00176 M01S00165.comprel +++| ILLM OAM,7300
00177 M01S00166.comprel +++|
00178 M01S00167.comprel +++| ENDM
00179 M01S00168.comprel +++| RSTR SPACE 4
00180 M01S00169.comprel +++|*** RSTR - RESTORE ALL REDEFINED INSTRUCTIONS.
00181 M01S00170.comprel +++|*
00182 M01S00171.comprel +++|*
00183 M01S00172.comprel +++|* RSTR
00184 M01S00173.comprel +++|* ENTRY NONE.
00185 M01S00174.comprel +++|
00186 M01S00175.comprel +++|
00187 M01S00176.comprel +++| PURGMAC RSTR
00188 M01S00177.comprel +++| RSTR MACRO
00189 M01S00178.comprel +++| PURGMAC LJM
00190 M01S00179.comprel +++| PURGMAC RJM
00191 M01S00180.comprel +++| PURGMAC LDM
00192 M01S00181.comprel +++| PURGMAC ADM
00193 M01S00182.comprel +++| PURGMAC SBM
00194 M01S00183.comprel +++| PURGMAC LMM
00195 M01S00184.comprel +++| PURGMAC STM
00196 M01S00185.comprel +++| PURGMAC AOM
00197 M01S00186.comprel +++| PURGMAC RAM
00198 M01S00187.comprel +++| PURGMAC SOM
00199 M01S00188.comprel +++| PURGMAC CRM
00200 M01S00189.comprel +++| PURGMAC CWM
00201 M01S00190.comprel +++| PURGMAC AJM
00202 M01S00191.comprel +++| PURGMAC IJM
00203 M01S00192.comprel +++| PURGMAC FJM
00204 M01S00193.comprel +++| PURGMAC EJM
00205 M01S00194.comprel +++| PURGMAC IAM
00206 M01S00195.comprel +++| PURGMAC OAM
00207 M01S00196.comprel +++| LJM OPSYN LJM.
00208 M01S00197.comprel +++| RJM OPSYN RJM.
00209 M01S00198.comprel +++| LDM OPSYN LDM.
00210 M01S00199.comprel +++| ADM OPSYN ADM.
00211 M01S00200.comprel +++| SBM OPSYN SBM.
00212 M01S00201.comprel +++| LMM OPSYN LMM.
00213 M01S00202.comprel +++| STM OPSYN STM.
00214 M01S00203.comprel +++| AOM OPSYN AOM.
00215 M01S00204.comprel +++| RAM OPSYN RAM.
00216 M01S00205.comprel +++| SOM OPSYN SOM.
00217 M01S00206.comprel +++| CRM OPSYN CRM.
00218 M01S00207.comprel +++| CWM OPSYN CWM.
00219 M01S00208.comprel +++| AJM OPSYN AJM.
00220 M01S00209.comprel +++| IJM OPSYN IJM.
00221 M01S00210.comprel +++| FJM OPSYN FJM.
00222 M01S00211.comprel +++| EJM OPSYN EJM.
00223 M01S00212.comprel +++| IAM OPSYN IAM.
00224 M01S00213.comprel +++| OAM OPSYN OAM.
00225 M01S00011.ns21000 +++|
00226 M01S00012.ns21000 +++| REL= SET 0 CLEAR RELOCATABLE CODE FLAG
00227 M01S00013.ns21000 +++|
00228 M01S00214.comprel +++| ENDM
00229 M01S00215.comprel +++|
00230 M01S00216.comprel +++|
00231 M01S00217.comprel +++| IF DEF,RINST$
00232 M01S00218.comprel +++| RSTR RESTORE INSTRUCTIONS
00233 M01S00219.comprel +++| ENDIF
00234 M01S00220.comprel +++| SPACE 4,10
00235 M01S00221.comprel +++| ENDX