User Tools

Site Tools


cdc:nos2.source:opl.opl871:common:compmrm

Common COMPMRM

Library Member Format: MODIFY

Source

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
cdc/nos2.source/opl.opl871/common/compmrm.txt ยท Last modified: (external edit)