User Tools

Site Tools


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

Common COMPVLC

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.compvlc +++|          CTEXT  COMPVLC - VALIDATE ACCESS LEVEL OR CATEGORY STRING.
00002  M01S00002.compvlc +++|          SPACE  4,10
00003  M01S00003.compvlc +++|          IF     -DEF,QUAL$,1
00004  M01S00004.compvlc +++|          QUAL   COMPVLC
Line S00005 Modification History
M01 (Added by) compvlc
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00005  M02S00005.281l803 ---|*         COMMENT  COPYRIGHT CONTROL DATA CORPORATION,   1982.
00006  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00007  M01S00006.compvlc +++|          SPACE  4,10
00008  M01S00007.compvlc +++|***       COMPVLC - VALIDATE ACCESS LEVEL OR CATEGORY STRING.
00009  M01S00008.compvlc +++|*         J. HOLLISTER       82/11/03.
00010  M01S00009.compvlc +++|          SPACE  4,25
00011  M01S00010.compvlc +++|***       COMPVLC VALIDATES AN ACCESS CATEGORY STRING AND/OR
00012  M01S00011.compvlc +++|*         AN ACCESS LEVEL STRING, AND CALCULATES THE VALUES
00013  M01S00012.compvlc +++|*         CORRESPONDING TO THE STRING SPECIFIED.
00014  M01S00013.compvlc +++|*
00015  M01S00014.compvlc +++|*
00016  M01S00015.compvlc +++|*         ASSEMBLY OPTIONS -
00017  M01S00016.compvlc +++|*
00018  M01S00017.compvlc +++|*                VAC$ - ASSEMBLE CODE TO SEARCH ACCESS CATEGORY TABLE.
00019  M01S00018.compvlc +++|*                       IF *TACT* NOT DEFINED, ASSEMBLE TABLE.
00020  M01S00019.compvlc +++|*
00021  M01S00020.compvlc +++|*                VAL$ - ASSEMBLE CODE TO SEARCH ACCESS LEVEL TABLE.
00022  M01S00021.compvlc +++|*                       IF *TALV* NOT DEFINED, ASSEMBLE TABLE.
00023  M01S00022.compvlc +++|*
00024  M01S00023.compvlc +++|*                SCH$ - ASSEMBLE SEARCH CODE.  IF *SCH$* IS NOT DEFINED
00025  M01S00024.compvlc +++|*                       BUT *VAC$* AND/OR *VAL$* ARE DEFINED, ASSEMBLE
00026  M01S00025.compvlc +++|*                       ONLY THE APPROPRIATE TABLE(S).
00027  M01S00026.compvlc +++|*
00028  M01S00027.compvlc +++|*                REL$ - GENERATE RELOCATED CODE FOR USE IN ZERO-LEVEL
00029  M01S00028.compvlc +++|*                       OVERLAY (THIS TAG IS DEFINED IN *COMPRLI*).
00030  M01S00029.compvlc +++|          SPACE  4,10
00031  M01S00030.compvlc +++| SCH$     IF     DEF,SCH$
00032  M01S00031.compvlc +++| VAC$     IF     DEF,VAC$
00033  M01S00032.compvlc +++| VAC      SPACE  4,10
00034  M01S00033.compvlc +++|**        VAC - VALIDATE ACCESS CATEGORY STRING.
00035  M01S00034.compvlc +++|*
00036  M01S00035.compvlc +++|*         ENTRY  (A) = ADDRESS OF ACCESS CATEGORY STRING.
00037  M01S00036.compvlc +++|*
00038  M01S00037.compvlc +++|*         EXIT   (A) = ACCESS CATEGORY VALUE.
00039  M01S00038.compvlc +++|*                (A) .LT. 0 IF ACCESS CATEGORY NOT VALID.
00040  M01S00039.compvlc +++|*
00041  M01S00040.compvlc +++|*         USES   T3, T4, T7.
00042  M01S00041.compvlc +++|*
00043  M01S00042.compvlc +++|*         CALLS  STN.
00044  M01S00043.compvlc +++|
00045  M01S00044.compvlc +++|
00046  M01S00045.compvlc +++| VAC      SUBR               ENTRY/EXIT
00047  M01S00046.compvlc +++|          STD    T7          SAVE STRING ADDRESS
00048  M01S00047.compvlc +++| REL$     IF     DEF,REL$
00049  M01S00048.compvlc +++|          LDC.   TACT        SAVE TABLE FWA
00050  M01S00049.compvlc +++| REL$     ELSE
00051  M01S00050.compvlc +++|          LDC    TACT
00052  M01S00051.compvlc +++| REL$     ENDIF
00053  M01S00052.compvlc +++|          STD    T4
00054  M01S00053.compvlc +++|          LDC    TACTL       SAVE TABLE LENGTH
00055  M01S00054.compvlc +++|          STD    T3
00056  M01S00055.compvlc +++|          RJM    STN         SEARCH TABLE FOR NAME
00057  M01S00056.compvlc +++|          UJN    VACX        RETURN
00058  M01S00057.compvlc +++| VAC$     ENDIF
00059  M01S00058.compvlc +++|          SPACE  4,10
00060  M01S00059.compvlc +++| VAL$     IF     DEF,VAL$
00061  M01S00060.compvlc +++| VAL      SPACE  4,10
00062  M01S00061.compvlc +++|**        VAL - VALIDATE ACCESS LEVEL STRING.
00063  M01S00062.compvlc +++|*
00064  M01S00063.compvlc +++|*         ENTRY  (A) = ADDRESS OF ACCESS LEVEL STRING.
00065  M01S00064.compvlc +++|*
00066  M01S00065.compvlc +++|*         EXIT   (A) = ACCESS LEVEL VALUE.
00067  M01S00066.compvlc +++|*                (A) .LT. 0 IF ACCESS LEVEL NOT VALID.
00068  M01S00067.compvlc +++|*
00069  M01S00068.compvlc +++|*         USES   T3, T4, T7.
00070  M01S00069.compvlc +++|*
00071  M01S00070.compvlc +++|*         CALLS  STN.
00072  M01S00071.compvlc +++|
00073  M01S00072.compvlc +++|
00074  M01S00073.compvlc +++| VAL      SUBR               ENTRY/EXIT
00075  M01S00074.compvlc +++|          STD    T7          SAVE STRING ADDRESS
00076  M01S00075.compvlc +++| REL$     IF     DEF,REL$
00077  M01S00076.compvlc +++|          LDC.   TALV        SAVE TABLE FWA
00078  M01S00077.compvlc +++| REL$     ELSE
00079  M01S00078.compvlc +++|          LDC    TALV
00080  M01S00079.compvlc +++| REL$     ENDIF
00081  M01S00080.compvlc +++|          STD    T4
00082  M01S00081.compvlc +++|          LDN    TALVL       SAVE TABLE LENGTH
00083  M01S00082.compvlc +++|          STD    T3
00084  M01S00083.compvlc +++|          RJM    STN         SEARCH TABLE FOR NAME
00085  M01S00084.compvlc +++|          UJN    VALX        RETURN
00086  M01S00085.compvlc +++| VAL$     ENDIF
00087  M01S00086.compvlc +++| STN      SPACE  4,10
00088  M01S00087.compvlc +++|**        STN - SEARCH TABLE FOR NAME.
00089  M01S00088.compvlc +++|*
00090  M01S00089.compvlc +++|*         ENTRY  (T7) = FWA OF BUFFER CONTAINING NAME.
00091  M01S00090.compvlc +++|*                (T4) = FWA OF TABLE TO BE SEARCHED.
00092  M01S00091.compvlc +++|*                (T3) = LENGTH OF TABLE TO BE SEARCHED.
00093  M01S00092.compvlc +++|*
00094  M01S00093.compvlc +++|*         EXIT   (A) = TABLE INDEX OF MATCHING ENTRY.
00095  M01S00094.compvlc +++|*                (A) .LT. 0 IF ENTRY NOT FOUND IN TABLE.
00096  M01S00095.compvlc +++|*
00097  M01S00096.compvlc +++|*         USES   T1, T2, T3, T7.
00098  M01S00097.compvlc +++|
00099  M01S00098.compvlc +++|
00100  M01S00099.compvlc +++| STN3     LDD    T1          SET POINTER TO NEXT TABLE ENTRY
00101  M01S00100.compvlc +++|          ADD    T7
00102  M01S00101.compvlc +++|          SBD    T2
00103  M01S00102.compvlc +++|          STD    T1
00104  M01S00103.compvlc +++|          SBD    T4          CHECK IF ALL ENTRIES IN TABLE CHECKED
00105  M01S00104.compvlc +++|          PJN    STN1        IF NOT END OF TABLE
00106  M01S00105.compvlc +++|
00107  M01S00106.compvlc +++| STN      SUBR               ENTRY/EXIT
00108  M01S00107.compvlc +++|          LDD    T4          SET LWA OF TABLE
00109  M01S00108.compvlc +++|          ADD    T3
00110  M01S00109.compvlc +++|          SBN    1
00111  M01S00110.compvlc +++|          STD    T1
00112  M01S00111.compvlc +++|          SOD    T7          PRESET NAME BUFFER FWA-1
00113  M01S00112.compvlc +++| STN1     LDN    4           SET NAME BUFFER POINTER
00114  M01S00113.compvlc +++|          ADD    T7
00115  M01S00114.compvlc +++|          STD    T2
00116  M01S00115.compvlc +++| STN2     LDI    T2          COMPARE BYTES OF NAMES
00117  M01S00116.compvlc +++|          SBI    T1
00118  M01S00117.compvlc +++|          NJN    STN3        IF NO MATCH
00119  M01S00118.compvlc +++|          SOD    T1          DECREMENT TABLE POINTER
00120  M01S00119.compvlc +++|          SOD    T2          DECREMENT NAME BUFFER POINTER
00121  M01S00120.compvlc +++|          SBD    T7
00122  M01S00121.compvlc +++|          NJN    STN2        IF MORE TO COMPARE
00123  M01S00122.compvlc +++|          AOD    T1          NAME FOUND - CALCULATE INDEX
00124  M01S00123.compvlc +++|          SBD    T4
00125  M01S00124.compvlc +++|          SHN    -2
00126  M01S00125.compvlc +++|          UJN    STNX        RETURN
00127  M01S00126.compvlc +++| SCH$     ENDIF
00128  M01S00127.compvlc +++|          SPACE  4,10
00129  M01S00128.compvlc +++| VAC$     IF     DEF,VAC$
00130  M01S00129.compvlc +++| TACT     IF     -DEF,TACT
00131  M01S00130.compvlc +++|**        TACT - TABLE OF VALID SECURITY ACCESS CATEGORIES.
00132  M01S00131.compvlc +++|
00133  M01S00132.compvlc +++|
00134  M01S00133.compvlc +++| TACT     BSS    0
00135  M01S00134.compvlc +++|          LOC    0
00136  M01S00135.compvlc +++|          VFD    48/0L"ACM00"
00137  M01S00136.compvlc +++|          VFD    48/0L"ACM01"
00138  M01S00137.compvlc +++|          VFD    48/0L"ACM02"
00139  M01S00138.compvlc +++|          VFD    48/0L"ACM03"
00140  M01S00139.compvlc +++|          VFD    48/0L"ACM04"
00141  M01S00140.compvlc +++|          VFD    48/0L"ACM05"
00142  M01S00141.compvlc +++|          VFD    48/0L"ACM06"
00143  M01S00142.compvlc +++|          VFD    48/0L"ACM07"
00144  M01S00143.compvlc +++|          VFD    48/0L"ACM08"
00145  M01S00144.compvlc +++|          VFD    48/0L"ACM09"
00146  M01S00145.compvlc +++|          VFD    48/0L"ACM10"
00147  M01S00146.compvlc +++|          VFD    48/0L"ACM11"
00148  M01S00147.compvlc +++|          VFD    48/0L"ACM12"
00149  M01S00148.compvlc +++|          VFD    48/0L"ACM13"
00150  M01S00149.compvlc +++|          VFD    48/0L"ACM14"
00151  M01S00150.compvlc +++|          VFD    48/0L"ACM15"
00152  M01S00151.compvlc +++|          VFD    48/0L"ACM16"
00153  M01S00152.compvlc +++|          VFD    48/0L"ACM17"
00154  M01S00153.compvlc +++|          VFD    48/0L"ACM18"
00155  M01S00154.compvlc +++|          VFD    48/0L"ACM19"
00156  M01S00155.compvlc +++|          VFD    48/0L"ACM20"
00157  M01S00156.compvlc +++|          VFD    48/0L"ACM21"
00158  M01S00157.compvlc +++|          VFD    48/0L"ACM22"
00159  M01S00158.compvlc +++|          VFD    48/0L"ACM23"
00160  M01S00159.compvlc +++|          VFD    48/0L"ACM24"
00161  M01S00160.compvlc +++|          VFD    48/0L"ACM25"
00162  M01S00161.compvlc +++|          VFD    48/0L"ACM26"
00163  M01S00162.compvlc +++|          VFD    48/0L"ACM27"
00164  M01S00163.compvlc +++|          VFD    48/0L"ACM28"
00165  M01S00164.compvlc +++|          VFD    48/0L"ACM29"
00166  M01S00165.compvlc +++|          VFD    48/0L"ACM30"
00167  M01S00166.compvlc +++|          VFD    48/0L"ACM31"
00168  M01S00167.compvlc +++| TACTL    BSS    0
00169  M01S00168.compvlc +++|          LOC    *O
00170  M01S00169.compvlc +++| TACT     ENDIF
00171  M01S00170.compvlc +++| VAC$     ENDIF
00172  M01S00171.compvlc +++|          SPACE  4,10
00173  M01S00172.compvlc +++| VAL$     IF     DEF,VAL$
00174  M01S00173.compvlc +++| TALV     IF     -DEF,TALV
00175  M01S00174.compvlc +++|**        TALV - TABLE OF SECURITY ACCESS LEVELS.
00176  M01S00175.compvlc +++|
00177  M01S00176.compvlc +++|
00178  M01S00177.compvlc +++| TALV     BSS    0
00179  M01S00178.compvlc +++|          LOC    0
00180  M01S00179.compvlc +++|          VFD    48/0L"ALM0"
00181  M01S00180.compvlc +++|          VFD    48/0L"ALM1"
00182  M01S00181.compvlc +++|          VFD    48/0L"ALM2"
00183  M01S00182.compvlc +++|          VFD    48/0L"ALM3"
00184  M01S00183.compvlc +++|          VFD    48/0L"ALM4"
00185  M01S00184.compvlc +++|          VFD    48/0L"ALM5"
00186  M01S00185.compvlc +++|          VFD    48/0L"ALM6"
00187  M01S00186.compvlc +++|          VFD    48/0L"ALM7"
00188  M01S00187.compvlc +++| TALVL    BSS    0
00189  M01S00188.compvlc +++|          LOC    *O
00190  M01S00189.compvlc +++| TALV     ENDIF
00191  M01S00190.compvlc +++| VAL$     ENDIF
00192  M01S00191.compvlc +++|          SPACE  4,10
00193  M01S00192.compvlc +++| QUAL$    IF     -DEF,QUAL$
00194  M01S00193.compvlc +++|          QUAL   *
00195  M01S00194.compvlc +++|
00196  M01S00195.compvlc +++| VAC$     IF     DEF,VAC$
00197  M01S00196.compvlc +++|          IF     DEF,SCH$,1
00198  M01S00197.compvlc +++| VAC      EQU    /COMPVLC/VAC
00199  M01S00198.compvlc +++|          IF     -DEF,TACT,2
00200  M01S00199.compvlc +++| TACT     EQU    /COMPVLC/TACT
00201  M01S00200.compvlc +++| TACTL    EQU    /COMPVLC/TACTL
00202  M01S00201.compvlc +++| VAC$     ENDIF
00203  M01S00202.compvlc +++|
00204  M01S00203.compvlc +++| VAL$     IF     DEF,VAL$
00205  M01S00204.compvlc +++|          IF     DEF,SCH$,1
00206  M01S00205.compvlc +++| VAL      EQU    /COMPVLC/VAL
00207  M01S00206.compvlc +++|          IF     -DEF,TALV,2
00208  M01S00207.compvlc +++| TALV     EQU    /COMPVLC/TALV
00209  M01S00208.compvlc +++| TALVL    EQU    /COMPVLC/TALVL
00210  M01S00209.compvlc +++| VAL$     ENDIF
00211  M01S00210.compvlc +++|
00212  M01S00211.compvlc +++| QUAL$    ENDIF
00213  M01S00212.compvlc +++|
00214  M01S00213.compvlc +++|          ENDX
cdc/nos2.source/opl.opl871/common/compvlc.txt ยท Last modified: by 127.0.0.1