Seq # *Modification Id* Act
----------------------------+
00001 M00S00001.compmrm +++| CTEXT COMPMRM - MAINTENANCE REGISTER MACROS.
00002 M00S00002.compmrm +++| SPACE 4,10
Line S00003 Modification History |
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00003 M01S00003.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1981.
Line S00001 Modification History |
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00004 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00005 M00S00004.compmrm +++| MRM SPACE 4,10
00006 M00S00005.compmrm +++|*** COMPMRM - MAINTENANCE REGISTER MACROS.
00007 M00S00006.compmrm +++|* B. R. HANSON 81/01/29.
00008 M00S00007.compmrm +++| SPACE 4,10
00009 M00S00008.compmrm +++|*** COMPMRM DEFINES SEVERAL MACROS WHICH ARE USED IN THE
00010 M00S00009.compmrm +++|* PACKAGES THAT NEED TO ACCESS THE MAINTENANCE CHANNEL.
00011 M00S00010.compmrm +++|* THE USE OF THESE MACROS REQUIRES THE PRESENCE OF THE
00012 M00S00011.compmrm +++|* COMMON DECK *COMPMRA* AND THE DEFINITION OF THE TAGS
00013 M00S00012.compmrm +++|* *RN*, *MRER*, AND OPTIONALLY *EC*. *RN* IS A DIRECT CELL
00014 M00S00013.compmrm +++|* USED TO PASS THE REGISTER NUMBER TO *AMR*. *MRER* IS
00015 M00S00014.compmrm +++|* THE ENTRY ADDRESS INTO AN ERROR PROCESSOR FOR FATAL
00016 M00S00015.compmrm +++|* MAINTENANCE CHANNEL ERRORS. *EC* IS THE DIRECT CELL
00017 M00S00016.compmrm +++|* USED BY THE MACROS TO OBTAIN THE DEFAULT PORT ACCESS CODE.
00018 M00S00017.compmrm +++| EXITMR SPACE 4,10
00019 M00S00018.compmrm +++|** EXITMR - SET MAINTENANCE REGISTER EXIT ADDRESS.
00020 M00S00019.compmrm +++|*
00021 M00S00020.compmrm +++|* EXITMR ADDR
00022 M00S00021.compmrm +++|*
00023 M00S00022.compmrm +++|* ENTRY *ADDR* = ADDRESS TO CALL IF AN ERROR OCCURS.
00024 M00S00023.compmrm +++|
00025 M00S00024.compmrm +++|
00026 M00S00025.compmrm +++| PURGMAC EXITMR
00027 M00S00026.compmrm +++|
00028 M00S00027.compmrm +++| EXITMR MACRO ADDR
00029 M00S00028.compmrm +++| MACREF EXITMR
00030 M00S00029.compmrm +++| LDC ADDR
00031 M00S00030.compmrm +++| STM MRED SET ERROR EXIT ADDRESS
00032 M00S00031.compmrm +++| EXITMR ENDM
00033 M00S00032.compmrm +++| FUNCMR SPACE 4,10
00034 M00S00033.compmrm +++|** FUNCMR - FUNCTION MAINTENANCE CHANNEL.
00035 M00S00034.compmrm +++|*
00036 M00S00035.compmrm +++|* FUNCMR PAC,FUNCTION
00037 M00S00036.compmrm +++|*
00038 M00S00037.compmrm +++|* ENTRY *PAC* = ADDRESS OF PORT ACCESS CODE FOR DESIRED
00039 M00S00038.compmrm +++|* ELEMENT. *EC* IS ASSUMED IF NO PARAMETER IS GIVEN.
00040 M00S00039.compmrm +++|* *FUNCTION* = FUNCTION TO SEND TO ELEMENT.
00041 M00S00040.compmrm +++|*
00042 M00S00041.compmrm +++|* CALLS CMI, SMI.
00043 M00S00042.compmrm +++|
00044 M00S00043.compmrm +++|
00045 M00S00044.compmrm +++| PURGMAC FUNCMR
00046 M00S00045.compmrm +++|
00047 M00S00046.compmrm +++| FUNCMR MACRO PAC,FN
00048 M00S00047.compmrm +++| MACREF FUNCMR
00049 M00S00048.compmrm +++| LDK FN
00050 M00S00049.compmrm +++| .P IFC NE,$PAC$$
00051 M00S00050.compmrm +++| LMM PAC
00052 M00S00051.compmrm +++| .P ELSE
00053 M00S00052.compmrm +++| LMD EC
00054 M00S00053.compmrm +++| .P ENDIF
00055 M00S00054.compmrm +++| RJM SMI
00056 M00S00055.compmrm +++| FAN MR
00057 M00S00056.compmrm +++| RJM CMI
00058 M00S00057.compmrm +++| FUNCMR ENDM
00059 M00S00058.compmrm +++| LOCKMR SPACE 4,10
00060 M00S00059.compmrm +++|** LOCKMR - SET OR CLEAR A LONG TERM INTERLOCK ON THE
00061 M00S00060.compmrm +++|* MAINTENANCE CHANNEL.
00062 M00S00061.compmrm +++|*
00063 M00S00062.compmrm +++|* LOCKMR OP,ADDR
00064 M00S00063.compmrm +++|*
00065 M00S00064.compmrm +++|* ENTRY *OP* = *SET* TO SET THE LONG TERM INTERLOCK.
00066 M00S00065.compmrm +++|* *OP* = *CLEAR* TO CLEAR THE LONG TERM INTERLOCK.
00067 M00S00066.compmrm +++|* *ADDR* = OPTIONAL ERROR EXIT ADDRESS.
00068 M00S00067.compmrm +++|*
00069 M00S00068.compmrm +++|* CALLS CLI, SLI.
00070 M00S00069.compmrm +++|*
00071 M00S00070.compmrm +++|* MACROS EXITMR.
00072 M00S00071.compmrm +++|
00073 M00S00072.compmrm +++|
00074 M00S00073.compmrm +++| PURGMAC LOCKMR
00075 M00S00074.compmrm +++|
00076 M00S00075.compmrm +++| LOCKMR MACRO OP,ADDR
00077 M00S00076.compmrm +++| MACREF LOCKMR
00078 M00S00077.compmrm +++| .A IFC NE,$ADDR$$
00079 M00S00078.compmrm +++| EXITMR ADDR
00080 M00S00079.compmrm +++| .A ENDIF
00081 M00S00080.compmrm +++| .L IFC EQ,$OP$SET$
00082 M00S00081.compmrm +++| RJM SLI SET LONG TERM INTERLOCK
00083 M00S00082.compmrm +++| .L ELSE
00084 M00S00083.compmrm +++| IFC NE,$OP$CLEAR$,1
00085 M00S00084.compmrm +++| ERR ILLEGAL OPTION ON *LOCKMR*
00086 M00S00085.compmrm +++| RJM CLI CLEAR LONG TERM INTERLOCK
00087 M00S00086.compmrm +++| .L ENDIF
00088 M00S00087.compmrm +++| LOCKMR ENDM
00089 M00S00088.compmrm +++| READMR SPACE 4,15
00090 M00S00089.compmrm +++|** READMR - READ MAINTENANCE REGISTER.
00091 M00S00090.compmrm +++|*
00092 M00S00091.compmrm +++|* READMR A,PAC,REG,S
00093 M00S00092.compmrm +++|*
00094 M00S00093.compmrm +++|* ENTRY *A* = ADDRESS OF BUFFER FOR REGISTER DATA.
00095 M00S00094.compmrm +++|* *PAC* = ADDRESS OF PORT ACCESS CODE FOR DESIRED
00096 M00S00095.compmrm +++|* ELEMENT. *EC* IS USED IF PARAMETER OMITTED.
00097 M00S00096.compmrm +++|* *REG* = REGISTER NUMBER. IF OMITTED, THE REGISTER
00098 M00S00097.compmrm +++|* NUMBER IS OBTAINED FROM DIRECT CELL *RN*.
00099 M00S00098.compmrm +++|* *S* = SIZE OF REGISTER IN WORDS. ASSUMED TO BE 10.
00100 M00S00099.compmrm +++|*
00101 M00S00100.compmrm +++|* EXIT (A - A+S) = REGISTER DATA.
00102 M00S00101.compmrm +++|* (RN) = REGISTER NUMBER.
00103 M00S00102.compmrm +++|*
00104 M00S00103.compmrm +++|* CALLS AMR, CMI.
00105 M00S00104.compmrm +++|
00106 M00S00105.compmrm +++|
00107 M00S00106.compmrm +++| PURGMAC READMR
00108 M00S00107.compmrm +++|
00109 M00S00108.compmrm +++| READMR MACRO A,PAC,R,S
00110 M00S00109.compmrm +++| MACREF READMR
00111 M00S00110.compmrm +++| .R IFC NE,$R$$
00112 M00S00111.compmrm +++| LDK R
00113 M00S00112.compmrm +++| STD RN
00114 M00S00113.compmrm +++| .R ENDIF
00115 M00S00114.compmrm +++| .P IFC EQ,$PAC$$
00116 M00S00115.compmrm +++| LDD EC
00117 M00S00116.compmrm +++| .P ELSE
00118 M00S00117.compmrm +++| LDM PAC
00119 M00S00118.compmrm +++| .P ENDIF
00120 M00S00119.compmrm +++| LMC MRRD
00121 M00S00120.compmrm +++| RJM AMR
00122 M00S00121.compmrm +++| .S IFC NE,$S$$
00123 M00S00122.compmrm +++| LDN S
00124 M00S00123.compmrm +++| .S ENDIF
00125 M00S00124.compmrm +++| IAM A,MR
00126 M00S00125.compmrm +++| RJM CMI CLEAR INTERLOCK
00127 M00S00126.compmrm +++| READMR ENDM
00128 M00S00127.compmrm +++| WRITMR SPACE 4,15
00129 M00S00128.compmrm +++|** WRITMR - WRITE MAINTENANCE REGISTER.
00130 M00S00129.compmrm +++|*
00131 M00S00130.compmrm +++|* WRITMR A,PAC,REG,S
00132 M00S00131.compmrm +++|*
00133 M00S00132.compmrm +++|* ENTRY *A* = ADDRESS OF BUFFER OF REGISTER DATA.
00134 M00S00133.compmrm +++|* *PAC* = ADDRESS OF PORT ACCESS CODE FOR DESIRED
00135 M00S00134.compmrm +++|* ELEMENT. *EC* IS USED IF PARAMETER OMITTED.
00136 M00S00135.compmrm +++|* *REG* = REGISTER NUMBER. ASSUMED TO BE 10.
00137 M00S00136.compmrm +++|* NUMBER IS OBTAINED FROM DIRECT CELL *RN*.
00138 M00S00137.compmrm +++|* *S* = SIZE OF REGISTER IN WORDS. ASSUMED TO BE 10.
00139 M00S00138.compmrm +++|*
00140 M00S00139.compmrm +++|* EXIT DATA FROM (A - A+S) WRITTEN TO REGISTER.
00141 M00S00140.compmrm +++|* (RN) = REGISTER NUMBER.
00142 M00S00141.compmrm +++|*
00143 M00S00142.compmrm +++|* CALLS AMR, CMI.
00144 M00S00143.compmrm +++|
00145 M00S00144.compmrm +++|
00146 M00S00145.compmrm +++| PURGMAC WRITMR
00147 M00S00146.compmrm +++|
00148 M00S00147.compmrm +++| WRITMR MACRO A,PAC,R,S
00149 M00S00148.compmrm +++| MACREF WRITMR
00150 M00S00149.compmrm +++| .R IFC NE,$R$$
00151 M00S00150.compmrm +++| LDK R
00152 M00S00151.compmrm +++| STD RN
00153 M00S00152.compmrm +++| .R ENDIF
00154 M00S00153.compmrm +++| .P IFC NE,$PAC$$
00155 M00S00154.compmrm +++| LDM PAC
00156 M00S00155.compmrm +++| .P ELSE
00157 M00S00156.compmrm +++| LDD EC
00158 M00S00157.compmrm +++| .P ENDIF
00159 M00S00158.compmrm +++| LMC MRWT
00160 M00S00159.compmrm +++| RJM AMR
00161 M00S00160.compmrm +++| .S IFC NE,$S$$
00162 M00S00161.compmrm +++| LDC S
00163 M00S00162.compmrm +++| .S ENDIF
00164 M00S00163.compmrm +++| OAM A,MR
00165 M00S00164.compmrm +++| RJM CMI
00166 M00S00165.compmrm +++| WRITMR ENDM
00167 M00S00166.compmrm +++| SPACE 4
00168 M00S00167.compmrm +++| ENDX