User Tools

Site Tools


cdc:nos2.source:nam5871:nvfumvd

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
  1. *DECK NVFUMVD
  2. USETEXT TXVCBNV
  3. PROC NVFUMVD(VCBORD,INDICATOR);
  4. # TITLE NVFUMVD - MARKS VCB DATA AS VALID/INVALID. #
  5.  
  6. BEGIN # NVFUMVD #
  7. #
  8. ** NVFUMVD - MARKS VCB DATA AS VALID/INVALID.
  9. *
  10. * A. LIM 81/07/21
  11. * C. BRION 82/06/22
  12. *
  13. * THIS PROCEDURE MARKS THE VCB DATA AS VALID/INVALID.
  14. *
  15. * PROC NVFUMVD(VCBORD,INDICATOR)
  16. *
  17. * ENTRY VCBORD = VCB ORDINAL
  18. * INDICATOR = 0/1 FOR VALID/INVALID.
  19. *
  20. * EXIT VCB DATA MARKED.
  21. *
  22. * NOTES NONE
  23. *
  24. * METHOD 1) VERIFY THAT VCB ORDINAL IS LEGAL,
  25. * 2) VERIFY THAT VCB ORDINAL IS ASSIGNED, AND
  26. * 3) VERIFY THAT VCB ORDINAL IS NOT ALREADY
  27. * IN PRESENT STATE.
  28. * IF EITHER ONE OF THE ABOVE FAILS, ISSUE
  29. * DAYFILE MESSAGE AND ABORT NVF. ELSE
  30. * MARK THE DATA IN VCB-VALID-INDICATOR-TABLE(VDT)
  31. * AS VALID/INVALID.
  32. *
  33. #
  34.  
  35.  
  36. #
  37. **** PROC NVFUMVD XREF LIST BEGIN.
  38. #
  39. XREF
  40. BEGIN
  41. PROC ABORT; # MACREL - ABORT TASK #
  42. PROC MESSAGE; # MACREL - ISSUE MESSAGE #
  43. PROC SSBCBW; # SS - CLEAR BIT IN WORD #
  44. PROC SSBSBW; # SS - SET BIT IN WORD #
  45. PROC SSBTBW; # SS - TEST BIT IN WORD #
  46. FUNC XCDD C(10); # MACREL-CNVRT INT TO DEC DSP CD#
  47. END
  48. #
  49. ****
  50. #
  51.  
  52.  
  53.  
  54. # FORMAL PARAMETERS #
  55.  
  56. ITEM VCBORD I;
  57. ITEM INDICATOR B;
  58.  
  59.  
  60. # ACTUAL PARAMETERS #
  61.  
  62. ITEM WORD I;
  63. ITEM BITN I;
  64. ITEM VOTSTS B; # STATUS OF VCB ORD IN VOT #
  65. ITEM VDTSTS B; # STATUS OF VCB DATA IN VDT #
  66.  
  67.  
  68. # INDUCTION VARIABLES #
  69.  
  70. ITEM I I; # DUMMY #
  71.  
  72.  
  73. # ITEMS #
  74.  
  75. ITEM TEMP C(10);
  76.  
  77.  
  78.  
  79.  
  80.  
  81. WORD = 0;
  82. BITN = VCBORD;
  83. FOR I = 0 WHILE (BITN-48) GR 0 # CONVERT ORDNL TO WORD/BIT #
  84. DO
  85. BEGIN
  86. BITN = BITN-48;
  87. WORD = WORD+1;
  88. END
  89.  
  90.  
  91. #
  92. * 1) VERIFY THAT VCB ORDINAL IS LEGAL,
  93. * 2) VERIFY THAT VCB ORDINAL IS ASSIGNED, AND
  94. * 3) VERIFY THAT VCB ORDINAL IS NOT ALREADY IN PRESENT STATE.
  95. #
  96.  
  97.  
  98. $BEGIN
  99. SSBTBW(VOT[WORD],BITN,VOTSTS);
  100. SSBTBW(VDT[WORD],BITN,VDTSTS);
  101. IF WORD GR VTSIZE$
  102. OR (BITN - BITN/MAXENSEC$ * MAXENSEC$) EQ 0
  103. OR (BITN - BITN/MAXENSEC$ * MAXENSEC$) GR ACTENSEC$
  104. OR VOTSTS
  105. OR (INDICATOR AND VDTSTS)
  106. OR (NOT INDICATOR AND NOT VDTSTS)
  107. THEN
  108. BEGIN
  109. TEMP = XCDD(VCBORD);
  110. V$MSG[0] = "ILLEGAL VCB ORDINAL = ";
  111. V$ORD[0] = C<7,3>TEMP;
  112. V$PID[0] = "NVFUMVD";
  113. MESSAGE(VCBMSG[0],DFILE$);
  114. ABORT;
  115. END
  116. $END
  117.  
  118. IF INDICATOR THEN
  119. BEGIN
  120. SSBSBW(VDT[WORD],BITN); # MARK DATA AS INVALID #
  121. END
  122. ELSE
  123. BEGIN
  124. SSBCBW(VDT[WORD],BITN); # MARK DATA AS VALID #
  125. END
  126.  
  127. RETURN;
  128.  
  129.  
  130. END # NVFUMVD #
  131.  
  132. TERM
cdc/nos2.source/nam5871/nvfumvd.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator