cdc:nos2.source:nam5871:ns_nai
Table of Contents
NS$NAI
Table Of Contents
- [00010] PROC NS$NAI
- [00012] NS$NAI - PERFORM NPU ACTIVITY INITIALIZATION.
- [00016] PERFORM NPU ACTIVITY INITIALIZATION.
- [00043] PROC NS$DBG
- [00049] PROC MOVEOK
- [00050] PROC REQTSB
- [00051] PROC TSBINFO
Source Code
- NS$NAI.txt
- *DECK NS$NAI
- USETEXT COM$NS
- USETEXT DEF$NS
- USETEXT LTSB$NS
- USETEXT NAT$NS
- USETEXT NPT$NS
- USETEXT NST$NS
- USETEXT SMB$NS
- PROC NS$NAI; # PERFORM NPU ACTIVITY INITIALIZATION #
- # TITLE NS$NAI - PERFORM NPU ACTIVITY INITIALIZATION. #
- BEGIN # NS$NSI #
- #
- ** NS$NAI - PERFORM NPU ACTIVITY INITIALIZATION.
- *
- * J.C. LEE 1981
- *
- * THIS ROUTINE PERFORMS NPU ACTIVITY INITIALIZATION.
- *
- * PROC NS$NAI
- *
- * ENTRY:
- * NONE.
- *
- * EXIT:
- * NONE.
- *
- * METHOD:
- * REQUEST A TSB FOR NAT.
- * FORMAT NAT FOR LOAD ACTIVITY
- * QUEUE NAT TO NAT LIST.
- * FORMAT NPU STATUS TABLE.
- * UPDATE LOAD TSB.
- * INCREMENT LOAD ACTIVITY COUNT.
- *
- #
- $BEGIN
- XREF
- BEGIN
- PROC NS$DBG; # TRACE PROCEDURE CALL #
- END
- $END
- XREF
- BEGIN
- PROC MOVEOK; # ALLOW TSB TO MOVE #
- PROC REQTSB; # REQUEST TSB #
- PROC TSBINFO; # LOCATE TSB #
- END
- ITEM NATFWA U; # FWA OF NAT TSB #
- ITEM TSBFWA U; # FWA OF A TSB #
- ITEM TSBN U; # TSB NUMBER OF TSB #
- ITEM TSBSIZE U; # SIZE OF TSB #
- CONTROL EJECT;
- $BEGIN
- NS$DBG("NAI"); # TRACE CALL #
- $END
- #
- FORMAT NAT FOR LOAD ACTIVITY
- #
- REQTSB(NAT$SIZE,NATFWA,NATTSBN); # REQUEST A TSB FOR NAT #
- NPT$NATTSB[NTORD] = NATTSBN; # SAVE NAT TSB NUMBER IN NPT #
- P<NAT> = NATFWA; # FWA OF NPU ACTIVITY TABLE #
- NAT$ID[0] = NAT$IDENT; # IDENTIFIER #
- NAT$BS[0] = NAT$SIZE; # BLOCK SIZE #
- NAT$NCTORD[0] = NPT$NCTORD[NTORD]; # NCT ORDINAL OF LOAD PATH #
- NAT$SN[0] = ABHSN[0]; # TERMINAL NODE NUMBER OF LOAD PATH #
- NAT$HN[0] = ABHDN[0]; # TERMINAL NODE NUMBER OF LOAD PATH #
- NAT$NTORD[0] = NTORD; # NPU TABLE ORDINAL #
- NPT$F$LF[NTORD] = FALSE; # CLEAR LOAD FAILURE FLAG #
- #
- QUEUE NAT TO NAT LIST
- #
- TSBN = NPT$NLTAIL[0];
- IF TSBN EQ 0
- THEN # NO ENTRY IN NAT LIST #
- NPT$NLHEAD[0] = NATTSBN; # SET HEAD PTR OF NAT LIST #
- ELSE
- BEGIN # QUEUE NAT TO LIST #
- TSBINFO(TSBSIZE,TSBFWA,TSBN); # LOCATE LAST NAT IN LIST #
- P<NAT> = TSBFWA;
- NAT$NLFP[0] = NATTSBN;
- MOVEOK(TSBN); # ALLOW LAST NAT IN LIST TO MOVE#
- P<NAT> = NATFWA; # RESET BASED PTR TO CURRENT NAT#
- NAT$NLBP[0] = TSBN;
- END
- NPT$NLTAIL[0] = NATTSBN; # UPDATE TAIL PTR OF NAT LIST #
- #
- FORMAT NPU STATUS TABLE
- #
- IF NPT$NSTTSB[NTORD] EQ 0
- THEN # NST NOT YET EXISTS #
- BEGIN
- REQTSB(NST$ISIZE,TSBFWA,TSBN); # REQUEST A TSB FOR NST #
- P<NST> = TSBFWA; # FWA OF NPU STATUS TABLE #
- NPT$NSTTSB[NTORD] = TSBN; # STORE NST TSB NO IN NPT ENTRY #
- NST$ID[0] = NST$IDENT; # IDENTIFIER #
- NST$BS[0] = NST$ISIZE; # NST INITIAL SIZE #
- NST$NTORD[0] = NTORD; # NPU TABLE ORDINAL #
- MOVEOK(TSBN); # ALLOW NST TO MOVE #
- END
- #
- UPDATE LOAD TSB
- #
- IF LTW$LTSBN[0] EQ 0
- THEN # LOAD TSB NOT YET EXISTS #
- BEGIN
- REQTSB(L$LTSB,TSBFWA,TSBN); # REQUEST A TSB FOR LOAD TSB #
- LTW$LTSBN[0] = TSBN; # STORE TSB NO OF LOAD TSB #
- P<LTSB$HDR> = TSBFWA; # FWA OF LOAD TSB #
- LTSB$ID[0] = LTSB$IDENT; # LOAD TSB IDENTIFIER #
- LTSB$BS[0] = L$LTSB; # LOAD TSB SIZE #
- P<LTSB$FET> = TSBFWA + L$LTSBHDR; # FWA OF LOAD FET #
- LFET$FM[0] = TRUE; # SET BINARY FILE MODE #
- LFET$COMP[0] = TRUE; # INITIALIZE FET COMPLETION BIT #
- LFET$RAN[0] = TRUE; # SET RANDOM ACCESS BIT #
- LFET$LEN[0] = L$LFET - 5; # SET ADDITIONAL FET LENGTH #
- MOVEOK(TSBN); # ALLOW LOAD TSB TO MOVE #
- END
- LTW$ACOUNT[0] = LTW$ACOUNT[0] + 1; # INCREMENT ACTIVITY COUNT #
- RETURN;
- END # NS$NAI #
- TERM
cdc/nos2.source/nam5871/ns_nai.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator