cdc:nos2.source:nam5871:nstore
Table of Contents
NSTORE
Table Of Contents
- [00002] PROC NSTORE(BARRAY,SYMBOL,VALUE)
Source Code
- NSTORE.txt
- *DECK NSTORE
- PROC NSTORE(BARRAY,SYMBOL,VALUE);
- BEGIN
- *IF,DEF,IMS
- #
- *1DC NSTORE
- * 1.PROC NAME AUTHOR DATE
- * NFETCH PETER TAM 5/24/77
- *
- * 2.FUNCTIONAL DESCRIPTION
- * NSTORE IS A SYMPL ROUTINE CALLABLE BY AN FNT CALLING
- * SEQUENCE, TO STORE FIELDS IN SUPERVISORY MESSAGES.
- * CALL NSTORE(ARRAY,F1,F2)
- * WHERE
- * ARRAY IS THE FWA OF THE SUPERVISORY MESSAGE
- * F1 IS THE LEFT JUSTIFIED ZERO FILLED DISPLAY CODED
- * NAME OF THE FIELD TO BE STORED
- * F2 IS THE LEFT JUSTIFIED ZERO FILLED DISPLAY CODED
- * NAME OF THE VALUE OF THE FIELD TO BE STORED
- * F2 MAY ALSO BE A CONSTANT VALUE TO BE STORED
- *
- * 3.METHOD USED
- * NSTORE WILL STORE F2 IN FIELD F1 IN THE ARRAY
- *
- * IT USES A TABLE LOOK-UP TECHNIQUE TO FIND THE
- * A. VALUE OF F2
- * B. THE DESCRIPTION OF WHERE IN THE ARRAY F1 IS
- *
- * THESE TABLES ARE ASSEMBLED INTO THE COMPASS ROUTINE
- * NP$SYM, WHICH USES THEIR DEFINITION IN NETMAC.
- *
- *
- * 4.ENTRY CONDITIONS
- * ARRAY CONTAINS THE SUPERVISORY MESSAGE
- * F1 IS THE DISPLAY CODE NAME OF THE REQUIRED FIELD
- *
- * 5.EXIT CONDITIONS
- * THE VALUE F2 WILL BE STORED IN FIELD F1 OF ARRAY
- *
- * 6.COMDECKS CALLED
- * NP$CRT
- *
- * 7.ROUTINES CALLED
- * NFETCH
- * NP$ERR
- *
- * 8.DAYFILE MESSAGES
- * NETWORK APPLICATION ABORTED, RC = 69.
- * NSTORE: ILLEGAL FIELD MNEMONIC.
- *
- *
- #
- *ENDIF
- *CALL NP$CRT
- XREF FUNC NFETCH I;
- XREF PROC NP$ERR;
- XREF ITEM NP$SYME U;
- XREF ITEM NP$SYMI U;
- XREF ARRAY NP$SYM[0:300] S(2);
- BEGIN
- ITEM SYMNAME C(0,0,7);
- ITEM SYMST U(0,54,6);
- ITEM SYMWORD U(1,6,12);
- ITEM SYMBIT U(1,18,12);
- ITEM SYMLGTH U(1,30,12);
- ITEM SYMVAL U(1,0,60);
- END
- ARRAY BARRAY[0:O"77777"] S(1);
- ITEM CONTENTS U;
- ITEM VALUE I;
- ITEM SYMBOL U;
- ITEM I U;
- ITEM J U;
- ITEM II U;
- II = (LOC(NP$SYMI)-LOC(NP$SYM))/2;
- FOR I = II STEP 1 UNTIL NP$SYME DO BEGIN
- IF SYMNAME[I] EQ C<0,7>SYMBOL THEN BEGIN
- J = SYMST[I];
- IF J EQ 4 THEN BEGIN
- NP$ERR("69"); # ILLEGAL FIELD MNEMONIC. #
- END
- IF J EQ 3 OR J EQ 2 THEN BEGIN
- IF VALUE NQ 0
- AND B<42,18>VALUE EQ 0
- AND SYMLGTH[I] LQ 18
- THEN BEGIN
- VALUE = NFETCH(0,VALUE);
- END
- B<SYMBIT[I],SYMLGTH[I]>CONTENTS[SYMWORD[I]] = VALUE;
- RETURN;
- END
- IF J EQ 1 THEN BEGIN
- IF VALUE NQ 0
- AND B<42,18>VALUE EQ 0
- AND SYMLGTH[I] LQ 18
- THEN BEGIN
- VALUE = NFETCH(0,VALUE);
- END
- B<SYMBIT[I],6*SYMLGTH[I]>CONTENTS[SYMWORD[I]] = VALUE;
- RETURN;
- END
- END
- END
- NP$ERR("69"); # ILLEGAL FIELD MNEMONIC. #
- END
- TERM
cdc/nos2.source/nam5871/nstore.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator