*DECK,FLY 
          IDENT FLY ME TO THE MOON
*CALL,SSTCALL 
          NOREF  CALLBIT
          NOREF  I
          NOREF  MPT
          NOREF  MSKCHBIT 
          NOREF  OTHER
          NOREF  SKIPBIT
          NOREF  TESTBIT
          NOREF  TESTV
          NOREF  VALID
          TITLE  TRANSITION DIAGRAM ORIENTED PROCESSING 
 B=FLY    RPVDEF             DEFINE ROUTINE FWA FOR REPRIEVE UTILITY
          TITLE  --MACRO NODEFN-- MACRO TO DEFINE TRANSITION NODE MACRO 
LIST      OPSYN  NIL
          LIST   G,M,D,A
NODEFN    MACRO  NODE,Y,CODETYPE
 ^        MICRO  1,0,/NODEMS 1/ 
 [        MICRO  1,0,/NODEMS 0/ 
 =        MICRO  1,0,/NODECH 0,0/ 
 @        MICRO  1,0,/NODECH 1,1/ 
 <        MICRO  1,0,/NODECH 1,0/ 
 /        MICRO  1,0,/NODEGO/ 
          MACRO  NODE,LBL,MICR,ROUTINE,PAR
          IFC    EQ,Y_LBL_Y_Y,1 
           ERR    MISSING LABEL 
 LBL      BSS    0
          IFC    NE,Y_ROUTINE_Y_Y,1 
           CODE1  ROUTINE,(PAR) 
 MIC      MICRO  1,0,Y"MICR"Y 
 MPT      SET 1 
 OTHER    SET    0
BLUFF     DUP    127
 VALID     SET    0 
           BLANKS MIC,MPT,C 
STOP       IFC    EQ,Y"C"Y_Y
 VALID      SET    1
            STOPDUP 
STOP       ELSE 
 MPT        SET    MPT+1
 D          MICRO  1,0,"C"^[=@</"C" 
STOP        IFC    NE,Y"D"Y_^[@</Y
 C           MICEQU "C" 
 SKIPBIT     SET    0 
             "C"
 C           MICRO  MPT,1,Y"MIC"Y 
 MPT         SET    MPT+1 
             IFC    EQ,Y"C"Y,Y,2
              SKIPTO (:),MIC,MPT,C
 SKIPBIT      SET    1
 VALID       SET    0 
STOP         IFC    EQ,Y"C"Y_:_Y
 VALID        SET    1
 NODENM       NAME   MIC,MPT,C
              IFEQ   OTHER,1,1
 NODENM        MICRO  1,0, -"NODENM"
 CALLBIT      SET    0
              IFC    EQ,Y"C"Y,Y,5 
 CALLBIT       SET    1 
 CALLNM        NAME   MIC,MPT,C 
 PARAM         MICRO  1,1, 0
               IFC    EQ,Y"C"Y(Y,1
 PARAM          SCANTO ),MIC,MPT,C
              CODE
STOP       ENDIF
           IFEQ   VALID,0,1 
            STOPDUP 
BLUFF     ENDD
          IFEQ   VALID,0,5
 C         MICRO  1,MPT,Y"MICR"Y
           LIST   A 
           ERR    ILLEGAL MICRO DEFINITION FOR THIS CALL TO NODE
,                 THE PORTION OF THE MICRO SCANNED FOLLOWS--
           ERR   Y"C"Y
NODE      ENDM
NODECH    MACRO  T,ADDEND 
 MSKCHBIT SET    0
 TESTBIT  SET    T
 VALID    SET    1
 I        SET    MPT
 MPT      SET    MPT+1
 CH       SCANBK (,:),MIC,MPT,C 
          IFC    EQ,Y"C"Y_Y 
 VALID     SET    0 
          ELSE
 D         MICRO  I,1,Y"MIC"Y 
 CH        MICRO 1,0,Y"D""CH"Y
           IFEQ   I+2,MPT,1 
 CH         MICRO  1,0,Y_1R"CH"Y
 TESTV     MICRO  1,0,Y"CH"+ADDEND_Y
          ENDIF 
 MPT      SET    MPT-1
NODECH    ENDM
NODEMS    MACRO  T
 VALID    SET    1
 MSKCHBIT SET    1
 TESTBIT  SET    T
 MPT      SET    MPT+TESTBIT
          MASKC  MIC,MPT,C,TESTV
 TESTV    DECMIC TESTV
          IFC    EQ,Y"C"Y_Y,1 
 VALID     SET    0 
NODEMS    ENDM
NODEGO    MACRO 
          IFEQ   OTHER,0,2
 OTHER     SET    1 
 VALID     SET    1 
 TESTV    MICRO  1,4,/177B/ 
 MSKCHBIT SET    0
 TESTBIT  SET    1
 SKIPBIT  SET    1
          SKIPTO (:),MIC,MPT,C
 MPT      SET    MPT-1
NODEGO    ENDM
  
          PURGMAC  CODE 
  
GENCODE   IFC    EQ,/CODETYPE/CODE/ 
CODE       MACRO
           LOCAL  BACK,FAIL 
CHARTEST   IFEQ   MSKCHBIT,0
            SB3    X2-"TESTV" 
            IFEQ   TESTBIT,0,1
             NZ     B3,FAIL 
            IFEQ   TESTBIT,1,1
             PL     B3,FAIL 
CHARTEST   ELSE 
            SA3    A0+"TESTV" 
            SB3    X2 
            LX3    X3,B3
            IFEQ   TESTBIT,0,1
             PL     X3,FAIL 
            IFEQ   TESTBIT,1,1
             MI     X3,FAIL 
CHARTEST   ENDIF
           IFNE   SKIPBIT,1,1 
            PUTCH  X2,X3
           IFEQ   CALLBIT,1,4 
            SX3    "PARAM"
            SB4    BACK 
            JP     =X"CALLNM" 
 BACK       BSS    0
 D         MICRO  1,1,Y"NODENM"Y
           IFC    EQ,Y"D"Y_Y,1
 NODENM     MICRO  2,0,Y"NODENM"Y 
           IFC    NE,Y"D"Y_Y,1
            GETCH  X2 
           ZR    "NODENM" 
 FAIL      BSS    0 
CODE       ENDM 
CODE1      MACRO  ROUTINE,PAR 
           LOCAL  BACK
           SX3    PAR 
           SB4    BACK
           ZR     ROUTINE 
 BACK      BSS    0 
CODE1      ENDM 
GENCODE   ELSE
CODE1      MACRO  ROUTINE,PAR 
           VFD    1/1,29/0,12/PAR,18/ROUTINE
CODE1      ENDM 
CODE       MACRO
           VFD    2/CALLBIT,1/SKIPBIT,1/TESTBIT,1/MSKCHBIT,7/"TESTV"
           VFD    18/"NODENM" 
           IFEQ   CALLBIT,1,1 
            VFD    12/"PARAM",18/=X"CALLNM" 
CODE       ENDM 
GENCODE   ENDIF 
BLANKS    MACRO  MIC,MPT,C
 MPT      SET    MPT-10 
          DUP    900
 MPT       SET    MPT+10
 C         MICRO  MPT,10,Y"MIC"Y
           IFC    NE,Y"C"Y          Y,1 
            STOPDUP 
          ENDD
 C        MICRO  MPT,5,Y"MIC"Y
          IFC    EQ,Y"C"Y     Y,1 
 MPT       SET    MPT+5 
 MPT      SET    MPT-1
          DUP    5
 MPT       SET    MPT+1 
 C         MICRO  MPT,1,Y"MIC"Y 
           IFC    NE,Y"C"Y Y,1
            STOPDUP 
          ENDD
BLANKS    ENDM
          MACRO  MICEQU,RESULT,MIC
 RESULT   MICRO  1,0,Y"MIC"Y
MICEQU    ENDM
NODEFN    ENDM
MASKS     MACRO  MASKS,Y,LEFTRITE 
          LOCAL  BORDER,C,I,NMASKS,OLD,POWER,VSET,VORDER,V1,V2,V3 
 NMASKS   SET    0
          USE    MASKS
MASKS     BSS    0
          USE    *
          IFC    EQ,/LEFTRITE/RIGHT/
 VORDER    MICRO  1,0,/V3_V2_V1_V3/ 
 BORDER    MACRO  1,0,/0 1 2 3 4 5 6 7 8 9 10111213141516171819/
          ELSE
 VORDER    MICRO  1,0,/V1_V2_V3_V1/ 
 BORDER    MICRO  1,0,/191817161514131211109 8 7 6 5 4 3 2 1 0 /
          ENDIF 
          MACRO  MASKC,LBL,MIC,MPT,C,ORD
 V1       SET    0
 V2       SET    0
 V3       SET    0
 C        MICRO  MPT,1,Y"MIC"Y
          DUP    64 
 MPT       SET    MPT+1 
 I         SET    1R"C"/20
 VSET      MICRO  8*I+1,8,Y"VORDER"Y
 I         SET    1R"C"-I*20
 POWER     MICRO  2*I+1,2,Y"BORDER"Y
 "VSET"    SET    "VSET"+1S"POWER"
 C         MICRO  MPT,1,Y"MIC"Y 
           IFC    NE,Y"C"Y_Y,1
            IFC    EQ,Y"C"Y_]_Y,1 
             STOPDUP
          ENDD
 MPT      SET    MPT+1
 I        MICRO  1,0, -1
 OLD      SET    0
          DUP    NMASKS 
 I         DECMIC "I"+1 
           IFEQ   MV1"I".,V1,4
            IFEQ   MV2"I".,V2,3 
             IFEQ   MV3"I".,V3,2
              STOPDUP 
 OLD          SET    1
          ENDD
          IFEQ   OLD,0
           USE    MASKS 
           VFD    20/V1,20/V2,20/V3 
           USE    * 
 NMASKS    SET    NMASKS+1
 I         DECMIC NMASKS-1
 MV1"I".   SET    V1
 MV2"I".   SET    V2
 MV3"I".   SET    V3
          ENDIF 
          IFC    NE,//ORD/,1
 ORD       SET    "I" 
          IFC    NE,//LBL/,1
 LBL       EQU    MASKS+"I" 
MASKC     ENDM
          MACRO  MASK,LBL,PARAM 
          LOCAL  MIC,MPT,C
 MIC      MICRO  1,0,Y_PARAM_Y
 MPT      SET    2
 LBL      MASKC  MIC,MPT,C
 MASK     ENDM
MASKS     ENDM
          MASKS  MASKS,#,LEFT 
          TITLE  --MACRO SKIPTO--SKIP TO DELIMITER IN MICRO 
SKIPTO    MACRO  DELIM,S,M,D
          DUP    -1 
D         MICRO  M,1,#"S"#
M         SET    M+1
          IFC    EQ,#"D"#_DELIM_#,1 
          STOPDUP 
          IFC    EQ,#"D"##,2
          STOPDUP 
M         SET    M-1
          ENDD
SKIPTO    ENDM
          TITLE  --MACRO SCANTO--SCAN UNTIL DELIMITER IN MICRO
          MACRO  SCANTO,RESULT,DELIM,S,M,D
          LOCAL  I
RESULT    MICRO  1,0, 
I         SET    M
          SKIPTO DELIM,S,I,D
I         SET    I-M
          IFNE   I,0,1
          IFC    EQ,#"D"#_DELIM_#,1 
RESULT    MICRO  M,I-1,#"S"#
          IFC    NE,#"D"#_DELIM_#,1 
RESULT    MICRO  M,I,#"S"#
M         SET    M+I
SCANTO    ENDM
          TITLE  --MACRO NAME--SCAN OFF NAME IN MICRO 
          MACRO  NAME,RESULT,S,M,D
RESULT    MICRO  1,0, 
D         MICRO  M,1,#"S"#
M         SET    M+1
          IFC    NE,#"D"##
          IFGE   1R"D",1RA
          IFLE   1R"D",1RZ
          DUP    8
RESULT    MICRO  1,0,#"RESULT""D"#
D         MICRO  M,1,#"S"#
M         SET    M+1
          IFC    EQ,#"D"##,2
M         SET    M-1
          STOPDUP 
          IFLT   1R"D",1RA,1
          STOPDUP 
          IFGT   1R"D",1R9,3
          IFC    NE,#"D"#.#,2 
          IFC    NE,#"D"#$#,1 
          STOPDUP 
          ENDD
          ENDIF 
NAME      ENDM
          TITLE  --MACRO NUMBX--SCAN OFF NUMERIC EXPRESSION IN MICRO
          MACRO  NUMBX,RESULT,S,M,D 
RESULT    MICRO 
D         MICRO  M,1,#"S"#
          IFC    NE,#"D"##
M         SET    M+1
          IFGE   1R"D",1RA
          IFLE   1R"D",1R9
          DUP    -1 
RESULT    MICRO  1,0,#"RESULT""D"#
D         MICRO  M,1,#"S"#
M         SET    M+1
          IFC    EQ,#"D"##,2
M         SET    M-1
          STOPDUP 
          IFC    EQ,#"D"#,#,1 
          STOPDUP 
          ENDD
          ENDIF 
NUMBX     ENDM
          TITLE  --MACRO SCANBK--SCAN TO ANY OF A SET OF BREAKS IN MICRO
          MACRO  SCANBK,RESULT,BREAKS,STRING,SPT,DELIM
          LOCAL  CHK,I
RESULT    MICRO 
I         SET    SPT-1
          DUP    -1 
I         SET    I+1
DELIM     MICRO  I,1,#"STRING"# 
          IFC    NE,##"DELIM"#,4
CHK       MICRO  1,0,"DELIM"BREAKS"DELIM" 
          IFC    NE,#_BREAKS_#"CHK"#,1
          STOPDUP 
          IFEQ   1,0,2
I         SET    I-1
          STOPDUP 
          ENDD
I         SET    I+1
          IFNE   I-1,SPT,1
RESULT    MICRO  SPT,I-SPT-1,#"STRING"# 
SPT       SET    I
SCANBK    ENDM
          TITLE  MACROS TO LOAD + STORE CHARACTERS
         EXT       SAVECHR
SAVECHAR EQU       SAVECHR
         EXT       FINISH 
GETCH    MACRO     XN                   TO FETCH NEXT CHARACTER IN
         LOCAL     LBL                  STRING   CHARACTERS PACKED
         A_XN      X1,B2                10 PER WORD.  SHIFT TO RT JSTFY 
         B_XN      -X0*XN               MASK OUT ALL BUT RTMOST CHAR
         GT        B2,B0,LBL            MORE CHARS IN WORD  GO TO LBL 
         SA1       A1-1                 WORD EMPTY. POINT TO NEXT WORD
         SB2       60                   RESET SHIFT COUNT 
LBL      SB2       B2-6                 DECREMENT SHIFT CT FOR NEXT CHAR
         ENDM 
PUTCH    MACRO     XN,XM                TO STORE AWAY CHARACTER STRING
         LOCAL     LBL,M                PACKED 10 CHARACTERS PER WORD.
M        MICRO     2,1, XM
         BX6       XN                   OUTPUT STORAGE IS ONE CHARACTER 
         SA"M"     SAVECHAR             BEHIND, HOLDING MOST RECENT CHAR
         L_XM      XM,B7                IN LOC SAVECHAR.
         BX7       X7+XM                SHIFT OUTPUT WORD TO APPEND CHAR
         SB7       B7-6                 UPDATE SHIFT COUNT
         SA6       A"M"                 STORE NEW SAVECHAR
         PL        B7,LBL               WORD NOT FULL. GO TO LBL
         SA7       A7-1                 STORE FULL WORD + UPDATE POINTER
         SB7       54                   RESET TO MAX SHIFT COUNT
         MX7       0                    CLEAR OUT OUTPUT WORD 
LBL      BSS       0                    AND RETURN. 
         ENDM 
          ENTRY DIGMASK,TRANSIT,NODE2,MASKS 
 DIGMASK  MASK   [0123456789] 
          TITLE  TRANSITION DIAGRAM TABLE PROCESSOR 
* 
*           BIT POSITION DEFINITIONS FOR TRANSITION DIAGRAM TABLE 
*                  (BIT N REPRESENTS THE 2**NTH BIT)
* 
 CALLPO   SET    28                CALL ROUTINE BIT POSITION
 SKIPCHPO SET    27                SKIP CHARACTER BIT POSITION
 TESTPO   SET    26                TEST IDENTIFIER BIT POSITION 
 MSKCHPO  SET    25                MASK OR CHARACTER TEST BIT POSITION
 TESTVPO  SET    18                LOW ORDER BIT POSITION OF TEST VALUE 
          SPACE  2
 TRANSIT  SX6    TRANTCH           INITIAL ENTRY--SET SWITCH TO GET THE 
          SA6    TSWITCHT            NEXT CHARACTER.
 TRETURNT SA4    TSWITCHT          FETCH SWITCH VALUE.
          SB4    X4 
 TCYCLET  SA3    B3                BEGIN PROCESSING OF NODE.
          PL     X3,TRANT01        BRANCH IF A ROUTINE IS NOT TO BE 
          SB5    X3                  CALLED, ELSE EXTRACT THE ADDRESS OF
          LX3    60-12-18            THE ROUTINE AND POSITION THE 
          SB3    B3+1                PARAMETER (RIGHT JUSTIFIED WITH
          AX3    60-12               SIGN-EXTENSION) IN  X3  AND JUMP TO
          SX6    B4 
          SA6    TSWITCHT 
          JP     B5                  THE ROUTINE. 
 TRANT01  JP     B4                *SWITCH* (EITHER TRANTCH OR TRANTGO) 
 TRANTCH  GETCH  X2                PLACE THE NEXT INPUT CHAR INTO X2. 
 TRANTGO  SB4    X2                PUT CHARACTER INTO B4 FOR LATER TEST.
          SB5    30                OBTAIN THE NEXT NODE HALF-WORD 
          SX3    B3                  DESCRIPTOR, RIGHT-JUSTIFIED IN X3. 
          SB3    -B3                 UPDATE THE POINTER IN  B3.  (IF  B3
          PL     X3,TRANT02          IS NEGATIVE THEN USE RIGHT HALF OF 
          BX3    -X3                 WORD AT ADDRESS  (-B3), ELSE USE 
          SB5    B0                  THE LEFT HALF OF THE WORD AT 
          SB3    B3+1                ADDRESS (B3)). 
 TRANT02  SA3    X3 
          LX3    X3,B5
          LX4    X3                REPLICATE THE DESCRIPTOR SEVERAL 
          BX5    X3                  TIMES AND POSITION THE COPIES OF 
          LX5    59-TESTVPO+1        THE DESCRIPTOR WITH THE SIGNIFICANT
          MX6    60-7                BITS AT BIT 59 FOR SIGN BIT TESTS. 
          BX6    -X6*X5              ALSO EXTRACT THE TEST VALUE AND
          LX4    59-MSKCHPO          PLACE IT IN  B5. 
          SB5    X6 
          LX5    TESTVPO-1-CALLPO 
          BX6    X3 
          LX6    59-TESTPO
          NG     X4,TRANT07        BRANCH IF A MASK TEST, ELSE A CHAR 
          NG     X6,TRANT03          TEST--BRANCH IF A LESS-THAN TEST.
          LX6    TESTPO-SKIPCHPO     NO, POSITION THE SKIP CHARACTER BIT
          EQ     B4,B5,TRANT.T       AND BRANCH IF  CHAR=TEST VALUE 
 TRANT.F  PL     X5,TRANTGO        BRANCH FAILED--BRANCH IF NO ROUTINE
          SB3    -B3                 INFORMATION EXPECTED (IF SO SKIP 
          NG     B3,TRANTGO          THE NEXT HALF-WORD WHICH CONTAINS
          SB3    B3+1                THE INFORMATION AND BRANCH TO
          ZR     TRANTGO           TRANTGO  TO CONTINUE PROCESSING).
 TRANT03  GE     B4,B5,TRANT.F     IF  CHAR\TEST VALUE  GO TO TRANT.F 
          LX6    TESTPO-SKIPCHPO   POSITION SKIP-CHARACTER BIT. 
 TRANT.T  SX4    B3                BRANCH SUCCEEDED--SAVE CURRENT NODE
          SB3    X3                  POINTER AND SET NEW NODE POINTER.
          NG     X6,TRANT04          BRANCH IF CHARACTER TO BE SKIPPED, 
          PUTCH X2,X3                ELSE PUT AWAY THE CHARACTER. 
 TRANT04  SB4    TRANTCH             SET THE SWITCH (SEE TRANT01) TO
          PL     B3,TRANT05          FETCH THE NEXT INPUT CHARACTER 
          SB4    TRANTGO             UNLESS THIS IS AN -OTHER- BRANCH,
          SB3    -B3                 (IE THE CURRENT CHAR IS TO BE USED)
 TRANT05  PL     X5,TCYCLET          RETURN TO PROCESS NEXT NODE UNLESS 
          SB5    30                  A ROUTINE IS TO BE CALLED, IN WHICH
          PL     X4,TRANT06          CASE FETCH THE NEXT HALFWORD AFTER 
          BX4    -X4                 THE SUCCESSFUL BRANCH AND EXTRACT
          SB5    B0                  THE ADDRESS OF THE ROUTINE TO BE 
 TRANT06  SA3    X4                  CALLED AND PUT IT INTO  B5.
          LX3    X3,B5               POSITION THE 12-BIT PARAMETER IN 
          SB5    X3                  X3  (RIGHT-JUSTIFIED WITH SIGN 
          LX3    60-12-18            EXTENSION) AND JUMP TO THE ROUTINE 
          AX3    60-12               AFTER SAVING THE SWITCH VALUE. 
          SX6    B4 
          SA6    TSWITCHT 
          SB4    TRETURNT            SET RETURN ADDRESS.
          JP     B5 
 TRANT07  SA4    A0+B5             MASK TEST--LOAD THE MASK AND SHIFT 
          LX4    X4,B4               THE BIT CORRESPONDING TO THE CHAR
          BX4    X4-X6               INTO THE SIGN BIT (COMPLEMENT THE
          LX6    TESTPO-SKIPCHPO     BIT IF A NOT-PRESENT TEST. 
          NG     X4,TRANT.T          BRANCH TO  TRANT.T  IF THE TEST IS 
          ZR     TRANT.F             SUCCESSFUL, ELSO GO TO  TRANT.F
          SPACE  2
* 
*                STORAGE DEFINITION LOCAL TO  TRANSIT 
* 
 TSWITCHT BSS    1                 STORAGE FOR SWITCH USED AT  TRANT01
                                     (VALUE EITHER TRANTCH OR TRANTGO)
          TITLE  MICRO DEFINITIONS FOR FORMAT TRANSITION DIAGRAM
 N1      MICRO  1,0,#        = ,NOPACK:NODE1
,                            =,:NODE2 
,                            =/:NODE2,SLASH(1)
,                            =):NODE2,RITEPAR(1)
,                            [*"]:NODE2,HSTRNGR(1)
,                            =T:NODE9,TSASI 
,                            /ELSE:NODE2,IERROR(1)                     #
 N2      MICRO  1,0,#        /ELSE:NODE2P,ONECNT                       #
 N2P     MICRO  1,0,#        [ ,],NOPACK:NODE2P 
,                            =/:NODE2,SLASH(0)
,                            =X:NODE2,XPROC(0)  =):NODE2,RITEPAR(0) 
,                            [0123456789=]:NODE3,NUMBER(0)
,                            =T:NODE9,TSASI 
,                            =P:NODE12,NULLP
,                            =-:NODE10,NEGSET  =+:NODE10,UERROR(21) 
,                            [*"]:NODE2,HSTRNGR(0)
,                            =H:FATAL,FERROR(40) /ELSE:NODE3 #
 N3      MICRO  1,0,#        =P:NODE12,RANGE(-1)
,                            =X:NODE2,XPROC(1)
,                            /ELSE:NODE4,RANGE(0)                      #
 N4       MICRO  1,0,#       [DG]:NODE5,SPESSET(-3) 
,                            =E:NODE5,SPESSET(-1) 
,                            =F:NODE5 
,                            [AL]:NODE8  [IO]:NODE8,SPESSET(1)
,                            =V:NODE4A,SPESSET(3)  [RZ]:NODE8,UERROR(22)
,                            =H:NODE2,HCOUNTR 
,                            =(:NODE2,LEFTPAR 
,                            /ELSE:FATAL,FERROR(31)                    #
 N4A      MICRO  1,0,#       = ,NOPACK:NODE4A 
,                            [0123456789=]:NODE4B,WIDTH(1)
,                            /ELSE:NODE2                               #
 N4B      MICRO  1,0,#       = ,NOPACK:NODE4B 
,                            =.:NODE4C
,                            /ELSE:NODE1                               #
 N4C      MICRO  1,0,#       = ,NOPACK:NODE4C 
,                            [0123456789=]:NODE7A,DECIM(0)
,                            /ELSE:NODE1,IERROR(6)                     #
 N5      MICRO  1,0,#        = ,NOPACK:NODE5
,                            [0123456789=]:NODE6,WIDTH(0) 
,                            /ELSE:FATAL,FERROR(32)                    #
 N6      MICRO  1,0,#        =.:NODE7 
,                            /ELSE:NODE1,IERROR(6)                     #
 N7      MICRO  1,0,#        = ,NOPACK:NODE7
,                            [0123456789=]:NODE7A,DECIM(-1) 
,                            /ELSE:NODE1,IERROR(6)                     #
 #T       IFNE   TEST,0 
 N7A      MICRO  1,0,#       = ,NOPACK:NODE7A 
,                            [DET]:NODE1,SPES(1)
,                            /ELSE:NODE1                               #
 #T       ELSE
 N7A      MICRO  1,0,#       = ,NOPACK:NODE7A 
,                            [DE]:NODE1,SPES(1) 
,                            /ELSE:NODE1                               #
 #T       ENDIF 
 N8      MICRO  1,0,#        = ,NOPACK:NODE8
,                            [0123456789=]:NODE8A,WIDTH(1)
,                            /ELSE:FATAL,FERROR(33)                    #
 N8A      MICRO  1,0,#       =.:NODE1,SPES(0) 
,                            /ELSE:NODE1                               #
 N9      MICRO  1,0,#        = ,NOPACK:NODE9
,                            [0123456789=]:NODE1,TCODE
,                            /ELSE:FATAL,FERROR(34)                    #
 N10     MICRO  1,0,#        = ,NOPACK:NODE10 
,                            =P:NODE12,NULLP
,                            =X:NODE2,XPROC(0)
,                            =V:NODE2,UERROR(22)
,                            [0123456789=]:NODE11,NUMBER(0) 
,                            /ELSE:FATAL,FERROR(35)                    #
 N11      MICRO  1,0,#       =P:NODE12,RANGE(-1)
,                            =X:NODE2,XPROC(1)
,                            =V:NODE2,UERROR(22)
,                            /ELSE:FATAL,FERROR(36)                    #
 N12     MICRO  1,0,#        = ,NOPACK:NODE12 
,                            [DG]:NODE5,SPESSET(-3) 
,                            =E:NODE5,SPESSET(-1) 
,                            =V:NODE5,SPESSET(3)
,                            =F:NODE5 
,                            [0123456789=]:NODE13,NUMBER(0) 
,                            /ELSE:NODE2,UERROR(23)                    #
 N13      MICRO  1,0,#       [DG]:NODE14,SPESSET(-3)
,                            =E:NODE14,SPESSET(-1)
,                            =F:NODE14
,                            =V:NODE5,SPESSET(3)
,                            /ELSE:NODE3,UERROR(23)                    #
 N14     MICRO  1,0,#        /ELSE:NODE5,RANGE(0)                      #
          TITLE  TABLE GENERATING MACRO CALLS FOR TRANSITION DIAGRAM
          NODEFN NODE,# 
 NODE1    NODE   N1 
 NODE2    NODE   N2 
 NODE2P   NODE   N2P
 NODE3    NODE   N3 
 NODE4    NODE   N4 
 NODE4A   NODE   N4A
 NODE4B   NODE   N4B
 NODE4C   NODE   N4C
 NODE5    NODE   N5 
 NODE6    NODE   N6 
 NODE7    NODE   N7 
 NODE7A   NODE   N7A
 NODE8    NODE   N8 
 NODE8A   NODE   N8A
 NODE9    NODE   N9 
 NODE10   NODE   N10
 NODE11   NODE   N11
 NODE12   NODE   N12
 NODE13   NODE   N13
 NODE14   NODE   N14
 FATAL    BSS    0
          SPACE  5
          END 
