User Tools

Site Tools


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

Common COMPSRR

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.compsrr +++|          CTEXT  COMPSRR - SET R-REGISTER.
00002  M00S00002.compsrr +++|          IF     -DEF,QUAL$,1
00003  M00S00003.compsrr +++|          QUAL   COMPSRR
Line S00004 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00004  M01S00004.281l803 ---|*         COMMENT  COPYRIGHT CONTROL DATA CORPORATION, 1992.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00005  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00006  M00S00005.compsrr +++| SRR      SPACE  4
00007  M00S00006.compsrr +++|***       SRR - SET R-REGISTER.
00008  M00S00007.compsrr +++|*         D. O. HAMNES.      92/03/18.
00009  M00S00008.compsrr +++| SRR      SPACE  4,15
00010  M00S00009.compsrr +++|***       *COMPSRR* MAY BE USED TO SET AND RESTORE THE VALUE OF
00011  M00S00010.compsrr +++|*         THE R-REGISTER ON MAINFRAMES WHICH SUPPORT R-REGISTERS.
00012  M00S00011.compsrr +++|*
00013  M00S00012.compsrr +++|*         IF *SRR$* IS DEFINED, THEN THE CONTENTS OF DIRECT CELLS
00014  M00S00013.compsrr +++|*         T1 AND T2 WILL NOT BE RESTORED.  IF NOT DEFINED,
00015  M00S00014.compsrr +++|*         THEN THEY WILL BE RESTORED TO THEIR VALUES UPON ENTRY.
00016  M00S00015.compsrr +++|*
00017  M00S00016.compsrr +++|*         IF *PRR$* IS DEFINED, THEN THE PRESET ROUTINE *PRR* WILL
00018  M00S00017.compsrr +++|*         BE DEFINED IN A REMOTE BLOCK LABELED *PRR*.
00019  M00S00018.compsrr +++|*
00020  M00S00019.compsrr +++|*         IF *PIR$* IS DEFINED, THEN THE SPECIAL PRESET ROUTINE
00021  M00S00020.compsrr +++|*         *PIR* WILL BE DEFINED.  IF *PRR$* IS ALSO DEFINED, THEN
00022  M00S00021.compsrr +++|*         THE CODE FOR THIS ROUTINE WILL ALSO BE IN THE *PRR* REMOTE
00023  M00S00022.compsrr +++|*         BLOCK.
00024  M00S00023.compsrr +++| SRR      SPACE  4,15
00025  M00S00024.compsrr +++|**        SRR - SET R-REGISTER.
00026  M00S00025.compsrr +++|*
00027  M00S00026.compsrr +++|*         ENTRY  (RRRB - RRRC) = R-REGISTER VALUE TO BE SET.
00028  M00S00027.compsrr +++|*
00029  M00S00028.compsrr +++|*         EXIT   (R) = (RRRB - RRRC), IF R-REGISTER PRESENT.
00030  M00S00029.compsrr +++|*                (T1 - T2) RESTORED IF SRR$ NOT DEFINED.
00031  M00S00030.compsrr +++|*                (RRRD - RRRE) = (R) UPON ENTRY.
00032  M00S00031.compsrr +++|*
00033  M00S00032.compsrr +++|*         USES   T0, T1, T2.
00034  M00S00033.compsrr +++|*
00035  M00S00034.compsrr +++|*         CALLS  NONE.
00036  M00S00035.compsrr +++|
00037  M00S00036.compsrr +++|
00038  M00S00037.compsrr +++| SRR      SUBR               ENTRY/EXIT
00039  M00S00038.compsrr +++| SRRA     UJN    RRR1        SAVE DIRECT CELLS IF DESIRED
00040  M00S00039.compsrr +++|*         UJN    SRRX        (R-REGISTERS NOT SUPPORTED)
00041  M00S00040.compsrr +++| RRR      SPACE  4,15
00042  M00S00041.compsrr +++|**        RRR - RESTORE R-REGISTER.
00043  M00S00042.compsrr +++|*
00044  M00S00043.compsrr +++|*         ENTRY  (RRRD - RRRE) = R-REGISTER VALUE TO BE SET.
00045  M00S00044.compsrr +++|*                (NORMALLY ESTABLISHED BY *SRR*).
00046  M00S00045.compsrr +++|*
00047  M00S00046.compsrr +++|*         EXIT   (R) = (RRRD - RRRE), IF R-REGISTER PRESENT.
00048  M00S00047.compsrr +++|*                (T1 - T2) RESTORED IF SRR$ NOT DEFINED.
00049  M00S00048.compsrr +++|*
00050  M00S00049.compsrr +++|*         USES   T0, T1, T2.
00051  M00S00050.compsrr +++|*
00052  M00S00051.compsrr +++|*         CALLS  NONE.
00053  M00S00052.compsrr +++|
00054  M00S00053.compsrr +++|
00055  M00S00054.compsrr +++| RRR2     LDC    **
00056  M00S00055.compsrr +++| RRRD     EQU    *-1
00057  M00S00056.compsrr +++|          STD    T1
00058  M00S00057.compsrr +++|          LDC    **
00059  M00S00058.compsrr +++| RRRE     EQU    *-1
00060  M00S00059.compsrr +++|          STD    T2
00061  M00S00060.compsrr +++|          LRD    T1
00062  M00S00061.compsrr +++|          SOM    RRRH
00063  M00S00062.compsrr +++|
00064  M00S00063.compsrr +++|*         RESTORE DIRECT CELLS.
00065  M00S00064.compsrr +++|
00066  M00S00065.compsrr +++| RRR3     BSS    0
00067  M00S00066.compsrr +++| SRR$     IF     -DEF,SRR$
00068  M00S00067.compsrr +++|          LDC    **          RESTORE DIRECT CELLS WHICH ARE USED
00069  M00S00068.compsrr +++| RRRF     EQU    *-1
00070  M00S00069.compsrr +++|          STD    T1
00071  M00S00070.compsrr +++|          LDC    **
00072  M00S00071.compsrr +++| RRRG     EQU    *-1
00073  M00S00072.compsrr +++|          STD    T2
00074  M00S00073.compsrr +++| SRR$     ENDIF
00075  M00S00074.compsrr +++|          LDD    T0
00076  M00S00075.compsrr +++|          ZJN    SRRX        IF *SRR* CALL
00077  M00S00076.compsrr +++|*         UJN    RRRX        RETURN TO CALLER OF *RRR*
00078  M00S00077.compsrr +++|
00079  M00S00078.compsrr +++| RRR      SUBR               ENTRY/EXIT
00080  M00S00079.compsrr +++| RRRA     AOM    RRRH
00081  M00S00080.compsrr +++|*         UJN    RRRX        (R-REGISTERS NOT SUPPORTED)
00082  M00S00081.compsrr +++|
00083  M00S00082.compsrr +++|*         SAVE DIRECT CELLS.
00084  M00S00083.compsrr +++|
00085  M00S00084.compsrr +++| RRR1     BSS    0
00086  M00S00085.compsrr +++| SRR$     IF     -DEF,SRR$
00087  M00S00086.compsrr +++|          LDD    T1
00088  M00S00087.compsrr +++|          STM    RRRF
00089  M00S00088.compsrr +++|          LDD    T2
00090  M00S00089.compsrr +++|          STM    RRRG
00091  M00S00090.compsrr +++| SRR$     ENDIF
00092  M00S00091.compsrr +++| RRRH     LDN    0
00093  M00S00092.compsrr +++|*         LDN    1           (RRR ENTRY POINT)
00094  M00S00093.compsrr +++|          STD    T0
00095  M00S00094.compsrr +++|          NJN    RRR2        IF RESTORE
00096  M00S00095.compsrr +++|
00097  M00S00096.compsrr +++|*         SAVE PRESENT VALUE OF R-REGISTER AND
00098  M00S00097.compsrr +++|*         SET SAVED VALUE.
00099  M00S00098.compsrr +++|
00100  M00S00099.compsrr +++|          SRD    T1
00101  M00S00100.compsrr +++|          LDD    T1          SAVE CP RA
00102  M00S00101.compsrr +++|          STM    RRRD
00103  M00S00102.compsrr +++|          LDD    T2
00104  M00S00103.compsrr +++|          STM    RRRE
00105  M00S00104.compsrr +++|          LDC    **          SET SAVED R-REGISTER VALUE
00106  M00S00105.compsrr +++| RRRB     EQU    *-1
00107  M00S00106.compsrr +++|          STD    T1
00108  M00S00107.compsrr +++|          LDC    **
00109  M00S00108.compsrr +++| RRRC     EQU    *-1
00110  M00S00109.compsrr +++|          STD    T2
00111  M00S00110.compsrr +++|          LRD    T1
00112  M00S00111.compsrr +++|          LJM    RRR3        RESTORE DIRECT CELLS
00113  M00S00112.compsrr +++| PRR      SPACE  4,10
00114  M00S00113.compsrr +++|**        PRR - PRESET *COMPSRR* CODE.
00115  M00S00114.compsrr +++|*
00116  M00S00115.compsrr +++|*         EXIT   DETERMINATION HAS BEEN MADE AS TO WHETHER R-REGISTERS
00117  M00S00116.compsrr +++|*                ARE SUPPORTTED ON THE MACHINE.  IF THEY ARE NOT, THEN
00118  M00S00117.compsrr +++|*                THE FIRST INSTRUCTION OF EACH OF *SRR* AND *RRR* IS
00119  M00S00118.compsrr +++|*                SET TO EXIT THE ROUTINE.
00120  M00S00119.compsrr +++|*                (A) .LT. 0, IF R-REGISTERS NOT SUPPORTED.
00121  M00S00120.compsrr +++|*                (A) .GE. 0, IF R-REGISTERS SUPPORTED.
00122  M00S00121.compsrr +++|*
00123  M00S00122.compsrr +++|*         USES   CM - CM+4.
00124  M00S00123.compsrr +++|*
00125  M00S00124.compsrr +++|*         MACROS ISTORE.
00126  M00S00125.compsrr +++|
00127  M00S00126.compsrr +++|
00128  M00S00127.compsrr +++| PRR$     IF     DEF,PRR$,1
00129  M00S00128.compsrr +++| PRR      RMT
00130  M00S00129.compsrr +++| PRR      SUBR               ENTRY/EXIT
00131  M00S00130.compsrr +++|          LDC    MABL
00132  M00S00131.compsrr +++|          CRD    CM
00133  M00S00132.compsrr +++|          LDD    CM+1
00134  M00S00133.compsrr +++|          SHN    21-13
00135  M00S00134.compsrr +++|          PJN    PRRX        IF 180 CLASS MACHINE
00136  M00S00135.compsrr +++|          ISTORE SRRA,(UJN SRRX)
00137  M00S00136.compsrr +++|          ISTORE RRRA,(UJN RRRX)
00138  M00S00137.compsrr +++|          LDC    400000
00139  M00S00138.compsrr +++|          UJN    PRRX        RETURN
00140  M00S00139.compsrr +++| PRR$     IF     DEF,PRR$,1
00141  M00S00140.compsrr +++| PRR      RMT
00142  M00S00141.compsrr +++| PIR      SPACE  4,10
00143  M00S00142.compsrr +++|**        PIR - PRESET WITH IAF R-REGISTER.
00144  M00S00143.compsrr +++|*
00145  M00S00144.compsrr +++|*         ENTRY  IAF HAS BEEN DETERMINED TO BE ACCESSIBLE.
00146  M00S00145.compsrr +++|*
00147  M00S00146.compsrr +++|*         EXIT   (TA) = 4000B, IF R-REGISTERS PRESENT.
00148  M00S00147.compsrr +++|*                     = IAF RA/100B, IF R-REGISTERS NOT PRESENT.
00149  M00S00148.compsrr +++|*
00150  M00S00149.compsrr +++|*         USES   CM - CM+4, TA.
00151  M00S00150.compsrr +++|*
00152  M00S00151.compsrr +++|*         CALLS  PRR.
00153  M00S00152.compsrr +++|
00154  M00S00153.compsrr +++|
00155  M00S00154.compsrr +++| PIR$     IF     DEF,PIR$
00156  M00S00155.compsrr +++| PRR$     IF     DEF,PRR$,1
00157  M00S00156.compsrr +++| PRR      RMT
00158  M00S00157.compsrr +++| PIR      SUBR               ENTRY/EXIT
00159  M00S00158.compsrr +++|          RJM    PRR         PRESET RESTORE R-REGISTER ROUTINES
00160  M00S00159.compsrr +++|          MJN    PIR1        IF R-REGISTERS NOT SUPPORTED
00161  M00S00160.compsrr +++|
00162  M00S00161.compsrr +++|*         PRESET FOR MACHINE WITH R-REGISTER.
00163  M00S00162.compsrr +++|
00164  M00S00163.compsrr +++| .A       IF     DEF,/REM/VCPT
00165  M00S00164.compsrr +++|          LDC    /REM/VCPT*200+FLSW
00166  M00S00165.compsrr +++| .A       ELSE
00167  M00S00166.compsrr +++|          LDC    //VCPT*200+FLSW
00168  M00S00167.compsrr +++| .A       ENDIF
00169  M00S00168.compsrr +++|          CRD    CM
00170  M00S00169.compsrr +++|          LDD    CM+2
00171  M00S00170.compsrr +++|          STM    RRRB
00172  M00S00171.compsrr +++|          LDD    CM+3
00173  M00S00172.compsrr +++|          STM    RRRC
00174  M00S00173.compsrr +++|          LDC    4000B       SET R-REGISTER USE BIT
00175  M00S00174.compsrr +++|          STD    TA
00176  M00S00175.compsrr +++|          UJN    PIRX        RETURN
00177  M00S00176.compsrr +++|
00178  M00S00177.compsrr +++|*         PRESET FOR MACHINE WITHOUT R-REGISTER.
00179  M00S00178.compsrr +++|
00180  M00S00179.compsrr +++| PIR1     BSS    0
00181  M00S00180.compsrr +++| .A       IF     DEF,/REM/VCPT
00182  M00S00181.compsrr +++|          LDC    /REM/VCPT*200+FLSW
00183  M00S00182.compsrr +++| .A       ELSE
00184  M00S00183.compsrr +++|          LDC    //VCPT*200+FLSW
00185  M00S00184.compsrr +++| .A       ENDIF
00186  M00S00185.compsrr +++|          CRD    CM
00187  M00S00186.compsrr +++|          LDD    CM+3        SET IAF RA/100B
00188  M00S00187.compsrr +++|          STD    TA
00189  M00S00188.compsrr +++|          LJM    PIRX        RETURN
00190  M00S00189.compsrr +++| PRR$     IF     DEF,PRR$,1
00191  M00S00190.compsrr +++|          RMT
00192  M00S00191.compsrr +++| PIR$     ENDIF
00193  M00S00192.compsrr +++|          SPACE  4
00194  M00S00193.compsrr +++| QUAL$    IF     -DEF,QUAL$
00195  M00S00194.compsrr +++|          QUAL   *
00196  M00S00195.compsrr +++| SRR      EQU    /COMPSRR/SRR
00197  M00S00196.compsrr +++| RRR      EQU    /COMPSRR/RRR
00198  M00S00197.compsrr +++| PRR      EQU    /COMPSRR/PRR
00199  M00S00198.compsrr +++| PIR$     IF     DEF,PIR$
00200  M00S00199.compsrr +++| PIR      EQU    /COMPSRR/PIR
00201  M00S00200.compsrr +++| PIR$     ENDIF
00202  M00S00201.compsrr +++| QUAL$    ENDIF
00203  M00S00202.compsrr +++|          ENDX
cdc/nos2.source/opl.opl871/common/compsrr.txt ยท Last modified: (external edit)