User Tools

Site Tools


cdc:nos2.source:nam5871:sstrqe

SSTRQE

Table Of Contents

  • [00003] PROC SSTRQE (P$TABL$,WC,HEAD,ENTRYQ)
  • [00004] SSTRQE - REMOVE QUEUE ENTRY.
  • [00008] REMOVE QUEUE ENTRY.
  • [00057] PROC MOVEI
  • [00058] PROC SSTRTS

Source Code

SSTRQE.txt
  1. *DECK SSTRQE
  2. USETEXT TEXTSS
  3. PROC SSTRQE (P$TABL$,WC,HEAD,ENTRYQ);
  4. # TITLE SSTRQE - REMOVE QUEUE ENTRY. #
  5.  
  6. BEGIN # SSTRQE #
  7. #
  8. ** SSTRQE - REMOVE QUEUE ENTRY.
  9. *
  10. * F. HOU. 81/09/09.
  11. *
  12. * THIS PROCEDURE REMOVES THE FIRST QUEUE ENTRY OF QUEUE TABL
  13. * TO A SPECIFIED BUFFER.
  14. *
  15. * PROC SSTRQE (P$TABL$,WC,HEAD,ENTRYQ)
  16. *
  17. * ENTRY P$TABL$ = BASED ARRAY POINTER FOR QUEUE TABL.
  18. * WC = FIRST WORD ADDRESS OF ARRAY TO RECEIVE
  19. * THE WORD COUNT PORTION OF THE QUEUE ENTRY.
  20. * HEAD = FIRST WORD ADDRESS TO RECEIVE THE HEADER
  21. * PORTION OF THE QUEUE ENTRY.
  22. * ENTRYQ = FIRST WORD ADDRESS OF ARRAY TO RECEIVE
  23. * THE ENTRY PORTION OF THE QUEUE ENTRY.
  24. *
  25. * EXIT THE FIRST ENTRY OF QUEUE TABL HAS BEEN REMOVED.
  26. *
  27. * NOTES THE FIRST QUEUE ENTRY DELETED AFTER THE COPY IS DONE.
  28. *
  29. * METHOD
  30. *
  31. * MOVE THE FIRST ENTRY OF QUEUE TABL TO SPECIFIED BUFFER:WC,HEAD
  32. * AND ENTRYQ.
  33. * REMOVE TABLE SPACE FROM QUEUE TABL.
  34. *
  35. #
  36.  
  37. ITEM P$TABL$ I; # BASED ARRAY POINTER FOR QUEUE TABL. #
  38. ITEM HEAD I; # HEAD WORD TO RECEIVE HEADER. #
  39.  
  40. ARRAY WC [0:0] S(1); # WORD TO RECEIVE WORD COUNT #
  41. BEGIN
  42. ITEM WC$WORD U(00,00,60); # OVERLAPPING WORD #
  43. ITEM WC$CNT U(00,48,12); # 12 BIT WORD COUNT #
  44. END
  45.  
  46. ARRAY ENTRYQ [0:0] S(1); # ARRAY OF WC-2 WORDS TO RECEIVE ENTRY #
  47. BEGIN
  48. ITEM ENTRYQQ U(00,00,60);
  49. END
  50.  
  51. #
  52. **** PROC SSTRQE - XREF LIST.
  53. #
  54.  
  55. XREF
  56. BEGIN
  57. PROC MOVEI; # MOVE BLOCK OF CENTRAL MEMORY WORDS. #
  58. PROC SSTRTS; # REMOVE TABLE SPACE #
  59. END
  60.  
  61. #
  62. ****
  63. #
  64.  
  65. ITEM COUNT I; # WORD COUNT OF ENTRY PORTION #
  66. ITEM FROM I; # FIRST WORD ADDRESS OF FROM BLOCK #
  67. ITEM TO I; # FIRST WORD ADDRESS OF TO BLOCK #
  68.  
  69. BASED ARRAY TEMP [0:0] S(2); # TEMP BASED ARRAY #
  70. BEGIN
  71. ITEM TEMP$F U(00,00,60); # FOR WC #
  72. ITEM TEMP$S U(01,00,60); # FOR HEAD #
  73. END
  74.  
  75.  
  76.  
  77.  
  78.  
  79. $BEGIN # INCREMENT COUNT FOR STATISTICS #
  80. SVT$VAL[SVL"RQE"] = SVT$VAL[SVL"RQE"] + 1;
  81. $END
  82.  
  83.  
  84. P<TEMP>=P$TABL$; # SET BASED ARRAY TEMP POINTER #
  85. WC$WORD[0]=TEMP$F[0]; # MOVE WC PORTION #
  86. HEAD = TEMP$S[0]; # MOVE HEAD PORTION #
  87.  
  88. COUNT=WC$CNT[0]-2; # NUMBER OF WORD COUNT FOR ENTRYQ PORTION #
  89. FROM =P$TABL$+2; # FIRST WORD ADDRESS OF FROM BLOCK #
  90. TO =LOC(ENTRYQ); # FIRST WORD ADDRESS OF TO BLOCK #
  91. MOVEI (COUNT,FROM,TO); # MOVE ENTRYQ PORTION #
  92.  
  93. SSTRTS (P$TABL$,0,WC$CNT[0]); # REMOVE TABLE SPACE #
  94.  
  95. END # SSTRQE #
  96.  
  97. TERM
cdc/nos2.source/nam5871/sstrqe.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator