cdc:nos2.source:nam5871:nvfumvd
Table of Contents
NVFUMVD
Table Of Contents
- [00003] PROC NVFUMVD(VCBORD,INDICATOR)
- [00004] NVFUMVD - MARKS VCB DATA AS VALID/INVALID.
- [00008] MARKS VCB DATA AS VALID/INVALID.
- [00041] PROC ABORT
- [00042] PROC MESSAGE
- [00043] PROC SSBCBW
- [00044] PROC SSBSBW
- [00045] PROC SSBTBW
- [00046] FUNC XCDD C(10)
Source Code
- NVFUMVD.txt
- *DECK NVFUMVD
- USETEXT TXVCBNV
- PROC NVFUMVD(VCBORD,INDICATOR);
- # TITLE NVFUMVD - MARKS VCB DATA AS VALID/INVALID. #
- BEGIN # NVFUMVD #
- #
- ** NVFUMVD - MARKS VCB DATA AS VALID/INVALID.
- *
- * A. LIM 81/07/21
- * C. BRION 82/06/22
- *
- * THIS PROCEDURE MARKS THE VCB DATA AS VALID/INVALID.
- *
- * PROC NVFUMVD(VCBORD,INDICATOR)
- *
- * ENTRY VCBORD = VCB ORDINAL
- * INDICATOR = 0/1 FOR VALID/INVALID.
- *
- * EXIT VCB DATA MARKED.
- *
- * NOTES NONE
- *
- * METHOD 1) VERIFY THAT VCB ORDINAL IS LEGAL,
- * 2) VERIFY THAT VCB ORDINAL IS ASSIGNED, AND
- * 3) VERIFY THAT VCB ORDINAL IS NOT ALREADY
- * IN PRESENT STATE.
- * IF EITHER ONE OF THE ABOVE FAILS, ISSUE
- * DAYFILE MESSAGE AND ABORT NVF. ELSE
- * MARK THE DATA IN VCB-VALID-INDICATOR-TABLE(VDT)
- * AS VALID/INVALID.
- *
- #
- #
- **** PROC NVFUMVD XREF LIST BEGIN.
- #
- XREF
- BEGIN
- PROC ABORT; # MACREL - ABORT TASK #
- PROC MESSAGE; # MACREL - ISSUE MESSAGE #
- PROC SSBCBW; # SS - CLEAR BIT IN WORD #
- PROC SSBSBW; # SS - SET BIT IN WORD #
- PROC SSBTBW; # SS - TEST BIT IN WORD #
- FUNC XCDD C(10); # MACREL-CNVRT INT TO DEC DSP CD#
- END
- #
- ****
- #
- # FORMAL PARAMETERS #
- ITEM VCBORD I;
- ITEM INDICATOR B;
- # ACTUAL PARAMETERS #
- ITEM WORD I;
- ITEM BITN I;
- ITEM VOTSTS B; # STATUS OF VCB ORD IN VOT #
- ITEM VDTSTS B; # STATUS OF VCB DATA IN VDT #
- # INDUCTION VARIABLES #
- ITEM I I; # DUMMY #
- # ITEMS #
- ITEM TEMP C(10);
- WORD = 0;
- BITN = VCBORD;
- FOR I = 0 WHILE (BITN-48) GR 0 # CONVERT ORDNL TO WORD/BIT #
- DO
- BEGIN
- BITN = BITN-48;
- WORD = WORD+1;
- END
- #
- * 1) VERIFY THAT VCB ORDINAL IS LEGAL,
- * 2) VERIFY THAT VCB ORDINAL IS ASSIGNED, AND
- * 3) VERIFY THAT VCB ORDINAL IS NOT ALREADY IN PRESENT STATE.
- #
- $BEGIN
- SSBTBW(VOT[WORD],BITN,VOTSTS);
- SSBTBW(VDT[WORD],BITN,VDTSTS);
- IF WORD GR VTSIZE$
- OR (BITN - BITN/MAXENSEC$ * MAXENSEC$) EQ 0
- OR (BITN - BITN/MAXENSEC$ * MAXENSEC$) GR ACTENSEC$
- OR VOTSTS
- OR (INDICATOR AND VDTSTS)
- OR (NOT INDICATOR AND NOT VDTSTS)
- THEN
- BEGIN
- TEMP = XCDD(VCBORD);
- V$MSG[0] = "ILLEGAL VCB ORDINAL = ";
- V$ORD[0] = C<7,3>TEMP;
- V$PID[0] = "NVFUMVD";
- MESSAGE(VCBMSG[0],DFILE$);
- ABORT;
- END
- $END
- IF INDICATOR THEN
- BEGIN
- SSBSBW(VDT[WORD],BITN); # MARK DATA AS INVALID #
- END
- ELSE
- BEGIN
- SSBCBW(VDT[WORD],BITN); # MARK DATA AS VALID #
- END
- RETURN;
- END # NVFUMVD #
- TERM
cdc/nos2.source/nam5871/nvfumvd.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator