cdc:nos2.source:nam5871:cssatd
Table of Contents
CSSATD
Table Of Contents
- [00008] PROC CSSATD
- [00009] CSSATD - ACTION TEST DROP COMMAND.
- [00014] ACTION TEST DROP COMMAND.
- [00040] PROC SSBCBW
- [00041] PROC SSBTBW
- [00042] PROC SSTAQE
Source Code
- CSSATD.txt
- *DECK CSSATD
- USETEXT TEXTCS;
- USETEXT TEXTSS;
- USETEXT TXCMDCS;
- USETEXT TXTAPSS;
- USETEXT TXTSUSS;
- USETEXT TXTSMCS;
- PROC CSSATD;
- # TITLE CSSATD - ACTION TEST DROP COMMAND. #
- BEGIN # CSSATD #
- #
- ** CSSATD - ACTION TEST DROP COMMAND.
- *
- * C. BRION 82/06/09.
- *
- * THIS PROCEDURE PROCESSES THE DIAGNOSTIC TEST DROP COMMAND
- * REQUEST.
- *
- * PROC CSSATD
- *
- * ENTRY:
- *
- * HDRCMD = COMMAND HEADER WORD.
- * PARMS = COMMAND PARAMETER ARRAY.
- *
- * EXIT:
- *
- * AN OVL/TM SM MAY BE SENT TO THE NPU.
- * A NULL TTEXT ENTRY MAY BE SENT TO THE OPERATOR.
- #
- #
- **** PROC CSSATD XREF LIST
- #
- XREF
- BEGIN
- PROC SSBCBW; # SS-CLEAR BIT IN WORD #
- PROC SSBTBW; # SS-TEST BIT IN WORD #
- PROC SSTAQE; # SS-ACCEPT QUEUE ENTRY #
- END
- #
- ****
- #
- DEF NOLDTM$ # 2 #; # CHAR LEN OF SM #
- ITEM OORD U; # OCB ORDINAL #
- ITEM NORD U; # NPUCB ORDINAL #
- ITEM I U; # LOOP INDUCTION VAR #
- ITEM RUNNING B; # ONLINE DIAG RUNNING FLAG #
- #
- * DMTXT - DROP MESSAGE TEXT.
- #
- ARRAY DMTXT [00:00] S(4);
- BEGIN
- ITEM DMT$NP C(00,00,07); # NPU NAME #
- ITEM DMT$TX1 C(00,42,06) = [": OLD "];
- ITEM DMT$TX2 C(01,18,20) = ["NO PRIOR REQUEST CMD"];
- ITEM DMT$ZERO U(03,18,42) = [0];
- END
- #
- * FLG$WORD - THIS BASED ARRAY POINTS TO THE ONLINE DIAGNOSTIC
- * OPERATOR BIT MAP IN THE NPUCB.
- #
- BASED ARRAY FLG$WORD [00:00] S(NPCBSZ$);
- BEGIN
- ITEM FW$WORD I(00,00,60);
- END
- #
- * SET OCB ORDINAL AND THE NPUCB ORDINAL.
- * ALSO, SET UP TEXT MESSAGE NPU NAME AND THE OUTGOING SM ENTRY
- * HEADER WORDS.
- #
- OORD = HDR$OPORD[0];
- FOR I = 0 STEP 1 UNTIL (HDR$TXWCNT[0] + HDR$SPCNT[0] +
- HDR$APCNT[0])
- DO
- BEGIN
- IF PAR$PCODE[I] EQ "NOR"
- THEN
- NORD = PAR$ORD[I];
- END
- DMT$NP[0] = NPU$NAME[NORD];
- WCB$WORD[0] = 0;
- ABHWORD[0] = 0;
- WCB$WORD[1] = 0;
- ABHWORD[1] = 0;
- ABHADR[0] = OORD;
- #
- * IF ORIGIN OPERATOR NOT CURRENT OVERLAY OPERATOR OF NPU, THEN
- * INFORM WITH ERROR MESSAGE.
- #
- SSBTBW(NPU$OVFLGS[NORD],OORD,RUNNING);
- IF NOT RUNNING
- THEN
- BEGIN
- WCB$SMID[1] = SMID"TTEXT";
- WCB$IAF[1] = TRUE;
- WCB$WC[1] = 6;
- ABHADR[1] = OORD;
- SSTAQE(P<CNQ>,WCBUF[1],ABH[1],DMTXT[0]);
- END
- ELSE
- #
- * THE CURRENT OPERATOR MAY BE DROPPING THE OVERLAY REQUEST PRIOR
- * TO COMPLETION OF THE REQUEST. SET THE CURRENT OVERLAY ORDINAL
- * OF THE NPUCB OUT OF RANGE. OTHERWISE, CLEAR THE NPUCB AND SET
- * OVERLAY STATE TO IDLE.
- #
- BEGIN
- P<FLG$WORD> = LOC(NPU$OVFLGS[NORD]);
- SSBCBW(FLG$WORD,OORD);
- #
- * SET UP OUTGOING OVERLAY TERMINATE SM.
- #
- ABHDN[1] = NPU$NID[NORD];
- ABHSN[1] = NPU$HID[NORD];
- ABHABT[1] = APPSUP;
- ABHBT[1] = APPSUP;
- ABHACT[1] = ACTCSNP$;
- ABHTLC[1] = NOLDTM$;
- PFCSFC[1] = OLDTM;
- OLDDO[1] = OORD;
- WCB$WC[1] = ((ABHTLC[1] + 9)/10) + 2;
- WCB$SMID[1] = SMID"OLDTM";
- SSTAQE(P<OTQ>,WCBUF[1],ABH[1],CSSM[1]);
- #
- * SET UP AND SEND NULL TTEXT ENTRY TO OPERATOR TO CAUSE READY..
- #
- WCB$WC[1] = 2;
- WCB$SMID[1] = SMID"TTEXT";
- WCB$IAF[1] = TRUE;
- ABHADR[1] = OORD;
- SSTAQE(P<CNQ>,WCBUF[1],ABH[1],CSSM[1]);
- END
- END #CSSATD#
- TERM
cdc/nos2.source/nam5871/cssatd.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator