cdc:nos2.source:nam5871:np_sttp
Table of Contents
NP$STTP
Table Of Contents
Source Code
- NP$STTP.txt
- *DECK,NP$STTP
- *IF,DEF,XFR
- IDENT NP$STTP
- SST
- EXT NP$MSG
- ENTRY NP$STTP
- *#
- *1DC NP$STTP
- * 1. PROC NAME AUTHOR DATE
- * NP$STTP Y.C.YIP 81/03/03
- * 2. FUNCTIONAL DESCRIPTION
- * THIS ROUTINE IS RESPONSIBLE FOR ACCESSING THE VARIOUS STATE
- * TABLES.IT IS CALLED BY EACH OF THE FOUR STATE TABLE
- * PROCESSORS (NCSTTP,NBSTTP,HCSTTP,HBSTTP).EACH ONE OF THESE
- * SPECIFIES THE STATE TABLE TO BE PROCESSED BY PASSING THE
- * PROPER ORDINAL.
- * 3. METHOD USED
- * THE STATE TABLES ARE DEFINED BY USING THE FOLLOWING MACROES
- * (DEFINED IN COMDECK STBLMAC):INITBL,STATE,TRIG,ENDTBL.
- * INITIALLY INITBL IS INVOKED WITH THE STATE TABLE NAME OF 2
- * CHARACTERS,THE MAXIMUM STATE NUMBER AND THE MAXIMUM TRIGGER
- * TRIGGER NUMBER.
- * NEXT FOR EACH STATE ALL LEGAL TRIGGERS ARE DEFINED,BY
- * INVOKING A STATE MACRO WITH THE STATE NUMBER FOLLOWED BY
- * THE TRIG MACRO FOR EACH LEGAL TRIGGER IN THAT STATE.THE TRIG
- * MACRO HAS THE FOLLOWING PARAMETERS (IN THIS ORDER):
- * TRIGN - TRIGGER NUMBER
- * NEWST - NEW STATE AS A RESULT OF THIS TRIGGER
- * ACTION1- ACTION ORDINAL OF CODE TO BE PERFORMED IN THIS CASE
- * ACTION2- ACTION 2 , TO BE SENT TO CORRESP. CONNECTION STATE
- * TABLE
- * REASON - REASON CODE.
- * EXCEPT TRIGN ALL PARAMETERS MAY BE LEFT BLANK BY ADJACENT
- * COMMAS,IN WHICH A NO CHANGE VALUE (NOCHG) WILL BE FILLED IN.
- * ALL STATES MUST BE DEFINED IN ORDER STARTING FROM THE SPECIAL
- * NO CONNECTION STATE (STATX),THEN STATE 0,STATE 1 AND SO ON.
- * ALL STATES MUST HAVE AT LEAST ONE LEGAL TRIGGER.FINALLY THE
- * MACRO ENDTBL MUST BE INVOKED WITH THE 2-CHAR NAME OF THE
- * STATE TABLE.
- * THE STATE TABLES MACROES ARE DEVISED SUCH THAT ONLY LEGAL
- * TRIGGERS NEED TO BE SPECIFIED.ONLY IN THESE CASES ARE ANY
- * PARAMETERS STORED IN THE STATE TABLE.AT THE SAME TIME A
- * BITMAP IS CONSTRUCTED WITH ONE BIT PER POSSIBLE CASE (BOTH
- * LEGAL AND ILLEGAL).IF THE TRIGGER IS DEFINED THAT MEANS THAT
- * THE CASE IS LEGAL AND THE APPROPRIATE BIT IS SET.IF TRIGGER
- * NUMBERS ARE SKIPPED THIS MEANS THAT THOSE CASES ARE ILLEGAL
- * AND THE APPROPRIATE BITS ARE CLEARED.
- * WHEN ROUTINE XSTTP IS CALLED IT CALCULATES THE FOLLOWING
- * BASED ON THE CALL PARAMETERS:
- * (CURRENT STATE NO.*(MAX TRIGGER VALUE+1))+CURRENT TRIGGER NO
- * THIS IS THE APPROPRIATE BIT-NUMBER IN THE BITMAP FOR THIS
- * CASE.IF IT IS CLEAR THE CASE IS ILLEGAL AND ZEROES ARE
- * RETURNED IN THE RESPONSE.IF IT IS SET THEN THE CASE IS
- * LEGAL AND THE RESPONSE PARAMETERS ARE TO BE LOCATED IN THE
- * STATE TABLE.THIS IS DONE BY COUNTING THE ONE BITS PRECEDING
- * THIS CASE IN THE BITMAP,USING THE POPULATION COUNT
- * MACHINE INSTRUCTION.BASED ON THE NUMBER OF PRECEDING LEGAL
- * CASES THE PARAMETER-LOCATION IN THE ACTUAL STATE TABLE IS
- * CALCULATED (EACH LEGAL CASE OCCUPIES 30 BITS,CURRENTLY).
- * FINALLY THAT INFO IS PASSED IN THE RESPONSE PARAMETER.
- * 4. ENTRY PARAMETERS
- * ORD STATE TABLE ORDINAL (0-3)
- * CURST CURRENT STATE OF CONNECTION OR 76B IF NO
- * CONNECTION EXISTS
- * TRIGNO CURRENT TRIGGER NUMBER
- * 5. EXIT PARAMETER.
- * STATRSP RESPONSE WORD CONTAINING THE FOLLOWING FIELDS
- *
- * LEGALB BOOLEAN(LEFTMOST BIT)
- * IF FALSE THEN THE TRIGGER WAS NOT LEGAL
- * THE CURRENT STATE
- * IF TRUE THEN THE TRIGGER WAS LEGAL FOR THE
- * CURRENT STATE AND THE FOLLOWING FIELDS (6-
- * BITS EACH) ARE CONTAINED IN THE RIGHMOST
- * 30 BITS OF STATRSP:
- *
- * NEWST NEW STATE OF CONNECTION
- * ACTION1 ACTION INDICATOR OF CODE TO BE PERFORMED
- * ACTION2 ACTION NUMBER 2 OF THE CODE TO BE PERFORMED
- * REASON REASON CODE TO CLARIFY THE RESULT
- * RES RESERVED (77B)
- *
- *
- * A VALUE OF NOCHG(77B) INDICATES THAT NO STATE CHANGE,
- * ACTION OR TRIGGER IS NEEDED
- * A SPECIAL VALUE OF STATX (76B) FOR THE NEW STATE IMPLIES
- * THERE IS NO CONNECTION ANYMORE
- *
- * 6. COMDECKS CALLED.
- * MACDEF CYBERDEFS STBLDEF INPARU STBLMAC
- * 7. ROUTINES CALLED.
- * ABORT
- * 8. DAYFILE MESSAGES
- * NONE DIRECTLY
- * VIA ABORT: ERR IN STATE TABLE PROCESSOR CALL (XSTTP)
- *
- *#
- *CALL MACDEF
- *CALL CYBERDEFS
- *CALL INPARU
- *CALL AIPSTDF
- INITBL MACRO XX,XXMST,XXMTR
- TP MICRO 1,,*XX*
- "TP"_EGN SET 0
- MAXST SET XXMST
- MAXTR SET XXMTR
- NEXTST SET STATX
- NEXTTR SET 0
- USE /"TP"_BM/
- "TP"_BM BSS 0
- USE *
- USE /"TP"_BL/
- "TP"_BL BSS 0
- USE *
- ENDM
- STATE MACRO STATN
- IFNE STATN,NEXTST,1
- ERR1 ERR STATN STATE NUMBER OUT OF SEQUENCE
- FRSTSTT IFEQ STATN,STATX
- NEXTST SET 0
- FRSTSTT ELSE
- IFGT STATN,MAXST,1
- ERR2 ERR STATN STATE NUMBER TOO LARGE
- NEXTST SET STATN+1
- TRDIF SET MAXTR+1-NEXTTR
- IFGT TRDIF,0,3
- USE /"TP"_BM/
- VFD TRDIF/0
- USE *
- FRSTSTT ENDIF
- NEXTTR SET 0
- ENDM
- TRIG MACRO TRIGN,NEWST,ACTIO1,ACTIO2,ERRORC
- IFC EQ,**TRIGN*,1
- ERR3 ERR TRIGGER NOT DEFINED
- IFLT TRIGN,NEXTTR,1
- ERR4 ERR TRIGN TRIGGER OUT OF SEQUENCE
- IFGT TRIGN,MAXTR,1
- ERR5 ERR TRIGN TRIGGER VALUE TOO LARGE
- TRDIF SET TRIGN-NEXTTR
- USE /"TP"_BM/
- IFGT TRDIF,0,1
- VFD TRDIF/0
- VFD 1/1
- USE *
- NEXTTR SET TRIGN+1
- "TP"_EGN SET "TP"_EGN+1
- PARLST ECHO ,PAR=(NEWST,ACTIO1,ACTIO2,ERRORC),NAM=(NST,AT1,AT2,ERC)
- BLPAR IFC EQ,**PAR*
- NAM SET NOCHG
- BLPAR ELSE
- NAM SET PAR
- BLPAR ENDIF
- PARLST ENDD
- USE /"TP"_BL/
- VFD 6/NST,6/AT1,6/AT2,6/ERC,6/NOCHG
- USE *
- ENDM
- ENDTBL MACRO XX
- TP1 MICRO 1,,*XX*
- IFC NE,*"TP1"*"TP"*,1
- ERR10 ERR XX WRONG TABLE ON ENDTBL STATEMENT
- IFLE NEXTST,MAXST,1
- ERR11 ERR NOT ALL STATES WERE DEFINED
- TRDIF SET MAXTR+1-NEXTTR
- USE /"TP"_BM/
- IFGT TRDIF,0,1
- VFD TRDIF/0
- VFD *P/0
- "TP"_GEN BSS 0
- USE *
- "TP"_ENW EQU "TP"_GEN-"TP"_BM
- ENDM
- TBLDEF MACRO XX,XXORD
- TP MICRO 1,,*XX*
- IF -DEF,TBORD,2
- TBORD SET 0
- TBLPNTR BSS 0
- IFNE XXORD,TBORD,1
- ERR12 ERR XXORD TABLE ORDINALS NOT IN SEQUENCE
- TBORD SET TBORD+1
- "TP"_ENT VFD 12/"TP"_MTR,12/"TP"_ENW,18/"TP"_BL,18/"TP"_BM
- ENDM
- #
- * THIS COMMON DECK DEFINES THE LEGAL TRIGGERS IN THE STATE TABLES.
- #
- #
- ************************************************************************
- * *
- * PRU SENDER STATE TABLE *
- * *
- ************************************************************************
- INITBL NETSP,NETSPMST,NETSPMTR
- * STATE X
- STATE NSPSTX
- TRIG NSPTOCM,NSPACKS,NPSTM1,NPSSCKT
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- * STATE 0
- STATE NSPACKS
- TRIG NSPTSR,NSPWACK
- TRIG NSPTFAK,NSPEXSR
- TRIG NSPTFNK,,NPRTURN,,RC2
- TRIG NSPTBRK,NSPWTRR,NPFCRST
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL,NSPEXER,NPESER,,RC4
- * STATE 1
- STATE NSPEXSR
- TRIG NSPTSR,NSPWPRN,NPPRUON
- TRIG NSPTRRT,NSPACKS,NPSSCKT
- TRIG NSPTBRK,NSPRTRQ,NPFCRST
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL,NSPACES,NPESER,,RC4
- * STATE 2
- STATE NSPWPRN
- TRIG NSPTPRN,NSPDATR,NPSTZER,NPOFST
- TRIG NSPTPRA,,NPRETPN
- TRIG NSPTBRK,NSPPRBK
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL,NSPPRPD,NPRTURN,,RC4
- * STATE 3
- STATE NSPDATR
- TRIG NSPTOFN,NSPWTCM,NPOTOFR
- TRIG NSPTXFR,NSPBREC,NPSTM2,NPOTOFR
- TRIG NSPTQRE,NSPIOQR,NPSTM2,NPOTOFR,RC11
- TRIG NSPTRCT,STATX,NPRTURN,,RC5
- TRIG NSPTIO7,NSPRTRQ,NPSTM2,NPOTOFR
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- * STATE 4
- STATE NSPWTCM
- TRIG NSPTOFF,NSPAKES,NPSESOK
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- * STATE 5
- STATE NSPAKES
- TRIG NSPTERK,NSPWAC1,NPLSTF
- TRIG NSPTFAK,NSPEROK
- TRIG NSPTFNK,,NPRTURN,,RC2
- TRIG NSPTBRK,NSPWTRR,NPFCRST
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL,NSPEXER,NPESER,,RC4
- * STATE 6
- STATE NSPEROK
- TRIG NSPTERK,,NPRTURN,,RC1
- TRIG NSPTBRK,NSPWTRR,NPFCRST
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL,NSPACES,NPESER,,RC4
- * STATE 7
- STATE NSPBREC
- TRIG NSPTOFF,NSPWTRR
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- * STATE 8
- STATE NSPRTRQ
- TRIG NSPTOFF,NSPACKS,NPSTM1,NPSSCKT
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- * STATE 9
- STATE NSPWTRR
- TRIG NSPTRRT,NSPACKS,NPSTM1,NPSSCKT
- TRIG NSPTBRK,,NPFCRST
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL,NSPACES,NPESER,,RC4
- * STATE 10
- STATE NSPIOQR
- TRIG NSPTOFF,NSPACES,NPESER
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- * STATE 11
- STATE NSPACES
- TRIG NSPTRRT
- TRIG NSPTERE,NSPWAC2,NPLSTF
- TRIG NSPTFAK,NSPEXER
- TRIG NSPTFNK,,NPRTURN,,RC2
- TRIG NSPTBRK,,NPFCRST,NPESER
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 12
- STATE NSPEXER
- TRIG NSPTRRT,NSPACKS,NPSTM1,NPSSCKT
- TRIG NSPTERE,,NPRTURN
- TRIG NSPTFAK
- TRIG NSPTFNK,,NPRTURN,,RC2
- TRIG NSPTBRK,NSPACES,NPFCRST,NPESER
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 13
- STATE NSPPRPD
- TRIG NSPTPRN,NSPIOQR,NPOTOFR
- TRIG NSPTPRA,NSPACES,NPESER,,RC27
- TRIG NSPTBRK,NSPPRBK
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 14
- STATE NSPPRBK
- TRIG NSPTPRA,NSPACES,NPFCRST,NPESER,RC27
- TRIG NSPTBRK,,NPFCRST
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- *STATE 15
- STATE NSPWACK
- TRIG NSPTFAK,NSPWPRN,NPPRUON
- TRIG NSPTFNK,,NPRTURN,,RC2
- TRIG NSPTBRK,NSPWTRR,NPFCRST
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL
- *STATE 16
- STATE NSPWAC1
- TRIG NSPTFAK,,NPLSTO,NPRTURN,RC1
- TRIG NSPTFNK,,NPRTURN,,RC2
- TRIG NSPTBRK,NSPWTRR,NPFCRST
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NSPTFT
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL
- *STATE 17
- STATE NSPWAC2
- TRIG NSPTRRT
- TRIG NSPTFAK,,NPLSTO,NPRTURN
- TRIG NSPTFNK,,NPRTURN,,RC2
- TRIG NSPTBRK,,NPFCRST,NPESER
- TRIG NSPTINT,,NPINTRP
- TRIG NSPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,STATX,NPRTURN,,RC5
- TRIG NRSTILL
- *
- ENDTBL NETSP
- ************************************************************************
- * *
- * PRU RECEIVER STATE TABLE *
- * *
- ************************************************************************
- INITBL NETRP,NETRPMST,NETRPMTR
- * STATE X
- STATE NRPSTX
- TRIG NRPTOCM,NRPEXSS,NPSTM1
- TRIG NRSTIMO,,NPRTURN,,RC5
- * STATE 0
- STATE NRPEXSS
- TRIG NRPTSS,NRPPRON,NPPRUON
- TRIG NRPTBRK,,NPRTURN,,RC3
- TRIG NRPTINT,,NPINTRP
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL,NRPAKQR,NPQRER,,RC4
- * STATE 1
- STATE NRPPRON
- TRIG NRPTPRN,NRPPRDA,NPSTZER,NPIFSRT
- TRIG NRPTPRA,,NPINTRA
- TRIG NRPTBRK,,NPRTURN,,RC3
- TRIG NRPTINT,,NPINTRP
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL,NRPPRPD,NPRTURN,,RC4
- * STATE 2
- STATE NRPPRDA
- TRIG NRPTIFN,NRPESKR
- TRIG NRPTXFR,NRPE128,NPSTM2,NPIFOFR,RC25
- TRIG NRPTBR3,NRPBREC,NPSTM2,NPIFOFR,RC3
- TRIG NRPTES5,NRPESRC,NPIFOFR,,RC11
- TRIG NRPTIO7,NRPITIO,NPIFOFR,,RC10
- TRIG NRPTTM9,STATX,NPRTURN,,RC5
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- * STATE 3
- STATE NRPESKR
- TRIG NRPTESK,NRPNRCM,NPIFOFR
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- * STATE 4
- STATE NRPNRCM
- TRIG NRPTIFF,NRPAKER,NPEROK,NPLSTF,RC1
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- * STATE 5
- STATE NRPAKER
- TRIG NRPTFAK,,NPLSTO,NPRTURN
- TRIG NRPTNAK,,NPRTURN,,RC2
- TRIG NRPTBRK,,NPRTURN,,RC3
- TRIG NRPTINT,,NPINTRP
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL,,NPRTURN,,RC28
- * STATE 6
- STATE NRPE128
- TRIG NRPTIFF,NRPBROT,NPFCBRK
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 7
- STATE NRPBROT
- TRIG NRPTBRK,,NPRTURN,,RC3
- TRIG NRPTFRT,NRPAKRR,NPSTM1,NPRRCKT
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- * STATE 8
- STATE NRPAKRR
- TRIG NRPTFAK,NRPEXSS
- TRIG NRPTNAK,,NPRTURN,,RC2
- TRIG NRPTBRK,,NPRTURN,,RC3
- TRIG NRPTINT,,NPINTRP
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 9
- STATE NRPBREC
- TRIG NRPTIFF,NRPAKRR,NPSTM1,NPRRCKT
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- * STATE 10
- STATE NRPESRC
- TRIG NRPTIFF,NRPSNER,NPERER,NPLSTF
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 11
- STATE NRPITIO
- TRIG NRPTIFF,NRPAKQR,NPQRER
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 12
- STATE NRPAKQR
- TRIG NRPTFAK,NRPEXES
- TRIG NRPTNAK,,NPRTURN,,RC2
- TRIG NRPTBRK,,NPRTURN,,RC3
- TRIG NRPTINT,,NPINTRP
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 13
- STATE NRPEXES
- TRIG NRPTESE,NRPSNER,NPERER,NPLSTF
- TRIG NRPTFAK
- TRIG NRPTNAK,,NPRTURN,,RC2
- TRIG NRPTBRK,,NPRTURN,,RC3
- TRIG NRPTINT,,NPINTRP
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 14
- STATE NRPTOUT
- TRIG NRPTIFF,,NPRTURN
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- * STATE 15
- STATE NRPPRPD
- TRIG NRPTPRN,NRPITIO,NPIFOFR
- TRIG NRPTPRA,NRPAKQR,NPQRER
- TRIG NRPTBRK,,NPRTURN,,RC3
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL
- * STATE 16
- STATE NRPPRBK
- TRIG NRPTPRA,NRPAKQR,NPFCRST,NPQRER,RC27
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- * STATE 17
- STATE NRPSNER
- TRIG NRPTFAK,,NPLSTO,NPRTURN
- TRIG NRPTNAK,,NPRTURN,,RC2
- TRIG NRPTBRK,,NPRTURN,,RC3
- TRIG NRPTINT,,NPINTRP
- TRIG NRPTNCB,STATX,NPRTURN,,RC3
- TRIG NRSTHSD,,NPIDLET
- TRIG NRSTNSL,STATX,NPRTURN,,RC14
- TRIG NRSTIMO,,NPRTURN,,RC5
- TRIG NRSTILL
- *
- ENDTBL NETRP
- ************************************************************************
- * *
- * CHARACTER SENDER STATE TABLE *
- * *
- ************************************************************************
- INITBL NETSC,NETSCMST,NETSCMTR
- * STATE X
- STATE NSCSTX
- TRIG NSCTOCM,NSCEXSR,NCSTM1,NCSSCKT
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- * STATE 0
- STATE NSCEXSR
- TRIG NSCTSR,NSCDATA,NCSTZER
- TRIG NSCTQRK
- TRIG NSCTQRE,NSCERER,NCESER,,RC11
- TRIG NSCTMRR
- TRIG NSCTACK,,NCADABL
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCERER,NCESER,,RC4
- TRIG NSCTERR,NSCERER,NCESER,,RC10
- * STATE 1
- STATE NSCDATA
- TRIG NSCTRRT,NSCEXSR,NCSTMRS,NCSSRRT
- TRIG NSCTQRK,NSCEROK,NCESOK
- TRIG NSCTQRE,NSCERER,NCESER
- TRIG NSCTMRR,,NCADCMW
- TRIG NSCTACK,,NCADABL
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCERER,NCESER,,RC4
- TRIG NSCTEOI,NSCEROK,NCESOK
- TRIG NSCTMCM,NSCCCMW
- TRIG NSCTSND,,NCSDATA
- TRIG NSCTERR,NSCERER,NCESER,,RC10
- * STATE 2
- STATE NSCCABL
- TRIG NSCTRRT,NSCABRR,NCSTMRS
- TRIG NSCTQRK,NSCABLE
- TRIG NSCTQRE,NSCABES,,,RC11
- TRIG NSCTMRR,,NCADCMW
- TRIG NSCTACK,NSCDATA,NCADABL
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCABES,,,RC7
- TRIG NSCTEOI,NSCABLE
- TRIG NSCTMCM,NSCCCAW
- TRIG NSCTSND
- TRIG NSCTERR,NSCABES,,,RC10
- * STATE 3
- STATE NSCCCMW
- TRIG NSCTRRT,NSCEXSR,NCSTMRS,NCSSRRT
- TRIG NSCTQRK,NSCEROK,NCESOK
- TRIG NSCTQRE,NSCERER,NCESER,,RC11
- TRIG NSCTMRR,NSCDATA,NCADCMW
- TRIG NSCTACK,,NCADABL
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCERER,NCESER,,RC4
- TRIG NSCTEOI,NSCEROK,NCESOK
- TRIG NSCTSND
- TRIG NSCTERR,NSCERER,NCESER,,RC10
- * STATE 4
- STATE NSCCCAW
- TRIG NSCTRRT,NSCABRR,NCSTMRS
- TRIG NSCTQRK,NSCABLE
- TRIG NSCTQRE,NSCABES,,,RC11
- TRIG NSCTMRR,NSCCABL,NCADCMW
- TRIG NSCTACK,NSCCCMW,NCADABL
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCABES,,,RC4
- TRIG NSCTERR,NSCABES,,,RC10
- * STATE 5
- STATE NSCABLE
- TRIG NSCTRRT,NSCABRR,NCSTMRS
- TRIG NSCTQRK
- TRIG NSCTQRE,NSCABES,,,RC11
- TRIG NSCTMRR,,NCADCMW
- TRIG NSCTACK,NSCEROK,NCADABL,NCESOK
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCABES,,,RC4
- TRIG NSCTERR,NSCABES,,,RC10
- * STATE 6
- STATE NSCEROK
- TRIG NSCTRRT,NSCABRR,NCSTMRS
- TRIG NSCTERK,,NCRTURN,,RC1
- TRIG NSCTQRK
- TRIG NSCTQRE,NSCERER,NCESER,,RC11
- TRIG NSCTMRR,,NCADCMW
- TRIG NSCTACK,,NCADABL
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCERER,NCESER,,RC4
- TRIG NSCTABE,NSCWAER
- TRIG NSCTERR,NSCERER,NCESER,,RC10
- * STATE 7
- STATE NSCABES
- TRIG NSCTACK,NSCERER,NCADABL,NCESER
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL
- TRIG NSCTERR
- * STATE 8
- STATE NSCERER
- TRIG NSCTERK,,NCRTURN
- TRIG NSCTERE,STATX,NCRTURN
- TRIG NSCTACK,,NCADABL
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL
- TRIG NSCTERR
- * STATE 9
- STATE NSCABRR
- TRIG NSCTACK,NSCEXSR,NCADABL,NCSSCKT
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCABES,,,RC4
- TRIG NSCTERR,NSCABES,,,RC10
- * STATE 10
- STATE NSCWTRR
- TRIG NSCTRRT,NSCEXSR,NCSTMRS,NCSSRRT
- TRIG NSCTERK
- TRIG NSCTERE,NSCERER,NCESER,,RC11
- TRIG NSCTQRK,NSCEROK,NCESOK
- TRIG NSCTQRE,NSCERER,NCESER,,RC11
- TRIG NSCTMRR
- TRIG NSCTACK
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCERER,NCESER,,RC4
- TRIG NSCTERR,NSCERER,NCESER,,RC10
- * STATE 11
- STATE NSCWAER
- TRIG NSCTRRT,NSCABRR,NCSTMRS
- TRIG NSCTERK,,NCRTURN,,RC1
- TRIG NSCTQRK
- TRIG NSCTQRE,NSCABES,,RC11
- TRIG NSCTMRR,,NCADCMW
- TRIG NSCTACK,NSCEROK,NCADABL
- TRIG NSCTNAK,STATX,NCRTURN,,RC2
- TRIG NSCTBRK,NSCWTRR,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,STATX,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,STATX,NCRTURN,,RC14
- TRIG NSCTIMO,STATX,NCRTURN,,RC5
- TRIG NSCTILL,NSCABES,,,RC4
- TRIG NSCTERR,NSCABES,,,RC10
- * STATE 12
- STATE NSCWACK
- TRIG NSCTACK,,NCADWSP,NCRTURN
- TRIG NSCTNAK,,NCRTURN,,RC2
- TRIG NSCTBRK,,NCOPRST
- TRIG NSCTINT,,NCINTSP
- TRIG NSCTNCB,,NCRTURN,,RC3
- TRIG NSCTHSD,,NCIDLE
- TRIG NSCTNSL,,NCRTURN,,RC14
- TRIG NSCTIMO,,NCRTURN,,RC5
- TRIG NSCTILL
- *
- ENDTBL NETSC
- ************************************************************************
- * *
- * CHARACTER RECEIVER STATE TABLE *
- * *
- ************************************************************************
- INITBL NETRC,NETRCMST,NETRCMTR
- * STATE X
- STATE NRCSTX
- TRIG NRCTOCM,NRCEXSS,NCSTM1
- TRIG NRCTIMO,STATX,NCRTURN,,RC5
- * STATE 0
- STATE NRCEXSS
- TRIG NRCTSS,NRCDATA,NCSNDSR
- TRIG NRCTESE,NRCACKR,NCERER,,RC11
- TRIG NRCTACK,,NCADABL
- TRIG NRCTBRK,,NCOPRST,NCRRCHK,RC3
- TRIG NRCTINT,,NCINTSP
- TRIG NRCTNCB,STATX,NCRTURN,,RC3
- TRIG NRCTHSD,,NCIDLE
- TRIG NRCTNSL,STATX,NCRTURN,,RC14
- TRIG NRCTIMO,STATX,NCRTURN,,RC5
- TRIG NRCTILL,NRCABNR,NCSTM2,NCQRER,RC4
- TRIG NRCTITR,NRCABNR,NCSTM2,NCQRER,RC10
- * STATE 1
- STATE NRCDATA
- TRIG NRCTESK,NRCTRCM,NCCLOSE
- TRIG NRCTESE,NRCACKR,NCERER,,RC11
- TRIG NRCTMSR,,NCSAVE
- TRIG NRCTACK,,NCADABL
- TRIG NRCTNAK,,NCRTURN,,RC2
- TRIG NRCTBRK,NRCRSIN,NCOPRST,NCRRCHK,RC3
- TRIG NRCTINT,,NCINTSP
- TRIG NRCTNCB,STATX,NCRTURN,,RC3
- TRIG NRCTHSD,,NCIDLE
- TRIG NRCTNSL,STATX,NCRTURN,,RC14
- TRIG NRCTIMO,STATX,NCRTURN,,RC5
- TRIG NRCTILL,NRCABNR,NCSTM2,NCQRER,RC4
- TRIG NRCTDAT,,NCSTORE
- TRIG NRCTBDA,NRCRETY,NCSTRWL,NCFCBRK,RC25
- TRIG NRCTITR,NRCABNR,NCSTM2,NCQRER
- TRIG NRCTCHM,,NCSNDMR
- * STATE 2
- STATE NRCABNR
- TRIG NRCTESE,NRCACKR,NCERER,,RC11
- TRIG NRCTMSR
- TRIG NRCTACK,,NCADABL
- TRIG NRCTNAK,,NCRTURN,,RC2
- TRIG NRCTBRK,,NCOPRST,NCRTURN,RC3
- TRIG NRCTINT,,NCINTSP
- TRIG NRCTNCB,STATX,NCRTURN,,RC3
- TRIG NRCTHSD,,NCIDLE
- TRIG NRCTNSL,STATX,NCRTURN,,RC14
- TRIG NRCTIMO,STATX,NCRTURN,,RC5
- TRIG NRCTILL,NRCABNR,NCSTM2,NCQRER,RC4
- TRIG NRCTDAT
- TRIG NRCTITR
- * STATE 3
- STATE NRCRETY
- TRIG NRCTMSR
- TRIG NRCTACK,,NCADABL
- TRIG NRCTBRK,NRCRSIN,NCRRCHK
- TRIG NRCTRST,NRCRSIN,NCRRCHK
- TRIG NRCTINT
- TRIG NRCTNCB,STATX,NCRTURN,,RC3
- TRIG NRCTHSD,,NCIDLE
- TRIG NRCTNSL,STATX,NCRTURN,,RC14
- TRIG NRCTIMO,STATX,NCRTURN,,RC5
- TRIG NRCTILL
- * STATE 4
- STATE NRCACKR
- TRIG NRCTACK,,NCLSTO,NCRTURN
- TRIG NRCTNAK,,NCRTURN,,RC2
- TRIG NRCTBRK,STATX,NCOPRST,NCRTURN,RC28
- TRIG NRCTINT,,NCINTSP
- TRIG NRCTNCB,STATX,NCRTURN,,RC3
- TRIG NRCTHSD,,NCIDLE
- TRIG NRCTNSL,STATX,NCRTURN,,RC14
- TRIG NRCTIMO,STATX,NCRTURN,,RC5
- TRIG NRCTILL
- * STATE 5
- STATE NRCTRCM
- TRIG NRCTINT,,NCINTSP
- TRIG NRCTNCB,STATX,NCRTURN,,RC3
- TRIG NRCTHSD,,NCIDLE
- TRIG NRCTNSL,STATX,NCRTURN,,RC14
- TRIG NRCTIMO,STATX,NCRTURN,,RC5
- TRIG NRCTILL,NRCABNR,NCSTM2,NCQRER,RC4
- TRIG NRCTEOK,NRCACKR,NCEROK,NCLSTF,RC1
- TRIG NRCTITR,NRCABNR,NCSTM2,NCQRER,RC10
- * STATE 6
- STATE NRCRSIN
- TRIG NRCTSS,NRCDATA,NCSNDSR
- TRIG NRCTESK
- TRIG NRCTESE,NRCACKR,NCERER
- TRIG NRCTMSR
- TRIG NRCTACK,,NCADABL
- TRIG NRCTBRK,,NCOPRST,NCRRCHK,RC3
- TRIG NRCTINT,,NCINTSP
- TRIG NRCTNCB,STATX,NCRTURN,,RC3
- TRIG NRCTHSD,,NCIDLE
- TRIG NRCTNSL,STATX,NCRTURN,,RC14
- TRIG NRCTIMO,STATX,NCRTURN,,RC5
- TRIG NRCTILL,NRCABNR,NCSTM2,NCQRER,RC4
- TRIG NRCTDAT
- TRIG NRCTBDA
- TRIG NRCTITR,NRCABNR,NCSTM2,NCQRER,RC10
- * STATE 7
- STATE NRCDUMM
- *
- ENDTBL NETRC
- ************************************************************************
- * *
- * DEFINITIONS OF THE STATE TABLE ORDINALS *
- * *
- ************************************************************************
- TBLDEF NETSP,NETSPOD
- TBLDEF NETRP,NETRPOD
- TBLDEF NETSC,NETSCOD
- TBLDEF NETRC,NETRCOD
- #
- NP$STTP SUBR =
- SB7 WL
- SB1 1
- SA2 X1 PAR LIST,PICK UP STTBL ORDINAL
- SA2 X2+TBLPNTR POINTER TABLE INDEXED BY ORDINAL
- SB2 X2 SAVE LEGBM ADDRESS
- MX7 48
- LX2 12 SHIFT POINTER TABLE ENTRY
- BX1 -X7*X2 MAXIMUM TRIGGER VALUE
- SX1 X1+B1 ADD ONE
- LX2 12 SHIFT AGAIN AND PICK UP
- BX3 -X7*X2 LENGTH OF LEGAL CASE BITMAP IN WORDS
- SB3 X3 SAVE IN B3
- SA3 A1+B1 NEXT PAR:CURRENT STATE
- SA5 X3
- SX4 X5-STATX
- ZR X4,NOCONN IF STATE OF NO CONNECTION SKIP
- SX3 X5+B1 ADD ONE FOR NO CONN STATE
- IX4 X1*X3 CALCULATE CUR STATE*MAX TRIGVAL+1
- NOCONN SA3 A3+B1 NEXT PAR:TRIGNO
- SA5 X3
- IX3 X5+X4 ADD IT TO X4
- SB4 X3 SAVE IN B4 (CURST*(MAXTR+1))+TRIGNO
- SB6 B0
- LT B4,B7,FNDWD IF VALUE LESS THAN 60 THEN FOUND WORD
- LOOP SB4 B4-B7 OTHERWISE SUBTRACT 60 AND
- SB6 B6+B1 KEEP WORD COUNT IN B6
- GE B4,B7,LOOP MORE TO GO
- FNDWD GE B6,B3,ERR ILLEGAL VALUE IN B4
- SA1 B2+B6 FETCH PROPER LEGBM WORD
- LX5 X1,B4 SHIFT TO PROPER BIT
- NG X5,LEGVAL LEGAL TRIGGER,JUMP
- MX6 0 ILLEGAL TRIGGER
- SA3 A3+B1 SET EXIT PAR TO 0
- SA6 X3 STORE AND EXIT
- EQ NP$STTPX
- LEGVAL MX6 1 COUNT NO OF PRECEDING ENTRIES
- AX7 B4,X6 BUILD MASK FOR ALL PRECEDING BITS
- BX5 X7*X1 X1 CONTAINS LEGBM WORD
- CX3 X5 NUMBER OF ONES IN WORD
- EQ B6,NOMORE JUMP IF NO PRECEDING WORDS
- MORE SB6 B6-B1 CHECK PRECEDING WORDS IN LEGBM
- SA1 B2+B6 PREVIOUS WORD
- CX5 X1 COUNT ONES
- IX3 X3+X5 ADD TO RESULT
- GT B6,MORE MORE TO GO
- NOMORE SX3 X3-1 SUBTRACT ONE FOR ORIG ENTRY
- * X3 NOW HOLDS THE NUMBER OF PRECEDING LEGAL ENTRIES IN STTBL
- * BASED ON 30 BIT ENTRY LENGTH WE DIVIDE BY 2 IN ORDER TO
- * CALCULATE THE PROPER ADDRESS
- AX4 B1,X3
- SB3 X4
- LX5 B1,X4 MULT BACK BY 2AND CALCULATE LOGICAL
- BX4 X5-X3 DIFFERENCE TO KNOW SIDE OF ENTRY
- * X2 STILL HOLDS POINTER TABLE WORD FOR PROPER ORDINAL
- LX2 18 SHIFT TO POSITION
- SA1 X2+B3 FETCH PROPER STTBL WORD
- NZ X4,RIGHTSD TAKE PROPER SIDE
- LX1 30 LEFT OR
- RIGHTSD MX7 30 RIGHT
- BX5 -X7*X1 MASK THE 30 BITS AND ADD
- BX7 X5+X6 HIGH ORDER BIT TO INDICATE
- SA3 A3+B1 LEGAL VALUE
- SA7 X3 STORE IN EXIT PARAMETER
- EQ NP$STTPX
- ERR SX1 ERRMSG
- EQ NP$MSG ABORT WITH PROPER ERROR MESSAGE IN DAYFILE
- ERRMSG DIS ,* ERROR IN NP$STTP CALL*
- ERRMSG0 BSS 0
- XNAME DATA L*NP$STTP*
- TEMP BSS 1
- END
- *ENDIF
cdc/nos2.source/nam5871/np_sttp.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator