User Tools

Site Tools


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

Common COMCJCR

0 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.comcjcr +++|          CTEXT  COMCJCR - JOB CONTROL REGISTER MANAGEMENT ROUTINES.
00002  M01S00002.comcjcr +++|          SPACE  4
00003  M01S00003.comcjcr +++|          IF     -DEF,QUAL$,1
00004  M01S00004.comcjcr +++|          QUAL   COMCJCR
00005  M01S00005.comcjcr +++|          BASE   D
00006  M01S00006.comcjcr +++|*         COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC.  1996.
00007  M01S00007.comcjcr +++|          SPACE  4
00008  M01S00008.comcjcr +++|***       JCR - JOB CONTROL REGISTER MANAGEMENT ROUTINES.
00009  M01S00009.comcjcr +++|*         G. S. YODER.    96/04/24.
00010  M01S00010.comcjcr +++|          SPACE  4
00011  M01S00011.comcjcr +++|***       JCR CONTAINS ROUTINES TO ACCESS AND MODIFY THE JOB CONTROL
00012  M01S00012.comcjcr +++|*         REGISTERS USING SYMBOLIC REGISTER NAMES.
00013  M01S00013.comcjcr +++|*
00014  M01S00014.comcjcr +++|*         *GJR* SETS THE CURRENT JOB CONTROL REGISTERS INTO A WORKING
00015  M01S00015.comcjcr +++|*         BUFFER FOR ACCESS BY *GWR* AND *SWR*.
00016  M01S00016.comcjcr +++|*
00017  M01S00017.comcjcr +++|*         *SJR* SETS THE VALUES OF THE JOB CONTROL REGISTERS FROM THE
00018  M01S00018.comcjcr +++|*         WORKING BUFFER AFTER A CALL TO *SWR*.
00019  M01S00019.comcjcr +++|*
00020  M01S00020.comcjcr +++|*         *GWR* VALIDATES THE NAME AND RETURNS THE VALUE OF THE
00021  M01S00021.comcjcr +++|*         SPECIFIED REGISTER FROM THE WORKING BUFFER.
00022  M01S00022.comcjcr +++|*
00023  M01S00023.comcjcr +++|*         *SWR* VALIDATES THE NAME AND SETS THE VALUE OF THE SPECIFIED
00024  M01S00024.comcjcr +++|*         REGISTER IN THE WORKING BUFFER.  A CALL TO *SJR* MUST BE MADE
00025  M01S00025.comcjcr +++|*         TO MODIFY THE ACTUAL REGISTER.
00026  M01S00026.comcjcr +++|*
00027  M01S00027.comcjcr +++|*         THE FOLLOWING REGISTER NAMES ARE PROCESSED.
00028  M01S00028.comcjcr +++|*
00029  M01S00029.comcjcr +++|*         NAME   REGISTER
00030  M01S00030.comcjcr +++|*
00031  M01S00031.comcjcr +++|*         EF     ERROR FLAG
00032  M01S00032.comcjcr +++|*         EFG    GLOBAL ERROR FLAG
00033  M01S00033.comcjcr +++|*         EM     EXIT MODE
00034  M01S00034.comcjcr +++|*         PNL    PROCEDURE NESTING LEVEL
00035  M01S00035.comcjcr +++|*         R1     R1 REGISTER
00036  M01S00036.comcjcr +++|*         R1G    R1G REGISTER
00037  M01S00037.comcjcr +++|*         R2     R2 REGISTER
00038  M01S00038.comcjcr +++|*         R3     R3 REGISTER
00039  M01S00039.comcjcr +++|*         SW1    SENSE SWITCH 1
00040  M01S00040.comcjcr +++|*         SW2    SENSE SWITCH 2
00041  M01S00041.comcjcr +++|*         SW3    SENSE SWITCH 3
00042  M01S00042.comcjcr +++|*         SW4    SENSE SWITCH 4
00043  M01S00043.comcjcr +++|*         SW5    SENSE SWITCH 5
00044  M01S00044.comcjcr +++|*         SW6    SENSE SWITCH 6
00045  M01S00045.comcjcr +++| GJR      SPACE  4,10
00046  M01S00046.comcjcr +++|***       GJR - GET JOB CONTROL REGISTERS.
00047  M01S00047.comcjcr +++|*
00048  M01S00048.comcjcr +++|*         EXIT   JOB CONTROL REGISTERS READ TO *JCRB*.
00049  M01S00049.comcjcr +++|*
00050  M01S00050.comcjcr +++|*         MACROS GETJCI.
00051  M01S00051.comcjcr +++|
00052  M01S00052.comcjcr +++|
00053  M01S00053.comcjcr +++| GJR      SUBR               ENTRY/EXIT
00054  M01S00054.comcjcr +++|          GETJCI JCRB        GET JOB CONTROL REGISTERS
00055  M01S00055.comcjcr +++|          EQ     GJRX        RETURN
00056  M01S00056.comcjcr +++| SJR      SPACE  4,10
00057  M01S00057.comcjcr +++|***       SJR - SET JOB CONTROL REGISTERS.
00058  M01S00058.comcjcr +++|*
00059  M01S00059.comcjcr +++|*         EXIT   JOB CONTROL REGISTERS SET FROM *JCRB*.
00060  M01S00060.comcjcr +++|*
00061  M01S00061.comcjcr +++|*         MACROS SETJCI.
00062  M01S00062.comcjcr +++|
00063  M01S00063.comcjcr +++|
00064  M01S00064.comcjcr +++| SJR      SUBR               ENTRY/EXIT
00065  M01S00065.comcjcr +++|          SETJCI JCRB        GET JOB CONTROL REGISTERS
00066  M01S00066.comcjcr +++|          EQ     SJRX        RETURN
00067  M01S00067.comcjcr +++| GWR      SPACE  4,20
00068  M01S00068.comcjcr +++|***       GWR - GET WORKING REGISTER VALUE FROM BUFFER.
00069  M01S00069.comcjcr +++|*
00070  M01S00070.comcjcr +++|*         ENTRY  (X1) = REGISTER NAME LEFT JUSTIFIED.
00071  M01S00071.comcjcr +++|*                PACKED JOB CONTROL REGISTERS IN *JCRB*.
00072  M01S00072.comcjcr +++|*
00073  M01S00073.comcjcr +++|*         EXIT   (X7) = 0 IF NOT VALID REGISTER NAME.
00074  M01S00074.comcjcr +++|*                (X7) = 1 IF *R1*, *R2*, *R3*, OR *R1G* REGISTER.
00075  M01S00075.comcjcr +++|*                (X7) .GT. 1 IF NOT *R* REGITER.
00076  M01S00076.comcjcr +++|*                (X6) = REGISTER RIGHT JUSTIFIED IF NO ERROR.
00077  M01S00077.comcjcr +++|*
00078  M01S00078.comcjcr +++|*         USES   X - 1, 2, 6.
00079  M01S00079.comcjcr +++|*                A - 1.
00080  M01S00080.comcjcr +++|*                B - 2.
00081  M01S00081.comcjcr +++|*
00082  M01S00082.comcjcr +++|*         CALLS  VRN.
00083  M01S00083.comcjcr +++|
00084  M01S00084.comcjcr +++|
00085  M01S00085.comcjcr +++| GWR      SUBR               ENTRY/EXIT
00086  M01S00086.comcjcr +++|          RJ     VRN         VALIDATE REGISTER NAME
00087  M01S00087.comcjcr +++|          ZR     X7,GWRX     IF NOT VALID REGISTER NAME
00088  M01S00088.comcjcr +++|          SX2    60
00089  M01S00089.comcjcr +++|          SB2    -B2
00090  M01S00090.comcjcr +++|          SB2    X2+B2
00091  M01S00091.comcjcr +++|          BX6    X6*X3
00092  M01S00092.comcjcr +++|          LX6    B2          JUSTIFY REGISTER
00093  M01S00093.comcjcr +++|          EQ     GWRX        RETURN
00094  M01S00094.comcjcr +++| SWR      SPACE  4,20
00095  M01S00095.comcjcr +++|***       SWR - SET WORKING REGISTER VALUE IN BUFFER.
00096  M01S00096.comcjcr +++|*
00097  M01S00097.comcjcr +++|*         ENTRY  (X1) = REGISTER NAME LEFT JUSTIFIED.
00098  M01S00098.comcjcr +++|*                (X2) = NEW REGISTER VALUE RIGHT JUSTIFIED.
00099  M01S00099.comcjcr +++|*                PACKED JOB CONTROL REGISTERS IN *JCRB*.
00100  M01S00100.comcjcr +++|*
00101  M01S00101.comcjcr +++|*         EXIT   (X7) = 0 IF NOT VALID REGISTER NAME.
00102  M01S00102.comcjcr +++|*                (X7) = 1 IF *R1*, *R2*, *R3*, OR *R1G* REGISTER.
00103  M01S00103.comcjcr +++|*                (X7) .GT. 1 IF NOT *R* REGITER.
00104  M01S00104.comcjcr +++|*                NEW REGISTER VALUE SET IN *JCRB*.
00105  M01S00105.comcjcr +++|*
00106  M01S00106.comcjcr +++|*         USES   X - 2, 3, 6.
00107  M01S00107.comcjcr +++|*                A - 6.
00108  M01S00108.comcjcr +++|*
00109  M01S00109.comcjcr +++|*         CALLS  VRN.
00110  M01S00110.comcjcr +++|*
00111  M01S00111.comcjcr +++|*         NOTE   IF THE SPECIFIED VALUE IS GREATER THAN THE REGISTER
00112  M01S00112.comcjcr +++|*                WIDTH, THE OVERFLOW (UPPER BITS) WILL BE REMOVED.
00113  M01S00113.comcjcr +++|
00114  M01S00114.comcjcr +++|
00115  M01S00115.comcjcr +++| SWR      SUBR               ENTRY/EXIT
00116  M01S00116.comcjcr +++|          RJ     VRN         VALIDATE REGISTER NAME
00117  M01S00117.comcjcr +++|          ZR     X7,SWRX     IF NOT VALID REGISTER NAME
00118  M01S00118.comcjcr +++|          LX2    B2
00119  M01S00119.comcjcr +++|          BX3    -X6*X3      CLEAR OLD VALUE
00120  M01S00120.comcjcr +++|          BX2    X6*X2       REMOVE POSSIBLE OVERFLOW
00121  M01S00121.comcjcr +++|          BX6    X3+X2       MERGE NEW VALUE
00122  M01S00122.comcjcr +++|          SA6    A3+         STORE REGISTER VALUE
00123  M01S00123.comcjcr +++|          EQ     SWRX        RETURN
00124  M01S00124.comcjcr +++| VRN      SPACE  4,15
00125  M01S00125.comcjcr +++|**        VRN - VALIDATE REGISTER NAME.
00126  M01S00126.comcjcr +++|*
00127  M01S00127.comcjcr +++|*         ENTRY  (X1) = REGISTER NAME LEFT JUSTIFIED.
00128  M01S00128.comcjcr +++|*
00129  M01S00129.comcjcr +++|*         EXIT   (X7) = 0 IF NOT VALID REGISTER NAME.
00130  M01S00130.comcjcr +++|*                (X7) = 1 IF *R1*, *R2*, *R3*, OR *R1G* REGISTER.
00131  M01S00131.comcjcr +++|*                (X7) .GT. 1 IF NOT *R* REGITER.
00132  M01S00132.comcjcr +++|*                (X6) = MASK TO EXTRACT REGISTER IN *JCRB* WORD.
00133  M01S00133.comcjcr +++|*                (X3) = *JCRB* WORD CONTAINING REGISTER.
00134  M01S00134.comcjcr +++|*                (A3) = ADDRESS OF *JCRB* WORD CONTAINING REGISTER.
00135  M01S00135.comcjcr +++|*                (B2) = FIRST BIT OF REGISTER IN *JCRB* WORD.
00136  M01S00136.comcjcr +++|*
00137  M01S00137.comcjcr +++|*         USES   X - 1, 3, 7.
00138  M01S00138.comcjcr +++|*                A - 3.
00139  M01S00139.comcjcr +++|
00140  M01S00140.comcjcr +++|
00141  M01S00141.comcjcr +++| VRN      SUBR               ENTRY/EXIT
00142  M01S00142.comcjcr +++|          SA3    TJRP-1
00143  M01S00143.comcjcr +++|          MX6    42
00144  M01S00144.comcjcr +++| VRN1     SA3    A3+B1       READ NEXT ENTRY
00145  M01S00145.comcjcr +++|          BX7    X6*X3
00146  M01S00146.comcjcr +++|          ZR     X7,VRNX     IF END OF TABLE
00147  M01S00147.comcjcr +++|          BX7    X7-X1
00148  M01S00148.comcjcr +++|          NZ     X7,VRN1     IF NO MATCH
00149  M01S00149.comcjcr +++|          MX6    -6
00150  M01S00150.comcjcr +++|          BX7    -X6*X3      EXTRACT REGISTER SIZE
00151  M01S00151.comcjcr +++|          LX3    -6
00152  M01S00152.comcjcr +++|          SB2    X7
00153  M01S00153.comcjcr +++|          BX1    -X6*X3      EXTRACT STARTING BIT IN WORD
00154  M01S00154.comcjcr +++|          LX3    -6
00155  M01S00155.comcjcr +++|          SX7    A3-ENDR
00156  M01S00156.comcjcr +++|          BX3    -X6*X3      EXTRACT WORD ADDRESS
00157  M01S00157.comcjcr +++|          PL     X7,VRN2     IF NOT *R* REGISTER
00158  M01S00158.comcjcr +++|          SX7    B1+         SET *R* REGISTER
00159  M01S00159.comcjcr +++| VRN2     SA3    JCRB+X3     READ REGISTER WORD
00160  M01S00160.comcjcr +++|          MX6    1
00161  M01S00161.comcjcr +++|          AX6    B2          SET FIELD MASK
00162  M01S00162.comcjcr +++|          LX6    B2
00163  M01S00163.comcjcr +++|          SB2    X1
00164  M01S00164.comcjcr +++|          LX6    B2          POSITION FIELD MASK
00165  M01S00165.comcjcr +++|          EQ     VRNX        RETURN
00166  M01S00166.comcjcr +++|          SPACE  4
00167  M01S00167.comcjcr +++|**        DATA AREA.
00168  M01S00168.comcjcr +++|
00169  M01S00169.comcjcr +++|
00170  M01S00170.comcjcr +++| JCRB     BSSZ   2           JOB CONTROL REGISTERS BLOCK
00171  M01S00171.comcjcr +++| TJRP     SPACE  4,15
00172  M01S00172.comcjcr +++|**        TJRP - TABLE OF JOB REGISTER PARAMETERS.
00173  M01S00173.comcjcr +++|*
00174  M01S00174.comcjcr +++|*T        42/ NAME,6/ WO,6/ SB,6/ SZ
Figure

0561112171829 SZ SB WO NAME3059 NAME

00175  M01S00175.comcjcr +++|*
00176  M01S00176.comcjcr +++|*         NAME = REGISTER NAME LEFT JUSTIFIED.
00177  M01S00177.comcjcr +++|*
00178  M01S00178.comcjcr +++|*         WO = WORD OFFSET IN *JCRB*.
00179  M01S00179.comcjcr +++|*
00180  M01S00180.comcjcr +++|*         SB = STARTING BIT POSITION IN WORD.
00181  M01S00181.comcjcr +++|*
00182  M01S00182.comcjcr +++|*         SZ = SIZE IN BITS.
00183  M01S00183.comcjcr +++|
00184  M01S00184.comcjcr +++|
00185  M01S00185.comcjcr +++| TJRP     BSS    0           START OF TABLE
00186  M01S00186.comcjcr +++|          VFD    42/0LR1,6/1,6/0,6/18    R1 REGISTER
00187  M01S00187.comcjcr +++|          VFD    42/0LR2,6/1,6/18,6/18   R2 REGISTER
00188  M01S00188.comcjcr +++|          VFD    42/0LR3,6/1,6/36,6/18   R3 REGISTER
00189  M01S00189.comcjcr +++|          VFD    42/0LR1G,6/0,6/36,6/18  R1G REGISTER
00190  M01S00190.comcjcr +++| ENDR     EQU    *           END OF *R* REGISTERS
00191  M01S00191.comcjcr +++|          VFD    42/0LEFG,6/0,6/54,6/6   GLOBAL ERROR FLAG
00192  M01S00192.comcjcr +++|          VFD    42/0LPNL,6/0,6/24,6/12  PROCEDURE NESTING LEVEL
00193  M01S00193.comcjcr +++|          VFD    42/0LEM,6/0,6/12,6/12   EXIT MODE
00194  M01S00194.comcjcr +++|          VFD    42/0LSW1,6/0,6/6,6/1    SENSE SWITCH 1
00195  M01S00195.comcjcr +++|          VFD    42/0LSW2,6/0,6/7,6/1    SENSE SWITCH 2
00196  M01S00196.comcjcr +++|          VFD    42/0LSW3,6/0,6/8,6/1    SENSE SWITCH 3
00197  M01S00197.comcjcr +++|          VFD    42/0LSW4,6/0,6/8,6/1    SENSE SWITCH 4
00198  M01S00198.comcjcr +++|          VFD    42/0LSW5,6/0,6/10,6/1   SENSE SWITCH 5
00199  M01S00199.comcjcr +++|          VFD    42/0LSW6,6/0,6/11,6/1   SENSE SWITCH 6
00200  M01S00200.comcjcr +++|          VFD    42/0LEF,6/1,6/54,6/6    ERROR FLAG
00201  M01S00201.comcjcr +++|          CON    0           END OF TABLE
00202  M01S00202.comcjcr +++|
00203  M01S00203.comcjcr +++|          BASE   *
00204  M01S00204.comcjcr +++| QUAL$    IF     -DEF,QUAL$
00205  M01S00205.comcjcr +++|          QUAL   *
00206  M01S00206.comcjcr +++| GJR      EQU    /COMCJCR/GJR
00207  M01S00207.comcjcr +++| SJR      EQU    /COMCJCR/SJR
00208  M01S00208.comcjcr +++| GWR      EQU    /COMCJCR/GWR
00209  M01S00209.comcjcr +++| SWR      EQU    /COMCJCR/SWR
00210  M01S00210.comcjcr +++| QUAL$    ENDIF
00211  M01S00211.comcjcr +++|          ENDX
cdc/nos2.source/opl.opl871/common/comcjcr.txt ยท Last modified: by 127.0.0.1