cdc:nos2.source:nam5871:ns_inl
Table of Contents
NS$INL
Table Of Contents
- [00006] PROC NS$INL(ERRCODE)
- [00008] NS$INL - INITIATE NPU LOAD.
- [00012] INITIATE NPU LOAD.
- [00047] PROC NS$DBG
- [00053] PROC TSBINFO
- [00054] PROC MOVEOK
- [00055] FUNC NS$FEC U
- [00056] PROC NS$LSN
- [00057] PROC NS$SGT
Source Code
- NS$INL.txt
- *DECK NS$INL
- USETEXT ERR$NS
- USETEXT NAT$NS
- USETEXT PIC$NS
- PROC NS$INL(ERRCODE); # INITIATE NPU LOAD #
- # TITLE NS$INL - INITIATE NPU LOAD. #
- BEGIN # NS$INL #
- #
- ** NS$INL - INITIATE NPU LOAD.
- *
- * J.C. LEE 1981
- *
- * THIS ROUTINE INITIATES NPU LOAD.
- *
- * PROC NS$INL(ERRCODE)
- *
- * ENTRY:
- * NONE.
- *
- * EXIT:
- * ERRCODE - IF A BAD PICB RECORD FOUND.
- *
- * METHOD:
- * CLEAR ACTIVITY-RETRY-COUNT.
- * CLEAR NPU-STATE.
- * SET NPU-PRIMARY-STATE TO "LOADING NPU".
- * LOCATE PICB-TSB.
- * IF PICB EXISTS:
- * SET XPCB-DIRECTIVE-INDEX TO PICB-INDEX
- * OF LPCB-HEADER.
- * SET XPCB-END-DIRECTIVE-INDEX TO PICB-INDEX
- * OF LPCB END DIRECTIVE.
- * START GLOBAL TIMER.
- * ELSE
- * SET ERROR CODE.
- *
- #
- ITEM ERRCODE U; # ERROR CODE #
- $BEGIN
- XREF
- BEGIN
- PROC NS$DBG; # TRACE PROCEDURE CALL #
- END
- $END
- XREF
- BEGIN
- PROC TSBINFO; # LOCATE TSB #
- PROC MOVEOK; # ALLOW TSB TO MOVE #
- FUNC NS$FEC U; # FORMAT ERROR CODE #
- PROC NS$LSN; # INCREMENT LOAD SEQUENCE NUMBER #
- PROC NS$SGT; # START ACTIVITY TIMER #
- END
- ITEM I I; # PICB INDEX OF FIRST LPCB ENTRY #
- ITEM K I; # PICB INDEX OF LAST LPCB ENTRY #
- ITEM PICBTSBN U; # TSB NUMBER OF PICB #
- ITEM TSBFWA U; # TSB FWA #
- ITEM TSBSIZE U; # TSB SIZE #
- CONTROL EJECT;
- $BEGIN
- NS$DBG("INL"); # TRACE CALL #
- $END
- ERRCODE = 0;
- NAT$STATE[0] = 0; # CLEAR NPU STATE #
- NAT$PSTATE[0] = S"NPS$LNPU"; # PRIMARY STATE - LOADING NPU #
- PICBTSBN = NAT$PITSBN[0]; # PICB TSB NUMBER #
- TSBINFO(TSBSIZE,TSBFWA,PICBTSBN); # LOCATE PICB TSB #
- P<PICB> = TSBFWA; # FWA OF PICB #
- I = PICB$HDRL + PICB$PARWL + PICB$LDPCB[PICB$HDRL]; # HEADER INDX#
- K = I + PICB$LLPCB[PICB$HDRL] - 1; # INDEX TO LAST LPCB DIRECTIVE#
- IF PICB$PCBID[I] EQ ID$LPCB # VALID IDENTIFIER #
- AND K LQ PICB$BS[0] # LPCB SIZE OK #
- AND PICB$CODE[K] EQ DIRCODE"ENDPCB" # END DIRECTIVE EXISTS#
- THEN # VALID LPCB #
- BEGIN # INITIATE NPU LOAD PROCEDURE #
- NAT$PDIRI[0] = I; # CURRENT LPCB DIRECTIVE INDEX#
- NAT$PENDI[0] = K; # LAST LPCB DIRECTIVE INDEX #
- NS$LSN; # ASSIGN LSN FOR LOAD SEQUENCE #
- NS$SGT; # START ACTIVITY TIMER #
- END
- ELSE # NLF ERROR-BAD LPCB #
- BEGIN
- ERRCODE = NS$FEC(EC"ERR$FILE",FEC"ERR$LPCB");
- END
- MOVEOK(PICBTSBN); # ALLOW PICB TO MOVE #
- RETURN;
- END # NS$INL #
- TERM
cdc/nos2.source/nam5871/ns_inl.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator