cdc:nos2.source:nam5871:sstrqe
Table of Contents
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
- *DECK SSTRQE
- USETEXT TEXTSS
- PROC SSTRQE (P$TABL$,WC,HEAD,ENTRYQ);
- # TITLE SSTRQE - REMOVE QUEUE ENTRY. #
- BEGIN # SSTRQE #
- #
- ** SSTRQE - REMOVE QUEUE ENTRY.
- *
- * F. HOU. 81/09/09.
- *
- * THIS PROCEDURE REMOVES THE FIRST QUEUE ENTRY OF QUEUE TABL
- * TO A SPECIFIED BUFFER.
- *
- * PROC SSTRQE (P$TABL$,WC,HEAD,ENTRYQ)
- *
- * ENTRY P$TABL$ = BASED ARRAY POINTER FOR QUEUE TABL.
- * WC = FIRST WORD ADDRESS OF ARRAY TO RECEIVE
- * THE WORD COUNT PORTION OF THE QUEUE ENTRY.
- * HEAD = FIRST WORD ADDRESS TO RECEIVE THE HEADER
- * PORTION OF THE QUEUE ENTRY.
- * ENTRYQ = FIRST WORD ADDRESS OF ARRAY TO RECEIVE
- * THE ENTRY PORTION OF THE QUEUE ENTRY.
- *
- * EXIT THE FIRST ENTRY OF QUEUE TABL HAS BEEN REMOVED.
- *
- * NOTES THE FIRST QUEUE ENTRY DELETED AFTER THE COPY IS DONE.
- *
- * METHOD
- *
- * MOVE THE FIRST ENTRY OF QUEUE TABL TO SPECIFIED BUFFER:WC,HEAD
- * AND ENTRYQ.
- * REMOVE TABLE SPACE FROM QUEUE TABL.
- *
- #
- ITEM P$TABL$ I; # BASED ARRAY POINTER FOR QUEUE TABL. #
- ITEM HEAD I; # HEAD WORD TO RECEIVE HEADER. #
- ARRAY WC [0:0] S(1); # WORD TO RECEIVE WORD COUNT #
- BEGIN
- ITEM WC$WORD U(00,00,60); # OVERLAPPING WORD #
- ITEM WC$CNT U(00,48,12); # 12 BIT WORD COUNT #
- END
- ARRAY ENTRYQ [0:0] S(1); # ARRAY OF WC-2 WORDS TO RECEIVE ENTRY #
- BEGIN
- ITEM ENTRYQQ U(00,00,60);
- END
- #
- **** PROC SSTRQE - XREF LIST.
- #
- XREF
- BEGIN
- PROC MOVEI; # MOVE BLOCK OF CENTRAL MEMORY WORDS. #
- PROC SSTRTS; # REMOVE TABLE SPACE #
- END
- #
- ****
- #
- ITEM COUNT I; # WORD COUNT OF ENTRY PORTION #
- ITEM FROM I; # FIRST WORD ADDRESS OF FROM BLOCK #
- ITEM TO I; # FIRST WORD ADDRESS OF TO BLOCK #
- BASED ARRAY TEMP [0:0] S(2); # TEMP BASED ARRAY #
- BEGIN
- ITEM TEMP$F U(00,00,60); # FOR WC #
- ITEM TEMP$S U(01,00,60); # FOR HEAD #
- END
- $BEGIN # INCREMENT COUNT FOR STATISTICS #
- SVT$VAL[SVL"RQE"] = SVT$VAL[SVL"RQE"] + 1;
- $END
- P<TEMP>=P$TABL$; # SET BASED ARRAY TEMP POINTER #
- WC$WORD[0]=TEMP$F[0]; # MOVE WC PORTION #
- HEAD = TEMP$S[0]; # MOVE HEAD PORTION #
- COUNT=WC$CNT[0]-2; # NUMBER OF WORD COUNT FOR ENTRYQ PORTION #
- FROM =P$TABL$+2; # FIRST WORD ADDRESS OF FROM BLOCK #
- TO =LOC(ENTRYQ); # FIRST WORD ADDRESS OF TO BLOCK #
- MOVEI (COUNT,FROM,TO); # MOVE ENTRYQ PORTION #
- SSTRTS (P$TABL$,0,WC$CNT[0]); # REMOVE TABLE SPACE #
- END # SSTRQE #
- TERM
cdc/nos2.source/nam5871/sstrqe.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator