
             Edinburgh IMP77 Compiler - Version 8.4


        LANG 0000
        PUSHS "\n"
        DEF V_0001 SNL
        +   0x0031
        +   0x0001
        +   0x0012
        INIT 1
        DEF V_0002 REM
        +   0x0018
        +   0x0001
        +   0x003e
        START
        DEF V_0003 P
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0004 Q
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0003 READSYMBOL
        +   0x0007
        +   0x0000
        +   0x002e
        START
        DEF V_0004 P
        +   0x0002
        +   0x0000
        +   0x0000
        FINISH
        DEF V_0004 FLOAT
        +   0x0028
        +   0x0001
        +   0x003e
        START
        DEF V_0005 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0005 TOSTRING
        +   0x0038
        +   0x0001
        +   0x003e
        START
        DEF V_0006 P
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0006 SUBSTRING
        +   0x0038
        +   0x00ff
        +   0x003e
        START
        DEF V_0007 S
        +   0x0031
        +   0x00ff
        +   0x0000
        DEF V_0008 F
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0009 T
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0007 FREESPACE
        +   0x0018
        +   0x0001
        +   0x003e
        START
        FINISH
        DEF V_0008 SVC
        +   0x0007
        +   0x0000
        +   0x002e
        START
        DEF V_0009 N
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_000a R
        +   0x0042
        +   0x0000
        +   0x0000
        FINISH
        DEF V_0009 ADDR
        +   0x0018
        +   0x0001
        +   0x003e
        START
        DEF V_000a P
        +   0x0002
        +   0x0000
        +   0x0000
        FINISH
        DEF V_000a INTEGER
        +   0x0019
        +   0x0001
        +   0x002e
        START
        DEF V_000b N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_000b SHORTINTEGER
        +   0x0019
        +   0x0003
        +   0x002e
        START
        DEF V_000c N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_000c BYTEINTEGER
        +   0x0019
        +   0x0002
        +   0x002e
        START
        DEF V_000d N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_000d STRING
        +   0x0039
        +   0x0000
        +   0x002e
        START
        DEF V_000e N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_000e RECORD
        +   0x0049
        +   0x0000
        +   0x002e
        START
        DEF V_000f N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_000f REAL
        +   0x0029
        +   0x0001
        +   0x002e
        START
        DEF V_0010 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0010 LONGREAL
        +   0x0029
        +   0x0004
        +   0x002e
        START
        DEF V_0011 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0011 LENGTH
        +   0x0019
        +   0x0002
        +   0x002e
        START
        DEF V_0012 S
        +   0x0031
        +   0x00ff
        +   0x0000
        FINISH
        DEF V_0012 CHARNO
        +   0x0019
        +   0x0002
        +   0x002e
        START
        DEF V_0013 S
        +   0x0031
        +   0x00ff
        +   0x0000
        DEF V_0014 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0013 INT
        +   0x0018
        +   0x0001
        +   0x003e
        START
        DEF V_0014 X
        +   0x0021
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0014 INTPT
        +   0x0018
        +   0x0001
        +   0x003e
        START
        DEF V_0015 X
        +   0x0021
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0015 IOCP
        +   0x0007
        +   0x0000
        +   0x002e
        START
        DEF V_0016 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0016 TYPEOF
        +   0x0018
        +   0x0001
        +   0x003e
        START
        DEF V_0017 N
        +   0x0002
        +   0x0000
        +   0x0000
        FINISH
        DEF V_0017 SIZEOF
        +   0x0018
        +   0x0001
        +   0x003e
        START
        DEF V_0018 N
        +   0x0002
        +   0x0000
        +   0x0000
        FINISH
        DEF V_0018 FRACPT
        +   0x0028
        +   0x0001
        +   0x003e
        START
        DEF V_0019 X
        +   0x0021
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0019 PROMPT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_001a S
        +   0x0031
        +   0x000f
        +   0x0000
        FINISH
        DEF V_001a NEXTSYMBOL
        +   0x0018
        +   0x0001
        +   0x003b
        START
        FINISH
        DEF V_001b SKIPSYMBOL
        +   0x0007
        +   0x0000
        +   0x002b
        START
        FINISH
        DEF V_001c PRINTSYMBOL
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_001d SYM
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_001d PRINTSTRING
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_001e S
        +   0x0031
        +   0x00ff
        +   0x0000
        FINISH
        DEF V_001e WRITE
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_001f V
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0020 P
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_001f SELECTINPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_0020 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0020 SELECTOUTPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_0021 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0021 OPENINPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_0022 N
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0023 FD
        +   0x0031
        +   0x001f
        +   0x0000
        FINISH
        DEF V_0022 OPENOUTPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_0023 N
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0024 FD
        +   0x0031
        +   0x001f
        +   0x0000
        FINISH
        DEF V_0023 CLOSEINPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        FINISH
        DEF V_0024 CLOSEOUTPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        FINISH
        DEF V_0025 RESETINPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        FINISH
        DEF V_0026 RESETOUTPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        FINISH
        DEF V_0027 TIME
        +   0x0038
        +   0x0008
        +   0x003b
        START
        FINISH
        DEF V_0028 DATE
        +   0x0038
        +   0x0009
        +   0x003b
        START
        FINISH
        DEF V_0029 CPUTIME
        +   0x0018
        +   0x0001
        +   0x003b
        START
        FINISH
        DEF V_002a COMREG
        +   0x0019
        +   0x0001
        +   0x002b
        START
        DEF V_002b N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_002b READ
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_002c X
        +   0x0002
        +   0x0000
        +   0x0000
        FINISH
        DEF V_002c PRINT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_002d VAL
        +   0x0021
        +   0x0001
        +   0x0000
        DEF V_002e BEFORE
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_002f AFTER
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_002d PRINTFL
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_002e VAL
        +   0x0021
        +   0x0001
        +   0x0000
        DEF V_002f PLACES
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_002e SPACE
        +   0x0007
        +   0x0000
        +   0x002b
        START
        FINISH
        DEF V_002f SPACES
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_0030 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0030 NEWLINE
        +   0x0007
        +   0x0000
        +   0x002b
        START
        FINISH
        DEF V_0031 NEWLINES
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_0032 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0032 FILEFM
        +   0x0044
        +   0x0032
        +   0x0000
        START
        DEF V_0000 UNIT
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 OWNER
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 N1
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 N2
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0033 EVENTFM
        +   0x0044
        +   0x0033
        +   0x0000
        START
        DEF V_0000 EVENT
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 SUB
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 EXTRA
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 MESSAGE
        +   0x0031
        +   0x003f
        +   0x0000
        DEF V_0000 PC
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 X
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        DEF V_0034 EVENT
        +   0x0041
        +   0x0033
        +   0x002b
        LINE 1
     1  %external %routine %spec close output
        DEF V_0035 CLOSEOUTPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        FINISH
        LINE 2
     2  %external %routine %spec close input
        DEF V_0036 CLOSEINPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        FINISH
        LINE 3
     3  %external %routine %spec open output(%integer i, %string(255) s)
        DEF V_0037 OPENOUTPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_0038 I
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0039 S
        +   0x0031
        +   0x00ff
        +   0x0000
        FINISH
        LINE 4
     4  %external %routine %spec open input(%integer i, %string(255) s)
        DEF V_0038 OPENINPUT
        +   0x0007
        +   0x0000
        +   0x002b
        START
        DEF V_0039 I
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_003a S
        +   0x0031
        +   0x00ff
        +   0x0000
        FINISH
        LINE 5
     5  %recordformat impcomfm(%integer statements, flags, code, gla, diags, perm,
        DEF V_0039 IMPCOMFM
        +   0x0044
        +   0x0039
        +   0x0000
        START
        DEF V_0000 STATEMENTS
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 FLAGS
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 CODE
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 GLA
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 DIAGS
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 PERM
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 FILE
        +   0x0031
        +   0x001f
        +   0x0000
        DEF V_0000 OPTION
        +   0x0031
        +   0x003f
        +   0x0000
        FINISH
        LINE 8
     6                          %string(31) file,
     7                          %string(63) Option)
     8  %externalrecord(impcomfm) IMPCOM
        DEF V_003a IMPCOM
        +   0x0041
        +   0x0039
        +   0x0023
        INIT 1
        LINE 23
     9  
    10  !
    11  !            On EMAS all shorts should be changed to integers.
    12  !            Also, the INCLUDE facility will need to be modified.
    13  !
    14  !
    15           !###################################################
    16           !            Copyright: 1 January 1980             #
    17           !     Interactive Datasystems (Edinburgh) Ltd.     #
    18           !              32 Upper Gilmore Place              #
    19           !                Edinburgh EH3 9NJ                 #
    20           !               All Rights Reserved                #
    21           !###################################################
    22  
    23  %BEGIN
        BEGIN
        LINE 24
    24     %CONSTSTRING(4) version = "8.4"
        PUSHS "8.4"
        DEF V_003b VERSION
        +   0x0031
        +   0x0004
        +   0x0012
        INIT 1
        LINE 28
    25  
    26     !configuration parameters
    27  
    28     %CONSTINTEGER max int      = ((-1)>>1)//10
        LINE 29
    29     %CONSTINTEGER max dig      = (-1)>>1-maxint*10
        LINE 30
    30     %CONSTINTEGER byte size    = 8;            !bits per byte
        LINE 31
    31     %CONSTINTEGER max tag      = 800;          !max no. of tags
        LINE 32
    32     %CONSTINTEGER max dict     = 6000;         !max extent of dictionary
        LINE 33
    33     %CONSTINTEGER name bits    = 11
        LINE 34
    34     %CONSTINTEGER max names    = 1<<namebits-1
        LINE 35
    35     %OWNINTEGER   spare names  = max names
        PUSHI #0x000007ff
        DEF V_003c SPARENAMES
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 36
    36     %CONSTINTEGER max grammar  = 1720
        LINE 37
    37     %CONSTINTEGER lit max      = 50;           !max no. of constants/stat.
        LINE 38
    38     %CONSTINTEGER rec size     = 520;          !size of analysis record
        LINE 39
    39     %CONSTINTEGER dim limit    = 6;            !maximum array dimension
        LINE 43
    40  
    41     !symbols
    42  
    43     %CONSTINTEGER ff     = 12;              !form feed
        LINE 44
    44     %CONSTINTEGER marker = '^';             !marker for faults
        LINE 45
    45     %CONSTINTEGER squote = '"';             !string quote
        LINE 46
    46     %CONSTINTEGER cquote = '''';            !character quote
        LINE 50
    47  
    48     !streams
    49  
    50     %CONSTINTEGER source = 1; ! input streams
        LINE 53
    51     ! 2 is for prims
    52     ! 3 is for include files
    53     %CONSTINTEGER report = 0, object = 1, listing = 2;! output streams
        LINE 58
    54  
    55  
    56     !types
    57  
    58     %CONSTINTEGER integer = 1
        LINE 59
    59     %CONSTINTEGER real    = 2
        LINE 60
    60     %CONSTINTEGER stringv = 3
        LINE 61
    61     %CONSTINTEGER record  = 4
        LINE 65
    62  
    63     !forms
    64  
    65     %CONSTINTEGER iform = integer<<4+1
        LINE 67
    66  
    67     %CONSTINTEGER var = 91
        LINE 68
    68     %CONSTINTEGER const   = 93
        LINE 69
    69     %CONSTINTEGER swit    = 105
        LINE 70
    70     %CONSTINTEGER comment = 22
        LINE 71
    71     %CONSTINTEGER termin  = 20
        LINE 72
    72     %CONSTINTEGER lab     = 3
        LINE 73
    73     %CONSTINTEGER jump    = 54
        LINE 75
    74  
    75     %CONSTINTEGER recfm = 4
        LINE 76
    76     %CONSTINTEGER proc  = 7;                     !class for proc
        LINE 80
    77  
    78     !phrase entries
    79  
    80     %CONSTINTEGER escdec   = 252
        LINE 81
    81     %CONSTINTEGER escproc  = 253
        LINE 82
    82     %CONSTINTEGER escarray = 254
        LINE 83
    83     %CONSTINTEGER escrec   = 255
        LINE 85
    84  
    85     %RECORDFORMAT arfm(%SHORTINTEGER class,sub,link,ptype,papp,pformat,x,pos);!imp77:
        DEF V_003d ARFM
        +   0x0044
        +   0x003d
        +   0x0000
        START
        DEF V_0000 CLASS
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 SUB
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 LINK
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 PTYPE
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 PAPP
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 PFORMAT
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 X
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 POS
        +   0x0011
        +   0x0003
        +   0x0000
        FINISH
        LINE 88
    86  !emas:%RECORDFORMAT arfm(%INTEGER class,sub,link,ptype,papp,pformat,x,pos)
    87  
    88     %RECORDFORMAT tagfm(%INTEGER app, format, %C
        DEF V_003e TAGFM
        +   0x0044
        +   0x003e
        +   0x0000
        START
        DEF V_0000 APP
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 FORMAT
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_0000 FLAGS
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 INDEX
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 TEXT
        +   0x0011
        +   0x0003
        +   0x0000
        DEF V_0000 LINK
        +   0x0011
        +   0x0003
        +   0x0000
        FINISH
        LINE 107
    89                         %SHORTINTEGER flags, index, text, link)
    90  
    91     !flags
    92  
    93  !      *===.===.===.===.===.====.====.====.===.======.======*
    94  !      ! u ! c ! c ! p ! s ! a  ! o  ! pr ! s ! type ! form !
    95  !      ! 1 ! 1 ! 1 ! 1 ! 1 ! 1  ! 1  ! 1  ! 1 !  3   !  4   !
    96  !      *===^===^===^===^===^====^====^====^===^======^======*
    97  !        u   c   c   p   s   a    o    p    s    t      f
    98  !        s   l   o   a   u   n    w    r    p    y      o
    99  !        e   o   n   r   b   a    n    o    e    p      r
   100  !        d   s   s   a   n   m         t    c    e      m
   101  !            e   t   m   a   e     
   102  !            d       s   m
   103  !                        e
   104  !
   105  !                             
   106  
   107     %CONSTINTEGER used bit   = b'1000000000000000',
        LINE 117
   108                   closed     = b'0100000000000000',
   109                   const bit  = b'0010000000000000',
   110                   parameters = b'0001000000000000',
   111                   subname    = b'0000100000000000',
   112                   aname      = b'0000010000000000',
   113                   own bit    = b'0000001000000000',
   114                   prot       = b'0000000100000000',
   115                   spec       = b'0000000010000000'
   116  
   117     %CONSTINTEGER trans bit  = x'4000'
        LINE 118
   118     %CONSTINTEGER error      = x'8000'
        LINE 120
   119  
   120     %CONSTINTEGER manifest = 120, figurative = 130
        LINE 121
   121     %CONSTINTEGER actions  = 180, phrasal    = 200
        LINE 123
   122  
   123     %CONSTBYTEINTEGERARRAY amap(0:15) = %C
        PUSHI #0x00000000
        PUSHI #0x0000000f
        BOUNDS
        DEF V_003f AMAP
        +   0x001b
        +   0x0002
        +   0x0112
        PUSHI #0x00000059
        INIT 1
        PUSHI #0x0000005b
        INIT 1
        PUSHI #0x0000005c
        INIT 1
        PUSHI #0x00000068
        INIT 1
        PUSHI #0x0000005e
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x00000069
        INIT 1
        PUSHI #0x00000064
        INIT 1
        PUSHI #0x00000065
        INIT 1
        PUSHI #0x00000066
        INIT 1
        PUSHI #0x00000067
        INIT 1
        PUSHI #0x0000006a
        INIT 1
        PUSHI #0x0000006b
        INIT 1
        PUSHI #0x0000006c
        INIT 1
        PUSHI #0x0000006d
        INIT 1
        PUSHI #0x00000059
        INIT 1
        LINE 127
   124   89, 91, 92, 104, 94, const, swit, 100, 101, 102, 103, 106, 107, 108, 109, 89
   125  !?   v   n   l    fm  const  swit  rp   fp   mp   pp   a    an   na   nan  ?
   126  
   127     %CONSTBYTEINTEGERARRAY atoms(0:15) = 89, 1, 1, 10,  9,  1, 10,  7,
        PUSHI #0x00000000
        PUSHI #0x0000000f
        BOUNDS
        DEF V_0040 ATOMS
        +   0x001b
        +   0x0002
        +   0x0112
        PUSHI #0x00000059
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x0000000a
        INIT 1
        PUSHI #0x00000009
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x0000000a
        INIT 1
        PUSHI #0x00000007
        INIT 1
        PUSHI #0x00000007
        INIT 1
        PUSHI #0x00000007
        INIT 1
        PUSHI #0x00000007
        INIT 1
        PUSHI #0x00000004
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000004
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000059
        INIT 1
        LINE 130
   128                                           7, 7, 7,  4,  1,  4,  1, 89
   129  
   130     %RECORD(arfm)%ARRAY ar(1:rec size)
        DEF V_0041 AR
        +   0x004b
        +   0x003d
        +   0x0100
        PUSHI #0x00000001
        PUSHI #0x00000208
        DIM 0001 0001
        LINE 132
   131  
   132     %OWNINTEGER class        = 0;             !class of atom wanted
        PUSHI #0x00000000
        DEF V_0042 CLASS
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 133
   133     %OWNINTEGER x            = 0;             !usually last tag
        PUSHI #0x00000000
        DEF V_0043 X
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 134
   134     %OWNINTEGER atom1        = 0;             !atom class (major)
        PUSHI #0x00000000
        DEF V_0044 ATOM1
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 135
   135     %OWNINTEGER atom2        = 0;             !atom class (minor)
        PUSHI #0x00000000
        DEF V_0045 ATOM2
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 136
   136     %OWNINTEGER subatom      = 0;             !extra info about atom
        PUSHI #0x00000000
        DEF V_0046 SUBATOM
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 137
   137     %OWNINTEGER type         = 0,
        PUSHI #0x00000000
        DEF V_0047 TYPE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_0048 APP
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_0049 FORMAT
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 140
   138                 app          = 0,
   139                 format       = 0;             !atom info
   140     %INTEGER hash value
        DEF V_004a HASHVALUE
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 141
   141     %OWNINTEGER faulty       = 0;             !fault indicator
        PUSHI #0x00000000
        DEF V_004b FAULTY
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 142
   142     %OWNINTEGER fault rate   = 0;             !fault rate count
        PUSHI #0x00000000
        DEF V_004c FAULTRATE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 143
   143     %OWNINTEGER lines        = 0;             !current line number
        PUSHI #0x00000000
        DEF V_004d LINES
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 144
   144     %OWNINTEGER text line    = 0;             !starting line for string const
        PUSHI #0x00000000
        DEF V_004e TEXTLINE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 145
   145     %OWNINTEGER margin       = 0;             !statement start margin
        PUSHI #0x00000000
        DEF V_004f MARGIN
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 146
   146     %OWNINTEGER error margin = 0,
        PUSHI #0x00000000
        DEF V_0050 ERRORMARGIN
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_0051 ERRORSYM
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_0052 COLUMN
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 149
   147                 error sym    = 0,
   148                 column       = 0
   149     %OWNINTEGER stats        = 0;             !statements compiled
        PUSHI #0x00000000
        DEF V_0053 STATS
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 150
   150     %OWNINTEGER mon pos      = 0;             !flag for diagnose
        PUSHI #0x00000000
        DEF V_0054 MONPOS
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 151
   151     %OWNINTEGER sym          = nl;            !current input symbol
        PUSHI #0x0000000a
        DEF V_0055 SYM
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 152
   152     %OWNINTEGER symtype      = 0;             !type of current symbol
        PUSHI #0x00000000
        DEF V_0056 SYMTYPE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 153
   153     %OWNINTEGER quote        = 0;             !>0 strings, <0 chars
        PUSHI #0x00000000
        DEF V_0057 QUOTE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 154
   154     %owninteger end mark     = 0;             !%end flag
        PUSHI #0x00000000
        DEF V_0058 ENDMARK
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 155
   155     %OWNINTEGER cont         = ' ',
        PUSHI #0x00000020
        DEF V_0059 CONT
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000020
        DEF V_005a CSYM
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 157
   156                 csym         = ' ';           !listing continuation marker
   157     %OWNINTEGER decl         = 0;             !current declarator flags
        PUSHI #0x00000000
        DEF V_005b DECL
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 158
   158     %OWNINTEGER dim          = 0;             !arrayname dimension
        PUSHI #0x00000000
        DEF V_005c DIM
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 159
   159     %OWNINTEGER spec given   = 0
        PUSHI #0x00000000
        DEF V_005d SPECGIVEN
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 161
   160  
   161     %OWNINTEGER escape class = 0;             !when and where to escape
        PUSHI #0x00000000
        DEF V_005e ESCAPECLASS
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 162
   162     %OWNINTEGER protection   = 0,
        PUSHI #0x00000000
        DEF V_005f PROTECTION
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_0060 ATOMFLAGS
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 164
   163                 atom flags   = 0
   164     %OWNINTEGER otype        = 0;             !current 'own' type
        PUSHI #0x00000000
        DEF V_0061 OTYPE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 165
   165     %OWNINTEGER reals ln     = 1;             ! =4 for %REALSLONG
        PUSHI #0x00000001
        DEF V_0062 REALSLN
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 166
   166     %OWNINTEGER last1        = 0;             !previous atom class
        PUSHI #0x00000000
        DEF V_0063 LAST1
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 167
   167     %OWNINTEGER gen type     = 0
        PUSHI #0x00000000
        DEF V_0064 GENTYPE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 168
   168     %OWNINTEGER ptype        = 0;             !current phrase type
        PUSHI #0x00000000
        DEF V_0065 PTYPE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 169
   169     %OWNINTEGER papp         = 0;             !current phrase parameters
        PUSHI #0x00000000
        DEF V_0066 PAPP
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 170
   170     %OWNINTEGER pformat      = 0;             !current phrase format
        PUSHI #0x00000000
        DEF V_0067 PFORMAT
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 171
   171     %OWNINTEGER force        = 0;             !force next ptype
        PUSHI #0x00000000
        DEF V_0068 FORCE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 172
   172     %OWNINTEGER g            = 0,
        PUSHI #0x00000000
        DEF V_0069 G
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_006a GG
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_006b MAPGG
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 175
   173                 gg           = 0,
   174                 map gg       = 0;             !grammar entries
   175     %OWNINTEGER fdef         = 0;             !current format definition
        PUSHI #0x00000000
        DEF V_006c FDEF
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 176
   176     %OWNINTEGER this         = -1;            !current recordformat tag
        PUSHI #0xffffffff
        DEF V_006d THIS
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 177
   177     %OWNINTEGER nmin         = 0;             !analysis record atom pointer
        PUSHI #0x00000000
        DEF V_006e NMIN
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 178
   178     %OWNINTEGER nmax         = 0;             !analysis record phrase pointer
        PUSHI #0x00000000
        DEF V_006f NMAX
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 179
   179     %OWNINTEGER rbase        = 0;             !record format definition base
        PUSHI #0x00000000
        DEF V_0070 RBASE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 180
   180     %OWNINTEGER stbase       = 0;             !constant work area base
        PUSHI #0x00000000
        DEF V_0071 STBASE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 181
   181     %OWNINTEGER gmin         = max grammar;   !upper bound on grammar
        PUSHI #0x000006b8
        DEF V_0072 GMIN
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 182
   182     %OWNINTEGER dmax         = 1
        PUSHI #0x00000001
        DEF V_0073 DMAX
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 183
   183     %OWNINTEGER tmin         = max tag;       !upper bound on tags
        PUSHI #0x00000320
        DEF V_0074 TMIN
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 184
   184     %OWNINTEGER ss           = 0;             !source statement entry
        PUSHI #0x00000000
        DEF V_0075 SS
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 185
   185     %STRING(63) include file
        DEF V_0076 INCLUDEFILE
        +   0x0031
        +   0x003f
        +   0x0000
        LINE 186
   186     %OWNINTEGER include list = 0,
        PUSHI #0x00000000
        DEF V_0077 INCLUDELIST
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_0078 INCLUDELEVEL
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 188
   187                 include level= 0
   188     %OWNINTEGER include      = 0;                 !=0 unused, #0 being used
        PUSHI #0x00000000
        DEF V_0079 INCLUDE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 189
   189     %OWNINTEGER perm         = 1;             !1 = compiling perm, 0 = program
        PUSHI #0x00000001
        DEF V_007a PERM
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 190
   190     %OWNINTEGER progmode     = 0;             !-1 = file, 1 = begin/eop
        PUSHI #0x00000000
        DEF V_007b PROGMODE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 191
   191     %OWNINTEGER sstype       = 0;             !-1:exec stat
        PUSHI #0x00000000
        DEF V_007c SSTYPE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 195
   192                                               ! 0: declaration
   193                                               ! 1: block in
   194                                               ! 2: block out
   195     %OWNINTEGER spec mode    = 0;             !>=0: definition
        PUSHI #0x00000000
        DEF V_007d SPECMODE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 198
   196                                               ! -1: proc spec
   197                                               ! -2: recordformat
   198     %OWNINTEGER ocount       = -1;            !own constants wanted
        PUSHI #0xffffffff
        DEF V_007e OCOUNT
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 199
   199     %OWNINTEGER limit        = 0;             !lookup limit
        PUSHI #0x00000000
        DEF V_007f LIMIT
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 200
   200     %OWNINTEGER copy         = 0;             !duplicate name flag
        PUSHI #0x00000000
        DEF V_0080 COPY
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 201
   201     %OWNINTEGER order        = 0;             !out of sequence flag
        PUSHI #0x00000000
        DEF V_0081 ORDER
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 202
   202     %OWNINTEGER for warn     = 0;             !non-local flag
        PUSHI #0x00000000
        DEF V_0082 FORWARN
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 203
   203     %OWNINTEGER dubious      = 0;             !flag for dubious statements
        PUSHI #0x00000000
        DEF V_0083 DUBIOUS
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 204
   204     %OWNINTEGER dp           = 1
        PUSHI #0x00000001
        DEF V_0084 DP
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 205
   205     %OWNINTEGER pos1         = 0,
        PUSHI #0x00000000
        DEF V_0085 POS1
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_0086 POS2
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 207
   206                 pos2         = 0;             !error position
   207     %OWNINTEGER pos          = 0;             !input line index
        PUSHI #0x00000000
        DEF V_0087 POS
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 208
   208     %OWNINTEGER dimension    = 0;             !current array dimension
        PUSHI #0x00000000
        DEF V_0088 DIMENSION
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 209
   209     %OWNINTEGER local        = 0;             !search limit for locals
        PUSHI #0x00000000
        DEF V_0089 LOCAL
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 210
   210     %OWNINTEGER fm base      = 0;             !entry for format decls
        PUSHI #0x00000000
        DEF V_008a FMBASE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 211
   211     %OWNINTEGER search base  = 0;             !entry for record_names
        PUSHI #0x00000000
        DEF V_008b SEARCHBASE
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 212
   212     %OWNINTEGER format list  = 0;             !size of current format list
        PUSHI #0x00000000
        DEF V_008c FORMATLIST
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 213
   213     %INTEGER recid
        DEF V_008d RECID
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 214
   214     %OWNBYTEINTEGERARRAY char(0:133) = nl(134);  !input line
        PUSHI #0x00000000
        PUSHI #0x00000085
        BOUNDS
        DEF V_008e CHAR
        +   0x001b
        +   0x0002
        +   0x0121
        PUSHI #0x0000000a
        INIT 134
        LINE 215
   215     %INTEGERARRAY lit pool(0:lit max)
        DEF V_008f LITPOOL
        +   0x001b
        +   0x0001
        +   0x0100
        PUSHI #0x00000000
        PUSHI #0x00000032
        DIM 0001 0001
        LINE 216
   216     %OWNINTEGER lit          = 0;             !current literal (integer)
        PUSHI #0x00000000
        DEF V_0090 LIT
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 217
   217     %OWNINTEGER lp           = 0;             !literals pointer
        PUSHI #0x00000000
        DEF V_0091 LP
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 218
   218     %OWNINTEGER block x      = 0;             !block tag
        PUSHI #0x00000000
        DEF V_0092 BLOCKX
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 219
   219     %OWNINTEGER list         = 1;             !<= to enable
        PUSHI #0x00000001
        DEF V_0093 LIST
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 220
   220     %OWNINTEGER control      = 0
        PUSHI #0x00000000
        DEF V_0094 CONTROL
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 221
   221     %OWNINTEGER diag         = 0;             !diagnose flags
        PUSHI #0x00000000
        DEF V_0095 DIAG
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 222
   222     %SHORTINTEGERARRAY hash(0:max names)
        DEF V_0096 HASH
        +   0x001b
        +   0x0003
        +   0x0100
        PUSHI #0x00000000
        PUSHI #0x000007ff
        DIM 0001 0001
        LINE 223
   223     %RECORD(tagfm)%ARRAY tag(0:max tag)
        DEF V_0097 TAG
        +   0x004b
        +   0x003e
        +   0x0100
        PUSHI #0x00000000
        PUSHI #0x00000320
        DIM 0001 0001
        LINE 224
   224     %SHORTINTEGERARRAY dict(1:max dict)
        DEF V_0098 DICT
        +   0x001b
        +   0x0003
        +   0x0100
        PUSHI #0x00000001
        PUSHI #0x00001770
        DIM 0001 0001
        LINE 225
   225     %BYTEINTEGERARRAY buff(1:512)
        DEF V_0099 BUFF
        +   0x001b
        +   0x0002
        +   0x0100
        PUSHI #0x00000001
        PUSHI #0x00000200
        DIM 0001 0001
        LINE 226
   226     %OWNINTEGER bp           = 0
        PUSHI #0x00000000
        DEF V_009a BP
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 229
   227  
   228  !*** start of generated tables ***
   229     %endoflist
        LINE 230
   230  %conststring(8)%array text(0:255) = %c
        PUSHI #0x00000000
        PUSHI #0x000000ff
        BOUNDS
        DEF V_009b TEXT
        +   0x003b
        +   0x0008
        +   0x0112
        PUSHS "Z"
        INIT 1
        PUSHS "VDEC"
        INIT 1
        PUSHS "OWNVDEC"
        INIT 1
        PUSHS "EXTVSPEC"
        INIT 1
        PUSHS "ADEC"
        INIT 1
        PUSHS "OWNADEC"
        INIT 1
        PUSHS "EXTASPEC"
        INIT 1
        PUSHS "PROC"
        INIT 1
        PUSHS "PROCSPEC"
        INIT 1
        PUSHS "FORMDEC"
        INIT 1
        PUSHS "SWDEC"
        INIT 1
        PUSHS "LDEC"
        INIT 1
        PUSHS "FORMSPEC"
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS "OPTION"
        INIT 1
        PUSHS "COMMA"
        INIT 1
        PUSHS "T"
        INIT 1
        PUSHS "COLON"
        INIT 1
        PUSHS "COMMENT"
        INIT 1
        PUSHS "LB"
        INIT 1
        PUSHS "ALIAS"
        INIT 1
        PUSHS "RB"
        INIT 1
        PUSHS "SUB"
        INIT 1
        PUSHS "ARRAYD"
        INIT 1
        PUSHS "STYPE"
        INIT 1
        PUSHS "ARRAY"
        INIT 1
        PUSHS "NAME"
        INIT 1
        PUSHS "PROCD"
        INIT 1
        PUSHS "FNMAP"
        INIT 1
        PUSHS "SWITCH"
        INIT 1
        PUSHS "OWN"
        INIT 1
        PUSHS "EXTERNAL"
        INIT 1
        PUSHS "STRING"
        INIT 1
        PUSHS "RECORD"
        INIT 1
        PUSHS "FORMAT"
        INIT 1
        PUSHS "SPEC"
        INIT 1
        PUSHS "MCODE"
        INIT 1
        PUSHS "LABEL"
        INIT 1
        PUSHS "OP1"
        INIT 1
        PUSHS "OP2"
        INIT 1
        PUSHS "OP3"
        INIT 1
        PUSHS "SIGN"
        INIT 1
        PUSHS "UOP"
        INIT 1
        PUSHS "MOD"
        INIT 1
        PUSHS "DOT"
        INIT 1
        PUSHS "COMP"
        INIT 1
        PUSHS "ACOMP"
        INIT 1
        PUSHS "EQ"
        INIT 1
        PUSHS "EQEQ"
        INIT 1
        PUSHS "JAM"
        INIT 1
        PUSHS "JUMP"
        INIT 1
        PUSHS "RESOP"
        INIT 1
        PUSHS "AND"
        INIT 1
        PUSHS "OR"
        INIT 1
        PUSHS "NOT"
        INIT 1
        PUSHS "WHILE"
        INIT 1
        PUSHS "UNTIL"
        INIT 1
        PUSHS "FOR"
        INIT 1
        PUSHS "CWORD"
        INIT 1
        PUSHS "EXIT"
        INIT 1
        PUSHS "ON"
        INIT 1
        PUSHS "SIGNAL"
        INIT 1
        PUSHS "THEN"
        INIT 1
        PUSHS "START"
        INIT 1
        PUSHS "ELSE"
        INIT 1
        PUSHS "FINISH"
        INIT 1
        PUSHS "FELSE"
        INIT 1
        PUSHS "CYCLE"
        INIT 1
        PUSHS "REPEAT"
        INIT 1
        PUSHS "PROGRAM"
        INIT 1
        PUSHS "BEGIN"
        INIT 1
        PUSHS "END"
        INIT 1
        PUSHS "ENDPROG"
        INIT 1
        PUSHS "ENDPERM"
        INIT 1
        PUSHS "FRESULT"
        INIT 1
        PUSHS "MRESULT"
        INIT 1
        PUSHS "BACK"
        INIT 1
        PUSHS "MONITOR"
        INIT 1
        PUSHS "STOP"
        INIT 1
        PUSHS "LIST"
        INIT 1
        PUSHS "REALSLN"
        INIT 1
        PUSHS "CONTROL"
        INIT 1
        PUSHS "INCLUDE"
        INIT 1
        PUSHS "MASS"
        INIT 1
        PUSHS "RTYPE"
        INIT 1
        PUSHS "ADDOP"
        INIT 1
        PUSHS "IDENT"
        INIT 1
        PUSHS "V"
        INIT 1
        PUSHS "N"
        INIT 1
        PUSHS "CONST"
        INIT 1
        PUSHS "FM"
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS "R"
        INIT 1
        PUSHS "F"
        INIT 1
        PUSHS "M"
        INIT 1
        PUSHS "P"
        INIT 1
        PUSHS "RP"
        INIT 1
        PUSHS "FP"
        INIT 1
        PUSHS "MP"
        INIT 1
        PUSHS "PP"
        INIT 1
        PUSHS "L"
        INIT 1
        PUSHS "S"
        INIT 1
        PUSHS "A"
        INIT 1
        PUSHS "AN"
        INIT 1
        PUSHS "NA"
        INIT 1
        PUSHS "NAN"
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS "%MSTART"
        INIT 1
        PUSHS "%CLEAR"
        INIT 1
        PUSHS "%PRED"
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS "%DUBIOUS"
        INIT 1
        PUSHS "%DUP"
        INIT 1
        PUSHS "%PIN"
        INIT 1
        PUSHS "%POUT"
        INIT 1
        PUSHS "%EDUP"
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS "PIDENT"
        INIT 1
        PUSHS "CIDENT"
        INIT 1
        PUSHS "OIDENT"
        INIT 1
        PUSHS "FNAME"
        INIT 1
        PUSHS "SWID"
        INIT 1
        PUSHS "DOTL"
        INIT 1
        PUSHS "DOTR"
        INIT 1
        PUSHS "ASEP"
        INIT 1
        PUSHS "CSEP"
        INIT 1
        PUSHS "OSEP"
        INIT 1
        PUSHS "PSEP"
        INIT 1
        PUSHS "ARB"
        INIT 1
        PUSHS "BPLRB"
        INIT 1
        PUSHS "ORB"
        INIT 1
        PUSHS "PRB"
        INIT 1
        PUSHS "CRB"
        INIT 1
        PUSHS "RCRB"
        INIT 1
        PUSHS "RECRB"
        INIT 1
        PUSHS "RECLB"
        INIT 1
        PUSHS "LAB"
        INIT 1
        PUSHS "MLAB"
        INIT 1
        PUSHS "SLAB"
        INIT 1
        PUSHS "XNAME"
        INIT 1
        PUSHS "OWNT"
        INIT 1
        PUSHS "DBSEP"
        INIT 1
        PUSHS "PCONST"
        INIT 1
        PUSHS "CMOD"
        INIT 1
        PUSHS "CSIGN"
        INIT 1
        PUSHS "CUOP"
        INIT 1
        PUSHS "COP1"
        INIT 1
        PUSHS "COP2"
        INIT 1
        PUSHS "COP3"
        INIT 1
        PUSHS "INDEF"
        INIT 1
        PUSHS "XELSE"
        INIT 1
        PUSHS "CRESOP"
        INIT 1
        PUSHS "NLAB"
        INIT 1
        PUSHS "RUNTIL"
        INIT 1
        PUSHS "ACONST"
        INIT 1
        PUSHS "ORRB"
        INIT 1
        PUSHS "FMANY"
        INIT 1
        PUSHS "OSTRING"
        INIT 1
        PUSHS "FMLB"
        INIT 1
        PUSHS "FMRB"
        INIT 1
        PUSHS "FMOR"
        INIT 1
        PUSHS "RANGERB"
        INIT 1
        PUSHS "FSID"
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS "%DUMMY"
        INIT 1
        PUSHS "%DECL"
        INIT 1
        PUSHS "%TYPE"
        INIT 1
        PUSHS "%ZERO"
        INIT 1
        PUSHS "%APPLY"
        INIT 1
        PUSHS "%PROT"
        INIT 1
        PUSHS "%SETPROT"
        INIT 1
        PUSHS "%PTYPE"
        INIT 1
        PUSHS "%GAPP"
        INIT 1
        PUSHS "%LOCAL"
        INIT 1
        PUSHS "%GUARD"
        INIT 1
        PUSHS "%MCODE"
        INIT 1
        PUSHS "%CDUMMY"
        INIT 1
        PUSHS "%SETTYPE"
        INIT 1
        PUSHS "%OPER"
        INIT 1
        PUSHS "%PARAM"
        INIT 1
        PUSHS "%BLOCK"
        INIT 1
        PUSHS "%OTHER"
        INIT 1
        PUSHS "%COMPILE"
        INIT 1
        PUSHS "APP"
        INIT 1
        PUSHS "BASEAPP"
        INIT 1
        PUSHS "APP2"
        INIT 1
        PUSHS "APP3"
        INIT 1
        PUSHS "APP4"
        INIT 1
        PUSHS "APP5"
        INIT 1
        PUSHS "APP6"
        INIT 1
        PUSHS "ADEFN"
        INIT 1
        PUSHS "NPARM"
        INIT 1
        PUSHS "SWDEF"
        INIT 1
        PUSHS "SWIDS"
        INIT 1
        PUSHS "CIEXP"
        INIT 1
        PUSHS "RCONST"
        INIT 1
        PUSHS "SCONST"
        INIT 1
        PUSHS "ARRAYP"
        INIT 1
        PUSHS "XIMP"
        INIT 1
        PUSHS "IMP"
        INIT 1
        PUSHS "COND"
        INIT 1
        PUSHS "SCOND"
        INIT 1
        PUSHS "EXP1"
        INIT 1
        PUSHS "EXP2"
        INIT 1
        PUSHS "SEXP"
        INIT 1
        PUSHS "IEXP"
        INIT 1
        PUSHS "IEXP1"
        INIT 1
        PUSHS "IEXP2"
        INIT 1
        PUSHS "ISEXP"
        INIT 1
        PUSHS "SEQ"
        INIT 1
        PUSHS "FDEF"
        INIT 1
        PUSHS "EXP"
        INIT 1
        PUSHS "NARRAYP"
        INIT 1
        PUSHS "STRUCT"
        INIT 1
        PUSHS "RESEXP"
        INIT 1
        PUSHS "BPL"
        INIT 1
        PUSHS "CONSTB"
        INIT 1
        PUSHS "FITEM"
        INIT 1
        PUSHS "MOREA"
        INIT 1
        PUSHS "CLIST"
        INIT 1
        PUSHS "FPP"
        INIT 1
        PUSHS "FPP0"
        INIT 1
        PUSHS "FPP1"
        INIT 1
        PUSHS "FPP2"
        INIT 1
        PUSHS "INITVAR"
        INIT 1
        PUSHS "RECEXP"
        INIT 1
        PUSHS "EIMP"
        INIT 1
        PUSHS "IDENTS"
        INIT 1
        PUSHS "RANGE"
        INIT 1
        PUSHS "RCONSTB"
        INIT 1
        PUSHS "VARP"
        INIT 1
        PUSHS "INITDEC"
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS ""
        INIT 1
        PUSHS "ESCDEC"
        INIT 1
        PUSHS "ESCPROC"
        INIT 1
        PUSHS "ESCARRAY"
        INIT 1
        PUSHS "ESCREC"
        INIT 1
        LINE 274
   231  "Z","VDEC","OWNVDEC","EXTVSPEC","ADEC","OWNADEC",
   232  "EXTASPEC","PROC","PROCSPEC","FORMDEC","SWDEC","LDEC",
   233  "FORMSPEC","","","","","",
   234  "OPTION","COMMA","T","COLON","COMMENT","LB",
   235  "ALIAS","RB","SUB","ARRAYD","STYPE","ARRAY",
   236  "NAME","PROCD","FNMAP","SWITCH","OWN","EXTERNAL",
   237  "STRING","RECORD","FORMAT","SPEC","MCODE","LABEL",
   238  "OP1","OP2","OP3","SIGN","UOP","MOD",
   239  "DOT","COMP","ACOMP","EQ","EQEQ","JAM",
   240  "JUMP","RESOP","AND","OR","NOT","WHILE",
   241  "UNTIL","FOR","CWORD","EXIT","ON","SIGNAL",
   242  "THEN","START","ELSE","FINISH","FELSE","CYCLE",
   243  "REPEAT","PROGRAM","BEGIN","END","ENDPROG","ENDPERM",
   244  "FRESULT","MRESULT","BACK","MONITOR","STOP","LIST",
   245  "REALSLN","CONTROL","INCLUDE","MASS","RTYPE","ADDOP",
   246  "IDENT","V","N","CONST","FM","",
   247  "R","F","M","P","RP","FP",
   248  "MP","PP","L","S","A","AN",
   249  "NA","NAN","","","","",
   250  "","","","","","",
   251  "%MSTART","%CLEAR","%PRED","","%DUBIOUS","%DUP",
   252  "%PIN","%POUT","%EDUP","","PIDENT","CIDENT",
   253  "OIDENT","FNAME","SWID","DOTL","DOTR","ASEP",
   254  "CSEP","OSEP","PSEP","ARB","BPLRB","ORB",
   255  "PRB","CRB","RCRB","RECRB","RECLB","LAB",
   256  "MLAB","SLAB","XNAME","OWNT","DBSEP","PCONST",
   257  "CMOD","CSIGN","CUOP","COP1","COP2","COP3",
   258  "INDEF","XELSE","CRESOP","NLAB","RUNTIL","ACONST",
   259  "ORRB","FMANY","OSTRING","FMLB","FMRB","FMOR",
   260  "RANGERB","FSID","","","","",
   261  "","%DUMMY","%DECL","%TYPE","%ZERO","%APPLY",
   262  "%PROT","%SETPROT","%PTYPE","%GAPP","%LOCAL","%GUARD",
   263  "%MCODE","%CDUMMY","%SETTYPE","%OPER","%PARAM","%BLOCK",
   264  "%OTHER","%COMPILE","APP","BASEAPP","APP2","APP3",
   265  "APP4","APP5","APP6","ADEFN","NPARM","SWDEF",
   266  "SWIDS","CIEXP","RCONST","SCONST","ARRAYP","XIMP",
   267  "IMP","COND","SCOND","EXP1","EXP2","SEXP",
   268  "IEXP","IEXP1","IEXP2","ISEXP","SEQ","FDEF",
   269  "EXP","NARRAYP","STRUCT","RESEXP","BPL","CONSTB",
   270  "FITEM","MOREA","CLIST","FPP","FPP0","FPP1",
   271  "FPP2","INITVAR","RECEXP","EIMP","IDENTS","RANGE",
   272  "RCONSTB","VARP","INITDEC","","","",
   273  "ESCDEC","ESCPROC","ESCARRAY","ESCREC"
   274  %constinteger gmax1=719
        LINE 275
   275  %owninteger gmax=719
        PUSHI #0x000002cf
        DEF V_009c GMAX
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 276
   276  %constinteger imp phrase =25
        LINE 278
   277  
   278  %ownshortintegerarray phrase(200:255) = %C
        PUSHI #0x000000c8
        PUSHI #0x000000ff
        BOUNDS
        DEF V_009d PHRASE
        +   0x001b
        +   0x0003
        +   0x0121
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000234
        INIT 1
        PUSHI #0x00000235
        INIT 1
        PUSHI #0x00000237
        INIT 1
        PUSHI #0x00000239
        INIT 1
        PUSHI #0x0000023b
        INIT 1
        PUSHI #0x0000023d
        INIT 1
        PUSHI #0x00000232
        INIT 1
        PUSHI #0x00000266
        INIT 1
        PUSHI #0x000000cb
        INIT 1
        PUSHI #0x000000c8
        INIT 1
        PUSHI #0x0000025a
        INIT 1
        PUSHI #0x000001de
        INIT 1
        PUSHI #0x000001e0
        INIT 1
        PUSHI #0x00000270
        INIT 1
        PUSHI #0x0000012a
        INIT 1
        PUSHI #0x000000ce
        INIT 1
        PUSHI #0x00000134
        INIT 1
        PUSHI #0x0000013e
        INIT 1
        PUSHI #0x000001b1
        INIT 1
        PUSHI #0x000001aa
        INIT 1
        PUSHI #0x000001b5
        INIT 1
        PUSHI #0x000001bc
        INIT 1
        PUSHI #0x000001ca
        INIT 1
        PUSHI #0x000001c5
        INIT 1
        PUSHI #0x000001cd
        INIT 1
        PUSHI #0x000001d3
        INIT 1
        PUSHI #0x000001e2
        INIT 1
        PUSHI #0x00000192
        INIT 1
        PUSHI #0x00000273
        INIT 1
        PUSHI #0x00000275
        INIT 1
        PUSHI #0x0000025b
        INIT 1
        PUSHI #0x00000209
        INIT 1
        PUSHI #0x000001ff
        INIT 1
        PUSHI #0x000001e6
        INIT 1
        PUSHI #0x000001f6
        INIT 1
        PUSHI #0x0000023f
        INIT 1
        PUSHI #0x0000020f
        INIT 1
        PUSHI #0x00000210
        INIT 1
        PUSHI #0x0000021f
        INIT 1
        PUSHI #0x00000226
        INIT 1
        PUSHI #0x00000242
        INIT 1
        PUSHI #0x0000018d
        INIT 1
        PUSHI #0x0000011f
        INIT 1
        PUSHI #0x000000c5
        INIT 1
        PUSHI #0x0000027c
        INIT 1
        PUSHI #0x00000204
        INIT 1
        PUSHI #0x0000026d
        INIT 1
        PUSHI #0x000000a7
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000280
        INIT 1
        PUSHI #0x000002b5
        INIT 1
        PUSHI #0x000002bd
        INIT 1
        PUSHI #0x000002c5
        INIT 1
        LINE 287
   279     0, 564, 565, 567, 569, 571, 573, 562,
   280   614, 203, 200, 602, 478, 480, 624, 298,
   281   206, 308, 318, 433, 426, 437, 444, 458,
   282   453, 461, 467, 482, 402, 627, 629, 603,
   283   521, 511, 486, 502, 575, 527, 528, 543,
   284   550, 578, 397, 287, 197, 636, 516, 621,
   285   167,   0,   0,   0, 640, 693, 701, 709
   286  
   287  %constbyteintegerarray atomic(130:179) = %c
        PUSHI #0x00000082
        PUSHI #0x000000b3
        BOUNDS
        DEF V_009e ATOMIC
        +   0x001b
        +   0x0002
        +   0x0112
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x00000030
        INIT 1
        PUSHI #0x00000030
        INIT 1
        PUSHI #0x00000013
        INIT 1
        PUSHI #0x00000013
        INIT 1
        PUSHI #0x00000013
        INIT 1
        PUSHI #0x00000013
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x00000017
        INIT 1
        PUSHI #0x00000068
        INIT 1
        PUSHI #0x00000068
        INIT 1
        PUSHI #0x00000069
        INIT 1
        PUSHI #0x0000001e
        INIT 1
        PUSHI #0x00000014
        INIT 1
        PUSHI #0x00000015
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x0000002f
        INIT 1
        PUSHI #0x0000002d
        INIT 1
        PUSHI #0x0000002e
        INIT 1
        PUSHI #0x0000002a
        INIT 1
        PUSHI #0x0000002b
        INIT 1
        PUSHI #0x0000002c
        INIT 1
        PUSHI #0x00000028
        INIT 1
        PUSHI #0x00000044
        INIT 1
        PUSHI #0x00000037
        INIT 1
        PUSHI #0x00000068
        INIT 1
        PUSHI #0x0000003c
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x00000028
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x00000017
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x00000039
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x000000b0
        INIT 1
        PUSHI #0x000000b1
        INIT 1
        PUSHI #0x000000b2
        INIT 1
        PUSHI #0x000000b3
        INIT 1
        LINE 297
   288    90,  90,  90,  90,  90,  48,  48,  19,
   289    19,  19,  19,  25,  25,  25,  25,  25,
   290    25,  25,  23, 104, 104, 105,  30,  20,
   291    21,  93,  47,  45,  46,  42,  43,  44,
   292    40,  68,  55, 104,  60,  93,  25,  40,
   293    93,  23,  25,  57,  25,  90, 176, 177,
   294   178, 179
   295  
   296  !  FLAG<1> 0<1> SS<2> 0<3> T<1> LINK<8>
   297  %constshortintegerarray initial(0:119) = %c
        PUSHI #0x00000000
        PUSHI #0x00000077
        BOUNDS
        DEF V_009f INITIAL
        +   0x001b
        +   0x0003
        +   0x0112
        PUSHI #0x00000018
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000017
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000014
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff80d9
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000000d
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000000e
        INIT 1
        PUSHI #0x00000004
        INIT 1
        PUSHI #0xffff80d3
        INIT 1
        PUSHI #0x00000010
        INIT 1
        PUSHI #0xffff80da
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000005
        INIT 1
        PUSHI #0x00000006
        INIT 1
        PUSHI #0x00000003
        INIT 1
        PUSHI #0x0000000c
        INIT 1
        PUSHI #0x0000000f
        INIT 1
        PUSHI #0x00000008
        INIT 1
        PUSHI #0x00000007
        INIT 1
        PUSHI #0x00000009
        INIT 1
        PUSHI #0x0000000a
        INIT 1
        PUSHI #0x0000000b
        INIT 1
        PUSHI #0xffff80d2
        INIT 1
        PUSHI #0xffff80d6
        INIT 1
        PUSHI #0xffff80d1
        INIT 1
        PUSHI #0xffff80d8
        INIT 1
        PUSHI #0xffff80d7
        INIT 1
        PUSHI #0x00000012
        INIT 1
        PUSHI #0x00000016
        INIT 1
        PUSHI #0x00000011
        INIT 1
        PUSHI #0x00000015
        INIT 1
        PUSHI #0x00000013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff80ce
        INIT 1
        PUSHI #0xffff80d0
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff80cf
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff80d4
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff80d5
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        LINE 315
   298        24,       0,       0,       0,       0,       0,       0,       0,
   299         0,       0,       0,       0,       0,       0,       0,       0,
   300         0,       0,      23,       0,       0,       0,       0,       0,
   301         0,       0,       0,       0,       0,       0,       0,       0,
   302         0,       0,       0,       0,       0,       0,       0,       0,
   303        20,       0,       0,       0,       0,       0,       0,       0,
   304         0,       0,       0,       0,       0,       0,  -32551,       0,
   305         0,       0,       0,      13,       0,      14,       4,  -32557,
   306        16,  -32550,       0,       0,       5,       6,       3,      12,
   307        15,       8,       7,       9,      10,      11,  -32558,  -32554,
   308    -32559,  -32552,  -32553,      18,      22,      17,      21,      19,
   309         0,       0,       0,  -32562,  -32560,       0,       0,       0,
   310    -32561,       0,       0,       0,       0,       0,       0,       0,
   311         1,       2,       0,  -32556,       0,  -32555,       0,       0,
   312         0,       0,       0,       0,       0,       0,       0,       0
   313  
   314  !  MORE<1> 0<1> ORDER<2> TYPE<4> CLASS<8>
   315  %ownshortintegerarray gram(0:max grammar) = %c
        PUSHI #0x00000000
        PUSHI #0x000006b8
        BOUNDS
        DEF V_00a0 GRAM
        +   0x001b
        +   0x0003
        +   0x0121
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff9095
        INIT 1
        PUSHI #0xffff9097
        INIT 1
        PUSHI #0xffff9046
        INIT 1
        PUSHI #0xffff803e
        INIT 1
        PUSHI #0xffff90a3
        INIT 1
        PUSHI #0xffff9045
        INIT 1
        PUSHI #0xffffa04a
        INIT 1
        PUSHI #0xffffa049
        INIT 1
        PUSHI #0xffffb04b
        INIT 1
        PUSHI #0xffffb04c
        INIT 1
        PUSHI #0xffff904d
        INIT 1
        PUSHI #0xffff8047
        INIT 1
        PUSHI #0xffff803b
        INIT 1
        PUSHI #0xffffc03d
        INIT 1
        PUSHI #0xffff9048
        INIT 1
        PUSHI #0xffff8040
        INIT 1
        PUSHI #0xffff9055
        INIT 1
        PUSHI #0xffff9053
        INIT 1
        PUSHI #0xffff8057
        INIT 1
        PUSHI #0xffffc028
        INIT 1
        PUSHI #0xffff9056
        INIT 1
        PUSHI #0xffff9054
        INIT 1
        PUSHI #0xffffd012
        INIT 1
        PUSHI #0xffff80b6
        INIT 1
        PUSHI #0x000000d8
        INIT 1
        PUSHI #0xffffd001
        INIT 1
        PUSHI #0xffffc004
        INIT 1
        PUSHI #0xffffe007
        INIT 1
        PUSHI #0xffffe008
        INIT 1
        PUSHI #0xffffd003
        INIT 1
        PUSHI #0xffffd002
        INIT 1
        PUSHI #0xffffd005
        INIT 1
        PUSHI #0xffffd006
        INIT 1
        PUSHI #0xffffd009
        INIT 1
        PUSHI #0xffffd00c
        INIT 1
        PUSHI #0xffffc00b
        INIT 1
        PUSHI #0x0000500a
        INIT 1
        PUSHI #0xffff803e
        INIT 1
        PUSHI #0xffff8043
        INIT 1
        PUSHI #0x000000d8
        INIT 1
        PUSHI #0xffffc014
        INIT 1
        PUSHI #0xffff903e
        INIT 1
        PUSHI #0xffff903b
        INIT 1
        PUSHI #0xffff903c
        INIT 1
        PUSHI #0x0000403d
        INIT 1
        PUSHI #0x000000d9
        INIT 1
        PUSHI #0xffffc014
        INIT 1
        PUSHI #0x0000003e
        INIT 1
        PUSHI #0xffff8043
        INIT 1
        PUSHI #0x00004042
        INIT 1
        PUSHI #0xffffc014
        INIT 1
        PUSHI #0x000014e2
        INIT 1
        PUSHI #0xffffc014
        INIT 1
        PUSHI #0x000000a6
        INIT 1
        PUSHI #0xffffc028
        INIT 1
        PUSHI #0x000010ec
        INIT 1
        PUSHI #0x00000082
        INIT 1
        PUSHI #0xffffc018
        INIT 1
        PUSHI #0xffffc017
        INIT 1
        PUSHI #0x0000007e
        INIT 1
        PUSHI #0x000000d9
        INIT 1
        PUSHI #0xffff8043
        INIT 1
        PUSHI #0x000000d8
        INIT 1
        PUSHI #0xffffc014
        INIT 1
        PUSHI #0x00004042
        INIT 1
        PUSHI #0xffff8044
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0xffff8043
        INIT 1
        PUSHI #0xffff803e
        INIT 1
        PUSHI #0x000000d8
        INIT 1
        PUSHI #0x00004015
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0xffffc0a2
        INIT 1
        PUSHI #0x000020de
        INIT 1
        PUSHI #0x00000082
        INIT 1
        PUSHI #0x000000d9
        INIT 1
        PUSHI #0xffff8047
        INIT 1
        PUSHI #0x00004042
        INIT 1
        PUSHI #0x000004e2
        INIT 1
        PUSHI #0x000010d3
        INIT 1
        PUSHI #0x000010de
        INIT 1
        PUSHI #0x000000c0
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x000000aa
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x000000cf
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0xffffc018
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x000000f1
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x00000084
        INIT 1
        PUSHI #0x00000084
        INIT 1
        PUSHI #0xffffc018
        INIT 1
        PUSHI #0x000010e9
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x00000085
        INIT 1
        PUSHI #0x000000af
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x000000d1
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x000010d9
        INIT 1
        PUSHI #0x000000d9
        INIT 1
        PUSHI #0x00004043
        INIT 1
        PUSHI #0x000010a7
        INIT 1
        PUSHI #0x00004000
        INIT 1
        PUSHI #0x00004000
        INIT 1
        PUSHI #0x00000078
        INIT 1
        PUSHI #0x000000d8
        INIT 1
        PUSHI #0xffff8044
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0xffff803e
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x000000f3
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0xffff8053
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x000000f8
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x000010a7
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffffc018
        INIT 1
        PUSHI #0x000010e9
        INIT 1
        PUSHI #0xffff8033
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x000010a7
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x000000ed
        INIT 1
        PUSHI #0x0000007f
        INIT 1
        PUSHI #0x000000d7
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x000010a7
        INIT 1
        PUSHI #0x00004000
        INIT 1
        PUSHI #0xffffc014
        INIT 1
        PUSHI #0x000005de
        INIT 1
        PUSHI #0xffff808b
        INIT 1
        PUSHI #0xffffc017
        INIT 1
        PUSHI #0x00000099
        INIT 1
        PUSHI #0xffff80a2
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0x0000008f
        INIT 1
        PUSHI #0xffff808b
        INIT 1
        PUSHI #0x00000099
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x0000007e
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x00004000
        INIT 1
        PUSHI #0x000000ea
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0xffff80ad
        INIT 1
        PUSHI #0x00000093
        INIT 1
        PUSHI #0xffff805a
        INIT 1
        PUSHI #0x000000ea
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0xffff805c
        INIT 1
        PUSHI #0xffff806b
        INIT 1
        PUSHI #0x0000006d
        INIT 1
        PUSHI #0xffff8033
        INIT 1
        PUSHI #0x00000035
        INIT 1
        PUSHI #0x00000034
        INIT 1
        PUSHI #0x00000034
        INIT 1
        PUSHI #0x00000034
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffff905b
        INIT 1
        PUSHI #0x0000105c
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffff906a
        INIT 1
        PUSHI #0x0000106b
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffff906c
        INIT 1
        PUSHI #0x0000106d
        INIT 1
        PUSHI #0x000011e4
        INIT 1
        PUSHI #0x0000402d
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0xffff9059
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000024dd
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000086
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000d2
        INIT 1
        PUSHI #0x000010e9
        INIT 1
        PUSHI #0x000000c7
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0xffff8060
        INIT 1
        PUSHI #0xffff805c
        INIT 1
        PUSHI #0xffff8050
        INIT 1
        PUSHI #0xffff804e
        INIT 1
        PUSHI #0xffff803f
        INIT 1
        PUSHI #0xffff806b
        INIT 1
        PUSHI #0xffff806d
        INIT 1
        PUSHI #0xffff804f
        INIT 1
        PUSHI #0xffff8052
        INIT 1
        PUSHI #0xffff8051
        INIT 1
        PUSHI #0xffffc036
        INIT 1
        PUSHI #0x00000041
        INIT 1
        PUSHI #0xffff8034
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0xffff9059
        INIT 1
        PUSHI #0xffff8033
        INIT 1
        PUSHI #0xffff8035
        INIT 1
        PUSHI #0xffff8037
        INIT 1
        PUSHI #0x00000034
        INIT 1
        PUSHI #0xffff8068
        INIT 1
        PUSHI #0x00001069
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0xffff8033
        INIT 1
        PUSHI #0xffff8035
        INIT 1
        PUSHI #0x00000037
        INIT 1
        PUSHI #0xffffc038
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000c5
        INIT 1
        PUSHI #0x000000c5
        INIT 1
        PUSHI #0x00000034
        INIT 1
        PUSHI #0x00000034
        INIT 1
        PUSHI #0x000000c5
        INIT 1
        PUSHI #0xffff905b
        INIT 1
        PUSHI #0xffff905c
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0xffff905b
        INIT 1
        PUSHI #0x0000105c
        INIT 1
        PUSHI #0x000010de
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffff905b
        INIT 1
        PUSHI #0x0000105c
        INIT 1
        PUSHI #0x000024dd
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0x000000d8
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffff906a
        INIT 1
        PUSHI #0xffff906b
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0xffff906a
        INIT 1
        PUSHI #0x0000106b
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffff906c
        INIT 1
        PUSHI #0xffff906d
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0xffff906c
        INIT 1
        PUSHI #0x0000106d
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0x000011e4
        INIT 1
        PUSHI #0x0000402d
        INIT 1
        PUSHI #0x000013e7
        INIT 1
        PUSHI #0x000024e4
        INIT 1
        PUSHI #0x000014e4
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0xffff9059
        INIT 1
        PUSHI #0xffffc038
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000024dd
        INIT 1
        PUSHI #0x000014e4
        INIT 1
        PUSHI #0x000000d9
        INIT 1
        PUSHI #0xffff8043
        INIT 1
        PUSHI #0x00004042
        INIT 1
        PUSHI #0xffff8043
        INIT 1
        PUSHI #0x000000d8
        INIT 1
        PUSHI #0xffff8044
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff8043
        INIT 1
        PUSHI #0xffff803e
        INIT 1
        PUSHI #0x000000d8
        INIT 1
        PUSHI #0x000000f3
        INIT 1
        PUSHI #0x000000d9
        INIT 1
        PUSHI #0xffffc042
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff80d8
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff8044
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff803e
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000d7
        INIT 1
        PUSHI #0xffff80da
        INIT 1
        PUSHI #0x000000e4
        INIT 1
        PUSHI #0xffff9038
        INIT 1
        PUSHI #0xffff9039
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00001000
        INIT 1
        PUSHI #0x000000da
        INIT 1
        PUSHI #0x000000da
        INIT 1
        PUSHI #0xffff9038
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0xffff805c
        INIT 1
        PUSHI #0xffffc017
        INIT 1
        PUSHI #0xffff803a
        INIT 1
        PUSHI #0xffff8063
        INIT 1
        PUSHI #0xffff806a
        INIT 1
        PUSHI #0xffff806b
        INIT 1
        PUSHI #0xffff806c
        INIT 1
        PUSHI #0xffff806d
        INIT 1
        PUSHI #0x000002e4
        INIT 1
        PUSHI #0xffff82d9
        INIT 1
        PUSHI #0x000002e4
        INIT 1
        PUSHI #0xffff8031
        INIT 1
        PUSHI #0x00001000
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffff8031
        INIT 1
        PUSHI #0xffff8032
        INIT 1
        PUSHI #0xffff80a4
        INIT 1
        PUSHI #0xffff802a
        INIT 1
        PUSHI #0xffff802b
        INIT 1
        PUSHI #0xffff802c
        INIT 1
        PUSHI #0xffff8030
        INIT 1
        PUSHI #0x00001000
        INIT 1
        PUSHI #0x000002c6
        INIT 1
        PUSHI #0x000017e4
        INIT 1
        PUSHI #0xffff8031
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000002c6
        INIT 1
        PUSHI #0x000017e4
        INIT 1
        PUSHI #0xffff905b
        INIT 1
        PUSHI #0x0000105c
        INIT 1
        PUSHI #0x000000da
        INIT 1
        PUSHI #0x0000007a
        INIT 1
        PUSHI #0x00000032
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0xffff802a
        INIT 1
        PUSHI #0xffff802b
        INIT 1
        PUSHI #0xffff802c
        INIT 1
        PUSHI #0xffff8031
        INIT 1
        PUSHI #0x00001000
        INIT 1
        PUSHI #0x000002c6
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0xffff905b
        INIT 1
        PUSHI #0x0000105c
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffff906a
        INIT 1
        PUSHI #0xffff906b
        INIT 1
        PUSHI #0xffff906c
        INIT 1
        PUSHI #0x0000106d
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000002c6
        INIT 1
        PUSHI #0x000012e4
        INIT 1
        PUSHI #0x000013e7
        INIT 1
        PUSHI #0x000012dd
        INIT 1
        PUSHI #0xffff802a
        INIT 1
        PUSHI #0xffff802b
        INIT 1
        PUSHI #0xffff802c
        INIT 1
        PUSHI #0xffff8031
        INIT 1
        PUSHI #0x00001000
        INIT 1
        PUSHI #0x000012db
        INIT 1
        PUSHI #0x000012dc
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0xffff8030
        INIT 1
        PUSHI #0xffff8031
        INIT 1
        PUSHI #0x00001000
        INIT 1
        PUSHI #0x000012dd
        INIT 1
        PUSHI #0x000012db
        INIT 1
        PUSHI #0x000012dc
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffff8031
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000002c6
        INIT 1
        PUSHI #0x000012e4
        INIT 1
        PUSHI #0xffffc05d
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0x0000005c
        INIT 1
        PUSHI #0x000000b8
        INIT 1
        PUSHI #0x00000079
        INIT 1
        PUSHI #0xffff905b
        INIT 1
        PUSHI #0xffff905c
        INIT 1
        PUSHI #0xffff802e
        INIT 1
        PUSHI #0xffff802d
        INIT 1
        PUSHI #0x000010dd
        INIT 1
        PUSHI #0xffff802a
        INIT 1
        PUSHI #0xffff802b
        INIT 1
        PUSHI #0xffff802c
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0xffff802a
        INIT 1
        PUSHI #0xffff802b
        INIT 1
        PUSHI #0xffff802c
        INIT 1
        PUSHI #0xffff8030
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000010dc
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0xffff905b
        INIT 1
        PUSHI #0x0000105c
        INIT 1
        PUSHI #0x000010db
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0x000010dd
        INIT 1
        PUSHI #0xffff802a
        INIT 1
        PUSHI #0xffff802b
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0x000010db
        INIT 1
        PUSHI #0x000010dd
        INIT 1
        PUSHI #0xffff802a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000c3
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0xffff805c
        INIT 1
        PUSHI #0xffffc017
        INIT 1
        PUSHI #0x0000402f
        INIT 1
        PUSHI #0x000000e4
        INIT 1
        PUSHI #0x000000e4
        INIT 1
        PUSHI #0x0000002f
        INIT 1
        PUSHI #0xffff809e
        INIT 1
        PUSHI #0xffff809d
        INIT 1
        PUSHI #0x000014e1
        INIT 1
        PUSHI #0xffff809f
        INIT 1
        PUSHI #0xffff80a0
        INIT 1
        PUSHI #0xffff80a1
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000010e0
        INIT 1
        PUSHI #0x000010df
        INIT 1
        PUSHI #0x000014e1
        INIT 1
        PUSHI #0xffff809f
        INIT 1
        PUSHI #0xffff80a0
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000010df
        INIT 1
        PUSHI #0x000014e1
        INIT 1
        PUSHI #0xffff809f
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff809b
        INIT 1
        PUSHI #0xffffc017
        INIT 1
        PUSHI #0x0000402f
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0x0000009c
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0x0000005c
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0x000004c6
        INIT 1
        PUSHI #0x00004033
        INIT 1
        PUSHI #0x000000e4
        INIT 1
        PUSHI #0x00004013
        INIT 1
        PUSHI #0x000010e4
        INIT 1
        PUSHI #0x0000008a
        INIT 1
        PUSHI #0x000020e4
        INIT 1
        PUSHI #0xffff802d
        INIT 1
        PUSHI #0x0000105d
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x00000094
        INIT 1
        PUSHI #0xffff805e
        INIT 1
        PUSHI #0x000040a2
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0xffff80ab
        INIT 1
        PUSHI #0x000000b6
        INIT 1
        PUSHI #0xffffc001
        INIT 1
        PUSHI #0x00004004
        INIT 1
        PUSHI #0x000000ea
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0xffff80ad
        INIT 1
        PUSHI #0x000000ac
        INIT 1
        PUSHI #0xffff805a
        INIT 1
        PUSHI #0x000000ea
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x000000f4
        INIT 1
        PUSHI #0x000000f6
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000eb
        INIT 1
        PUSHI #0xffff805a
        INIT 1
        PUSHI #0x000000ea
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x000000f6
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff805a
        INIT 1
        PUSHI #0x000000ea
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0x00004015
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0x00000091
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0x00004015
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0x00000092
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0x000004e4
        INIT 1
        PUSHI #0x0000009a
        INIT 1
        PUSHI #0x000014e4
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x0000008e
        INIT 1
        PUSHI #0x0000007e
        INIT 1
        PUSHI #0x000000b6
        INIT 1
        PUSHI #0xffffc001
        INIT 1
        PUSHI #0x00004007
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x0000007f
        INIT 1
        PUSHI #0xffff805a
        INIT 1
        PUSHI #0x000000ee
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x0000007d
        INIT 1
        PUSHI #0x000000ef
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x0000207f
        INIT 1
        PUSHI #0x000020ee
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x0000007e
        INIT 1
        PUSHI #0xffffc017
        INIT 1
        PUSHI #0x0000007f
        INIT 1
        PUSHI #0x000000be
        INIT 1
        PUSHI #0x000000f0
        INIT 1
        PUSHI #0x000000bd
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0x000000b6
        INIT 1
        PUSHI #0xffffc001
        INIT 1
        PUSHI #0x00004007
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff805a
        INIT 1
        PUSHI #0x000000f0
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x000040ef
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000f4
        INIT 1
        PUSHI #0x000000e8
        INIT 1
        PUSHI #0x000004e4
        INIT 1
        PUSHI #0x000004e4
        INIT 1
        PUSHI #0x00000089
        INIT 1
        PUSHI #0x000004e4
        INIT 1
        PUSHI #0x00000089
        INIT 1
        PUSHI #0x000004e4
        INIT 1
        PUSHI #0x00000089
        INIT 1
        PUSHI #0x000004e4
        INIT 1
        PUSHI #0x00000089
        INIT 1
        PUSHI #0x000004e4
        INIT 1
        PUSHI #0x00000089
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0xffffc013
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0xffffc018
        INIT 1
        PUSHI #0xffffc033
        INIT 1
        PUSHI #0xffffc034
        INIT 1
        PUSHI #0x0000007c
        INIT 1
        PUSHI #0x000000b5
        INIT 1
        PUSHI #0xffffc05c
        INIT 1
        PUSHI #0xffffc06b
        INIT 1
        PUSHI #0x0000406d
        INIT 1
        PUSHI #0xffff83c6
        INIT 1
        PUSHI #0x000014de
        INIT 1
        PUSHI #0xffff905b
        INIT 1
        PUSHI #0x0000105c
        INIT 1
        PUSHI #0x000010a7
        INIT 1
        PUSHI #0x000000b5
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x0000405b
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0xffff9059
        INIT 1
        PUSHI #0x000000c7
        INIT 1
        PUSHI #0x000015de
        INIT 1
        PUSHI #0x000024de
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0xffff805c
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0x000000e4
        INIT 1
        PUSHI #0x00000087
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0xffff8088
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0x0000005c
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0xffff805c
        INIT 1
        PUSHI #0xffff806a
        INIT 1
        PUSHI #0xffff806b
        INIT 1
        PUSHI #0xffff806c
        INIT 1
        PUSHI #0xffff806d
        INIT 1
        PUSHI #0x000000a5
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0x0000005c
        INIT 1
        PUSHI #0x000000bc
        INIT 1
        PUSHI #0xffff806a
        INIT 1
        PUSHI #0x0000006b
        INIT 1
        PUSHI #0x000000bc
        INIT 1
        PUSHI #0xffff806c
        INIT 1
        PUSHI #0x0000006d
        INIT 1
        PUSHI #0xffff8024
        INIT 1
        PUSHI #0x00000025
        INIT 1
        PUSHI #0xffffc028
        INIT 1
        PUSHI #0x000010de
        INIT 1
        PUSHI #0x00000094
        INIT 1
        PUSHI #0xffff805e
        INIT 1
        PUSHI #0x00004028
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0x00004015
        INIT 1
        PUSHI #0x000000de
        INIT 1
        PUSHI #0x000000ae
        INIT 1
        PUSHI #0xffff901c
        INIT 1
        PUSHI #0xffff8022
        INIT 1
        PUSHI #0xffff8058
        INIT 1
        PUSHI #0xffff901f
        INIT 1
        PUSHI #0xffff8023
        INIT 1
        PUSHI #0xffff8026
        INIT 1
        PUSHI #0xffff8021
        INIT 1
        PUSHI #0xffff8029
        INIT 1
        PUSHI #0xffff801e
        INIT 1
        PUSHI #0x000010e6
        INIT 1
        PUSHI #0xffff801e
        INIT 1
        PUSHI #0xffff801d
        INIT 1
        PUSHI #0xffff801b
        INIT 1
        PUSHI #0xffff8020
        INIT 1
        PUSHI #0x000000c7
        INIT 1
        PUSHI #0xffff901c
        INIT 1
        PUSHI #0xffff8058
        INIT 1
        PUSHI #0xffff901f
        INIT 1
        PUSHI #0x000010e6
        INIT 1
        PUSHI #0xffff801d
        INIT 1
        PUSHI #0xffff801b
        INIT 1
        PUSHI #0x000000c7
        INIT 1
        PUSHI #0xffff801e
        INIT 1
        PUSHI #0xffff801d
        INIT 1
        PUSHI #0xffff801b
        INIT 1
        PUSHI #0xffff8020
        INIT 1
        PUSHI #0xffff8027
        INIT 1
        PUSHI #0x000000c7
        INIT 1
        PUSHI #0xffff8098
        INIT 1
        PUSHI #0x000000c7
        INIT 1
        PUSHI #0xffff801d
        INIT 1
        PUSHI #0xffff801b
        INIT 1
        PUSHI #0xffff8027
        INIT 1
        PUSHI #0x000000c7
        INIT 1
        PUSHI #0xffff8098
        INIT 1
        PUSHI #0xffff8027
        INIT 1
        PUSHI #0x000000c7
        INIT 1
        PUSHI #0xffff901c
        INIT 1
        PUSHI #0xffff8058
        INIT 1
        PUSHI #0x000010e6
        INIT 1
        PUSHI #0xffff801e
        INIT 1
        PUSHI #0xffff801d
        INIT 1
        PUSHI #0xffff801b
        INIT 1
        PUSHI #0x000000c7
        INIT 1
        PUSHI #0x000000f5
        INIT 1
        PUSHI #0x000010de
        INIT 1
        PUSHI #0x000000f5
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0x00000098
        INIT 1
        PUSHI #0x000010de
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0x00000098
        INIT 1
        PUSHI #0x000000f5
        INIT 1
        PUSHI #0xffff8060
        INIT 1
        PUSHI #0xffff8061
        INIT 1
        PUSHI #0xffff8062
        INIT 1
        PUSHI #0x00000063
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0x000000c8
        INIT 1
        PUSHI #0x00000090
        INIT 1
        PUSHI #0x000000b9
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0x0000005c
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0xffff80ba
        INIT 1
        PUSHI #0x000000c8
        INIT 1
        PUSHI #0x000000c8
        INIT 1
        PUSHI #0x000000bb
        INIT 1
        PUSHI #0x0000008d
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0x0000005c
        INIT 1
        PUSHI #0x0000401a
        INIT 1
        PUSHI #0x000000bf
        INIT 1
        PUSHI #0xffff805b
        INIT 1
        PUSHI #0xffff805c
        INIT 1
        PUSHI #0xffff806a
        INIT 1
        PUSHI #0xffff806b
        INIT 1
        PUSHI #0xffff806c
        INIT 1
        PUSHI #0x0000006d
        INIT 1
        PUSHI #0x000000c6
        INIT 1
        PUSHI #0x00000000
        INIT 1001
        LINE 408
   316         0,  -28523,  -28521,  -28602,  -32706,  -28509,  -28603,  -24502,
   317    -24503,  -20405,  -20404,  -28595,  -32697,  -32709,  -16323,  -28600,
   318    -32704,  -28587,  -28589,  -32681,  -16344,  -28586,  -28588,  -12270,
   319    -32586,     216,  -12287,  -16380,   -8185,   -8184,  -12285,  -12286,
   320    -12283,  -12282,  -12279,  -12276,  -16373,   20490,  -32706,  -32701,
   321       216,  -16364,  -28610,  -28613,  -28612,   16445,     217,  -16364,
   322        62,  -32701,   16450,  -16364,    5346,  -16364,     166,  -16344,
   323      4332,     130,  -16360,  -16361,     126,     217,  -32701,     216,
   324    -16364,   16450,  -32700,   16404,  -32701,  -32706,     216,   16405,
   325     16407,  -16222,    8414,     130,     217,  -32697,   16450,    1250,
   326      4307,    4318,     192,      93,     170,      90,     207,  -16365,
   327     16404,      90,  -16360,  -16365,   16404,     241,  -16365,   16404,
   328       132,     132,  -16360,    4329,  -16365,   16404,     133,     175,
   329        90,  -16365,   16404,     209,  -16365,   16404,    4313,     217,
   330     16451,    4263,   16384,   16384,     120,     216,  -32700,   16404,
   331    -32706,   16404,     243,   16409,     454,  -32685,   16404,     454,
   332       248,  -16365,   16404,    4263,     194,  -16360,    4329,  -32717,
   333     16404,    4263,   16407,     454,     237,     127,     215,     454,
   334      4263,   16384,  -16364,    1502,  -32629,  -16361,     153,  -32606,
   335       222,     143,  -32629,     153,     454,     126,   16409,     454,
   336     16384,     234,  -16365,  -32595,     147,  -32678,     234,     193,
   337    -32677,  -32676,  -32661,     109,  -32717,      53,      52,      52,
   338        52,     194,     194,     194,  -28581,    4188,     194,  -28566,
   339      4203,     194,  -28564,    4205,    4580,   16429,     183,     183,
   340       186,     186,  -28583,       0,    9437,      90,  -16365,       0,
   341       134,  -16365,       0,     210,    4329,     199,  -32677,  -32672,
   342    -32676,  -32688,  -32690,  -32705,  -32661,  -32659,  -32689,  -32686,
   343    -32687,  -16330,      65,  -32716,     186,  -28583,  -32717,  -32715,
   344    -32713,      52,  -32664,    4201,     186,  -32717,  -32715,      55,
   345    -16328,       0,     197,     197,      52,      52,     197,  -28581,
   346    -28580,     186,  -28581,    4188,    4318,     194,  -28581,    4188,
   347      9437,     194,     194,     454,   16407,     216,     194,  -28566,
   348    -28565,     186,  -28566,    4203,     194,  -28564,  -28563,     186,
   349    -28564,    4205,     183,     183,     186,     183,  -16365,       0,
   350       183,    4580,   16429,    5095,    9444,    5348,     186,  -28583,
   351    -16328,       0,   16409,  -16365,       0,    9437,    5348,     217,
   352    -32701,   16450,  -32701,     216,  -32700,       0,  -32701,  -32706,
   353       216,     243,     217,  -16318,       0,  -32552,       0,  -32700,
   354         0,  -32706,       0,     215,  -32550,     228,  -28616,  -28615,
   355         0,    4096,     218,     218,  -28616,       0,  -32677,  -32676,
   356    -16361,  -32710,  -32669,  -32662,  -32661,  -32660,  -32659,     740,
   357    -32039,     740,  -32719,    4096,     194,  -32719,  -32718,  -32604,
   358    -32726,  -32725,  -32724,  -32720,    4096,     710,    6116,  -32719,
   359         0,     710,    6116,  -28581,    4188,     218,     122,      50,
   360     16409,  -32726,  -32725,  -32724,  -32719,    4096,     710,     454,
   361       195,     195,     195,     454,  -28581,    4188,     194,  -28566,
   362    -28565,  -28564,    4205,     195,     195,     195,     710,    4836,
   363      5095,    4829,  -32726,  -32725,  -32724,  -32719,    4096,    4827,
   364      4828,     454,  -32720,  -32719,    4096,    4829,    4827,    4828,
   365       194,  -32719,       0,     710,    4836,  -16291,  -32677,      92,
   366       184,     121,  -28581,  -28580,  -32722,  -32723,    4317,  -32726,
   367    -32725,  -32724,       0,     183,  -32726,  -32725,  -32724,  -32720,
   368         0,    4316,     195,     195,     195,     454,  -28581,    4188,
   369      4315,     183,    4317,  -32726,  -32725,       0,     195,     195,
   370      4315,    4317,  -32726,       0,     195,  -32677,  -32676,  -16361,
   371     16431,     228,     228,      47,  -32610,  -32611,    5345,  -32609,
   372    -32608,  -32607,       0,    4320,    4319,    5345,  -32609,  -32608,
   373         0,    4319,    5345,  -32609,       0,  -32613,  -16361,   16431,
   374       222,     222,     156,  -32677,      92,     183,     186,    1222,
   375     16435,     228,   16403,    4324,     138,    8420,  -32723,    4189,
   376        93,     454,     148,  -32674,   16546,   16409,  -32597,     182,
   377    -16383,   16388,     234,  -16365,  -32595,     172,  -32678,     234,
   378        90,     244,     246,  -16365,       0,     235,  -32678,     234,
   379    -16365,     246,  -16365,       0,  -32678,     234,      90,   16407,
   380       222,   16405,     222,     145,   16407,     222,   16405,     222,
   381       146,   16407,    1252,     154,    5348,  -16365,     142,     126,
   382       182,  -16383,   16391,      90,  -16365,     127,  -32678,     238,
   383        90,     125,     239,  -16365,    8319,    8430,     128,     126,
   384    -16361,     127,     190,     240,     189,   16409,     182,  -16383,
   385     16391,      90,  -16365,       0,  -32678,     240,      90,   16623,
   386    -16365,       0,     244,     232,    1252,    1252,     137,    1252,
   387       137,    1252,     137,    1252,     137,    1252,     137,     222,
   388    -16365,       0,     131,     194,  -16360,  -16333,  -16332,     124,
   389       181,  -16292,  -16277,   16493,  -31802,    5342,  -28581,    4188,
   390      4263,     181,     186,     454,   16475,     183,  -28583,     199,
   391      5598,    9438,     222,  -32677,  -32676,   16407,     186,     228,
   392       135,   16409,  -32632,       0,  -32677,      92,  -32677,  -32676,
   393    -32662,  -32661,  -32660,  -32659,     165,  -32677,      92,     188,
   394    -32662,     107,     188,  -32660,     109,  -32732,      37,  -16344,
   395      4318,     148,  -32674,   16424,     222,   16405,     222,     174,
   396    -28644,  -32734,  -32680,  -28641,  -32733,  -32730,  -32735,  -32727,
   397    -32738,    4326,  -32738,  -32739,  -32741,  -32736,     199,  -28644,
   398    -32680,  -28641,    4326,  -32739,  -32741,     199,  -32738,  -32739,
   399    -32741,  -32736,  -32729,     199,  -32616,     199,  -32739,  -32741,
   400    -32729,     199,  -32616,  -32729,     199,  -28644,  -32680,    4326,
   401    -32738,  -32739,  -32741,     199,     245,    4318,     245,   16409,
   402       152,    4318,   16409,     152,     245,  -32672,  -32671,  -32670,
   403        99,   16407,     200,     144,     185,  -32677,      92,   16407,
   404    -32582,     200,     200,     187,     141,  -32677,      92,   16410,
   405       191,  -32677,  -32676,  -32662,  -32661,  -32660,     109,     198,
   406  0(max grammar-719)
   407  
   408  %ownshortintegerarray glink(0:max grammar) = %c
        PUSHI #0x00000000
        PUSHI #0x000006b8
        BOUNDS
        DEF V_00a1 GLINK
        +   0x001b
        +   0x0003
        +   0x0121
        PUSHI #0xffffffff
        INIT 1
        PUSHI #0x00000047
        INIT 1
        PUSHI #0x00000048
        INIT 1
        PUSHI #0x00000026
        INIT 1
        PUSHI #0x0000002e
        INIT 1
        PUSHI #0x0000002f
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x0000004b
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000033
        INIT 1
        PUSHI #0x0000004c
        INIT 1
        PUSHI #0x0000004f
        INIT 1
        PUSHI #0x00000035
        INIT 1
        PUSHI #0x00000037
        INIT 1
        PUSHI #0x00000050
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000051
        INIT 1
        PUSHI #0x00000052
        INIT 1
        PUSHI #0x00000053
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0x0000001a
        INIT 1
        PUSHI #0x00000029
        INIT 1
        PUSHI #0x00000055
        INIT 1
        PUSHI #0x00000056
        INIT 1
        PUSHI #0x00000039
        INIT 1
        PUSHI #0x00000039
        INIT 1
        PUSHI #0x00000059
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x00000060
        INIT 1
        PUSHI #0x00000061
        INIT 1
        PUSHI #0x00000066
        INIT 1
        PUSHI #0x00000067
        INIT 1
        PUSHI #0x00000068
        INIT 1
        PUSHI #0x0000006b
        INIT 1
        PUSHI #0x0000002e
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000006e
        INIT 1
        PUSHI #0x0000006e
        INIT 1
        PUSHI #0x0000006f
        INIT 1
        PUSHI #0x00000034
        INIT 1
        PUSHI #0x00000031
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000003d
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x0000003e
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000006f
        INIT 1
        PUSHI #0x00000070
        INIT 1
        PUSHI #0x00000070
        INIT 1
        PUSHI #0x0000003a
        INIT 1
        PUSHI #0x00000071
        INIT 1
        PUSHI #0x00000072
        INIT 1
        PUSHI #0x00000073
        INIT 1
        PUSHI #0x00000040
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000042
        INIT 1
        PUSHI #0x00000074
        INIT 1
        PUSHI #0x00000075
        INIT 1
        PUSHI #0x00000044
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x0000007a
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000049
        INIT 1
        PUSHI #0x0000007b
        INIT 1
        PUSHI #0x0000007b
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x0000004d
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000028
        INIT 1
        PUSHI #0x0000004d
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000007c
        INIT 1
        PUSHI #0x0000007f
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x00000057
        INIT 1
        PUSHI #0x00000056
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000059
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000005e
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000084
        INIT 1
        PUSHI #0x00000062
        INIT 1
        PUSHI #0x00000089
        INIT 1
        PUSHI #0x00000064
        INIT 1
        PUSHI #0x00000061
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000008a
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000069
        INIT 1
        PUSHI #0x00000068
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000006c
        INIT 1
        PUSHI #0x0000006b
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x0000008b
        INIT 1
        PUSHI #0x0000008c
        INIT 1
        PUSHI #0x0000008d
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000076
        INIT 1
        PUSHI #0x00000078
        INIT 1
        PUSHI #0x00000074
        INIT 1
        PUSHI #0x0000008e
        INIT 1
        PUSHI #0x00000074
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000047
        INIT 1
        PUSHI #0x0000007d
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000055
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000008f
        INIT 1
        PUSHI #0x00000085
        INIT 1
        PUSHI #0x00000090
        INIT 1
        PUSHI #0x00000087
        INIT 1
        PUSHI #0x00000091
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000009c
        INIT 1
        PUSHI #0x0000009d
        INIT 1
        PUSHI #0x0000003b
        INIT 1
        PUSHI #0x0000009e
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000077
        INIT 1
        PUSHI #0x0000005b
        INIT 1
        PUSHI #0x0000009f
        INIT 1
        PUSHI #0x00000092
        INIT 1
        PUSHI #0x00000091
        INIT 1
        PUSHI #0x00000094
        INIT 1
        PUSHI #0x00000092
        INIT 1
        PUSHI #0x00000097
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000099
        INIT 1
        PUSHI #0x00000099
        INIT 1
        PUSHI #0x0000009a
        INIT 1
        PUSHI #0x00000092
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000063
        INIT 1
        PUSHI #0x000000a0
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000086
        INIT 1
        PUSHI #0x000000a1
        INIT 1
        PUSHI #0x000000a2
        INIT 1
        PUSHI #0x000000a5
        INIT 1
        PUSHI #0x000000a1
        INIT 1
        PUSHI #0x0000008d
        INIT 1
        PUSHI #0x000000a2
        INIT 1
        PUSHI #0x000000a2
        INIT 1
        PUSHI #0x000000a8
        INIT 1
        PUSHI #0x000000ac
        INIT 1
        PUSHI #0x000000ae
        INIT 1
        PUSHI #0x000000af
        INIT 1
        PUSHI #0x000000b0
        INIT 1
        PUSHI #0x000000b1
        INIT 1
        PUSHI #0x000000b2
        INIT 1
        PUSHI #0x000000b3
        INIT 1
        PUSHI #0x000000b6
        INIT 1
        PUSHI #0x000000b9
        INIT 1
        PUSHI #0x000000bc
        INIT 1
        PUSHI #0x000000bd
        INIT 1
        PUSHI #0x000000b4
        INIT 1
        PUSHI #0x000000be
        INIT 1
        PUSHI #0x000000be
        INIT 1
        PUSHI #0x000000b7
        INIT 1
        PUSHI #0x000000bf
        INIT 1
        PUSHI #0x000000bf
        INIT 1
        PUSHI #0x000000ba
        INIT 1
        PUSHI #0x000000bf
        INIT 1
        PUSHI #0x000000bf
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000bc
        INIT 1
        PUSHI #0x000000c0
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0x000000c2
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000c4
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000c6
        INIT 1
        PUSHI #0x000000c5
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000c9
        INIT 1
        PUSHI #0x000000c8
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000cc
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000e4
        INIT 1
        PUSHI #0x000000e8
        INIT 1
        PUSHI #0x000000db
        INIT 1
        PUSHI #0x000000ea
        INIT 1
        PUSHI #0x000000eb
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000ec
        INIT 1
        PUSHI #0x000000ed
        INIT 1
        PUSHI #0x000000ee
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000e8
        INIT 1
        PUSHI #0x000000e2
        INIT 1
        PUSHI #0x000000f4
        INIT 1
        PUSHI #0x000000f5
        INIT 1
        PUSHI #0x000000dd
        INIT 1
        PUSHI #0x000000f8
        INIT 1
        PUSHI #0x000000f9
        INIT 1
        PUSHI #0x000000fa
        INIT 1
        PUSHI #0x000000fb
        INIT 1
        PUSHI #0x000000f5
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000fc
        INIT 1
        PUSHI #0x000000e5
        INIT 1
        PUSHI #0x000000f9
        INIT 1
        PUSHI #0x000000fa
        INIT 1
        PUSHI #0x000000fb
        INIT 1
        PUSHI #0x000000fd
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000bc
        INIT 1
        PUSHI #0x000000fe
        INIT 1
        PUSHI #0x00000104
        INIT 1
        PUSHI #0x000000ef
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x000000f2
        INIT 1
        PUSHI #0x000000bf
        INIT 1
        PUSHI #0x000000bf
        INIT 1
        PUSHI #0x0000010e
        INIT 1
        PUSHI #0x000000f6
        INIT 1
        PUSHI #0x00000110
        INIT 1
        PUSHI #0x00000110
        INIT 1
        PUSHI #0x000000e5
        INIT 1
        PUSHI #0x00000111
        INIT 1
        PUSHI #0x00000112
        INIT 1
        PUSHI #0x00000113
        INIT 1
        PUSHI #0x00000114
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000ff
        INIT 1
        PUSHI #0x0000010a
        INIT 1
        PUSHI #0x0000010a
        INIT 1
        PUSHI #0x00000102
        INIT 1
        PUSHI #0x0000010b
        INIT 1
        PUSHI #0x0000010b
        INIT 1
        PUSHI #0x00000105
        INIT 1
        PUSHI #0x0000010a
        INIT 1
        PUSHI #0x0000010a
        INIT 1
        PUSHI #0x00000108
        INIT 1
        PUSHI #0x0000010b
        INIT 1
        PUSHI #0x0000010b
        INIT 1
        PUSHI #0x000000e8
        INIT 1
        PUSHI #0x0000010c
        INIT 1
        PUSHI #0x000000e8
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000115
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000116
        INIT 1
        PUSHI #0x000000e8
        INIT 1
        PUSHI #0x00000111
        INIT 1
        PUSHI #0x000000e8
        INIT 1
        PUSHI #0x0000011a
        INIT 1
        PUSHI #0x0000011b
        INIT 1
        PUSHI #0x00000117
        INIT 1
        PUSHI #0x0000011d
        INIT 1
        PUSHI #0x000000fd
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000011e
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000e8
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000120
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000122
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000124
        INIT 1
        PUSHI #0x00000126
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000129
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000012b
        INIT 1
        PUSHI #0x0000012d
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000012f
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000131
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000133
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000136
        INIT 1
        PUSHI #0x00000139
        INIT 1
        PUSHI #0x0000013a
        INIT 1
        PUSHI #0x0000013b
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000013c
        INIT 1
        PUSHI #0x00000137
        INIT 1
        PUSHI #0x0000013a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000014c
        INIT 1
        PUSHI #0x0000014c
        INIT 1
        PUSHI #0x00000148
        INIT 1
        PUSHI #0x0000015d
        INIT 1
        PUSHI #0x0000015e
        INIT 1
        PUSHI #0x0000015f
        INIT 1
        PUSHI #0x0000015f
        INIT 1
        PUSHI #0x0000015f
        INIT 1
        PUSHI #0x0000015f
        INIT 1
        PUSHI #0x0000014a
        INIT 1
        PUSHI #0x0000011a
        INIT 1
        PUSHI #0x00000160
        INIT 1
        PUSHI #0x00000166
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000014d
        INIT 1
        PUSHI #0x00000155
        INIT 1
        PUSHI #0x0000015b
        INIT 1
        PUSHI #0x00000167
        INIT 1
        PUSHI #0x00000168
        INIT 1
        PUSHI #0x00000169
        INIT 1
        PUSHI #0x0000016a
        INIT 1
        PUSHI #0x0000016b
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000156
        INIT 1
        PUSHI #0x00000157
        INIT 1
        PUSHI #0x00000159
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000015a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000016e
        INIT 1
        PUSHI #0x00000161
        INIT 1
        PUSHI #0x00000173
        INIT 1
        PUSHI #0x00000174
        INIT 1
        PUSHI #0x00000175
        INIT 1
        PUSHI #0x00000176
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000177
        INIT 1
        PUSHI #0x00000178
        INIT 1
        PUSHI #0x00000179
        INIT 1
        PUSHI #0x0000017f
        INIT 1
        PUSHI #0x00000180
        INIT 1
        PUSHI #0x0000016c
        INIT 1
        PUSHI #0x00000181
        INIT 1
        PUSHI #0x00000181
        INIT 1
        PUSHI #0x0000016f
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x00000185
        INIT 1
        PUSHI #0x00000186
        INIT 1
        PUSHI #0x00000187
        INIT 1
        PUSHI #0x00000188
        INIT 1
        PUSHI #0x00000189
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000017a
        INIT 1
        PUSHI #0x00000168
        INIT 1
        PUSHI #0x00000169
        INIT 1
        PUSHI #0x0000016a
        INIT 1
        PUSHI #0x00000155
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000017b
        INIT 1
        PUSHI #0x0000017c
        INIT 1
        PUSHI #0x00000182
        INIT 1
        PUSHI #0x0000016b
        INIT 1
        PUSHI #0x00000155
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000161
        INIT 1
        PUSHI #0x00000162
        INIT 1
        PUSHI #0x00000163
        INIT 1
        PUSHI #0x00000177
        INIT 1
        PUSHI #0x0000018b
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000018c
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000190
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x00000191
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000019b
        INIT 1
        PUSHI #0x0000019b
        INIT 1
        PUSHI #0x00000196
        INIT 1
        PUSHI #0x000001a1
        INIT 1
        PUSHI #0x00000197
        INIT 1
        PUSHI #0x000001a2
        INIT 1
        PUSHI #0x000001a3
        INIT 1
        PUSHI #0x000001a4
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000019c
        INIT 1
        PUSHI #0x000001a2
        INIT 1
        PUSHI #0x000001a3
        INIT 1
        PUSHI #0x000001a4
        INIT 1
        PUSHI #0x000001a5
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000199
        INIT 1
        PUSHI #0x00000196
        INIT 1
        PUSHI #0x000001a8
        INIT 1
        PUSHI #0x000001a1
        INIT 1
        PUSHI #0x000001a6
        INIT 1
        PUSHI #0x000001a9
        INIT 1
        PUSHI #0x000001a9
        INIT 1
        PUSHI #0x00000198
        INIT 1
        PUSHI #0x0000019f
        INIT 1
        PUSHI #0x000001ab
        INIT 1
        PUSHI #0x000001ae
        INIT 1
        PUSHI #0x000001af
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001aa
        INIT 1
        PUSHI #0x000001b0
        INIT 1
        PUSHI #0x000001ac
        INIT 1
        PUSHI #0x000001b2
        INIT 1
        PUSHI #0x000001b4
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001b1
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x000001b9
        INIT 1
        PUSHI #0x000001ba
        INIT 1
        PUSHI #0x0000011a
        INIT 1
        PUSHI #0x000001bb
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001be
        INIT 1
        PUSHI #0x000001c3
        INIT 1
        PUSHI #0x000001bf
        INIT 1
        PUSHI #0x000001be
        INIT 1
        PUSHI #0x000001c4
        INIT 1
        PUSHI #0x000001c3
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001c1
        INIT 1
        PUSHI #0x000001c0
        INIT 1
        PUSHI #0x000001c6
        INIT 1
        PUSHI #0x000001c5
        INIT 1
        PUSHI #0x000001c9
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001c7
        INIT 1
        PUSHI #0x000001cb
        INIT 1
        PUSHI #0x000001ca
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x000001d0
        INIT 1
        PUSHI #0x000001d1
        INIT 1
        PUSHI #0x0000011a
        INIT 1
        PUSHI #0x000001d2
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001d5
        INIT 1
        PUSHI #0x000001d5
        INIT 1
        PUSHI #0x000001d6
        INIT 1
        PUSHI #0x000001d7
        INIT 1
        PUSHI #0x000001d8
        INIT 1
        PUSHI #0x000001d9
        INIT 1
        PUSHI #0x000001da
        INIT 1
        PUSHI #0x000001db
        INIT 1
        PUSHI #0x000001dc
        INIT 1
        PUSHI #0x000001dd
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001df
        INIT 1
        PUSHI #0x0000010d
        INIT 1
        PUSHI #0x000001e1
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001e3
        INIT 1
        PUSHI #0x000001e5
        INIT 1
        PUSHI #0x000001e5
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x000001ea
        INIT 1
        PUSHI #0x000001e8
        INIT 1
        PUSHI #0x000001f0
        INIT 1
        PUSHI #0x000001f1
        INIT 1
        PUSHI #0x000001eb
        INIT 1
        PUSHI #0x000001ee
        INIT 1
        PUSHI #0x000001ea
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001eb
        INIT 1
        PUSHI #0x000001eb
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001f2
        INIT 1
        PUSHI #0x000001f3
        INIT 1
        PUSHI #0x000001f5
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001f8
        INIT 1
        PUSHI #0x000001fa
        INIT 1
        PUSHI #0x000001fe
        INIT 1
        PUSHI #0x000001f3
        INIT 1
        PUSHI #0x000001fc
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001fa
        INIT 1
        PUSHI #0x000001fa
        INIT 1
        PUSHI #0x000001f8
        INIT 1
        PUSHI #0x00000200
        INIT 1
        PUSHI #0x00000201
        INIT 1
        PUSHI #0x00000202
        INIT 1
        PUSHI #0x00000203
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000205
        INIT 1
        PUSHI #0x00000206
        INIT 1
        PUSHI #0x00000207
        INIT 1
        PUSHI #0x00000208
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000020a
        INIT 1
        PUSHI #0x0000020b
        INIT 1
        PUSHI #0x0000020c
        INIT 1
        PUSHI #0x0000020d
        INIT 1
        PUSHI #0x0000020a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000210
        INIT 1
        PUSHI #0x00000211
        INIT 1
        PUSHI #0x00000213
        INIT 1
        PUSHI #0x00000218
        INIT 1
        PUSHI #0x00000214
        INIT 1
        PUSHI #0x00000216
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000214
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000219
        INIT 1
        PUSHI #0x0000021a
        INIT 1
        PUSHI #0x0000021b
        INIT 1
        PUSHI #0x0000021d
        INIT 1
        PUSHI #0x0000021e
        INIT 1
        PUSHI #0x0000021e
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000220
        INIT 1
        PUSHI #0x00000222
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000223
        INIT 1
        PUSHI #0x00000224
        INIT 1
        PUSHI #0x00000225
        INIT 1
        PUSHI #0x00000215
        INIT 1
        PUSHI #0x00000227
        INIT 1
        PUSHI #0x00000229
        INIT 1
        PUSHI #0x0000022e
        INIT 1
        PUSHI #0x0000022a
        INIT 1
        PUSHI #0x0000022c
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000022a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000022f
        INIT 1
        PUSHI #0x00000230
        INIT 1
        PUSHI #0x0000022d
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000233
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000236
        INIT 1
        PUSHI #0x00000234
        INIT 1
        PUSHI #0x00000238
        INIT 1
        PUSHI #0x00000235
        INIT 1
        PUSHI #0x0000023a
        INIT 1
        PUSHI #0x00000237
        INIT 1
        PUSHI #0x0000023c
        INIT 1
        PUSHI #0x00000239
        INIT 1
        PUSHI #0x0000023e
        INIT 1
        PUSHI #0x0000023b
        INIT 1
        PUSHI #0x00000240
        INIT 1
        PUSHI #0x0000023f
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000243
        INIT 1
        PUSHI #0x00000244
        INIT 1
        PUSHI #0x00000250
        INIT 1
        PUSHI #0x00000251
        INIT 1
        PUSHI #0x00000248
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x00000249
        INIT 1
        PUSHI #0x0000024c
        INIT 1
        PUSHI #0x0000024c
        INIT 1
        PUSHI #0x0000024c
        INIT 1
        PUSHI #0x0000024e
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x00000252
        INIT 1
        PUSHI #0x00000252
        INIT 1
        PUSHI #0x00000253
        INIT 1
        PUSHI #0x00000254
        INIT 1
        PUSHI #0x00000255
        INIT 1
        PUSHI #0x00000245
        INIT 1
        PUSHI #0x00000258
        INIT 1
        PUSHI #0x00000256
        INIT 1
        PUSHI #0x00000259
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x0000025e
        INIT 1
        PUSHI #0x0000025e
        INIT 1
        PUSHI #0x0000025f
        INIT 1
        PUSHI #0x00000260
        INIT 1
        PUSHI #0x00000261
        INIT 1
        PUSHI #0x0000025d
        INIT 1
        PUSHI #0x00000262
        INIT 1
        PUSHI #0x00000264
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0x000000c1
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000026f
        INIT 1
        PUSHI #0x0000026f
        INIT 1
        PUSHI #0x000000c0
        INIT 1
        PUSHI #0x00000272
        INIT 1
        PUSHI #0x00000272
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000272
        INIT 1
        PUSHI #0x00000272
        INIT 1
        PUSHI #0x00000277
        INIT 1
        PUSHI #0x00000279
        INIT 1
        PUSHI #0x0000011a
        INIT 1
        PUSHI #0x0000011a
        INIT 1
        PUSHI #0x0000027a
        INIT 1
        PUSHI #0x0000011a
        INIT 1
        PUSHI #0x0000011a
        INIT 1
        PUSHI #0x0000027d
        INIT 1
        PUSHI #0x0000027e
        INIT 1
        PUSHI #0x0000027f
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000028a
        INIT 1
        PUSHI #0x000002a5
        INIT 1
        PUSHI #0x000002ac
        INIT 1
        PUSHI #0x0000029a
        INIT 1
        PUSHI #0x0000028f
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x0000028a
        INIT 1
        PUSHI #0x00000293
        INIT 1
        PUSHI #0x0000029c
        INIT 1
        PUSHI #0x000002ad
        INIT 1
        PUSHI #0x0000029a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000296
        INIT 1
        PUSHI #0x000002ae
        INIT 1
        PUSHI #0x0000029a
        INIT 1
        PUSHI #0x00000296
        INIT 1
        PUSHI #0x0000029c
        INIT 1
        PUSHI #0x000002ad
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000029e
        INIT 1
        PUSHI #0x000002a2
        INIT 1
        PUSHI #0x000002b1
        INIT 1
        PUSHI #0x0000029a
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000002a2
        INIT 1
        PUSHI #0x000002b1
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000029a
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000002a8
        INIT 1
        PUSHI #0x000002b4
        INIT 1
        PUSHI #0x000002a8
        INIT 1
        PUSHI #0x00000293
        INIT 1
        PUSHI #0x0000029c
        INIT 1
        PUSHI #0x000002ad
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000028a
        INIT 1
        PUSHI #0x000002af
        INIT 1
        PUSHI #0x00000296
        INIT 1
        PUSHI #0x000002b0
        INIT 1
        PUSHI #0x000000cd
        INIT 1
        PUSHI #0x000002b2
        INIT 1
        PUSHI #0x000002b3
        INIT 1
        PUSHI #0x0000029a
        INIT 1
        PUSHI #0x000002a8
        INIT 1
        PUSHI #0x000002b9
        INIT 1
        PUSHI #0x000002b9
        INIT 1
        PUSHI #0x000002b9
        INIT 1
        PUSHI #0x000002b9
        INIT 1
        PUSHI #0x000002ba
        INIT 1
        PUSHI #0x000002bb
        INIT 1
        PUSHI #0x000002bc
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000002bf
        INIT 1
        PUSHI #0x000002bf
        INIT 1
        PUSHI #0x000002c0
        INIT 1
        PUSHI #0x000002c2
        INIT 1
        PUSHI #0x000002c3
        INIT 1
        PUSHI #0x000002c4
        INIT 1
        PUSHI #0x000002c4
        INIT 1
        PUSHI #0x000002bc
        INIT 1
        PUSHI #0x000002c7
        INIT 1
        PUSHI #0x000002c7
        INIT 1
        PUSHI #0x000002c8
        INIT 1
        PUSHI #0x000002c9
        INIT 1
        PUSHI #0x000002cf
        INIT 1
        PUSHI #0x000002cf
        INIT 1
        PUSHI #0x000002cf
        INIT 1
        PUSHI #0x000002cf
        INIT 1
        PUSHI #0x000002cf
        INIT 1
        PUSHI #0x000002cf
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1001
        LINE 501
   409        -1,      71,      72,      38,      46,      47,      67,      67,
   410        75,      67,       0,      67,      51,      76,      79,      53,
   411        55,      80,      67,      81,      82,      83,      67,      84,
   412        26,      41,      85,      86,      57,      57,      89,      93,
   413        96,      97,     102,     103,     104,     107,      46,      67,
   414        67,       0,     110,     110,     111,      52,      49,       0,
   415        61,      67,      62,       0,      67,       0,     111,     112,
   416       112,      58,     113,     114,     115,      64,      67,      66,
   417       116,     117,      68,       0,      67,     122,      67,       0,
   418        73,     123,     123,      67,      77,      67,      40,      77,
   419        67,      67,       0,     124,     127,     128,      87,      86,
   420         0,      90,     131,      89,       0,      94,      93,       0,
   421       132,      98,     137,     100,      97,       0,     138,      67,
   422       105,     104,       0,     108,     107,       0,      67,      67,
   423        67,     139,     140,     141,       0,     118,     120,     116,
   424       142,     116,      67,      71,     125,      67,       0,      67,
   425       129,      85,       0,     143,     133,     144,     135,     145,
   426         0,     156,     157,      59,     158,      67,     119,      91,
   427       159,     146,     145,     148,     146,     151,       0,     153,
   428       153,     154,     146,       0,      99,     160,      67,     134,
   429       161,     162,     165,     161,     141,     162,     162,     168,
   430       172,     174,     175,     176,     177,     178,     179,     182,
   431       185,     188,     189,     180,     190,     190,     183,     191,
   432       191,     186,     191,     191,       0,     188,     192,     193,
   433       194,       0,     196,       0,       0,     198,     197,       0,
   434       201,     200,       0,     204,     205,       0,     228,     232,
   435       219,     234,     235,       0,     236,     237,     238,       0,
   436       232,     226,     244,     245,     221,     248,     249,     250,
   437       251,     245,       0,     252,     229,     249,     250,     251,
   438       253,       0,       0,     188,     254,     260,     239,     269,
   439       269,     242,     191,     191,     270,     246,     272,     272,
   440       229,     273,     274,     275,     276,       0,     255,     266,
   441       266,     258,     267,     267,     261,     266,     266,     264,
   442       267,     267,     232,     268,     232,       0,     277,       0,
   443       278,     232,     273,     232,     282,     283,     279,     285,
   444       253,       0,       0,     286,       0,     232,       0,     288,
   445         0,     290,       0,     292,     294,       0,       0,     297,
   446         0,       0,     299,     301,       0,     303,       0,     305,
   447         0,     307,       0,       0,     310,     313,     314,     315,
   448         0,       0,     316,     311,     314,       0,     332,     332,
   449       328,     349,     350,     351,     351,     351,     351,     330,
   450       282,     352,     358,       0,     333,     341,     347,     359,
   451       360,     361,     362,     363,       0,     342,     343,     345,
   452         0,     346,       0,     269,     269,       0,       0,     366,
   453       353,     371,     372,     373,     374,       0,     375,     376,
   454       377,     383,     384,     364,     385,     385,     367,     269,
   455       269,     269,     269,     389,     390,     391,     392,     393,
   456         0,     378,     360,     361,     362,     341,       0,     379,
   457       380,     386,     363,     341,       0,     353,     354,     355,
   458       375,     395,       0,     396,       0,     400,     269,     269,
   459       401,       0,     411,     411,     406,     417,     407,     418,
   460       419,     420,       0,     412,     418,     419,     420,     421,
   461         0,     409,     406,     424,     417,     422,     425,     425,
   462       408,     415,     427,     430,     431,       0,     426,     432,
   463       428,     434,     436,       0,     433,     269,     269,     441,
   464       442,     282,     443,       0,     446,     451,     447,     446,
   465       452,     451,       0,     449,     448,     454,     453,     457,
   466         0,     455,     459,     458,       0,     269,     464,     465,
   467       282,     466,       0,     469,     469,     470,     471,     472,
   468       473,     474,     475,     476,     477,       0,     479,     269,
   469       481,       0,     483,     485,     485,     205,     490,     488,
   470       496,     497,     491,     494,     490,       0,     491,     491,
   471         0,     498,     499,     501,       0,       0,     504,     506,
   472       510,     499,     508,       0,     506,     506,     504,     512,
   473       513,     514,     515,       0,     517,     518,     519,     520,
   474         0,     522,     523,     524,     525,     522,       0,     528,
   475       529,     531,     536,     532,     534,       0,     532,       0,
   476       537,     538,     539,     541,     542,     542,       0,     544,
   477       546,       0,     547,     548,     549,     533,     551,     553,
   478       558,     554,     556,       0,     554,       0,     559,     560,
   479       557,       0,     563,     205,       0,     566,     564,     568,
   480       565,     570,     567,     572,     569,     574,     571,     576,
   481       575,       0,     579,     580,     592,     593,     584,     205,
   482       585,     588,     588,     588,     590,     205,     594,     594,
   483       595,     596,     597,     581,     600,     598,     601,       0,
   484       205,     205,     205,     606,     606,     607,     608,     609,
   485       605,     610,     612,       0,     193,     193,     193,     193,
   486       193,     193,     193,     193,       0,     623,     623,     192,
   487       626,     626,       0,     626,     626,     631,     633,     282,
   488       282,     634,     282,     282,     637,     638,     639,       0,
   489       650,     677,     684,     666,     655,     205,     205,     205,
   490       205,     650,     659,     668,     685,     666,       0,     662,
   491       686,     666,     662,     668,     685,       0,     670,     674,
   492       689,     666,     205,       0,     205,       0,     674,     689,
   493       205,       0,     666,     205,       0,     680,     692,     680,
   494       659,     668,     685,       0,     650,     687,     662,     688,
   495       205,     690,     691,     666,     680,     697,     697,     697,
   496       697,     698,     699,     700,       0,     703,     703,     704,
   497       706,     707,     708,     708,     700,     711,     711,     712,
   498       713,     719,     719,     719,     719,     719,     719,       0,
   499  0(max grammar-719)
   500  
   501  %constshortintegerarray kdict(32:607) = %c
        PUSHI #0x00000020
        PUSHI #0x0000025f
        BOUNDS
        DEF V_00a2 KDICT
        +   0x001b
        +   0x0003
        +   0x0112
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000001ff
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000213
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000227
        INIT 1
        PUSHI #0x0000022f
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000237
        INIT 1
        PUSHI #0x0000023f
        INIT 1
        PUSHI #0x00000247
        INIT 1
        PUSHI #0x0000025b
        INIT 1
        PUSHI #0x0000026f
        INIT 1
        PUSHI #0x00000277
        INIT 1
        PUSHI #0x00000297
        INIT 1
        PUSHI #0x0000029f
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x00000081
        INIT 1
        PUSHI #0x000002b3
        INIT 1
        PUSHI #0x000002ba
        INIT 1
        PUSHI #0x000002c3
        INIT 1
        PUSHI #0x000002ef
        INIT 1
        PUSHI #0x0000031b
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000338
        INIT 1
        PUSHI #0x00000384
        INIT 1
        PUSHI #0x000003c0
        INIT 1
        PUSHI #0x00000434
        INIT 1
        PUSHI #0x00000460
        INIT 1
        PUSHI #0x00000500
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x00000570
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x000005b4
        INIT 1
        PUSHI #0x00000614
        INIT 1
        PUSHI #0x00000638
        INIT 1
        PUSHI #0x0000067c
        INIT 1
        PUSHI #0x000006d4
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x00000724
        INIT 1
        PUSHI #0x000007fc
        INIT 1
        PUSHI #0x000008c0
        INIT 1
        PUSHI #0x000008e0
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x00000908
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x00000080
        INIT 1
        PUSHI #0x0000091b
        INIT 1
        PUSHI #0x00000923
        INIT 1
        PUSHI #0x00000943
        INIT 1
        PUSHI #0x0000094b
        INIT 1
        PUSHI #0x0000095f
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x00000967
        INIT 1
        PUSHI #0x00000083
        INIT 1
        PUSHI #0x0000094b
        INIT 1
        PUSHI #0xffff81a1
        INIT 1
        PUSHI #0x0000402c
        INIT 1
        PUSHI #0x00000019
        INIT 1
        PUSHI #0x0000402c
        INIT 1
        PUSHI #0x0000001d
        INIT 1
        PUSHI #0xffff81a3
        INIT 1
        PUSHI #0x00004031
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00004032
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0xffffc101
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000402b
        INIT 1
        PUSHI #0x00000015
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff81bd
        INIT 1
        PUSHI #0xffffd5a8
        INIT 1
        PUSHI #0x00000028
        INIT 1
        PUSHI #0x00004057
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff81ab
        INIT 1
        PUSHI #0xffffd6ac
        INIT 1
        PUSHI #0x00000020
        INIT 1
        PUSHI #0x00004059
        INIT 1
        PUSHI #0x00000075
        INIT 1
        PUSHI #0x00004000
        INIT 1
        PUSHI #0x00000013
        INIT 1
        PUSHI #0xffff832d
        INIT 1
        PUSHI #0xffff81be
        INIT 1
        PUSHI #0xffffd6ac
        INIT 1
        PUSHI #0x00000024
        INIT 1
        PUSHI #0xffffdbb6
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00004059
        INIT 1
        PUSHI #0x00000071
        INIT 1
        PUSHI #0x00004030
        INIT 1
        PUSHI #0x0000000d
        INIT 1
        PUSHI #0xffff81af
        INIT 1
        PUSHI #0x0000402b
        INIT 1
        PUSHI #0x0000002e
        INIT 1
        PUSHI #0x0000402b
        INIT 1
        PUSHI #0x00000011
        INIT 1
        PUSHI #0x00004015
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00004014
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff84bc
        INIT 1
        PUSHI #0xffff833d
        INIT 1
        PUSHI #0xffff81be
        INIT 1
        PUSHI #0xffffdab1
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x00004031
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00004031
        INIT 1
        PUSHI #0x00000005
        INIT 1
        PUSHI #0x0000402a
        INIT 1
        PUSHI #0x00000005
        INIT 1
        PUSHI #0xffff848a
        INIT 1
        PUSHI #0xffff81bd
        INIT 1
        PUSHI #0xffffd9b1
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff818a
        INIT 1
        PUSHI #0xffffda32
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00004034
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00004033
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff833d
        INIT 1
        PUSHI #0xffff81be
        INIT 1
        PUSHI #0x00004031
        INIT 1
        PUSHI #0x00000004
        INIT 1
        PUSHI #0x0000402a
        INIT 1
        PUSHI #0x00000009
        INIT 1
        PUSHI #0x00004031
        INIT 1
        PUSHI #0x00000003
        INIT 1
        PUSHI #0xffff87cc
        INIT 1
        PUSHI #0xffff844e
        INIT 1
        PUSHI #0x00002952
        INIT 1
        PUSHI #0x00002cc1
        INIT 1
        PUSHI #0xffff81a8
        INIT 1
        PUSHI #0x0000401d
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x0000401b
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x00000044
        INIT 1
        PUSHI #0xffff818a
        INIT 1
        PUSHI #0x00004038
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00004038
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000020c9
        INIT 1
        PUSHI #0x00000053
        INIT 1
        PUSHI #0x00004018
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff85c5
        INIT 1
        PUSHI #0x00002a59
        INIT 1
        PUSHI #0x00000045
        INIT 1
        PUSHI #0xffff81c9
        INIT 1
        PUSHI #0x0000401c
        INIT 1
        PUSHI #0x00000012
        INIT 1
        PUSHI #0x00002a4e
        INIT 1
        PUSHI #0x000023c5
        INIT 1
        PUSHI #0x00002945
        INIT 1
        PUSHI #0x0000401c
        INIT 1
        PUSHI #0x00000012
        INIT 1
        PUSHI #0x000024c7
        INIT 1
        PUSHI #0x0000004e
        INIT 1
        PUSHI #0x0000404a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff82cf
        INIT 1
        PUSHI #0x000021d9
        INIT 1
        PUSHI #0x000022cc
        INIT 1
        PUSHI #0x00004047
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff8a4d
        INIT 1
        PUSHI #0x0000004e
        INIT 1
        PUSHI #0xffff85d3
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0xffff82c9
        INIT 1
        PUSHI #0x000027d2
        INIT 1
        PUSHI #0x0000004c
        INIT 1
        PUSHI #0x00004055
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00002ace
        INIT 1
        PUSHI #0x00000045
        INIT 1
        PUSHI #0x0000403f
        INIT 1
        PUSHI #0x00000020
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0xffff81c1
        INIT 1
        PUSHI #0x00004022
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x00002a4e
        INIT 1
        PUSHI #0x00004022
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x000022cd
        INIT 1
        PUSHI #0x00002a4e
        INIT 1
        PUSHI #0x00004016
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff8349
        INIT 1
        PUSHI #0x00002759
        INIT 1
        PUSHI #0x000026c1
        INIT 1
        PUSHI #0x000021c9
        INIT 1
        PUSHI #0x00004023
        INIT 1
        PUSHI #0x00000005
        INIT 1
        PUSHI #0x000023c1
        INIT 1
        PUSHI #0x000027ce
        INIT 1
        PUSHI #0x000022d3
        INIT 1
        PUSHI #0x00004055
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0xffff92cc
        INIT 1
        PUSHI #0xffff85ce
        INIT 1
        PUSHI #0x00000058
        INIT 1
        PUSHI #0xffff8349
        INIT 1
        PUSHI #0x000022d4
        INIT 1
        PUSHI #0x00002752
        INIT 1
        PUSHI #0x00002641
        INIT 1
        PUSHI #0x00004023
        INIT 1
        PUSHI #0x00000003
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0x0000403f
        INIT 1
        PUSHI #0x00000004
        INIT 1
        PUSHI #0x00000044
        INIT 1
        PUSHI #0xffff81cf
        INIT 1
        PUSHI #0x0000404b
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x00000046
        INIT 1
        PUSHI #0xffff8846
        INIT 1
        PUSHI #0xffff85cc
        INIT 1
        PUSHI #0x00000050
        INIT 1
        PUSHI #0xffff8345
        INIT 1
        PUSHI #0x000027d2
        INIT 1
        PUSHI #0x00002947
        INIT 1
        PUSHI #0x000026c1
        INIT 1
        PUSHI #0x0000404c
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x000026d2
        INIT 1
        PUSHI #0x0000404d
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000029c9
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0x00004053
        INIT 1
        PUSHI #0x00000003
        INIT 1
        PUSHI #0x00002649
        INIT 1
        PUSHI #0x00000045
        INIT 1
        PUSHI #0x0000404c
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000022d3
        INIT 1
        PUSHI #0x00004044
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff8c41
        INIT 1
        PUSHI #0xffff8749
        INIT 1
        PUSHI #0xffff85ce
        INIT 1
        PUSHI #0xffff83cf
        INIT 1
        PUSHI #0x00002755
        INIT 1
        PUSHI #0x00002a43
        INIT 1
        PUSHI #0x000027c9
        INIT 1
        PUSHI #0x0000004e
        INIT 1
        PUSHI #0x00004020
        INIT 1
        PUSHI #0x00000009
        INIT 1
        PUSHI #0x00000052
        INIT 1
        PUSHI #0x0000403d
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00004020
        INIT 1
        PUSHI #0x00000009
        INIT 1
        PUSHI #0x000024ce
        INIT 1
        PUSHI #0x00002453
        INIT 1
        PUSHI #0xffff81c5
        INIT 1
        PUSHI #0x00004045
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000029cc
        INIT 1
        PUSHI #0x00000045
        INIT 1
        PUSHI #0x00004046
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000029cc
        INIT 1
        PUSHI #0x00000045
        INIT 1
        PUSHI #0x00004050
        INIT 1
        PUSHI #0x000004ba
        INIT 1
        PUSHI #0xffff87c6
        INIT 1
        PUSHI #0x0000004e
        INIT 1
        PUSHI #0xffff84c3
        INIT 1
        PUSHI #0x000022d4
        INIT 1
        PUSHI #0x000022c7
        INIT 1
        PUSHI #0x00000052
        INIT 1
        PUSHI #0xffff81a8
        INIT 1
        PUSHI #0x0000401c
        INIT 1
        PUSHI #0x00000011
        INIT 1
        PUSHI #0x00004058
        INIT 1
        PUSHI #0x00000011
        INIT 1
        PUSHI #0x00002acc
        INIT 1
        PUSHI #0x000022c4
        INIT 1
        PUSHI #0x00004056
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000403e
        INIT 1
        PUSHI #0x0000002c
        INIT 1
        PUSHI #0xffff8a41
        INIT 1
        PUSHI #0xffff8849
        INIT 1
        PUSHI #0x0000274f
        INIT 1
        PUSHI #0x00000047
        INIT 1
        PUSHI #0xffff8449
        INIT 1
        PUSHI #0xffff81d2
        INIT 1
        PUSHI #0x0000401c
        INIT 1
        PUSHI #0x00000014
        INIT 1
        PUSHI #0x000020c5
        INIT 1
        PUSHI #0x0000004c
        INIT 1
        PUSHI #0x0000401c
        INIT 1
        PUSHI #0x00000024
        INIT 1
        PUSHI #0x00002a4e
        INIT 1
        PUSHI #0x000023c5
        INIT 1
        PUSHI #0x00002945
        INIT 1
        PUSHI #0x0000401c
        INIT 1
        PUSHI #0x00000014
        INIT 1
        PUSHI #0x00002a53
        INIT 1
        PUSHI #0x00004053
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x000022c2
        INIT 1
        PUSHI #0x0000004c
        INIT 1
        PUSHI #0x00004029
        INIT 1
        PUSHI #0x00000006
        INIT 1
        PUSHI #0xffff8341
        INIT 1
        PUSHI #0x0000274f
        INIT 1
        PUSHI #0x00002a49
        INIT 1
        PUSHI #0x0000294f
        INIT 1
        PUSHI #0x00004051
        INIT 1
        PUSHI #0x0000006d
        INIT 1
        PUSHI #0x00000050
        INIT 1
        PUSHI #0x00004020
        INIT 1
        PUSHI #0x0000000a
        INIT 1
        PUSHI #0xffff8241
        INIT 1
        PUSHI #0x00002a4f
        INIT 1
        PUSHI #0x0000403a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000022cd
        INIT 1
        PUSHI #0xffff81c6
        INIT 1
        PUSHI #0x0000401e
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0xffff83ce
        INIT 1
        PUSHI #0x00002755
        INIT 1
        PUSHI #0x00002a43
        INIT 1
        PUSHI #0x000027c9
        INIT 1
        PUSHI #0x0000004e
        INIT 1
        PUSHI #0x00004020
        INIT 1
        PUSHI #0x0000000a
        INIT 1
        PUSHI #0x00004020
        INIT 1
        PUSHI #0x0000000a
        INIT 1
        PUSHI #0xffff87ce
        INIT 1
        PUSHI #0xffff8550
        INIT 1
        PUSHI #0xffff8252
        INIT 1
        PUSHI #0x00002757
        INIT 1
        PUSHI #0x00004022
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0xffff818a
        INIT 1
        PUSHI #0x00004039
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x00004039
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x000024d4
        INIT 1
        PUSHI #0x0000274f
        INIT 1
        PUSHI #0x00004012
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff81c5
        INIT 1
        PUSHI #0x00004040
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000022d6
        INIT 1
        PUSHI #0x00002a4e
        INIT 1
        PUSHI #0x00004040
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff88c5
        INIT 1
        PUSHI #0x00000052
        INIT 1
        PUSHI #0xffff8545
        INIT 1
        PUSHI #0xffff8349
        INIT 1
        PUSHI #0x000023cf
        INIT 1
        PUSHI #0x000020d2
        INIT 1
        PUSHI #0x0000004d
        INIT 1
        PUSHI #0x00004049
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000004d
        INIT 1
        PUSHI #0x00004023
        INIT 1
        PUSHI #0x00000006
        INIT 1
        PUSHI #0x000024c4
        INIT 1
        PUSHI #0x000020c3
        INIT 1
        PUSHI #0x000022d4
        INIT 1
        PUSHI #0x0000401f
        INIT 1
        PUSHI #0x0000007b
        INIT 1
        PUSHI #0x000026d2
        INIT 1
        PUSHI #0x00004023
        INIT 1
        PUSHI #0x00000007
        INIT 1
        PUSHI #0xffff8345
        INIT 1
        PUSHI #0x00002acf
        INIT 1
        PUSHI #0x000024d4
        INIT 1
        PUSHI #0x000022ce
        INIT 1
        PUSHI #0x0000401f
        INIT 1
        PUSHI #0x00000068
        INIT 1
        PUSHI #0xffff9141
        INIT 1
        PUSHI #0xffff8943
        INIT 1
        PUSHI #0xffff86d0
        INIT 1
        PUSHI #0xffff82d3
        INIT 1
        PUSHI #0x00002ad4
        INIT 1
        PUSHI #0x00002752
        INIT 1
        PUSHI #0x00004050
        INIT 1
        PUSHI #0x00000527
        INIT 1
        PUSHI #0x00002655
        INIT 1
        PUSHI #0x00001ed4
        INIT 1
        PUSHI #0xffff81bd
        INIT 1
        PUSHI #0x0000404e
        INIT 1
        PUSHI #0x00000568
        INIT 1
        PUSHI #0x0000404f
        INIT 1
        PUSHI #0x000004d9
        INIT 1
        PUSHI #0x000020c5
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0x00004048
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000294f
        INIT 1
        PUSHI #0x00000044
        INIT 1
        PUSHI #0xffff81c6
        INIT 1
        PUSHI #0x00004025
        INIT 1
        PUSHI #0x00000040
        INIT 1
        PUSHI #0x0000294f
        INIT 1
        PUSHI #0x000020cd
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0xffff81d3
        INIT 1
        PUSHI #0x00004026
        INIT 1
        PUSHI #0x00000009
        INIT 1
        PUSHI #0x000022d0
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00004026
        INIT 1
        PUSHI #0x0000000c
        INIT 1
        PUSHI #0x0000004c
        INIT 1
        PUSHI #0xffff81d3
        INIT 1
        PUSHI #0x0000401c
        INIT 1
        PUSHI #0x00000021
        INIT 1
        PUSHI #0xffff834c
        INIT 1
        PUSHI #0x000027ce
        INIT 1
        PUSHI #0x000026d2
        INIT 1
        PUSHI #0x00002641
        INIT 1
        PUSHI #0x00004054
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x0000274f
        INIT 1
        PUSHI #0x00000047
        INIT 1
        PUSHI #0x00004054
        INIT 1
        PUSHI #0x00000004
        INIT 1
        PUSHI #0xffff93c8
        INIT 1
        PUSHI #0xffff8ec9
        INIT 1
        PUSHI #0xffff8cd0
        INIT 1
        PUSHI #0xffff85d4
        INIT 1
        PUSHI #0xffff8357
        INIT 1
        PUSHI #0x000029d9
        INIT 1
        PUSHI #0x000022d4
        INIT 1
        PUSHI #0x0000004d
        INIT 1
        PUSHI #0x00004023
        INIT 1
        PUSHI #0x00000004
        INIT 1
        PUSHI #0x00002a49
        INIT 1
        PUSHI #0x00002443
        INIT 1
        PUSHI #0x00004021
        INIT 1
        PUSHI #0x0000000c
        INIT 1
        PUSHI #0xffff8541
        INIT 1
        PUSHI #0xffff834f
        INIT 1
        PUSHI #0x000024d2
        INIT 1
        PUSHI #0x000023ce
        INIT 1
        PUSHI #0x00000028
        INIT 1
        PUSHI #0x00004024
        INIT 1
        PUSHI #0x00000030
        INIT 1
        PUSHI #0x00000050
        INIT 1
        PUSHI #0x00004052
        INIT 1
        PUSHI #0x00000073
        INIT 1
        PUSHI #0x00002a52
        INIT 1
        PUSHI #0x00004043
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000021c5
        INIT 1
        PUSHI #0x00004027
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00002747
        INIT 1
        PUSHI #0x00002641
        INIT 1
        PUSHI #0xffff81c5
        INIT 1
        PUSHI #0x00004041
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x000022d6
        INIT 1
        PUSHI #0x00002a4e
        INIT 1
        PUSHI #0x00004041
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000294f
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0xffff81c9
        INIT 1
        PUSHI #0x0000401c
        INIT 1
        PUSHI #0x00000013
        INIT 1
        PUSHI #0x00002a4e
        INIT 1
        PUSHI #0x000023c5
        INIT 1
        PUSHI #0x00002945
        INIT 1
        PUSHI #0x0000401c
        INIT 1
        PUSHI #0x00000013
        INIT 1
        PUSHI #0xffff82c8
        INIT 1
        PUSHI #0x00002ad2
        INIT 1
        PUSHI #0x00000045
        INIT 1
        PUSHI #0x00004050
        INIT 1
        PUSHI #0x0000054a
        INIT 1
        PUSHI #0x00002745
        INIT 1
        PUSHI #0x00004042
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000004e
        INIT 1
        PUSHI #0xffff82cc
        INIT 1
        PUSHI #0x000024d4
        INIT 1
        PUSHI #0x0000004c
        INIT 1
        PUSHI #0x0000403c
        INIT 1
        PUSHI #0x000000b6
        INIT 1
        PUSHI #0x000029c5
        INIT 1
        PUSHI #0x00000053
        INIT 1
        PUSHI #0x0000403e
        INIT 1
        PUSHI #0x0000002e
        INIT 1
        PUSHI #0x000024c8
        INIT 1
        PUSHI #0x000022cc
        INIT 1
        PUSHI #0x0000403b
        INIT 1
        PUSHI #0x000000b4
        INIT 1
        PUSHI #0x00004017
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff833d
        INIT 1
        PUSHI #0xffff81dc
        INIT 1
        PUSHI #0xffffd72a
        INIT 1
        PUSHI #0x00000033
        INIT 1
        PUSHI #0x0000402a
        INIT 1
        PUSHI #0x0000000d
        INIT 1
        PUSHI #0x00004031
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00004019
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0xffff81de
        INIT 1
        PUSHI #0xffffd72a
        INIT 1
        PUSHI #0x00000033
        INIT 1
        PUSHI #0x0000402a
        INIT 1
        PUSHI #0x0000000d
        INIT 1
        PUSHI #0x0000401a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000402f
        INIT 1
        PUSHI #0x0000000e
        INIT 1
        PUSHI #0xffff81bd
        INIT 1
        PUSHI #0x0000402e
        INIT 1
        PUSHI #0x00000033
        INIT 1
        PUSHI #0x00004031
        INIT 1
        PUSHI #0x00000001
        INIT 1
        LINE 574
   502         0,     511,     131,     531,     131,     551,     559,     131,
   503       567,     575,     583,     603,     623,     631,     663,     671,
   504       129,     129,     129,     129,     129,     129,     129,     129,
   505       129,     129,     691,     698,     707,     751,     795,     131,
   506       131,     824,     900,     960,    1076,    1120,    1280,     128,
   507       128,    1392,     128,     128,    1460,    1556,    1592,    1660,
   508      1748,     128,    1828,    2044,    2240,    2272,     128,    2312,
   509       128,     128,     128,    2331,    2339,    2371,    2379,    2399,
   510       131,     131,     131,     131,     131,     131,     131,     131,
   511       131,     131,     131,     131,     131,     131,     131,     131,
   512       131,     131,     131,     131,     131,     131,     131,     131,
   513       131,     131,     131,     131,    2407,     131,    2379,  -32351,
   514     16428,      25,   16428,      29,  -32349,   16433,       1,   16434,
   515         1,  -16127,       0,   16427,      21,   16407,       0,   16409,
   516         0,  -32323,  -10840,      40,   16471,       0,  -32341,  -10580,
   517        32,   16473,     117,   16384,      19,  -31955,  -32322,  -10580,
   518        36,   -9290,       0,   16473,     113,   16432,      13,  -32337,
   519     16427,      46,   16427,      17,   16405,       0,   16404,       0,
   520    -31556,  -31939,  -32322,   -9551,       2,   16433,       1,   16433,
   521         5,   16426,       5,  -31606,  -32323,   -9807,       0,  -32374,
   522     -9678,       0,   16436,       0,   16435,       0,  -31939,  -32322,
   523     16433,       4,   16426,       9,   16433,       3,  -30772,  -31666,
   524     10578,   11457,  -32344,   16413,       2,   16411,       2,      68,
   525    -32374,   16440,       0,   16440,       0,    8393,      83,   16408,
   526         0,  -31291,   10841,      69,  -32311,   16412,      18,   10830,
   527      9157,   10565,   16412,      18,    9415,      78,   16458,       0,
   528    -32049,    8665,    8908,   16455,       0,  -30131,      78,  -31277,
   529        84,  -32055,   10194,      76,   16469,       0,   10958,      69,
   530     16447,      32,      84,  -32319,   16418,       2,   10830,   16418,
   531         2,    8909,   10830,   16406,       0,  -31927,   10073,    9921,
   532      8649,   16419,       5,    9153,   10190,    8915,   16469,       1,
   533    -27956,  -31282,      88,  -31927,    8916,   10066,    9793,   16419,
   534         3,      84,   16447,       4,      68,  -32305,   16459,       2,
   535        70,  -30650,  -31284,      80,  -31931,   10194,   10567,    9921,
   536     16460,       1,    9938,   16461,       0,   10697,      84,   16467,
   537         3,    9801,      69,   16460,       0,    8915,   16452,       0,
   538    -29631,  -30903,  -31282,  -31793,   10069,   10819,   10185,      78,
   539     16416,       9,      82,   16445,       0,   16416,       9,    9422,
   540      9299,  -32315,   16453,       0,   10700,      69,   16454,       0,
   541     10700,      69,   16464,    1210,  -30778,      78,  -31549,    8916,
   542      8903,      82,  -32344,   16412,      17,   16472,      17,   10956,
   543      8900,   16470,       0,   16446,      44,  -30143,  -30647,   10063,
   544        71,  -31671,  -32302,   16412,      20,    8389,      76,   16412,
   545        36,   10830,    9157,   10565,   16412,      20,   10835,   16467,
   546         1,    8898,      76,   16425,       6,  -31935,   10063,   10825,
   547     10575,   16465,     109,      80,   16416,      10,  -32191,   10831,
   548     16442,       0,    8909,  -32314,   16414,       1,  -31794,   10069,
   549     10819,   10185,      78,   16416,      10,   16416,      10,  -30770,
   550    -31408,  -32174,   10071,   16418,       1,  -32374,   16441,       2,
   551     16441,       2,    9428,   10063,   16402,       0,  -32315,   16448,
   552         0,    8918,   10830,   16448,       0,  -30523,      82,  -31419,
   553    -31927,    9167,    8402,      77,   16457,       0,      77,   16419,
   554         6,    9412,    8387,    8916,   16415,     123,    9938,   16419,
   555         7,  -31931,   10959,    9428,    8910,   16415,     104,  -28351,
   556    -30397,  -31024,  -32045,   10964,   10066,   16464,    1319,    9813,
   557      7892,  -32323,   16462,    1384,   16463,    1241,    8389,      84,
   558     16456,       0,   10575,      68,  -32314,   16421,      64,   10575,
   559      8397,      84,  -32301,   16422,       9,    8912,      67,   16422,
   560        12,      76,  -32301,   16412,      33,  -31924,   10190,    9938,
   561      9793,   16468,       1,   10063,      71,   16468,       4,  -27704,
   562    -28983,  -29488,  -31276,  -31913,   10713,    8916,      77,   16419,
   563         4,   10825,    9283,   16417,      12,  -31423,  -31921,    9426,
   564      9166,      40,   16420,      48,      80,   16466,     115,   10834,
   565     16451,       0,    8645,   16423,       0,   10055,    9793,  -32315,
   566     16449,       0,    8918,   10830,   16449,       0,   10575,      84,
   567    -32311,   16412,      19,   10830,    9157,   10565,   16412,      19,
   568    -32056,   10962,      69,   16464,    1354,   10053,   16450,       0,
   569        78,  -32052,    9428,      76,   16444,     182,   10693,      83,
   570     16446,      46,    9416,    8908,   16443,     180,   16407,       0,
   571    -31939,  -32292,  -10454,      51,   16426,      13,   16433,       1,
   572     16409,       0,  -32290,  -10454,      51,   16426,      13,   16410,
   573         0,   16431,      14,  -32323,   16430,      51,   16433,       1
   574     %list
        LINE 577
   575  !***  end  of generated tables ***
   576  
   577  %ROUTINE flush buffer
        GOTO L_0000
        DEF V_00a3 FLUSHBUFFER
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 578
   578     %INTEGER j
        DEF V_00a4 J
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 579
   579     %IF faulty = 0 %START
        PUSH V_004b
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 580
   580        select output(object)
        PUSH V_0020
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 581
   581        %FOR j = 1, 1, bp %CYCLE
        PUSH V_00a4
        PUSHI #0x00000001
        PUSH V_009a
        PUSHI #0x00000001
        FOR L_0006
        LINE 582
   582           printsymbol(buff(j))
        PUSH V_001c
        PUSH V_0099
        PUSH V_00a4
        ACCESS
        ASSPAR
        CALL
        LINE 583
   583        %REPEAT
        REPEAT L_0006
        LOCATE L_0007
        LINE 584
   584        select output(listing)
        PUSH V_0020
        PUSHI #0x00000002
        ASSPAR
        CALL
        LINE 585
   585     %FINISH
        LOCATE L_0004
        LINE 586
   586     bp = 0
        PUSH V_009a
        PUSHI #0x00000000
        ASSVAL
        LINE 587
   587  %END
        END
        LOCATE L_0000
        LINE 588
   588  %ROUTINE print ident(%INTEGER p, mode)
        GOTO L_0000
        DEF V_00a4 PRINTIDENT
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00a5 P
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00a6 MODE
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 589
   589     %INTEGER j, ad
        DEF V_00a7 J
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00a8 AD
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 590
   590     p = tag(p)_text
        PUSH V_00a5
        PUSH V_0097
        PUSH V_00a5
        ACCESS
        SELECT V_0005
        ASSVAL
        LINE 591
   591     %IF p = 0 %START
        PUSH V_00a5
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 592
   592        bp = bp+1 %AND buff(bp) = '?' %if Mode # 0
        PUSH V_00a6
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000003f
        ASSVAL
        LOCATE L_0007
        LINE 593
   593        %RETURN
        RETURN
        LINE 594
   594     %FINISH
        LOCATE L_0004
        LINE 595
   595     ad = addr(dict(p+1))
        PUSH V_00a8
        PUSH V_0009
        PUSH V_0098
        PUSH V_00a5
        PUSHI #0x00000001
        ADD
        ACCESS
        ASSPAR
        CALL
        ASSVAL
        LINE 596
   596     %IF mode = 0 %THEN printstring(string(ad)) %ELSE %START
        PUSH V_00a6
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_001d
        PUSH V_000d
        PUSH V_00a8
        ASSPAR
        CALL
        ASSPAR
        CALL
        GOTO L_0003
        LOCATE L_0004
        LINE 597
   597        %FOR j = ad+1, 1, ad+byteinteger(ad) %CYCLE
        PUSH V_00a7
        PUSHI #0x00000001
        PUSH V_00a8
        PUSH V_000c
        PUSH V_00a8
        ASSPAR
        CALL
        ADD
        PUSH V_00a8
        PUSHI #0x00000001
        ADD
        FOR L_0006
        LINE 598
   598           bp = bp+1
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 599
   599           buff(bp) = byteinteger(j)
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_000c
        PUSH V_00a7
        ASSPAR
        CALL
        ASSVAL
        LINE 600
   600        %REPEAT
        REPEAT L_0006
        LOCATE L_0007
        LINE 601
   601     %FINISH
        LOCATE L_0003
        LINE 602
   602  %END
        END
        LOCATE L_0000
        LINE 603
   603  %ROUTINE abandon(%INTEGER n)
        GOTO L_0000
        DEF V_00a5 ABANDON
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00a6 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 604
   604     %SWITCH reason(0:9)
        PUSHI #0x00000000
        PUSHI #0x00000009
        BOUNDS
        DEF V_00a7 REASON
        +   0x0006
        +   0x0000
        +   0x0000
        LINE 605
   605     %INTEGER stream
        DEF V_00a8 STREAM
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 606
   606     stream = listing
        PUSH V_00a8
        PUSHI #0x00000002
        ASSVAL
        LINE 607
   607     %CYCLE
        LOCATE L_0003
        LINE 608
   608        newline %IF sym # nl
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF = L_0007
        PUSH V_0030
        CALL
        LOCATE L_0007
        LINE 609
   609        printsymbol('*');  write(lines,4);  space
        PUSH V_001c
        PUSHI #0x0000002a
        ASSPAR
        CALL
        LINE 609
        PUSH V_001e
        PUSH V_004d
        ASSPAR
        PUSHI #0x00000004
        ASSPAR
        CALL
        LINE 609
        PUSH V_002e
        CALL
        LINE 610
   610        ->reason(n)
        PUSH V_00a6
        SJUMP 167
        LINE 611
   611  reason(0):printstring("compiler error!");          ->more
        PUSHI #0x00000000
        SLABEL 167
        LINE 611
        PUSH V_001d
        PUSHS "compiler error!"
        ASSPAR
        CALL
        LINE 611
        JUMP L_00a9
        LINE 612
   612  reason(1):printstring("switch vector too large");  ->more
        PUSHI #0x00000001
        SLABEL 167
        LINE 612
        PUSH V_001d
        PUSHS "switch vector too large"
        ASSPAR
        CALL
        LINE 612
        JUMP L_00a9
        LINE 613
   613  reason(2):printstring("too many names");           ->more
        PUSHI #0x00000002
        SLABEL 167
        LINE 613
        PUSH V_001d
        PUSHS "too many names"
        ASSPAR
        CALL
        LINE 613
        JUMP L_00a9
        LINE 614
   614  reason(3):printstring("program too complex");      ->more
        PUSHI #0x00000003
        SLABEL 167
        LINE 614
        PUSH V_001d
        PUSHS "program too complex"
        ASSPAR
        CALL
        LINE 614
        JUMP L_00a9
        LINE 615
   615  reason(4):printstring("feature not implemented");  ->more
        PUSHI #0x00000004
        SLABEL 167
        LINE 615
        PUSH V_001d
        PUSHS "feature not implemented"
        ASSPAR
        CALL
        LINE 615
        JUMP L_00a9
        LINE 616
   616  reason(5):printstring("input ended: ")
        PUSHI #0x00000005
        SLABEL 167
        LINE 616
        PUSH V_001d
        PUSHS "input ended: "
        ASSPAR
        CALL
        LINE 617
   617            %IF quote # 0 %START
        PUSH V_0057
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 618
   618              %IF quote < 0 %THEN printsymbol(cquote) %C
        PUSH V_0057
        PUSHI #0x00000000
        JUMPIF >= L_000a
        PUSH V_001c
        PUSHI #0x00000027
        ASSPAR
        CALL
        GOTO L_0009
        LOCATE L_000a
        PUSH V_001c
        PUSHI #0x00000022
        ASSPAR
        CALL
        LOCATE L_0009
        LINE 620
   619                            %ELSE printsymbol(squote)
   620            %ELSE
        GOTO L_0006
        LOCATE L_0007
        LINE 621
   621               printstring("%endof")
        PUSH V_001d
        PUSHS "%endof"
        ASSPAR
        CALL
        LINE 622
   622               %IF progmode >= 0 %THEN printstring("program") %C
        PUSH V_007b
        PUSHI #0x00000000
        JUMPIF < L_000a
        PUSH V_001d
        PUSHS "program"
        ASSPAR
        CALL
        GOTO L_0009
        LOCATE L_000a
        PUSH V_001d
        PUSHS "file"
        ASSPAR
        CALL
        LOCATE L_0009
        LINE 624
   623                                 %ELSE printstring("file")
   624            %FINISH
        LOCATE L_0006
        LINE 625
   625            printstring(" missing?");                ->more
        PUSH V_001d
        PUSHS " missing?"
        ASSPAR
        CALL
        LINE 625
        JUMP L_00a9
        LINE 626
   626  reason(6):printstring("too many faults!");         ->more
        PUSHI #0x00000006
        SLABEL 167
        LINE 626
        PUSH V_001d
        PUSHS "too many faults!"
        ASSPAR
        CALL
        LINE 626
        JUMP L_00a9
        LINE 627
   627  reason(7):printstring("string constant too long"); ->more
        PUSHI #0x00000007
        SLABEL 167
        LINE 627
        PUSH V_001d
        PUSHS "string constant too long"
        ASSPAR
        CALL
        LINE 627
        JUMP L_00a9
        LINE 628
   628  reason(8):printstring("dictionary full"); -> more
        PUSHI #0x00000008
        SLABEL 167
        LINE 628
        PUSH V_001d
        PUSHS "dictionary full"
        ASSPAR
        CALL
        LINE 628
        JUMP L_00a9
        LINE 629
   629  reason(9):printstring("Included file ".include file." does not exist")
        PUSHI #0x00000009
        SLABEL 167
        LINE 629
        PUSH V_001d
        PUSHS "Included file "
        PUSH V_0076
        CONCAT
        PUSHS " does not exist"
        CONCAT
        ASSPAR
        CALL
        LINE 630
   630  more: newline
        LABEL L_00a9
        LINE 630
        PUSH V_0030
        CALL
        LINE 631
   631        printstring("***  compilation abandoned ***");  newline
        PUSH V_001d
        PUSHS "***  compilation abandoned ***"
        ASSPAR
        CALL
        LINE 631
        PUSH V_0030
        CALL
        LINE 632
   632        %EXIT %IF stream = report
        PUSH V_00a8
        PUSHI #0x00000000
        JUMPIF # L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 633
   633        close output
        PUSH V_0035
        CALL
        LINE 634
   634        stream = report
        PUSH V_00a8
        PUSHI #0x00000000
        ASSVAL
        LINE 635
   635        select output(report)
        PUSH V_0020
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 636
   636     %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 638
   637  !IMP80 BUG???     %SIGNAL 15,15 %IF diag&4096 # 0
   638     %STOP
        STOP
        LINE 639
   639  %END
        END
        LOCATE L_0000
        LINE 640
   640  %ROUTINE op(%INTEGER code, param)
        GOTO L_0000
        DEF V_00a6 OP
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00a7 CODE
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00a8 PARAM
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 641
   641        buff(bp+1) <- code
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSH V_00a7
        JAM
        LINE 642
   642        buff(bp+2) <- param>>8
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000002
        ADD
        ACCESS
        PUSH V_00a8
        PUSHI #0x00000008
        RSH
        JAM
        LINE 643
   643        buff(bp+3) <- param
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000003
        ADD
        ACCESS
        PUSH V_00a8
        JAM
        LINE 644
   644        bp = bp+3
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000003
        ADD
        ASSVAL
        LINE 645
   645  %END
        END
        LOCATE L_0000
        LINE 646
   646  %ROUTINE set const(%INTEGER m)
        GOTO L_0000
        DEF V_00a7 SETCONST
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00a8 M
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 647
   647        buff(bp+1) <- 'N'
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSHI #0x0000004e
        JAM
        LINE 648
   648        buff(bp+5) <- m;  m = m>>8
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000005
        ADD
        ACCESS
        PUSH V_00a8
        JAM
        LINE 648
        PUSH V_00a8
        PUSH V_00a8
        PUSHI #0x00000008
        RSH
        ASSVAL
        LINE 649
   649        buff(bp+4) <- m;  m = m>>8
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000004
        ADD
        ACCESS
        PUSH V_00a8
        JAM
        LINE 649
        PUSH V_00a8
        PUSH V_00a8
        PUSHI #0x00000008
        RSH
        ASSVAL
        LINE 650
   650        buff(bp+3) <- m;  m = m>>8
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000003
        ADD
        ACCESS
        PUSH V_00a8
        JAM
        LINE 650
        PUSH V_00a8
        PUSH V_00a8
        PUSHI #0x00000008
        RSH
        ASSVAL
        LINE 651
   651        buff(bp+2) <- m
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000002
        ADD
        ACCESS
        PUSH V_00a8
        JAM
        LINE 652
   652        bp = bp+5
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000005
        ADD
        ASSVAL
        LINE 653
   653  %END
        END
        LOCATE L_0000
        LINE 657
   654  
   655  
   656  
   657  %ROUTINE compile block(%INTEGER level, block tag, dmin, tmax, id)
        GOTO L_0000
        DEF V_00a8 COMPILEBLOCK
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00a9 LEVEL
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00aa BLOCKTAG
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ab DMIN
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ac TMAX
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ad ID
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 659
   658  
   659     %INTEGERFNSPEC gapp
        DEF V_00ae GAPP
        +   0x0018
        +   0x0001
        +   0x0018
        START
        FINISH
        LINE 660
   660     %ROUTINESPEC delete names(%INTEGER quiet)
        DEF V_00af DELETENAMES
        +   0x0007
        +   0x0000
        +   0x0008
        START
        DEF V_00b0 QUIET
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 661
   661     %ROUTINESPEC analyse
        DEF V_00b0 ANALYSE
        +   0x0007
        +   0x0000
        +   0x0008
        START
        FINISH
        LINE 662
   662     %ROUTINESPEC compile
        DEF V_00b1 COMPILE
        +   0x0007
        +   0x0000
        +   0x0008
        START
        FINISH
        LINE 664
   663  
   664     %INTEGER open;    open       = closed;      !zero if can return from proc
        DEF V_00b2 OPEN
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 664
        PUSH V_00b2
        PUSHI #0x00004000
        ASSVAL
        LINE 665
   665     %INTEGER dbase;   dbase      = dmax;        !dictionary base
        DEF V_00b3 DBASE
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 665
        PUSH V_00b3
        PUSH V_0073
        ASSVAL
        LINE 666
   666     %INTEGER tbase;   tbase      = tmax;        !tag base
        DEF V_00b4 TBASE
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 666
        PUSH V_00b4
        PUSH V_00ac
        ASSVAL
        LINE 667
   667     %INTEGER tstart;  tstart     = tmax
        DEF V_00b5 TSTART
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 667
        PUSH V_00b5
        PUSH V_00ac
        ASSVAL
        LINE 668
   668     %INTEGER label;   label      = 4;           !first internal label
        DEF V_00b6 LABEL
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 668
        PUSH V_00b6
        PUSHI #0x00000004
        ASSVAL
        LINE 669
   669     %INTEGER access;  access     = 1;           !non-zero if accessible
        DEF V_00b7 ACCESS
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 669
        PUSH V_00b7
        PUSHI #0x00000001
        ASSVAL
        LINE 670
   670     %INTEGER inhibit; inhibit    = 0;           !non-zero inhibits declaratons
        DEF V_00b8 INHIBIT
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 670
        PUSH V_00b8
        PUSHI #0x00000000
        ASSVAL
        LINE 672
   671  
   672     %SHORTINTEGERNAME bflags; bflags      == tag(block tag)_flags
        DEF V_00b9 BFLAGS
        +   0x0012
        +   0x0003
        +   0x0000
        LINE 672
        PUSH V_00b9
        PUSH V_0097
        PUSH V_00aa
        ACCESS
        SELECT V_0003
        ASSREF
        LINE 673
   673     %INTEGER block type;      block type   = bflags>>4&7
        DEF V_00ba BLOCKTYPE
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 673
        PUSH V_00ba
        PUSH V_00b9
        PUSHI #0x00000004
        RSH
        PUSHI #0x00000007
        AND
        ASSVAL
        LINE 674
   674     %INTEGER block form;      block form   = bflags&15
        DEF V_00bb BLOCKFORM
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 674
        PUSH V_00bb
        PUSH V_00b9
        PUSHI #0x0000000f
        AND
        ASSVAL
        LINE 675
   675     %INTEGER block fm;        block fm     = tag(block tag)_format
        DEF V_00bc BLOCKFM
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 675
        PUSH V_00bc
        PUSH V_0097
        PUSH V_00aa
        ACCESS
        SELECT V_0002
        ASSVAL
        LINE 676
   676     %INTEGER block otype;     block otype  = otype
        DEF V_00bd BLOCKOTYPE
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 676
        PUSH V_00bd
        PUSH V_0061
        ASSVAL
        LINE 677
   677     %INTEGERNAME block app;   block app   == tag(block tag)_app
        DEF V_00be BLOCKAPP
        +   0x0012
        +   0x0001
        +   0x0000
        LINE 677
        PUSH V_00be
        PUSH V_0097
        PUSH V_00aa
        ACCESS
        SELECT V_0001
        ASSREF
        LINE 679
   678  
   679     %INTEGER l, new app
        DEF V_00bf L
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c0 NEWAPP
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 681
   680  
   681  %ROUTINE fault(%INTEGER n)
        GOTO L_0000
        DEF V_00c1 FAULT
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00c2 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 686
   682  
   683      ! -5 : -1  - warnings
   684      !  1 : 22  - errors
   685  
   686      %SWITCH fm(-5:22)
        PUSHI #0xfffffffb
        PUSHI #0x00000016
        BOUNDS
        DEF V_00c3 FM
        +   0x0006
        +   0x0000
        +   0x0000
        LINE 687
   687      %INTEGER st
        DEF V_00c4 ST
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 689
   688  
   689      %ROUTINE print ss
        GOTO L_0000
        DEF V_00c5 PRINTSS
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 690
   690         %INTEGER s, p
        DEF V_00c6 S
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c7 P
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 691
   691         %RETURN %IF pos = 0
        PUSH V_0087
        PUSHI #0x00000000
        JUMPIF # L_0004
        RETURN
        LOCATE L_0004
        LINE 692
   692         space
        PUSH V_002e
        CALL
        LINE 693
   693         p = 1
        PUSH V_00c7
        PUSHI #0x00000001
        ASSVAL
        LINE 694
   694         %CYCLE
        LOCATE L_0003
        LINE 695
   695            printsymbol(marker) %IF p = pos1
        PUSH V_00c7
        PUSH V_0085
        JUMPIF # L_0007
        PUSH V_001c
        PUSHI #0x0000005e
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 696
   696            %EXIT %IF p = pos
        PUSH V_00c7
        PUSH V_0087
        JUMPIF # L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 697
   697            s = char(p);  p = p+1
        PUSH V_00c6
        PUSH V_008e
        PUSH V_00c7
        ACCESS
        ASSVAL
        LINE 697
        PUSH V_00c7
        PUSH V_00c7
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 698
   698            %EXIT %IF s = nl %OR (s='%' %AND p = pos)
        PUSH V_00c6
        PUSHI #0x0000000a
        JUMPIF = L_0008
        PUSH V_00c6
        PUSHI #0x00000025
        JUMPIF # L_0007
        PUSH V_00c7
        PUSH V_0087
        JUMPIF # L_0007
        LOCATE L_0008
        GOTO L_0004
        LOCATE L_0007
        LINE 699
   699            %IF s < ' ' %START;         !beware of tabs
        PUSH V_00c6
        PUSHI #0x00000020
        JUMPIF >= L_0007
        LINE 700
   700               %IF s = ff %THEN s = nl %ELSE s = ' '
        PUSH V_00c6
        PUSHI #0x0000000c
        JUMPIF # L_000a
        PUSH V_00c6
        PUSHI #0x0000000a
        ASSVAL
        GOTO L_0009
        LOCATE L_000a
        PUSH V_00c6
        PUSHI #0x00000020
        ASSVAL
        LOCATE L_0009
        LINE 701
   701            %FINISH
        LOCATE L_0007
        LINE 702
   702            printsymbol(s)
        PUSH V_001c
        PUSH V_00c6
        ASSPAR
        CALL
        LINE 703
   703         %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 704
   704         pos = 0 %IF list <= 0
        PUSH V_0093
        PUSHI #0x00000000
        JUMPIF > L_0004
        PUSH V_0087
        PUSHI #0x00000000
        ASSVAL
        LOCATE L_0004
        LINE 705
   705      %END
        END
        LOCATE L_0000
        LINE 707
   706  
   707      pos1 = pos2 %IF pos2 > pos1
        PUSH V_0086
        PUSH V_0085
        JUMPIF <= L_0004
        PUSH V_0085
        PUSH V_0086
        ASSVAL
        LOCATE L_0004
        LINE 708
   708      newline %IF sym # nl
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF = L_0004
        PUSH V_0030
        CALL
        LOCATE L_0004
        LINE 709
   709      st = report
        PUSH V_00c4
        PUSHI #0x00000000
        ASSVAL
        LINE 710
   710      st = listing %IF n = -3;              !don't report unused on the console
        PUSH V_00c2
        PUSHI #0x00000003
        NEGATE
        JUMPIF # L_0004
        PUSH V_00c4
        PUSHI #0x00000002
        ASSVAL
        LOCATE L_0004
        LINE 711
   711      %cycle
        LOCATE L_0003
        LINE 712
   712         SELECT OUTPUT(st)
        PUSH V_0020
        PUSH V_00c4
        ASSPAR
        CALL
        LINE 713
   713         %if n < 0 %then printsymbol('?') %and pos1 = 0 %else printsymbol('*')
        PUSH V_00c2
        PUSHI #0x00000000
        JUMPIF >= L_0007
        PUSH V_001c
        PUSHI #0x0000003f
        ASSPAR
        CALL
        PUSH V_0085
        PUSHI #0x00000000
        ASSVAL
        GOTO L_0006
        LOCATE L_0007
        PUSH V_001c
        PUSHI #0x0000002a
        ASSPAR
        CALL
        LOCATE L_0006
        LINE 714
   714         %if st # report %start
        PUSH V_00c4
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 715
   715            %if list <= 0 %and pos1 # 0 %start
        PUSH V_0093
        PUSHI #0x00000000
        JUMPIF > L_000a
        PUSH V_0085
        PUSHI #0x00000000
        JUMPIF = L_000a
        LINE 716
   716               spaces(pos1+margin);  PRINTSTRING("      ! ")
        PUSH V_002f
        PUSH V_0085
        PUSH V_004f
        ADD
        ASSPAR
        CALL
        LINE 716
        PUSH V_001d
        PUSHS "      ! "
        ASSPAR
        CALL
        LINE 717
   717            %finish
        LOCATE L_000a
        LINE 718
   718         %finish %else %start
        GOTO L_0006
        LOCATE L_0007
        LINE 719
   719            PRINTSTRING(include file) %if include # 0
        PUSH V_0079
        PUSHI #0x00000000
        JUMPIF = L_000a
        PUSH V_001d
        PUSH V_0076
        ASSPAR
        CALL
        LOCATE L_000a
        LINE 720
   720            write(lines, 4);  printsymbol(csym);  space
        PUSH V_001e
        PUSH V_004d
        ASSPAR
        PUSHI #0x00000004
        ASSPAR
        CALL
        LINE 720
        PUSH V_001c
        PUSH V_005a
        ASSPAR
        CALL
        LINE 720
        PUSH V_002e
        CALL
        LINE 721
   721         %finish
        LOCATE L_0006
        LINE 722
   722         ->fm(n) %if -5 <= n <= 22
        PUSHI #0x00000005
        NEGATE
        PUSH V_00c2
        JUMPIFD > L_0007
        PUSHI #0x00000016
        JUMPIF > L_0007
        PUSH V_00c2
        SJUMP 195
        LOCATE L_0007
        LINE 723
   723         PRINTSTRING("fault");  write(n, 2);              ->ps
        PUSH V_001d
        PUSHS "fault"
        ASSPAR
        CALL
        LINE 723
        PUSH V_001e
        PUSH V_00c2
        ASSPAR
        PUSHI #0x00000002
        ASSPAR
        CALL
        LINE 723
        JUMP L_00c6
        LINE 725
   724  
   725  fm(-5):PRINTSTRING("Dubious statement");  dubious = 0;  ->psd
        PUSHI #0xfffffffb
        SLABEL 195
        LINE 725
        PUSH V_001d
        PUSHS "Dubious statement"
        ASSPAR
        CALL
        LINE 725
        PUSH V_0083
        PUSHI #0x00000000
        ASSVAL
        LINE 725
        JUMP L_00c7
        LINE 726
   726  fm(-4):PRINTSTRING("Non-local")
        PUSHI #0xfffffffc
        SLABEL 195
        LINE 726
        PUSH V_001d
        PUSHS "Non-local"
        ASSPAR
        CALL
        LINE 727
   727         pos1 = for warn;  for warn = 0;                  ->ps
        PUSH V_0085
        PUSH V_0082
        ASSVAL
        LINE 727
        PUSH V_0082
        PUSHI #0x00000000
        ASSVAL
        LINE 727
        JUMP L_00c6
        LINE 728
   728  fm(-3):print ident(x, 0);  PRINTSTRING(" unused");      ->nps
        PUSHI #0xfffffffd
        SLABEL 195
        LINE 728
        PUSH V_00a4
        PUSH V_0043
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 728
        PUSH V_001d
        PUSHS " unused"
        ASSPAR
        CALL
        LINE 728
        JUMP L_00c8
        LINE 729
   729  fm(-2):PRINTSTRING("""}""");                            ->miss
        PUSHI #0xfffffffe
        SLABEL 195
        LINE 729
        PUSH V_001d
        PUSHS "\"}\""
        ASSPAR
        CALL
        LINE 729
        JUMP L_00c9
        LINE 730
   730  fm(-1):PRINTSTRING("access");                           ->psd
        PUSHI #0xffffffff
        SLABEL 195
        LINE 730
        PUSH V_001d
        PUSHS "access"
        ASSPAR
        CALL
        LINE 730
        JUMP L_00c7
        LINE 732
   731  
   732  fm(0): PRINTSTRING("form");                             ->ps
        PUSHI #0x00000000
        SLABEL 195
        LINE 732
        PUSH V_001d
        PUSHS "form"
        ASSPAR
        CALL
        LINE 732
        JUMP L_00c6
        LINE 733
   733  fm(1): PRINTSTRING("atom");                             ->ps
        PUSHI #0x00000001
        SLABEL 195
        LINE 733
        PUSH V_001d
        PUSHS "atom"
        ASSPAR
        CALL
        LINE 733
        JUMP L_00c6
        LINE 734
   734  fm(2): PRINTSTRING("not declared");                     ->ps
        PUSHI #0x00000002
        SLABEL 195
        LINE 734
        PUSH V_001d
        PUSHS "not declared"
        ASSPAR
        CALL
        LINE 734
        JUMP L_00c6
        LINE 735
   735  fm(3): PRINTSTRING("too complex");                      ->ps
        PUSHI #0x00000003
        SLABEL 195
        LINE 735
        PUSH V_001d
        PUSHS "too complex"
        ASSPAR
        CALL
        LINE 735
        JUMP L_00c6
        LINE 736
   736  fm(4): PRINTSTRING("duplicate ");  Print Ident(x, 0);   ->ps
        PUSHI #0x00000004
        SLABEL 195
        LINE 736
        PUSH V_001d
        PUSHS "duplicate "
        ASSPAR
        CALL
        LINE 736
        PUSH V_00a4
        PUSH V_0043
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 736
        JUMP L_00c6
        LINE 737
   737  fm(5): PRINTSTRING("type");                             ->ps
        PUSHI #0x00000005
        SLABEL 195
        LINE 737
        PUSH V_001d
        PUSHS "type"
        ASSPAR
        CALL
        LINE 737
        JUMP L_00c6
        LINE 738
   738  fm(6): PRINTSTRING("match");                            ->psd
        PUSHI #0x00000006
        SLABEL 195
        LINE 738
        PUSH V_001d
        PUSHS "match"
        ASSPAR
        CALL
        LINE 738
        JUMP L_00c7
        LINE 739
   739  fm(7): PRINTSTRING("context");                          ->psd
        PUSHI #0x00000007
        SLABEL 195
        LINE 739
        PUSH V_001d
        PUSHS "context"
        ASSPAR
        CALL
        LINE 739
        JUMP L_00c7
        LINE 740
   740  fm(21):PRINTSTRING("context ");  print ident(this, 0);  ->ps
        PUSHI #0x00000015
        SLABEL 195
        LINE 740
        PUSH V_001d
        PUSHS "context "
        ASSPAR
        CALL
        LINE 740
        PUSH V_00a4
        PUSH V_006d
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 740
        JUMP L_00c6
        LINE 741
   741  fm(8): PRINTSTRING("%cycle");                           ->miss
        PUSHI #0x00000008
        SLABEL 195
        LINE 741
        PUSH V_001d
        PUSHS "%cycle"
        ASSPAR
        CALL
        LINE 741
        JUMP L_00c9
        LINE 742
   742  fm(9): PRINTSTRING("%start");                           ->miss
        PUSHI #0x00000009
        SLABEL 195
        LINE 742
        PUSH V_001d
        PUSHS "%start"
        ASSPAR
        CALL
        LINE 742
        JUMP L_00c9
        LINE 743
   743  fm(10):PRINTSTRING("size");  WRITE(lit, 1) %if pos1 = 0;->ps
        PUSHI #0x0000000a
        SLABEL 195
        LINE 743
        PUSH V_001d
        PUSHS "size"
        ASSPAR
        CALL
        LINE 743
        PUSH V_0085
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_001e
        PUSH V_0090
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 743
        JUMP L_00c6
        LINE 744
   744  fm(11):PRINTSTRING("bounds")
        PUSHI #0x0000000b
        SLABEL 195
        LINE 744
        PUSH V_001d
        PUSHS "bounds"
        ASSPAR
        CALL
        LINE 745
   745         WRITE(ocount, 1) %unless ocount < 0;             ->ps
        PUSH V_007e
        PUSHI #0x00000000
        JUMPIF < L_0007
        PUSH V_001e
        PUSH V_007e
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 745
        JUMP L_00c6
        LINE 746
   746  fm(12):PRINTSTRING("index");                            ->ps
        PUSHI #0x0000000c
        SLABEL 195
        LINE 746
        PUSH V_001d
        PUSHS "index"
        ASSPAR
        CALL
        LINE 746
        JUMP L_00c6
        LINE 747
   747  fm(13):PRINTSTRING("order");                            ->psd
        PUSHI #0x0000000d
        SLABEL 195
        LINE 747
        PUSH V_001d
        PUSHS "order"
        ASSPAR
        CALL
        LINE 747
        JUMP L_00c7
        LINE 748
   748  fm(14):PRINTSTRING("not a location");                   ->ps
        PUSHI #0x0000000e
        SLABEL 195
        LINE 748
        PUSH V_001d
        PUSHS "not a location"
        ASSPAR
        CALL
        LINE 748
        JUMP L_00c6
        LINE 749
   749  fm(15):PRINTSTRING("%begin");                           ->miss
        PUSHI #0x0000000f
        SLABEL 195
        LINE 749
        PUSH V_001d
        PUSHS "%begin"
        ASSPAR
        CALL
        LINE 749
        JUMP L_00c9
        LINE 750
   750  fm(16):PRINTSTRING("%end");                             ->miss
        PUSHI #0x00000010
        SLABEL 195
        LINE 750
        PUSH V_001d
        PUSHS "%end"
        ASSPAR
        CALL
        LINE 750
        JUMP L_00c9
        LINE 751
   751  fm(17):PRINTSTRING("%repeat");                          ->miss
        PUSHI #0x00000011
        SLABEL 195
        LINE 751
        PUSH V_001d
        PUSHS "%repeat"
        ASSPAR
        CALL
        LINE 751
        JUMP L_00c9
        LINE 752
   752  fm(18):PRINTSTRING("%finish");                          ->miss
        PUSHI #0x00000012
        SLABEL 195
        LINE 752
        PUSH V_001d
        PUSHS "%finish"
        ASSPAR
        CALL
        LINE 752
        JUMP L_00c9
        LINE 753
   753  fm(19):PRINTSTRING("result");                           ->miss
        PUSHI #0x00000013
        SLABEL 195
        LINE 753
        PUSH V_001d
        PUSHS "result"
        ASSPAR
        CALL
        LINE 753
        JUMP L_00c9
        LINE 754
   754  fm(22):PRINTSTRING("format");                           ->ps
        PUSHI #0x00000016
        SLABEL 195
        LINE 754
        PUSH V_001d
        PUSHS "format"
        ASSPAR
        CALL
        LINE 754
        JUMP L_00c6
        LINE 755
   755  fm(20):printsymbol('"');  print ident(x, 0);  printsymbol('"')
        PUSHI #0x00000014
        SLABEL 195
        LINE 755
        PUSH V_001c
        PUSHI #0x00000022
        ASSPAR
        CALL
        LINE 755
        PUSH V_00a4
        PUSH V_0043
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 755
        PUSH V_001c
        PUSHI #0x00000022
        ASSPAR
        CALL
        LINE 756
   756  miss:  PRINTSTRING(" missing");                         ->nps
        LABEL L_00c9
        LINE 756
        PUSH V_001d
        PUSHS " missing"
        ASSPAR
        CALL
        LINE 756
        JUMP L_00c8
        LINE 757
   757  psd:   pos1 = 0
        LABEL L_00c7
        LINE 757
        PUSH V_0085
        PUSHI #0x00000000
        ASSVAL
        LINE 758
   758  ps:    print ss
        LABEL L_00c6
        LINE 758
        PUSH V_00c5
        CALL
        LINE 759
   759  nps:   NEWLINE
        LABEL L_00c8
        LINE 759
        PUSH V_0030
        CALL
        LINE 760
   760         %exit %if st = listing
        PUSH V_00c4
        PUSHI #0x00000002
        JUMPIF # L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 761
   761         st = listing
        PUSH V_00c4
        PUSHI #0x00000002
        ASSVAL
        LINE 762
   762      %repeat
        REPEAT L_0003
        LOCATE L_0004
        LINE 763
   763      %if n >= 0 %start
        PUSH V_00c2
        PUSHI #0x00000000
        JUMPIF < L_0004
        LINE 765
   764  !IMP80 BUG???         %signal 15,15 %if diag&4096 # 0
   765         %stop %if diag&4096 # 0
        PUSH V_0095
        PUSHI #0x00001000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        STOP
        LOCATE L_0007
        LINE 766
   766         %if n # 13 %start;           !order is fairly safe
        PUSH V_00c2
        PUSHI #0x0000000d
        JUMPIF = L_0007
        LINE 767
   767            ocount = -1
        PUSH V_007e
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 768
   768            gg = 0
        PUSH V_006a
        PUSHI #0x00000000
        ASSVAL
        LINE 769
   769            copy = 0;  quote = 0
        PUSH V_0080
        PUSHI #0x00000000
        ASSVAL
        LINE 769
        PUSH V_0057
        PUSHI #0x00000000
        ASSVAL
        LINE 770
   770            search base = 0;  escape class = 0
        PUSH V_008b
        PUSHI #0x00000000
        ASSVAL
        LINE 770
        PUSH V_005e
        PUSHI #0x00000000
        ASSVAL
        LINE 771
   771            gg = 0
        PUSH V_006a
        PUSHI #0x00000000
        ASSVAL
        LINE 772
   772         %finish
        LOCATE L_0007
        LINE 773
   773         faulty = faulty+1
        PUSH V_004b
        PUSH V_004b
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 777
   774     
   775         !check that there haven't been too many faults
   776     
   777         fault rate = fault rate+3;  abandon(6) %IF fault rate > 30
        PUSH V_004c
        PUSH V_004c
        PUSHI #0x00000003
        ADD
        ASSVAL
        LINE 777
        PUSH V_004c
        PUSHI #0x0000001e
        JUMPIF <= L_0007
        PUSH V_00a5
        PUSHI #0x00000006
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 778
   778         fault rate = 3 %IF fault rate <= 0
        PUSH V_004c
        PUSHI #0x00000000
        JUMPIF > L_0007
        PUSH V_004c
        PUSHI #0x00000003
        ASSVAL
        LOCATE L_0007
        LINE 779
   779      %FINISH
        LOCATE L_0004
        LINE 780
   780      tbase = tstart
        PUSH V_00b4
        PUSH V_00b5
        ASSVAL
        LINE 781
   781      %IF list <= 0 %AND sym # nl %START
        PUSH V_0093
        PUSHI #0x00000000
        JUMPIF > L_0004
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF = L_0004
        LINE 782
   782         error margin = column
        PUSH V_0050
        PUSH V_0052
        ASSVAL
        LINE 783
   783         error sym = sym;  sym = nl
        PUSH V_0051
        PUSH V_0055
        ASSVAL
        LINE 783
        PUSH V_0055
        PUSHI #0x0000000a
        ASSVAL
        LINE 784
   784      %FINISH
        LOCATE L_0004
        LINE 785
   785  %END
        END
        LOCATE L_0000
        LINE 787
   786  
   787     dmin = dmin-1;  dict(dmin) = -1;            !end marker for starts & cycles
        PUSH V_00ab
        PUSH V_00ab
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 787
        PUSH V_0098
        PUSH V_00ab
        ACCESS
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 788
   788     abandon(2) %IF dmax = dmin
        PUSH V_0073
        PUSH V_00ab
        JUMPIF # L_0004
        PUSH V_00a5
        PUSHI #0x00000002
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 790
   789  
   790     %IF list > 0 %AND level > 0 %START
        PUSH V_0093
        PUSHI #0x00000000
        JUMPIF <= L_0004
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF <= L_0004
        LINE 791
   791        write(lines, 5);  spaces(level*3-1)
        PUSH V_001e
        PUSH V_004d
        ASSPAR
        PUSHI #0x00000005
        ASSPAR
        CALL
        LINE 791
        PUSH V_002f
        PUSH V_00a9
        PUSHI #0x00000003
        MUL
        PUSHI #0x00000001
        SUB
        ASSPAR
        CALL
        LINE 792
   792        %IF block tag = 0 %START
        PUSH V_00aa
        PUSHI #0x00000000
        JUMPIF # L_0007
        LINE 793
   793           printstring("Begin")
        PUSH V_001d
        PUSHS "Begin"
        ASSPAR
        CALL
        LINE 794
   794        %FINISH %ELSE %START
        GOTO L_0006
        LOCATE L_0007
        LINE 795
   795           printstring("Procedure ");  print ident(block tag, 0)
        PUSH V_001d
        PUSHS "Procedure "
        ASSPAR
        CALL
        LINE 795
        PUSH V_00a4
        PUSH V_00aa
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 796
   796        %FINISH
        LOCATE L_0006
        LINE 797
   797        newline
        PUSH V_0030
        CALL
        LINE 798
   798     %FINISH
        LOCATE L_0004
        LINE 802
   799  
   800     !deal with procedure definition (parameters)
   801  
   802     %IF block tag # 0 %START;                   !proc
        PUSH V_00aa
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 803
   803        analyse;  compile %IF ss # 0
        PUSH V_00b0
        CALL
        LINE 803
        PUSH V_0075
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00b1
        CALL
        LOCATE L_0007
        LINE 805
   804  
   805        %IF block otype # 0 %START;              !external-ish
        PUSH V_00bd
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 806
   806           %IF bflags&spec = 0 %START;           !definition
        PUSH V_00b9
        PUSHI #0x00000080
        AND
        PUSHI #0x00000000
        JUMPIF # L_000a
        LINE 807
   807              %IF progmode <= 0 %AND level = 1 %THEN progmode = -1 %C
        PUSH V_007b
        PUSHI #0x00000000
        JUMPIF > L_000d
        PUSH V_00a9
        PUSHI #0x00000001
        JUMPIF # L_000d
        PUSH V_007b
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        GOTO L_000c
        LOCATE L_000d
        PUSH V_00c1
        PUSHI #0x00000007
        ASSPAR
        CALL
        LOCATE L_000c
        LINE 809
   808                                               %ELSE fault(7)
   809           %FINISH
        LOCATE L_000a
        LINE 810
   810        %FINISH
        LOCATE L_0007
        LINE 812
   811  
   812        new app = gapp;                          !generate app grammar
        PUSH V_00c0
        PUSH V_00ae
        CALL
        ASSVAL
        LINE 813
   813        %IF spec given # 0 %START;               !definition after spec
        PUSH V_005d
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 814
   814           fault(6) %IF new app # block app;     !different from spec
        PUSH V_00c0
        PUSH V_00be
        JUMPIF = L_000a
        PUSH V_00c1
        PUSHI #0x00000006
        ASSPAR
        CALL
        LOCATE L_000a
        LINE 815
   815        %FINISH
        LOCATE L_0007
        LINE 816
   816        block app = new app;                     !use the latest
        PUSH V_00be
        PUSH V_00c0
        ASSVAL
        LINE 818
   817  
   818        %IF level < 0 %START;                    !not procedure definition
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF >= L_0007
        LINE 819
   819           delete names(0)
        PUSH V_00af
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 820
   820           %RETURN
        RETURN
        LINE 821
   821        %FINISH
        LOCATE L_0007
        LINE 822
   822     %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 823
   823        open = 0;                                !can return from a block?
        PUSH V_00b2
        PUSHI #0x00000000
        ASSVAL
        LINE 824
   824     %FINISH
        LOCATE L_0003
        LINE 826
   825  
   826     %CYCLE
        LOCATE L_0003
        LINE 827
   827        analyse
        PUSH V_00b0
        CALL
        LINE 828
   828        %CONTINUE %IF ss = 0
        PUSH V_0075
        PUSHI #0x00000000
        JUMPIF # L_0007
        GOTO L_0005
        LOCATE L_0007
        LINE 829
   829        compile
        PUSH V_00b1
        CALL
        LINE 830
   830        fault(-5) %IF dubious # 0
        PUSH V_0083
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00c1
        PUSHI #0x00000005
        NEGATE
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 831
   831        flush buffer %IF bp >= 128
        PUSH V_009a
        PUSHI #0x00000080
        JUMPIF < L_0007
        PUSH V_00a3
        CALL
        LOCATE L_0007
        LINE 832
   832        %IF sstype > 0 %START;                 !block in or out
        PUSH V_007c
        PUSHI #0x00000000
        JUMPIF <= L_0007
        LINE 833
   833           %EXIT %IF sstype = 2;               !out
        PUSH V_007c
        PUSHI #0x00000002
        JUMPIF # L_000a
        GOTO L_0004
        LOCATE L_000a
        LINE 834
   834           compile block(spec mode, block x, dmin, tmax, id)
        PUSH V_00a8
        PUSH V_007d
        ASSPAR
        PUSH V_0092
        ASSPAR
        PUSH V_00ab
        ASSPAR
        PUSH V_00ac
        ASSPAR
        PUSH V_00ad
        ASSPAR
        CALL
        LINE 835
   835           %EXIT %IF ss < 0;                   !endofprogram
        PUSH V_0075
        PUSHI #0x00000000
        JUMPIF >= L_000a
        GOTO L_0004
        LOCATE L_000a
        LINE 836
   836        %FINISH
        LOCATE L_0007
        LINE 837
   837     %REPEAT
        LOCATE L_0005
        REPEAT L_0003
        LOCATE L_0004
        LINE 838
   838     %IF list > 0 %AND level > 0 %START
        PUSH V_0093
        PUSHI #0x00000000
        JUMPIF <= L_0004
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF <= L_0004
        LINE 839
   839        write(lines, 5);  spaces(level*3-1)
        PUSH V_001e
        PUSH V_004d
        ASSPAR
        PUSHI #0x00000005
        ASSPAR
        CALL
        LINE 839
        PUSH V_002f
        PUSH V_00a9
        PUSHI #0x00000003
        MUL
        PUSHI #0x00000001
        SUB
        ASSPAR
        CALL
        LINE 840
   840        printstring("End")
        PUSH V_001d
        PUSHS "End"
        ASSPAR
        CALL
        LINE 841
   841        newline
        PUSH V_0030
        CALL
        LINE 842
   842     %FINISH
        LOCATE L_0004
        LINE 843
   843     delete names(0)
        PUSH V_00af
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 844
   844     %RETURN
        RETURN
        LINE 846
   845  
   846     %INTEGERFN gapp;                            !generate app grammar (backwards)
        GOTO L_0000
        DEF V_00ae GAPP
        +   0x0018
        +   0x0001
        +   0x0010
        START
        FINISH
        LINE 847
   847        %CONSTINTEGER comma = 140;               !psep
        LINE 848
   848        %ROUTINESPEC set cell(%INTEGER g, tt)
        DEF V_00c2 SETCELL
        +   0x0007
        +   0x0000
        +   0x0008
        START
        DEF V_00c3 G
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c4 TT
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 849
   849        %ROUTINESPEC class(%RECORD(tagfm)%NAME v)
        DEF V_00c3 CLASS
        +   0x0007
        +   0x0000
        +   0x0008
        START
        DEF V_00c4 V
        +   0x0042
        +   0x003e
        +   0x0000
        FINISH
        LINE 850
   850        %RECORD(tagfm)%NAME v
        DEF V_00c4 V
        +   0x0042
        +   0x003e
        +   0x0000
        LINE 851
   851        %INTEGER p, link, tp, c, ap, t
        DEF V_00c5 P
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c6 LINK
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c7 TP
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c8 C
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c9 AP
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ca T
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 853
   852  
   853        %RESULT = 0 %IF tmax = local;            !no app needed
        PUSH V_00ac
        PUSH V_0089
        JUMPIF # L_0004
        PUSHI #0x00000000
        RESULT
        LOCATE L_0004
        LINE 855
   854  
   855        p = gmax1;  link = 0;  t = tmax
        PUSH V_00c5
        PUSHI #0x000002cf
        ASSVAL
        LINE 855
        PUSH V_00c6
        PUSHI #0x00000000
        ASSVAL
        LINE 855
        PUSH V_00ca
        PUSH V_00ac
        ASSVAL
        LINE 857
   856  
   857        %CYCLE
        LOCATE L_0003
        LINE 858
   858           v == tag(t);  t = t-1
        PUSH V_00c4
        PUSH V_0097
        PUSH V_00ca
        ACCESS
        ASSREF
        LINE 858
        PUSH V_00ca
        PUSH V_00ca
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 859
   859           class(v);                             !deduce class from tag
        PUSH V_00c3
        PUSH V_00c4
        ASSPAR
        CALL
        LINE 860
   860           %IF c < 0 %START;                     !insert %PARAM
        PUSH V_00c8
        PUSHI #0x00000000
        JUMPIF >= L_0007
        LINE 861
   861              c = -c
        PUSH V_00c8
        PUSH V_00c8
        NEGATE
        ASSVAL
        LINE 862
   862              set cell(196, tp)
        PUSH V_00c2
        PUSHI #0x000000c4
        ASSPAR
        PUSH V_00c7
        ASSPAR
        CALL
        LINE 863
   863              tp = -1
        PUSH V_00c7
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 864
   864           %FINISH
        LOCATE L_0007
        LINE 865
   865           set cell(c, tp)
        PUSH V_00c2
        PUSH V_00c8
        ASSPAR
        PUSH V_00c7
        ASSPAR
        CALL
        LINE 866
   866           %EXIT %IF t = local;                  !end of parameters
        PUSH V_00ca
        PUSH V_0089
        JUMPIF # L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 867
   867           set cell(comma, -1);                  !add the separating comma
        PUSH V_00c2
        PUSHI #0x0000008c
        ASSPAR
        PUSHI #0x00000001
        NEGATE
        ASSPAR
        CALL
        LINE 868
   868        %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 869
   869        abandon(3) %IF gmax > gmin
        PUSH V_009c
        PUSH V_0072
        JUMPIF <= L_0004
        PUSH V_00a5
        PUSHI #0x00000003
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 871
   870  
   871        %RESULT = link
        PUSH V_00c6
        RESULT
        LINE 873
   872  
   873        %ROUTINE set cell(%INTEGER g, tt)
        GOTO L_0000
        DEF V_00c2 SETCELL
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00cb G
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00cc TT
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 877
   874  
   875           !add the cell to the grammar, combining common tails
   876  
   877           %WHILE p # gmax %CYCLE
        LOCATE L_0003
        PUSH V_00c5
        PUSH V_009c
        JUMPIF = L_0004
        LINE 878
   878              p = p+1
        PUSH V_00c5
        PUSH V_00c5
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 879
   879              %IF glink(p) = link %AND gram(p) = g %START
        PUSH V_00a1
        PUSH V_00c5
        ACCESS
        PUSH V_00c6
        JUMPIF # L_0007
        PUSH V_00a0
        PUSH V_00c5
        ACCESS
        PUSH V_00cb
        JUMPIF # L_0007
        LINE 880
   880                 %IF tt < 0 %OR (gram(p+1) = tt %AND glink(p+1)=ap) %START
        PUSH V_00cc
        PUSHI #0x00000000
        JUMPIF < L_000b
        PUSH V_00a0
        PUSH V_00c5
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSH V_00cc
        JUMPIF # L_000a
        PUSH V_00a1
        PUSH V_00c5
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSH V_00c9
        JUMPIF # L_000a
        LOCATE L_000b
        LINE 881
   881                    link = p;                    !already there
        PUSH V_00c6
        PUSH V_00c5
        ASSVAL
        LINE 882
   882                    %RETURN
        RETURN
        LINE 883
   883                 %FINISH
        LOCATE L_000a
        LINE 884
   884              %FINISH
        LOCATE L_0007
        LINE 885
   885           %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 889
   886  
   887           !add a new cell
   888  
   889           gmax = gmax+1
        PUSH V_009c
        PUSH V_009c
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 890
   890           gram(gmax) = g
        PUSH V_00a0
        PUSH V_009c
        ACCESS
        PUSH V_00cb
        ASSVAL
        LINE 891
   891           glink(gmax) = link
        PUSH V_00a1
        PUSH V_009c
        ACCESS
        PUSH V_00c6
        ASSVAL
        LINE 892
   892           link = gmax
        PUSH V_00c6
        PUSH V_009c
        ASSVAL
        LINE 894
   893  
   894           %IF tt >= 0 %START;             ! set type cell
        PUSH V_00cc
        PUSHI #0x00000000
        JUMPIF < L_0004
        LINE 895
   895              gmax = gmax+1
        PUSH V_009c
        PUSH V_009c
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 896
   896              gram(gmax) = tt
        PUSH V_00a0
        PUSH V_009c
        ACCESS
        PUSH V_00cc
        ASSVAL
        LINE 897
   897              glink(gmax) = ap
        PUSH V_00a1
        PUSH V_009c
        ACCESS
        PUSH V_00c9
        ASSVAL
        LINE 898
   898           %FINISH
        LOCATE L_0004
        LINE 900
   899  
   900           p = gmax
        PUSH V_00c5
        PUSH V_009c
        ASSVAL
        LINE 901
   901        %END
        END
        LOCATE L_0000
        LINE 903
   902  
   903        %ROUTINE class(%RECORD(tagfm)%NAME v)
        GOTO L_0000
        DEF V_00c3 CLASS
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00cb V
        +   0x0042
        +   0x003e
        +   0x0000
        FINISH
        LINE 904
   904           %CONSTINTEGER err    = 89
        LINE 905
   905           %CONSTINTEGER rtp    = 100
        LINE 906
   906           %CONSTINTEGER fnp    = 101
        LINE 907
   907           %CONSTINTEGER mapp   = 102
        LINE 908
   908           %CONSTINTEGER predp  = 103
        LINE 909
   909           %CONSTINTEGERARRAY class map(0:15) = %C
        PUSHI #0x00000000
        PUSHI #0x0000000f
        BOUNDS
        DEF V_00cc CLASSMAP
        +   0x001b
        +   0x0001
        +   0x0112
        PUSHI #0x00000059
        INIT 1
        PUSHI #0x000006e4
        INIT 1
        PUSHI #0x000000f7
        INIT 1
        PUSHI #0x00000059
        INIT 4
        PUSHI #0xffffff9c
        INIT 1
        PUSHI #0xffffff9b
        INIT 1
        PUSHI #0xffffff9a
        INIT 1
        PUSHI #0xffffff99
        INIT 1
        PUSHI #0x00000059
        INIT 1
        PUSHI #0x000000d6
        INIT 1
        PUSHI #0x00000059
        INIT 1
        PUSHI #0x000000e5
        INIT 1
        PUSHI #0x00000059
        INIT 1
        LINE 912
   910           err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
   911           err, 229, err
   912           %INTEGER tags, type, form
        DEF V_00cd TAGS
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ce TYPE
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00cf FORM
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 913
   913           ap = 0
        PUSH V_00c9
        PUSHI #0x00000000
        ASSVAL
        LINE 914
   914           tags = v_flags
        PUSH V_00cd
        PUSH V_00cb
        SELECT V_0003
        ASSVAL
        LINE 915
   915           type = tags>>4&7;  form = tags&15
        PUSH V_00ce
        PUSH V_00cd
        PUSHI #0x00000004
        RSH
        PUSHI #0x00000007
        AND
        ASSVAL
        LINE 915
        PUSH V_00cf
        PUSH V_00cd
        PUSHI #0x0000000f
        AND
        ASSVAL
        LINE 916
   916           tp = v_format<<3!type
        PUSH V_00c7
        PUSH V_00cb
        SELECT V_0002
        PUSHI #0x00000003
        LSH
        PUSH V_00ce
        OR
        ASSVAL
        LINE 917
   917           c = class map(form)
        PUSH V_00c8
        PUSH V_00cc
        PUSH V_00cf
        ACCESS
        ASSVAL
        LINE 918
   918           c = 208 %AND tp = 0 %IF type = 0 %AND form = 2;  !%NAME
        PUSH V_00ce
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_00cf
        PUSHI #0x00000002
        JUMPIF # L_0004
        PUSH V_00c8
        PUSHI #0x000000d0
        ASSVAL
        PUSH V_00c7
        PUSHI #0x00000000
        ASSVAL
        LOCATE L_0004
        LINE 919
   919           ap = v_app %IF tags&parameters # 0
        PUSH V_00cd
        PUSHI #0x00001000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00c9
        PUSH V_00cb
        SELECT V_0001
        ASSVAL
        LOCATE L_0004
        LINE 920
   920        %END
        END
        LOCATE L_0000
        LINE 921
   921     %END
        END
        LOCATE L_0000
        LINE 923
   922  
   923  %ROUTINE delete names(%INTEGER quiet)
        GOTO L_0000
        DEF V_00af DELETENAMES
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00c2 QUIET
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 924
   924     %INTEGER flags
        DEF V_00c3 FLAGS
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 925
   925     %RECORD(tagfm)%NAME tx
        DEF V_00c4 TX
        +   0x0042
        +   0x003e
        +   0x0000
        LINE 926
   926     %WHILE tmax > tbase %CYCLE
        LOCATE L_0003
        PUSH V_00ac
        PUSH V_00b4
        JUMPIF <= L_0004
        LINE 927
   927        x = tmax;  tmax = tmax-1
        PUSH V_0043
        PUSH V_00ac
        ASSVAL
        LINE 927
        PUSH V_00ac
        PUSH V_00ac
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 928
   928        tx == tag(x)
        PUSH V_00c4
        PUSH V_0097
        PUSH V_0043
        ACCESS
        ASSREF
        LINE 929
   929        flags = tx_flags
        PUSH V_00c3
        PUSH V_00c4
        SELECT V_0003
        ASSVAL
        LINE 930
   930        fault(20) %IF flags&spec # 0 %and flags&own bit = 0
        PUSH V_00c3
        PUSHI #0x00000080
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00c3
        PUSHI #0x00000200
        AND
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_00c1
        PUSHI #0x00000014
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 932
   931                 {spec with no definition & not external}
   932        %IF flags&used bit = 0 %AND level >= 0 %AND list <= 0 %START
        PUSH V_00c3
        PUSHI #0x00008000
        AND
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF < L_0007
        PUSH V_0093
        PUSHI #0x00000000
        JUMPIF > L_0007
        LINE 933
   933           fault(-3) %IF quiet = 0;          !unused
        PUSH V_00c2
        PUSHI #0x00000000
        JUMPIF # L_000a
        PUSH V_00c1
        PUSHI #0x00000003
        NEGATE
        ASSPAR
        CALL
        LOCATE L_000a
        LINE 934
   934        %FINISH
        LOCATE L_0007
        LINE 935
   935        dict(tx_text) = tx_link
        PUSH V_0098
        PUSH V_00c4
        SELECT V_0005
        ACCESS
        PUSH V_00c4
        SELECT V_0006
        ASSVAL
        LINE 936
   936     %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 937
   937  %END
        END
        LOCATE L_0000
        LINE 939
   938  
   939  %ROUTINE analyse
        GOTO L_0000
        DEF V_00b0 ANALYSE
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 941
   940  
   941     %CONSTINTEGER order bits = x'3000', order bit = x'1000'
        LINE 942
   942     %CONSTINTEGER escape     = x'1000'
        LINE 943
   943     %INTEGER strp, mark, flags, prot err, k, s, c
        DEF V_00c2 STRP
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c3 MARK
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c4 FLAGS
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c5 PROTERR
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c6 K
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c7 S
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00c8 C
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 944
   944     %OWNINTEGER key = 0
        PUSHI #0x00000000
        DEF V_00c9 KEY
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 945
   945     %SHORTINTEGER node
        DEF V_00ca NODE
        +   0x0011
        +   0x0003
        +   0x0000
        LINE 946
   946     %SHORTINTEGERNAME z
        DEF V_00cb Z
        +   0x0012
        +   0x0003
        +   0x0000
        LINE 947
   947     %RECORD(arfm)%NAME arp
        DEF V_00cc ARP
        +   0x0042
        +   0x003d
        +   0x0000
        LINE 950
   948  !emas:   %INTEGER node
   949  !emas:   %INTEGERNAME z
   950     %SWITCH act(actions:phrasal), paction(0:15)
        PUSHI #0x000000b4
        PUSHI #0x000000c8
        BOUNDS
        DEF V_00cd ACT
        +   0x0006
        +   0x0000
        +   0x0000
        PUSHI #0x00000000
        PUSHI #0x0000000f
        BOUNDS
        DEF V_00ce PACTION
        +   0x0006
        +   0x0000
        +   0x0000
        LINE 952
   951  
   952     %ROUTINE trace analysis
        GOTO L_0000
        DEF V_00cf TRACEANALYSIS
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 954
   953        !diagnostic trace routine (diagnose&1 # 0)
   954        %INTEGER a
        DEF V_00d0 A
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 955
   955        %ROUTINE show(%INTEGER a)
        GOTO L_0000
        DEF V_00d1 SHOW
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00d2 A
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 956
   956           %IF 0 < a < 130 %START
        PUSHI #0x00000000
        PUSH V_00d2
        JUMPIFD >= L_0004
        PUSHI #0x00000082
        JUMPIF >= L_0004
        LINE 957
   957              space
        PUSH V_002e
        CALL
        LINE 958
   958              printstring(text(a))
        PUSH V_001d
        PUSH V_009b
        PUSH V_00d2
        ACCESS
        ASSPAR
        CALL
        LINE 959
   959           %FINISH %ELSE write(a, 3)
        GOTO L_0003
        LOCATE L_0004
        PUSH V_001e
        PUSH V_00d2
        ASSPAR
        PUSHI #0x00000003
        ASSPAR
        CALL
        LOCATE L_0003
        LINE 960
   960        %END
        END
        LOCATE L_0000
        LINE 961
   961        %OWNINTEGER la1=0, la2=0, lsa=0, lt=0
        PUSHI #0x00000000
        DEF V_00d2 LA1
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_00d3 LA2
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_00d4 LSA
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        PUSHI #0x00000000
        DEF V_00d5 LT
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 962
   962        newline %IF mon pos # pos %AND sym # nl
        PUSH V_0054
        PUSH V_0087
        JUMPIF = L_0004
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF = L_0004
        PUSH V_0030
        CALL
        LOCATE L_0004
        LINE 963
   963        mon pos = pos
        PUSH V_0054
        PUSH V_0087
        ASSVAL
        LINE 964
   964        write(g, 3)
        PUSH V_001e
        PUSH V_0069
        ASSPAR
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 965
   965        space
        PUSH V_002e
        CALL
        LINE 966
   966        printstring(text(class))
        PUSH V_001d
        PUSH V_009b
        PUSH V_0042
        ACCESS
        ASSPAR
        CALL
        LINE 967
   967        printsymbol('"') %IF gg&trans bit # 0
        PUSH V_006a
        PUSHI #0x00004000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_001c
        PUSHI #0x00000022
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 968
   968        a = gg>>8&15
        PUSH V_00d0
        PUSH V_006a
        PUSHI #0x00000008
        RSH
        PUSHI #0x0000000f
        AND
        ASSVAL
        LINE 969
   969        %IF a # 0 %START
        PUSH V_00d0
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 970
   970           printsymbol('{')
        PUSH V_001c
        PUSHI #0x0000007b
        ASSPAR
        CALL
        LINE 971
   971           write(a, 0)
        PUSH V_001e
        PUSH V_00d0
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 972
   972           printsymbol('}')
        PUSH V_001c
        PUSHI #0x0000007d
        ASSPAR
        CALL
        LINE 973
   973        %FINISH
        LOCATE L_0004
        LINE 974
   974        %IF atom1 # la1 %OR atom2 # la2 %OR lsa # subatom %C
        PUSH V_0044
        PUSH V_00d2
        JUMPIF # L_0005
        PUSH V_0045
        PUSH V_00d3
        JUMPIF # L_0005
        PUSH V_00d4
        PUSH V_0046
        JUMPIF # L_0005
        PUSH V_00d5
        PUSH V_0047
        JUMPIF = L_0004
        LOCATE L_0005
        LINE 976
   975                        %OR lt # type %START
   976           printstring(" [")
        PUSH V_001d
        PUSHS " ["
        ASSPAR
        CALL
        LINE 977
   977           la1 = atom1
        PUSH V_00d2
        PUSH V_0044
        ASSVAL
        LINE 978
   978           show(la1)
        PUSH V_00d1
        PUSH V_00d2
        ASSPAR
        CALL
        LINE 979
   979           la2 = atom2
        PUSH V_00d3
        PUSH V_0045
        ASSVAL
        LINE 980
   980           show(la2)
        PUSH V_00d1
        PUSH V_00d3
        ASSPAR
        CALL
        LINE 981
   981           lsa = subatom
        PUSH V_00d4
        PUSH V_0046
        ASSVAL
        LINE 982
   982           write(lsa, 3)
        PUSH V_001e
        PUSH V_00d4
        ASSPAR
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 983
   983           lt = type
        PUSH V_00d5
        PUSH V_0047
        ASSVAL
        LINE 984
   984           write(lt, 5)
        PUSH V_001e
        PUSH V_00d5
        ASSPAR
        PUSHI #0x00000005
        ASSPAR
        CALL
        LINE 985
   985           printsymbol(']')
        PUSH V_001c
        PUSHI #0x0000005d
        ASSPAR
        CALL
        LINE 986
   986        %FINISH
        LOCATE L_0004
        LINE 987
   987        newline
        PUSH V_0030
        CALL
        LINE 988
   988     %END
        END
        LOCATE L_0000
        LINE 990
   989  
   990  %ROUTINE get sym
        GOTO L_0000
        DEF V_00d0 GETSYM
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 991
   991     readsymbol(sym)
        PUSH V_0003
        PUSH V_0055
        ASSPAR
        CALL
        LINE 992
   992     pos = pos+1 %IF pos # 133
        PUSH V_0087
        PUSHI #0x00000085
        JUMPIF = L_0004
        PUSH V_0087
        PUSH V_0087
        PUSHI #0x00000001
        ADD
        ASSVAL
        LOCATE L_0004
        LINE 993
   993     char(pos) = sym
        PUSH V_008e
        PUSH V_0087
        ACCESS
        PUSH V_0055
        ASSVAL
        LINE 994
   994     printsymbol(sym) %IF list <= 0
        PUSH V_0093
        PUSHI #0x00000000
        JUMPIF > L_0004
        PUSH V_001c
        PUSH V_0055
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 995
   995     column = column+1
        PUSH V_0052
        PUSH V_0052
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 996
   996  %END
        END
        LOCATE L_0000
        LINE 997
   997  %ROUTINE read sym
        GOTO L_0000
        DEF V_00d1 READSYM
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 998
   998     %owninteger Last = 0
        PUSHI #0x00000000
        DEF V_00d2 LAST
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 999
   999  %CONSTBYTEINTEGERARRAY mapped(0:127) = %C
        PUSHI #0x00000000
        PUSHI #0x0000007f
        BOUNDS
        DEF V_00d3 MAPPED
        +   0x001b
        +   0x0002
        +   0x0112
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x0000000a
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000003
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000021
        INIT 1
        PUSHI #0x00000022
        INIT 1
        PUSHI #0x00000023
        INIT 1
        PUSHI #0x00000024
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000026
        INIT 1
        PUSHI #0x00000027
        INIT 1
        PUSHI #0x00000028
        INIT 1
        PUSHI #0x00000029
        INIT 1
        PUSHI #0x0000002a
        INIT 1
        PUSHI #0x0000002b
        INIT 1
        PUSHI #0x0000002c
        INIT 1
        PUSHI #0x0000002d
        INIT 1
        PUSHI #0x0000002e
        INIT 1
        PUSHI #0x0000002f
        INIT 1
        PUSHI #0x00000030
        INIT 1
        PUSHI #0x00000031
        INIT 1
        PUSHI #0x00000032
        INIT 1
        PUSHI #0x00000033
        INIT 1
        PUSHI #0x00000034
        INIT 1
        PUSHI #0x00000035
        INIT 1
        PUSHI #0x00000036
        INIT 1
        PUSHI #0x00000037
        INIT 1
        PUSHI #0x00000038
        INIT 1
        PUSHI #0x00000039
        INIT 1
        PUSHI #0x0000003a
        INIT 1
        PUSHI #0x0000003b
        INIT 1
        PUSHI #0x0000003c
        INIT 1
        PUSHI #0x0000003d
        INIT 1
        PUSHI #0x0000003e
        INIT 1
        PUSHI #0x0000003f
        INIT 1
        PUSHI #0x00000040
        INIT 1
        PUSHI #0x00000041
        INIT 1
        PUSHI #0x00000042
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000044
        INIT 1
        PUSHI #0x00000045
        INIT 1
        PUSHI #0x00000046
        INIT 1
        PUSHI #0x00000047
        INIT 1
        PUSHI #0x00000048
        INIT 1
        PUSHI #0x00000049
        INIT 1
        PUSHI #0x0000004a
        INIT 1
        PUSHI #0x0000004b
        INIT 1
        PUSHI #0x0000004c
        INIT 1
        PUSHI #0x0000004d
        INIT 1
        PUSHI #0x0000004e
        INIT 1
        PUSHI #0x0000004f
        INIT 1
        PUSHI #0x00000050
        INIT 1
        PUSHI #0x00000051
        INIT 1
        PUSHI #0x00000052
        INIT 1
        PUSHI #0x00000053
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0x00000055
        INIT 1
        PUSHI #0x00000056
        INIT 1
        PUSHI #0x00000057
        INIT 1
        PUSHI #0x00000058
        INIT 1
        PUSHI #0x00000059
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x0000005b
        INIT 1
        PUSHI #0x0000005c
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x0000005e
        INIT 1
        PUSHI #0x0000005f
        INIT 1
        PUSHI #0x00000060
        INIT 1
        PUSHI #0x00000041
        INIT 1
        PUSHI #0x00000042
        INIT 1
        PUSHI #0x00000043
        INIT 1
        PUSHI #0x00000044
        INIT 1
        PUSHI #0x00000045
        INIT 1
        PUSHI #0x00000046
        INIT 1
        PUSHI #0x00000047
        INIT 1
        PUSHI #0x00000048
        INIT 1
        PUSHI #0x00000049
        INIT 1
        PUSHI #0x0000004a
        INIT 1
        PUSHI #0x0000004b
        INIT 1
        PUSHI #0x0000004c
        INIT 1
        PUSHI #0x0000004d
        INIT 1
        PUSHI #0x0000004e
        INIT 1
        PUSHI #0x0000004f
        INIT 1
        PUSHI #0x00000050
        INIT 1
        PUSHI #0x00000051
        INIT 1
        PUSHI #0x00000052
        INIT 1
        PUSHI #0x00000053
        INIT 1
        PUSHI #0x00000054
        INIT 1
        PUSHI #0x00000055
        INIT 1
        PUSHI #0x00000056
        INIT 1
        PUSHI #0x00000057
        INIT 1
        PUSHI #0x00000058
        INIT 1
        PUSHI #0x00000059
        INIT 1
        PUSHI #0x0000005a
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x0000007c
        INIT 1
        PUSHI #0x0000007d
        INIT 1
        PUSHI #0x0000007e
        INIT 1
        PUSHI #0x00000000
        INIT 1
        LINE 1015
  1000     0,  0,  0,  0,   0,  0,  0,  0,    0,  0, nl,  0,  3 ,  0,  0,  0,
  1001     0,  0,  0,  0,   0,  0,  0,  0,    0,  0,  0,  0,   0,  0,  0,  0,
  1002    0 ,'!','"','#', '$', 1 ,'&', 39,  '(',')','*','+', ',','-','.','/',
  1003   '0','1','2','3', '4','5','6','7',  '8','9',':',';', '<','=','>','?',
  1004   '@','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
  1005   'P','Q','R','S', 'T','U','V','W',  'X','Y','Z','[', '\',']','^','_',
  1006   '`','A','B','C', 'D','E','F','G',  'H','I','J','K', 'L','M','N','O',
  1007   'P','Q','R','S', 'T','U','V','W',  'X','Y','Z', 2 , '|','}','~',  0
  1008  
  1009  !!   0 = space
  1010  !!   1 = %
  1011  !!   2 = {
  1012  !!   3 = ff
  1013  !!   other values represent themselves
  1014  
  1015     %IF sym = nl %START
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF # L_0004
        LINE 1016
  1016  s1:   lines = lines+1
        LABEL L_00d4
        LINE 1016
        PUSH V_004d
        PUSH V_004d
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1017
  1017        printsymbol(end mark) %if end mark # 0
        PUSH V_0058
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_001c
        PUSH V_0058
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 1018
  1018  s11:  pos = 0;  pos1 = 0;  pos2 = 0;  margin = 0;  column = 0
        LABEL L_00d5
        LINE 1018
        PUSH V_0087
        PUSHI #0x00000000
        ASSVAL
        LINE 1018
        PUSH V_0085
        PUSHI #0x00000000
        ASSVAL
        LINE 1018
        PUSH V_0086
        PUSHI #0x00000000
        ASSVAL
        LINE 1018
        PUSH V_004f
        PUSHI #0x00000000
        ASSVAL
        LINE 1018
        PUSH V_0052
        PUSHI #0x00000000
        ASSVAL
        LINE 1019
  1019        Last = 0
        PUSH V_00d2
        PUSHI #0x00000000
        ASSVAL
        LINE 1020
  1020        end mark = 0
        PUSH V_0058
        PUSHI #0x00000000
        ASSVAL
        LINE 1021
  1021        %IF list <= 0 %START
        PUSH V_0093
        PUSHI #0x00000000
        JUMPIF > L_0007
        LINE 1022
  1022           %IF include # 0 %START
        PUSH V_0079
        PUSHI #0x00000000
        JUMPIF = L_000a
        LINE 1023
  1023              printstring(" &");  write(lines, -4)
        PUSH V_001d
        PUSHS " &"
        ASSPAR
        CALL
        LINE 1023
        PUSH V_001e
        PUSH V_004d
        ASSPAR
        PUSHI #0x00000004
        NEGATE
        ASSPAR
        CALL
        LINE 1024
  1024           %FINISH %ELSE  write(lines, 5)
        GOTO L_0009
        LOCATE L_000a
        PUSH V_001e
        PUSH V_004d
        ASSPAR
        PUSHI #0x00000005
        ASSPAR
        CALL
        LOCATE L_0009
        LINE 1025
  1025           csym = cont;  printsymbol(csym)
        PUSH V_005a
        PUSH V_0059
        ASSVAL
        LINE 1025
        PUSH V_001c
        PUSH V_005a
        ASSPAR
        CALL
        LINE 1026
  1026           space
        PUSH V_002e
        CALL
        LINE 1027
  1027           %IF error margin # 0 %START
        PUSH V_0050
        PUSHI #0x00000000
        JUMPIF = L_000a
        LINE 1028
  1028              lines = lines-1
        PUSH V_004d
        PUSH V_004d
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1029
  1029              spaces(error margin)
        PUSH V_002f
        PUSH V_0050
        ASSPAR
        CALL
        LINE 1030
  1030              error margin = 0
        PUSH V_0050
        PUSHI #0x00000000
        ASSVAL
        LINE 1031
  1031              %IF error sym # 0 %START
        PUSH V_0051
        PUSHI #0x00000000
        JUMPIF = L_000d
        LINE 1032
  1032                 printsymbol(error sym)
        PUSH V_001c
        PUSH V_0051
        ASSPAR
        CALL
        LINE 1033
  1033                 pos = 1
        PUSH V_0087
        PUSHI #0x00000001
        ASSVAL
        LINE 1036
  1034  !IMP80 BUG???  
  1035  !!             char(1) = error sym
  1036                 byteinteger(addr(char(0))+1) = error sym
        PUSH V_000c
        PUSH V_0009
        PUSH V_008e
        PUSHI #0x00000000
        ACCESS
        ASSPAR
        CALL
        PUSHI #0x00000001
        ADD
        ASSPAR
        CALL
        PUSH V_0051
        ASSVAL
        LINE 1037
  1037                 sym = error sym;  error sym = 0
        PUSH V_0055
        PUSH V_0051
        ASSVAL
        LINE 1037
        PUSH V_0051
        PUSHI #0x00000000
        ASSVAL
        LINE 1038
  1038                 ->s5
        JUMP L_00d6
        LINE 1039
  1039              %FINISH
        LOCATE L_000d
        LINE 1040
  1040           %FINISH
        LOCATE L_000a
        LINE 1041
  1041        %FINISH
        LOCATE L_0007
        LINE 1042
  1042  s2:   symtype = 1
        LABEL L_00d7
        LINE 1042
        PUSH V_0056
        PUSHI #0x00000001
        ASSVAL
        LINE 1043
  1043     %FINISH
        LOCATE L_0004
        LINE 1044
  1044  s3:readsymbol(sym)
        LABEL L_00d8
        LINE 1044
        PUSH V_0003
        PUSH V_0055
        ASSPAR
        CALL
        LINE 1045
  1045     pos = pos+1 %IF pos # 133
        PUSH V_0087
        PUSHI #0x00000085
        JUMPIF = L_0004
        PUSH V_0087
        PUSH V_0087
        PUSHI #0x00000001
        ADD
        ASSVAL
        LOCATE L_0004
        LINE 1046
  1046     char(pos) = sym
        PUSH V_008e
        PUSH V_0087
        ACCESS
        PUSH V_0055
        ASSVAL
        LINE 1047
  1047     printsymbol(sym) %IF list <= 0
        PUSH V_0093
        PUSHI #0x00000000
        JUMPIF > L_0004
        PUSH V_001c
        PUSH V_0055
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1048
  1048     column = column+1
        PUSH V_0052
        PUSH V_0052
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1049
  1049  s5:%IF sym # nl %START
        LABEL L_00d6
        LINE 1049
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF = L_0004
        LINE 1050
  1050        Last = Sym
        PUSH V_00d2
        PUSH V_0055
        ASSVAL
        LINE 1051
  1051        %RETURN %IF quote # 0;                     !dont alter strings
        PUSH V_0057
        PUSHI #0x00000000
        JUMPIF = L_0007
        RETURN
        LOCATE L_0007
        LINE 1052
  1052        sym = mapped(sym&127)
        PUSH V_0055
        PUSH V_00d3
        PUSH V_0055
        PUSHI #0x0000007f
        AND
        ACCESS
        ASSVAL
        LINE 1053
  1053        %IF sym <= 3 %START;                       !special symbol
        PUSH V_0055
        PUSHI #0x00000003
        JUMPIF > L_0007
        LINE 1054
  1054           ->s2 %IF sym = 0;                       !space (or dubious control)
        PUSH V_0055
        PUSHI #0x00000000
        JUMPIF # L_000a
        JUMP L_00d7
        LOCATE L_000a
        LINE 1055
  1055           symtype = 2 %AND ->s3 %IF sym = 1;      !%
        PUSH V_0055
        PUSHI #0x00000001
        JUMPIF # L_000a
        PUSH V_0056
        PUSHI #0x00000002
        ASSVAL
        JUMP L_00d8
        LOCATE L_000a
        LINE 1056
  1056           cont = '+' %AND ->s11 %IF sym = 3;      !ff
        PUSH V_0055
        PUSHI #0x00000003
        JUMPIF # L_000a
        PUSH V_0059
        PUSHI #0x0000002b
        ASSVAL
        JUMP L_00d5
        LOCATE L_000a
        LINE 1058
  1057           !must be {
  1058           %CYCLE
        LOCATE L_0009
        LINE 1059
  1059              get sym
        PUSH V_00d0
        CALL
        LINE 1060
  1060              ->s3 %IF sym = '}'
        PUSH V_0055
        PUSHI #0x0000007d
        JUMPIF # L_000d
        JUMP L_00d8
        LOCATE L_000d
        LINE 1061
  1061              ->s4 %IF sym = nl
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF # L_000d
        JUMP L_00d9
        LOCATE L_000d
        LINE 1062
  1062           %REPEAT
        REPEAT L_0009
        LINE 1063
  1063        %FINISH
        LOCATE L_0007
        LINE 1064
  1064        key = kdict(sym)
        PUSH V_00c9
        PUSH V_00a2
        PUSH V_0055
        ACCESS
        ASSVAL
        LINE 1065
  1065        %IF key&3 = 0 %AND symtype = 2 %START;            !keyword
        PUSH V_00c9
        PUSHI #0x00000003
        AND
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_0056
        PUSHI #0x00000002
        JUMPIF # L_0007
        LINE 1066
  1066           %IF sym = 'C' %AND nextsymbol = nl %START;     !%C...
        PUSH V_0055
        PUSHI #0x00000043
        JUMPIF # L_000a
        PUSH V_001a
        CALL
        PUSHI #0x0000000a
        JUMPIF # L_000a
        LINE 1067
  1067              getsym;  cont = '+';  ->s1
        PUSH V_00d0
        CALL
        LINE 1067
        PUSH V_0059
        PUSHI #0x0000002b
        ASSVAL
        LINE 1067
        JUMP L_00d4
        LINE 1068
  1068           %FINISH
        LOCATE L_000a
        LINE 1069
  1069        %ELSE
        GOTO L_0006
        LOCATE L_0007
        LINE 1070
  1070           symtype = key&3-2
        PUSH V_0056
        PUSH V_00c9
        PUSHI #0x00000003
        AND
        PUSHI #0x00000002
        SUB
        ASSVAL
        LINE 1071
  1071        %FINISH
        LOCATE L_0006
        LINE 1072
  1072        %RETURN
        RETURN
        LINE 1073
  1073     %FINISH
        LOCATE L_0004
        LINE 1074
  1074  s4:symtype = quote
        LABEL L_00d9
        LINE 1074
        PUSH V_0056
        PUSH V_0057
        ASSVAL
        LINE 1075
  1075     ->S1 %if last = 0 %and Quote = 0
        PUSH V_00d2
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_0057
        PUSHI #0x00000000
        JUMPIF # L_0004
        JUMP L_00d4
        LOCATE L_0004
        LINE 1076
  1076     Cont = '+'
        PUSH V_0059
        PUSHI #0x0000002b
        ASSVAL
        LINE 1077
  1077  %END
        END
        LOCATE L_0000
        LINE 1079
  1078  
  1079  %INTEGERFN format selected
        GOTO L_0000
        DEF V_00d2 FORMATSELECTED
        +   0x0018
        +   0x0001
        +   0x0010
        START
        FINISH
        LINE 1080
  1080     format list = tag(format)_app;      !number of names
        PUSH V_008c
        PUSH V_0097
        PUSH V_0049
        ACCESS
        SELECT V_0001
        ASSVAL
        LINE 1081
  1081     %IF format list < 0 %START;         !forward ref
        PUSH V_008c
        PUSHI #0x00000000
        JUMPIF >= L_0004
        LINE 1082
  1082        atom1 = error+22
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x00000016
        ADD
        ASSVAL
        LINE 1083
  1083        %RESULT = 0
        PUSHI #0x00000000
        RESULT
        LINE 1084
  1084     %FINISH
        LOCATE L_0004
        LINE 1085
  1085     %IF sym = '_' %START
        PUSH V_0055
        PUSHI #0x0000005f
        JUMPIF # L_0004
        LINE 1086
  1086        escape class = esc rec
        PUSH V_005e
        PUSHI #0x000000ff
        ASSVAL
        LINE 1087
  1087        search base = tag(format)_format
        PUSH V_008b
        PUSH V_0097
        PUSH V_0049
        ACCESS
        SELECT V_0002
        ASSVAL
        LINE 1088
  1088     %FINISH
        LOCATE L_0004
        LINE 1089
  1089     %RESULT = 1
        PUSHI #0x00000001
        RESULT
        LINE 1090
  1090  %END
        END
        LOCATE L_0000
        LINE 1092
  1091  
  1092  %ROUTINE code atom(%INTEGER target)
        GOTO L_0000
        DEF V_00d3 CODEATOM
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00d4 TARGET
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 1093
  1093     %INTEGER dbase, da
        DEF V_00d5 DBASE
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00d6 DA
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 1094
  1094     %INTEGER base, n, mul, pend quote
        DEF V_00d7 BASE
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00d8 N
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00d9 MUL
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00da PENDQUOTE
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 1095
  1095     %INTEGER j,k,l, pt
        DEF V_00db J
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00dc K
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00dd L
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00de PT
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 1097
  1096  
  1097     %ROUTINE lookup(%INTEGER d)
        GOTO L_0000
        DEF V_00df LOOKUP
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00e0 D
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 1098
  1098        %CONSTINTEGER magic = 6700421
        LINE 1099
  1099        %INTEGER new name, vid, k1, k2, form
        DEF V_00e1 NEWNAME
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00e2 VID
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00e3 K1
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00e4 K2
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00e5 FORM
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 1100
  1100        %RECORD(tagfm)%NAME t
        DEF V_00e6 T
        +   0x0042
        +   0x003e
        +   0x0000
        LINE 1102
  1101  !emas:      %LONGINTEGER k0
  1102        %INTEGER new
        DEF V_00e7 NEW
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 1106
  1103  
  1104        !first locate the text of the name
  1105  
  1106        new = addr(dict(dmax+1))
        PUSH V_00e7
        PUSH V_0009
        PUSH V_0098
        PUSH V_0073
        PUSHI #0x00000001
        ADD
        ACCESS
        ASSPAR
        CALL
        ASSVAL
        LINE 1115
  1107  
  1108              !******** Machine code to inhibit overflow test ********
  1109  
  1110  !            *LI_1,magic
  1111  !            * M_0,hash value
  1112  !            *ST_1,K2
  1113  
  1114              {K2 = hash value*magic}
  1115  K2 = hash value*magic ;! requires NOCHECK option
        PUSH V_00e4
        PUSH V_004a
        PUSHI #0x00663d85
        MUL
        ASSVAL
        LINE 1119
  1116                         ! we could fix this properly by a shift+add loop
  1117              !*******************************************************
  1118  
  1119        k2 = k2>>(32-2*name bits)!1
        PUSH V_00e4
        PUSH V_00e4
        PUSHI #0x00000020
        PUSHI #0x00000002
        PUSHI #0x0000000b
        MUL
        SUB
        RSH
        PUSHI #0x00000001
        OR
        ASSVAL
        LINE 1123
  1120  !emas:      k0 = magic
  1121  !emas:      k1 = (k0*hash value)&X'7FFFFFFF'
  1122  !emas:      k2 = k1>>(32-2*name bits)!1
  1123        k1 = k2>>name bits;                      !giving name bits
        PUSH V_00e3
        PUSH V_00e4
        PUSHI #0x0000000b
        RSH
        ASSVAL
        LINE 1124
  1124        %CYCLE
        LOCATE L_0003
        LINE 1125
  1125           newname = hash(k1)
        PUSH V_00e1
        PUSH V_0096
        PUSH V_00e3
        ACCESS
        ASSVAL
        LINE 1126
  1126           %EXIT %IF newname = 0;                !not in
        PUSH V_00e1
        PUSHI #0x00000000
        JUMPIF # L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 1127
  1127           ->in %IF string(addr(dict(newname+1))) = string(new)
        PUSH V_000d
        PUSH V_0009
        PUSH V_0098
        PUSH V_00e1
        PUSHI #0x00000001
        ADD
        ACCESS
        ASSPAR
        CALL
        ASSPAR
        CALL
        PUSH V_000d
        PUSH V_00e7
        ASSPAR
        CALL
        JUMPIF # L_0007
        JUMP L_00e8
        LOCATE L_0007
        LINE 1128
  1128           k1 = (k1+k2)&max names
        PUSH V_00e3
        PUSH V_00e3
        PUSH V_00e4
        ADD
        PUSHI #0x000007ff
        AND
        ASSVAL
        LINE 1129
  1129        %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 1133
  1130  
  1131        ! not found
  1132  
  1133        spare names = spare names-1
        PUSH V_003c
        PUSH V_003c
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1134
  1134        abandon(2) %IF spare names <= 0
        PUSH V_003c
        PUSHI #0x00000000
        JUMPIF > L_0004
        PUSH V_00a5
        PUSHI #0x00000002
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1135
  1135        hash(k1) = dmax;                               !put it in
        PUSH V_0096
        PUSH V_00e3
        ACCESS
        PUSH V_0073
        ASSVAL
        LINE 1136
  1136        dict(dmax) = -1
        PUSH V_0098
        PUSH V_0073
        ACCESS
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1137
  1137        newname = dmax;  dmax = dp;  ->not in
        PUSH V_00e1
        PUSH V_0073
        ASSVAL
        LINE 1137
        PUSH V_0073
        PUSH V_0084
        ASSVAL
        LINE 1137
        JUMP L_00e9
        LINE 1139
  1138  
  1139  in:   search base = rbase %IF this >= 0 %AND d # 0;  !record elem defn
        LABEL L_00e8
        LINE 1139
        PUSH V_006d
        PUSHI #0x00000000
        JUMPIF < L_0004
        PUSH V_00e0
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_008b
        PUSH V_0070
        ASSVAL
        LOCATE L_0004
        LINE 1140
  1140        %IF search base # 0 %START;                    !record subname
        PUSH V_008b
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1141
  1141           new = -1
        PUSH V_00e7
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1142
  1142           x = search base
        PUSH V_0043
        PUSH V_008b
        ASSVAL
        LINE 1143
  1143           %CYCLE
        LOCATE L_0006
        LINE 1144
  1144              ->not in %IF x < format list
        PUSH V_0043
        PUSH V_008c
        JUMPIF >= L_000a
        JUMP L_00e9
        LOCATE L_000a
        LINE 1145
  1145              %EXIT %IF tag(x)_text = new name
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0005
        PUSH V_00e1
        JUMPIF # L_000a
        GOTO L_0007
        LOCATE L_000a
        LINE 1146
  1146              x = x-1
        PUSH V_0043
        PUSH V_0043
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1147
  1147           %REPEAT
        REPEAT L_0006
        LOCATE L_0007
        LINE 1148
  1148        %FINISH %ELSE %START;                   !hash in for normal names
        GOTO L_0003
        LOCATE L_0004
        LINE 1149
  1149           x = dict(newname)
        PUSH V_0043
        PUSH V_0098
        PUSH V_00e1
        ACCESS
        ASSVAL
        LINE 1150
  1150           ->not in %IF x <= limit;             !wrong level
        PUSH V_0043
        PUSH V_007f
        JUMPIF > L_0007
        JUMP L_00e9
        LOCATE L_0007
        LINE 1151
  1151        %FINISH
        LOCATE L_0003
        LINE 1153
  1152  
  1153        subatom = x;                            !name found, extract info
        PUSH V_0046
        PUSH V_0043
        ASSVAL
        LINE 1154
  1154        t == tag(x)
        PUSH V_00e6
        PUSH V_0097
        PUSH V_0043
        ACCESS
        ASSREF
        LINE 1155
  1155        atom flags = t_flags
        PUSH V_0060
        PUSH V_00e6
        SELECT V_0003
        ASSVAL
        LINE 1156
  1156        format = t_format;  app = t_app
        PUSH V_0049
        PUSH V_00e6
        SELECT V_0002
        ASSVAL
        LINE 1156
        PUSH V_0048
        PUSH V_00e6
        SELECT V_0001
        ASSVAL
        LINE 1157
  1157        protection = atom flags&prot
        PUSH V_005f
        PUSH V_0060
        PUSHI #0x00000100
        AND
        ASSVAL
        LINE 1158
  1158        type = atom flags>>4&7;  atom1 = amap(atom flags&15)
        PUSH V_0047
        PUSH V_0060
        PUSHI #0x00000004
        RSH
        PUSHI #0x00000007
        AND
        ASSVAL
        LINE 1158
        PUSH V_0044
        PUSH V_003f
        PUSH V_0060
        PUSHI #0x0000000f
        AND
        ACCESS
        ASSVAL
        LINE 1160
  1159  
  1160        %IF diag&8 # 0 %START
        PUSH V_0095
        PUSHI #0x00000008
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1161
  1161           printstring("lookup:")
        PUSH V_001d
        PUSHS "lookup:"
        ASSPAR
        CALL
        LINE 1162
  1162           write(atom1, 3)
        PUSH V_001e
        PUSH V_0044
        ASSPAR
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 1163
  1163           write(type, 1)
        PUSH V_001e
        PUSH V_0047
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 1164
  1164           write(app, 3)
        PUSH V_001e
        PUSH V_0048
        ASSPAR
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 1165
  1165           write(format, 5)
        PUSH V_001e
        PUSH V_0049
        ASSPAR
        PUSHI #0x00000005
        ASSPAR
        CALL
        LINE 1166
  1166           write(atom flags, 3)
        PUSH V_001e
        PUSH V_0060
        ASSPAR
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 1167
  1167           newline
        PUSH V_0030
        CALL
        LINE 1168
  1168        %FINISH
        LOCATE L_0004
        LINE 1170
  1169  
  1170        %IF d = 0 %START;                             !old name wanted
        PUSH V_00e0
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 1171
  1171           t_flags <- t_flags!used bit
        PUSH V_00e6
        SELECT V_0003
        PUSH V_00e6
        SELECT V_0003
        PUSHI #0x00008000
        OR
        JAM
        LINE 1172
  1172           search base = 0
        PUSH V_008b
        PUSHI #0x00000000
        ASSVAL
        LINE 1174
  1173  
  1174           %IF atom flags&subname # 0 %AND format # 0 %START; !a record
        PUSH V_0060
        PUSHI #0x00000800
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_0049
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 1175
  1175              %RETURN %IF format selected = 0
        PUSH V_00d2
        CALL
        PUSHI #0x00000000
        JUMPIF # L_000a
        RETURN
        LOCATE L_000a
        LINE 1176
  1176           %FINISH
        LOCATE L_0007
        LINE 1178
  1177  
  1178           %IF atom flags&parameters # 0 %START;      !proc or array
        PUSH V_0060
        PUSHI #0x00001000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 1180
  1179  
  1180              %IF app = 0 %START;                     !no parameters needed
        PUSH V_0048
        PUSHI #0x00000000
        JUMPIF # L_000a
        LINE 1181
  1181                 atom2 = atom1
        PUSH V_0045
        PUSH V_0044
        ASSVAL
        LINE 1182
  1182                 atom1 = atom1-4
        PUSH V_0044
        PUSH V_0044
        PUSHI #0x00000004
        SUB
        ASSVAL
        LINE 1183
  1183                 %IF 97 <= atom1 <= 98 %START
        PUSHI #0x00000061
        PUSH V_0044
        JUMPIFD > L_000d
        PUSHI #0x00000062
        JUMPIF > L_000d
        LINE 1184
  1184                    map gg = atom1;  atom1 = var
        PUSH V_006b
        PUSH V_0044
        ASSVAL
        LINE 1184
        PUSH V_0044
        PUSHI #0x0000005b
        ASSVAL
        LINE 1185
  1185                 %FINISH
        LOCATE L_000d
        LINE 1186
  1186              %FINISH %ELSE %START
        GOTO L_0009
        LOCATE L_000a
        LINE 1187
  1187                 %IF sym = '(' %START
        PUSH V_0055
        PUSHI #0x00000028
        JUMPIF # L_000d
        LINE 1188
  1188                    search base = 0;                  !ignore format for now
        PUSH V_008b
        PUSHI #0x00000000
        ASSVAL
        LINE 1189
  1189                    %IF atom1 >= 106 %START;          !arrays
        PUSH V_0044
        PUSHI #0x0000006a
        JUMPIF < L_0010
        LINE 1190
  1190                       app = phrase(app+200)
        PUSH V_0048
        PUSH V_009d
        PUSH V_0048
        PUSHI #0x000000c8
        ADD
        ACCESS
        ASSVAL
        LINE 1191
  1191                       escape class = esc array
        PUSH V_005e
        PUSHI #0x000000fe
        ASSVAL
        LINE 1192
  1192                       atom1 = (atom1-106)>>1+91;     !a,an->v  na,nan->n
        PUSH V_0044
        PUSH V_0044
        PUSHI #0x0000006a
        SUB
        PUSHI #0x00000001
        RSH
        PUSHI #0x0000005b
        ADD
        ASSVAL
        LINE 1193
  1193                    %FINISH %ELSE %START;             !procedures
        GOTO L_000f
        LOCATE L_0010
        LINE 1194
  1194                       escape class = esc proc
        PUSH V_005e
        PUSHI #0x000000fd
        ASSVAL
        LINE 1195
  1195                       atom1 = atom1-4
        PUSH V_0044
        PUSH V_0044
        PUSHI #0x00000004
        SUB
        ASSVAL
        LINE 1196
  1196                    %FINISH
        LOCATE L_000f
        LINE 1197
  1197                    phrase(200) = app
        PUSH V_009d
        PUSHI #0x000000c8
        ACCESS
        PUSH V_0048
        ASSVAL
        LINE 1198
  1198                 %FINISH
        LOCATE L_000d
        LINE 1199
  1199              %FINISH
        LOCATE L_0009
        LINE 1200
  1200              pos2 = pos;  %return
        PUSH V_0086
        PUSH V_0087
        ASSVAL
        LINE 1200
        RETURN
        LINE 1201
  1201           %FINISH
        LOCATE L_0007
        LINE 1205
  1202  
  1203           !deal with constintegers etc
  1204  
  1205           %IF atom flags&const bit # 0 %AND atom1 = var %START
        PUSH V_0060
        PUSHI #0x00002000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_0044
        PUSHI #0x0000005b
        JUMPIF # L_0007
        LINE 1206
  1206                 map gg = const;  atom2 = const
        PUSH V_006b
        PUSHI #0x0000005d
        ASSVAL
        LINE 1206
        PUSH V_0045
        PUSHI #0x0000005d
        ASSVAL
        LINE 1207
  1207                 subatom = -subatom %IF type = integer
        PUSH V_0047
        PUSHI #0x00000001
        JUMPIF # L_000a
        PUSH V_0046
        PUSH V_0046
        NEGATE
        ASSVAL
        LOCATE L_000a
        LINE 1208
  1208           %FINISH
        LOCATE L_0007
        LINE 1209
  1209           %RETURN
        RETURN
        LINE 1211
  1210  
  1211        %FINISH
        LOCATE L_0004
        LINE 1213
  1212                                                   !new name wanted
  1213        ->not in %IF tbase # tstart;               !don't fault proc parm-parm
        PUSH V_00b4
        PUSH V_00b5
        JUMPIF = L_0004
        JUMP L_00e9
        LOCATE L_0004
        LINE 1214
  1214        %IF d = lab+spec+used bit %START
        PUSH V_00e0
        PUSHI #0x00000003
        PUSHI #0x00000080
        ADD
        PUSHI #0x00008000
        ADD
        JUMPIF # L_0004
        LINE 1215
  1215           t_flags = t_flags!used bit
        PUSH V_00e6
        SELECT V_0003
        PUSH V_00e6
        SELECT V_0003
        PUSHI #0x00008000
        OR
        ASSVAL
        LINE 1216
  1216           %RETURN
        RETURN
        LINE 1217
  1217        %FINISH
        LOCATE L_0004
        LINE 1218
  1218        %IF atom flags&spec # 0 %START;            !a spec has been given
        PUSH V_0060
        PUSHI #0x00000080
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1219
  1219           %IF d = lab %START;                     !define label
        PUSH V_00e0
        PUSHI #0x00000003
        JUMPIF # L_0007
        LINE 1220
  1220              t_flags <- t_Flags-Spec
        PUSH V_00e6
        SELECT V_0003
        PUSH V_00e6
        SELECT V_0003
        PUSHI #0x00000080
        SUB
        JAM
        LINE 1221
  1221              %RETURN
        RETURN
        LINE 1222
  1222           %FINISH
        LOCATE L_0007
        LINE 1223
  1223           %IF 7 <= decl&15 <= 10 %AND decl&spec = 0 %START
        PUSHI #0x00000007
        PUSH V_005b
        PUSHI #0x0000000f
        AND
        JUMPIFD > L_0007
        PUSHI #0x0000000a
        JUMPIF > L_0007
        PUSH V_005b
        PUSHI #0x00000080
        AND
        PUSHI #0x00000000
        JUMPIF # L_0007
        LINE 1227
  1224  
  1225              !procedure definition after spec
  1226  
  1227              %IF (decl!!atom flags)&b'1111111' = 0 %START;  !correct type?
        PUSH V_005b
        PUSH V_0060
        XOR
        PUSHI #0x0000007f
        AND
        PUSHI #0x00000000
        JUMPIF # L_000a
        LINE 1228
  1228                 t_flags = t_flags-spec
        PUSH V_00e6
        SELECT V_0003
        PUSH V_00e6
        SELECT V_0003
        PUSHI #0x00000080
        SUB
        ASSVAL
        LINE 1229
  1229                 spec given = 1
        PUSH V_005d
        PUSHI #0x00000001
        ASSVAL
        LINE 1230
  1230                 %RETURN
        RETURN
        LINE 1231
  1231              %FINISH
        LOCATE L_000a
        LINE 1236
  1232  
  1233              !note that an external procedure must be speced as a
  1234              !non-external procedure.
  1235  
  1236           %FINISH
        LOCATE L_0007
        LINE 1237
  1237           %IF decl&15 = recfm %START;              !recordformat
        PUSH V_005b
        PUSHI #0x0000000f
        AND
        PUSHI #0x00000004
        JUMPIF # L_0007
        LINE 1238
  1238              t_flags = record<<4+recfm
        PUSH V_00e6
        SELECT V_0003
        PUSHI #0x00000004
        PUSHI #0x00000004
        LSH
        PUSHI #0x00000004
        ADD
        ASSVAL
        LINE 1239
  1239              t_format = fdef
        PUSH V_00e6
        SELECT V_0002
        PUSH V_006c
        ASSVAL
        LINE 1240
  1240              %RETURN
        RETURN
        LINE 1241
  1241           %FINISH
        LOCATE L_0007
        LINE 1242
  1242        %FINISH
        LOCATE L_0004
        LINE 1243
  1243        %RETURN %IF last1 = jump %AND atom1 = swit
        PUSH V_0063
        PUSHI #0x00000036
        JUMPIF # L_0004
        PUSH V_0044
        PUSHI #0x00000069
        JUMPIF # L_0004
        RETURN
        LOCATE L_0004
        LINE 1244
  1244        copy = x %IF copy = 0
        PUSH V_0080
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_0080
        PUSH V_0043
        ASSVAL
        LOCATE L_0004
        LINE 1246
  1245  
  1246  notin:app = 0;  vid = 0
        LABEL L_00e9
        LINE 1246
        PUSH V_0048
        PUSHI #0x00000000
        ASSVAL
        LINE 1246
        PUSH V_00e2
        PUSHI #0x00000000
        ASSVAL
        LINE 1247
  1247        atom1 = error+2
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x00000002
        ADD
        ASSVAL
        LINE 1249
  1248  
  1249        %return %if d = 0;                         !old name wanted
        PUSH V_00e0
        PUSHI #0x00000000
        JUMPIF # L_0004
        RETURN
        LOCATE L_0004
        LINE 1250
  1250        type = d>>4&7;  form = d&15;  atom1 = amap(form)
        PUSH V_0047
        PUSH V_00e0
        PUSHI #0x00000004
        RSH
        PUSHI #0x00000007
        AND
        ASSVAL
        LINE 1250
        PUSH V_00e5
        PUSH V_00e0
        PUSHI #0x0000000f
        AND
        ASSVAL
        LINE 1250
        PUSH V_0044
        PUSH V_003f
        PUSH V_00e5
        ACCESS
        ASSVAL
        LINE 1252
  1251  
  1252        %IF this < 0 %START;                       !normal scope
        PUSH V_006d
        PUSHI #0x00000000
        JUMPIF >= L_0004
        LINE 1253
  1253           new = newname
        PUSH V_00e7
        PUSH V_00e1
        ASSVAL
        LINE 1254
  1254           tmax = tmax+1;  x = tmax
        PUSH V_00ac
        PUSH V_00ac
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1254
        PUSH V_0043
        PUSH V_00ac
        ASSVAL
        LINE 1255
  1255        %FINISH %ELSE %START;                      !recordformat scope
        GOTO L_0003
        LOCATE L_0004
        LINE 1256
  1256           new = -1
        PUSH V_00e7
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1257
  1257           recid = recid-1;  vid = recid
        PUSH V_008d
        PUSH V_008d
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1257
        PUSH V_00e2
        PUSH V_008d
        ASSVAL
        LINE 1258
  1258           tmin = tmin-1;  x = tmin
        PUSH V_0074
        PUSH V_0074
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1258
        PUSH V_0043
        PUSH V_0074
        ASSVAL
        LINE 1259
  1259           format list = tmin
        PUSH V_008c
        PUSH V_0074
        ASSVAL
        LINE 1260
  1260        %FINISH
        LOCATE L_0003
        LINE 1262
  1261  
  1262        %IF 11 <= form <= 14 %START;               !arrays
        PUSHI #0x0000000b
        PUSH V_00e5
        JUMPIFD > L_0004
        PUSHI #0x0000000e
        JUMPIF > L_0004
        LINE 1263
  1263           dim = 1 %IF dim = 0;                    !set dim for owns
        PUSH V_005c
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_005c
        PUSHI #0x00000001
        ASSVAL
        LOCATE L_0007
        LINE 1264
  1264           app = dim
        PUSH V_0048
        PUSH V_005c
        ASSVAL
        LINE 1265
  1265        %FINISH
        LOCATE L_0004
        LINE 1267
  1266  
  1267        d = d!used bit %IF (otype > 2 %AND d&spec = 0) %OR perm # 0 %OR %C
        PUSH V_0061
        PUSHI #0x00000002
        JUMPIF <= L_0006
        PUSH V_00e0
        PUSHI #0x00000080
        AND
        PUSHI #0x00000000
        JUMPIF = L_0005
        LOCATE L_0006
        PUSH V_007a
        PUSHI #0x00000000
        JUMPIF # L_0005
        PUSH V_00a9
        PUSH V_0078
        JUMPIF # L_0004
        LOCATE L_0005
        PUSH V_00e0
        PUSH V_00e0
        PUSHI #0x00008000
        OR
        ASSVAL
        LOCATE L_0004
        LINE 1273
  1268                           Level = Include Level
  1269  
  1270        !external definitions need not be used in the file in which
  1271        !they are defined, so inhibit a useless unused warning.
  1272  
  1273        t == tag(x)
        PUSH V_00e6
        PUSH V_0097
        PUSH V_0043
        ACCESS
        ASSREF
        LINE 1274
  1274        %IF form = lab %START
        PUSH V_00e5
        PUSHI #0x00000003
        JUMPIF # L_0004
        LINE 1275
  1275           id = id+1;  vid = id
        PUSH V_00ad
        PUSH V_00ad
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1275
        PUSH V_00e2
        PUSH V_00ad
        ASSVAL
        LINE 1276
  1276        %FINISH
        LOCATE L_0004
        LINE 1277
  1277        t_index = vid
        PUSH V_00e6
        SELECT V_0004
        PUSH V_00e2
        ASSVAL
        LINE 1278
  1278        t_text   = new name
        PUSH V_00e6
        SELECT V_0005
        PUSH V_00e1
        ASSVAL
        LINE 1279
  1279        t_flags <- d
        PUSH V_00e6
        SELECT V_0003
        PUSH V_00e0
        JAM
        LINE 1280
  1280        t_app    = app
        PUSH V_00e6
        SELECT V_0001
        PUSH V_0048
        ASSVAL
        LINE 1281
  1281        t_format = fdef;  format = fdef
        PUSH V_00e6
        SELECT V_0002
        PUSH V_006c
        ASSVAL
        LINE 1281
        PUSH V_0049
        PUSH V_006c
        ASSVAL
        LINE 1282
  1282        subatom = x
        PUSH V_0046
        PUSH V_0043
        ASSVAL
        LINE 1284
  1283  
  1284        %IF new >= 0 %START;                             !insert into hash table
        PUSH V_00e7
        PUSHI #0x00000000
        JUMPIF < L_0004
        LINE 1285
  1285           t_link = dict(new);  dict(new) = x
        PUSH V_00e6
        SELECT V_0006
        PUSH V_0098
        PUSH V_00e7
        ACCESS
        ASSVAL
        LINE 1285
        PUSH V_0098
        PUSH V_00e7
        ACCESS
        PUSH V_0043
        ASSVAL
        LINE 1286
  1286           %IF gmin = max grammar %START;                !proc param params
        PUSH V_0072
        PUSHI #0x000006b8
        JUMPIF # L_0007
        LINE 1287
  1287              tmin = tmin-1;  subatom = tmin
        PUSH V_0074
        PUSH V_0074
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1287
        PUSH V_0046
        PUSH V_0074
        ASSVAL
        LINE 1288
  1288              tag(tmin) = t
        PUSH V_0097
        PUSH V_0074
        ACCESS
        PUSH V_00e6
        ASSVAL
        LINE 1289
  1289           %FINISH
        LOCATE L_0007
        LINE 1290
  1290        %FINISH
        LOCATE L_0004
        LINE 1291
  1291        abandon(3) %IF tmax >= tmin
        PUSH V_00ac
        PUSH V_0074
        JUMPIF < L_0004
        PUSH V_00a5
        PUSHI #0x00000003
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1292
  1292     %END
        END
        LOCATE L_0000
        LINE 1296
  1293  
  1294  
  1295  
  1296  top:  pos1 = pos
        LABEL L_00e0
        LINE 1296
        PUSH V_0085
        PUSH V_0087
        ASSVAL
        LINE 1297
  1297        subatom = 0;  pend quote = 0;  atom flags = 0
        PUSH V_0046
        PUSHI #0x00000000
        ASSVAL
        LINE 1297
        PUSH V_00da
        PUSHI #0x00000000
        ASSVAL
        LINE 1297
        PUSH V_0060
        PUSHI #0x00000000
        ASSVAL
        LINE 1301
  1298  
  1299        !app and format must be left for assigning to papp & pformat
  1300  
  1301        ->name %IF symtype = -2;                   !letter
        PUSH V_0056
        PUSHI #0x00000002
        NEGATE
        JUMPIF # L_0004
        JUMP L_00e1
        LOCATE L_0004
        LINE 1302
  1302        ->number %IF symtype < 0;                  !digit
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF >= L_0004
        JUMP L_00e2
        LOCATE L_0004
        LINE 1303
  1303        %IF symtype = 0 %START
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 1304
  1304           atom1 = termin;  atom2 = 0
        PUSH V_0044
        PUSHI #0x00000014
        ASSVAL
        LINE 1304
        PUSH V_0045
        PUSHI #0x00000000
        ASSVAL
        LINE 1305
  1305           %RETURN
        RETURN
        LINE 1306
  1306        %FINISH
        LOCATE L_0004
        LINE 1307
  1307        %IF symtype # 2 %START;                    !catch keywords here
        PUSH V_0056
        PUSHI #0x00000002
        JUMPIF = L_0004
        LINE 1308
  1308           ->text %IF quote # 0;                   !completion of text
        PUSH V_0057
        PUSHI #0x00000000
        JUMPIF = L_0007
        JUMP L_00e3
        LOCATE L_0007
        LINE 1309
  1309           ->strings %IF sym = squote;             !start of string
        PUSH V_0055
        PUSHI #0x00000022
        JUMPIF # L_0007
        JUMP L_00e4
        LOCATE L_0007
        LINE 1310
  1310           ->symbols %IF sym = cquote;             !start of symbol
        PUSH V_0055
        PUSHI #0x00000027
        JUMPIF # L_0007
        JUMP L_00e5
        LOCATE L_0007
        LINE 1311
  1311           ->number %IF sym = '.' %AND '0' <= nextsymbol <= '9'
        PUSH V_0055
        PUSHI #0x0000002e
        JUMPIF # L_0007
        PUSHI #0x00000030
        PUSH V_001a
        CALL
        JUMPIFD > L_0007
        PUSHI #0x00000039
        JUMPIF > L_0007
        JUMP L_00e2
        LOCATE L_0007
        LINE 1312
  1312        %FINISH
        LOCATE L_0004
        LINE 1315
  1313  
  1314                                                   !locate atom in fixed dict
  1315        k = key>>2;  read sym
        PUSH V_00dc
        PUSH V_00c9
        PUSHI #0x00000002
        RSH
        ASSVAL
        LINE 1315
        PUSH V_00d1
        CALL
        LINE 1316
  1316        %CYCLE
        LOCATE L_0003
        LINE 1317
  1317           j = kdict(k)
        PUSH V_00db
        PUSH V_00a2
        PUSH V_00dc
        ACCESS
        ASSVAL
        LINE 1318
  1318           %EXIT %IF j&x'4000' # 0
        PUSH V_00db
        PUSHI #0x00004000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 1319
  1319           %IF j&127 # sym %OR symtype < 0 %START
        PUSH V_00db
        PUSHI #0x0000007f
        AND
        PUSH V_0055
        JUMPIF # L_0008
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF >= L_0007
        LOCATE L_0008
        LINE 1320
  1320              ->err %UNLESS j < 0
        PUSH V_00db
        PUSHI #0x00000000
        JUMPIF < L_000a
        JUMP L_00e6
        LOCATE L_000a
        LINE 1321
  1321              k = k+1
        PUSH V_00dc
        PUSH V_00dc
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1322
  1322           %FINISH %ELSE %START
        GOTO L_0006
        LOCATE L_0007
        LINE 1323
  1323              l = j>>7&127;  read sym
        PUSH V_00dd
        PUSH V_00db
        PUSHI #0x00000007
        RSH
        PUSHI #0x0000007f
        AND
        ASSVAL
        LINE 1323
        PUSH V_00d1
        CALL
        LINE 1324
  1324              %IF j > 0 %START
        PUSH V_00db
        PUSHI #0x00000000
        JUMPIF <= L_000a
        LINE 1325
  1325                 %IF l # 0 %START
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF = L_000d
        LINE 1326
  1326                    ->err %IF l # sym %OR symtype < 0
        PUSH V_00dd
        PUSH V_0055
        JUMPIF # L_0011
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF >= L_0010
        LOCATE L_0011
        JUMP L_00e6
        LOCATE L_0010
        LINE 1327
  1327                    read sym
        PUSH V_00d1
        CALL
        LINE 1328
  1328                 %FINISH
        LOCATE L_000d
        LINE 1329
  1329                 l = 1
        PUSH V_00dd
        PUSHI #0x00000001
        ASSVAL
        LINE 1330
  1330              %FINISH
        LOCATE L_000a
        LINE 1331
  1331              k = k+l
        PUSH V_00dc
        PUSH V_00dc
        PUSH V_00dd
        ADD
        ASSVAL
        LINE 1332
  1332           %FINISH
        LOCATE L_0006
        LINE 1333
  1333        %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 1334
  1334        atom1 = j&127
        PUSH V_0044
        PUSH V_00db
        PUSHI #0x0000007f
        AND
        ASSVAL
        LINE 1335
  1335        %IF atom1 = 0 %START;                      !comma
        PUSH V_0044
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 1336
  1336           atom1 = 19;  subatom = 19;  atom2 = 0
        PUSH V_0044
        PUSHI #0x00000013
        ASSVAL
        LINE 1336
        PUSH V_0046
        PUSHI #0x00000013
        ASSVAL
        LINE 1336
        PUSH V_0045
        PUSHI #0x00000000
        ASSVAL
        LINE 1337
  1337           %IF sym = nl %START
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF # L_0007
        LINE 1338
  1338              %RETURN %IF ocount >= 0
        PUSH V_007e
        PUSHI #0x00000000
        JUMPIF < L_000a
        RETURN
        LOCATE L_000a
        LINE 1343
  1339  
  1340              !special action needs to be taken with <comma nl> as
  1341              !const array lists can be enormous
  1342  
  1343              read sym
        PUSH V_00d1
        CALL
        LINE 1344
  1344           %FINISH
        LOCATE L_0007
        LINE 1345
  1345           %RETURN
        RETURN
        LINE 1346
  1346        %FINISH
        LOCATE L_0004
        LINE 1347
  1347        atom2 = j>>7&127
        PUSH V_0045
        PUSH V_00db
        PUSHI #0x00000007
        RSH
        PUSHI #0x0000007f
        AND
        ASSVAL
        LINE 1348
  1348        subatom = kdict(k+1)&x'3fff'
        PUSH V_0046
        PUSH V_00a2
        PUSH V_00dc
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSHI #0x00003fff
        AND
        ASSVAL
        LINE 1350
  1349        !!!!!cont = ' '
  1350        %RETURN
        RETURN
        LINE 1356
  1351  
  1352        !report an error. adjust the error marker (pos1) to point
  1353        !to the faulty character in an atom, but care needs to be taken
  1354        !to prevent misleading reports in cases like ...?????
  1355  
  1356  err:  atom1 = error+1;  atom2 = 0
        LABEL L_00e6
        LINE 1356
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1356
        PUSH V_0045
        PUSHI #0x00000000
        ASSVAL
        LINE 1357
  1357        pos1 = pos %IF pos-pos1 > 2
        PUSH V_0087
        PUSH V_0085
        SUB
        PUSHI #0x00000002
        JUMPIF <= L_0004
        PUSH V_0085
        PUSH V_0087
        ASSVAL
        LOCATE L_0004
        LINE 1358
  1358        %RETURN
        RETURN
        LINE 1364
  1359  
  1360          !take care with strings and symbol constants.
  1361          !make sure the constant is valid here before sucking it in
  1362          !(and potentially loosing many lines)
  1363  
  1364  symbols:atom1 = var;  atom2 = const;  type = integer
        LABEL L_00e5
        LINE 1364
        PUSH V_0044
        PUSHI #0x0000005b
        ASSVAL
        LINE 1364
        PUSH V_0045
        PUSHI #0x0000005d
        ASSVAL
        LINE 1364
        PUSH V_0047
        PUSHI #0x00000001
        ASSVAL
        LINE 1365
  1365          map gg = const;  protection = prot
        PUSH V_006b
        PUSHI #0x0000005d
        ASSVAL
        LINE 1365
        PUSH V_005f
        PUSHI #0x00000100
        ASSVAL
        LINE 1366
  1366          subatom = lp;  abandon(3) %IF lp >= lit max
        PUSH V_0046
        PUSH V_0091
        ASSVAL
        LINE 1366
        PUSH V_0091
        PUSHI #0x00000032
        JUMPIF < L_0004
        PUSH V_00a5
        PUSHI #0x00000003
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1367
  1367          quote = \pend quote
        PUSH V_0057
        PUSH V_00da
        NOT
        ASSVAL
        LINE 1368
  1368          %RETURN
        RETURN
        LINE 1373
  1369  
  1370        !an integer constant is acceptable so get it in and
  1371        !get the next atom
  1372  
  1373  chars:n = 0;  cont = cquote
        LABEL L_00e7
        LINE 1373
        PUSH V_00d8
        PUSHI #0x00000000
        ASSVAL
        LINE 1373
        PUSH V_0059
        PUSHI #0x00000027
        ASSVAL
        LINE 1374
  1374        %CYCLE
        LOCATE L_0003
        LINE 1375
  1375           read sym
        PUSH V_00d1
        CALL
        LINE 1376
  1376           %IF sym = cquote %START
        PUSH V_0055
        PUSHI #0x00000027
        JUMPIF # L_0007
        LINE 1377
  1377              %EXIT %IF nextsymbol # cquote
        PUSH V_001a
        CALL
        PUSHI #0x00000027
        JUMPIF = L_000a
        GOTO L_0004
        LOCATE L_000a
        LINE 1378
  1378              read sym
        PUSH V_00d1
        CALL
        LINE 1379
  1379           %FINISH
        LOCATE L_0007
        LINE 1380
  1380           %IF n&(\((-1)>>byte size)) # 0 %START; ! overflow
        PUSH V_00d8
        PUSHI #0x00000001
        NEGATE
        PUSHI #0x00000008
        RSH
        NOT
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 1381
  1381              pos1 = pos;  atom1 = error+10;  %RETURN
        PUSH V_0085
        PUSH V_0087
        ASSVAL
        LINE 1381
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x0000000a
        ADD
        ASSVAL
        LINE 1381
        RETURN
        LINE 1382
  1382           %FINISH
        LOCATE L_0007
        LINE 1383
  1383           ->err %IF quote = 0
        PUSH V_0057
        PUSHI #0x00000000
        JUMPIF # L_0007
        JUMP L_00e6
        LOCATE L_0007
        LINE 1384
  1384           n = n<<byte size+sym
        PUSH V_00d8
        PUSH V_00d8
        PUSHI #0x00000008
        LSH
        PUSH V_0055
        ADD
        ASSVAL
        LINE 1385
  1385           quote = quote+1
        PUSH V_0057
        PUSH V_0057
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1386
  1386        %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 1387
  1387        quote = 0;  cont = ' '
        PUSH V_0057
        PUSHI #0x00000000
        ASSVAL
        LINE 1387
        PUSH V_0059
        PUSHI #0x00000020
        ASSVAL
        LINE 1388
  1388        readsym %IF sym # nl
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF = L_0004
        PUSH V_00d1
        CALL
        LOCATE L_0004
        LINE 1389
  1389        lit pool(lp) = n;  lp = lp+1
        PUSH V_008f
        PUSH V_0091
        ACCESS
        PUSH V_00d8
        ASSVAL
        LINE 1389
        PUSH V_0091
        PUSH V_0091
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1390
  1390        ->top
        JUMP L_00e0
        LINE 1394
  1391  
  1392          !sniff the grammar before getting the string
  1393  
  1394  strings:atom1 = var;  atom2 = const;  type = stringv
        LABEL L_00e4
        LINE 1394
        PUSH V_0044
        PUSHI #0x0000005b
        ASSVAL
        LINE 1394
        PUSH V_0045
        PUSHI #0x0000005d
        ASSVAL
        LINE 1394
        PUSH V_0047
        PUSHI #0x00000003
        ASSVAL
        LINE 1395
  1395          subatom = (strp-stbase)!x'4000'
        PUSH V_0046
        PUSH V_00c2
        PUSH V_0071
        SUB
        PUSHI #0x00004000
        OR
        ASSVAL
        LINE 1396
  1396          map gg = const;  protection = prot
        PUSH V_006b
        PUSHI #0x0000005d
        ASSVAL
        LINE 1396
        PUSH V_005f
        PUSHI #0x00000100
        ASSVAL
        LINE 1397
  1397          quote = subatom
        PUSH V_0057
        PUSH V_0046
        ASSVAL
        LINE 1398
  1398          text line = lines;                         !in case of errors
        PUSH V_004e
        PUSH V_004d
        ASSVAL
        LINE 1399
  1399          %RETURN
        RETURN
        LINE 1404
  1400  
  1401        !a string constant is ok here, so pull it in and get
  1402        !the next atom
  1403  
  1404  text: ->chars %IF quote < 0;                       !character consts
        LABEL L_00e3
        LINE 1404
        PUSH V_0057
        PUSHI #0x00000000
        JUMPIF >= L_0004
        JUMP L_00e7
        LOCATE L_0004
        LINE 1405
  1405        l = strp; n = strp
        PUSH V_00dd
        PUSH V_00c2
        ASSVAL
        LINE 1405
        PUSH V_00d8
        PUSH V_00c2
        ASSVAL
        LINE 1406
  1406        j = addr(glink(gmin-1));                     !absolute limit
        PUSH V_00db
        PUSH V_0009
        PUSH V_00a1
        PUSH V_0072
        PUSHI #0x00000001
        SUB
        ACCESS
        ASSPAR
        CALL
        ASSVAL
        LINE 1407
  1407        k = l+256;                                   !string length limit
        PUSH V_00dc
        PUSH V_00dd
        PUSHI #0x00000100
        ADD
        ASSVAL
        LINE 1408
  1408        k = j %IF j < k;                             !choose lower
        PUSH V_00db
        PUSH V_00dc
        JUMPIF >= L_0004
        PUSH V_00dc
        PUSH V_00db
        ASSVAL
        LOCATE L_0004
        LINE 1410
  1409  
  1410        %CYCLE
        LOCATE L_0003
        LINE 1411
  1411           cont = squote;  quote = 1
        PUSH V_0059
        PUSHI #0x00000022
        ASSVAL
        LINE 1411
        PUSH V_0057
        PUSHI #0x00000001
        ASSVAL
        LINE 1412
  1412           %CYCLE
        LOCATE L_0006
        LINE 1413
  1413              read sym
        PUSH V_00d1
        CALL
        LINE 1414
  1414              %IF sym = squote %START;               !terminator?
        PUSH V_0055
        PUSHI #0x00000022
        JUMPIF # L_000a
        LINE 1415
  1415                 %EXIT %IF nextsymbol # squote;      !yes ->
        PUSH V_001a
        CALL
        PUSHI #0x00000022
        JUMPIF = L_000d
        GOTO L_0007
        LOCATE L_000d
        LINE 1416
  1416                 read sym;                           ! skip quote
        PUSH V_00d1
        CALL
        LINE 1417
  1417              %FINISH
        LOCATE L_000a
        LINE 1418
  1418              l = l+1;  byteinteger(l) = sym
        PUSH V_00dd
        PUSH V_00dd
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1418
        PUSH V_000c
        PUSH V_00dd
        ASSPAR
        CALL
        PUSH V_0055
        ASSVAL
        LINE 1419
  1419              lines = text line %AND abandon(7) %IF l >= k; !too many chars
        PUSH V_00dd
        PUSH V_00dc
        JUMPIF < L_000a
        PUSH V_004d
        PUSH V_004e
        ASSVAL
        PUSH V_00a5
        PUSHI #0x00000007
        ASSPAR
        CALL
        LOCATE L_000a
        LINE 1420
  1420           %REPEAT
        REPEAT L_0006
        LOCATE L_0007
        LINE 1421
  1421           byteinteger(n) = l-n;                            !plug in length
        PUSH V_000c
        PUSH V_00d8
        ASSPAR
        CALL
        PUSH V_00dd
        PUSH V_00d8
        SUB
        ASSVAL
        LINE 1423
  1422     
  1423           strp = l+1;                                      !ready for next string
        PUSH V_00c2
        PUSH V_00dd
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1424
  1424           quote = 0;  cont = ' ';  read sym
        PUSH V_0057
        PUSHI #0x00000000
        ASSVAL
        LINE 1424
        PUSH V_0059
        PUSHI #0x00000020
        ASSVAL
        LINE 1424
        PUSH V_00d1
        CALL
        LINE 1425
  1425           code atom(target)
        PUSH V_00d3
        PUSH V_00d4
        ASSPAR
        CALL
        LINE 1426
  1426           %RETURN %UNLESS atom1 = 48 %AND sym = squote;    !fold "???"."+++"
        PUSH V_0044
        PUSHI #0x00000030
        JUMPIF # L_0008
        PUSH V_0055
        PUSHI #0x00000022
        JUMPIF = L_0007
        LOCATE L_0008
        RETURN
        LOCATE L_0007
        LINE 1427
  1427        %REPEAT
        REPEAT L_0003
        LINE 1429
  1428  
  1429        %ROUTINE get(%INTEGER limit)
        GOTO L_0000
        DEF V_00e8 GET
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00e9 LIMIT
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 1430
  1430           %INTEGER s, shift
        DEF V_00ea S
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00eb SHIFT
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 1431
  1431           shift = 0
        PUSH V_00eb
        PUSHI #0x00000000
        ASSVAL
        LINE 1432
  1432           %IF base # 10 %START
        PUSH V_00d7
        PUSHI #0x0000000a
        JUMPIF = L_0004
        LINE 1433
  1433              %IF base = 16 %START
        PUSH V_00d7
        PUSHI #0x00000010
        JUMPIF # L_0007
        LINE 1434
  1434                 shift = 4
        PUSH V_00eb
        PUSHI #0x00000004
        ASSVAL
        LINE 1435
  1435              %FINISH %ELSE %START
        GOTO L_0006
        LOCATE L_0007
        LINE 1436
  1436                 %IF base = 8 %START
        PUSH V_00d7
        PUSHI #0x00000008
        JUMPIF # L_000a
        LINE 1437
  1437                    shift = 3
        PUSH V_00eb
        PUSHI #0x00000003
        ASSVAL
        LINE 1438
  1438                 %FINISH %ELSE %START
        GOTO L_0009
        LOCATE L_000a
        LINE 1439
  1439                    %IF base = 2 %START
        PUSH V_00d7
        PUSHI #0x00000002
        JUMPIF # L_000d
        LINE 1440
  1440                       shift = 1
        PUSH V_00eb
        PUSHI #0x00000001
        ASSVAL
        LINE 1441
  1441                    %FINISH
        LOCATE L_000d
        LINE 1442
  1442                 %FINISH
        LOCATE L_0009
        LINE 1443
  1443              %FINISH
        LOCATE L_0006
        LINE 1444
  1444           %FINISH
        LOCATE L_0004
        LINE 1445
  1445           n = 0
        PUSH V_00d8
        PUSHI #0x00000000
        ASSVAL
        LINE 1446
  1446           %CYCLE
        LOCATE L_0003
        LINE 1447
  1447              %IF symtype = -1 %START;            !digit
        PUSH V_0056
        PUSHI #0x00000001
        NEGATE
        JUMPIF # L_0007
        LINE 1448
  1448                 s = sym-'0'
        PUSH V_00ea
        PUSH V_0055
        PUSHI #0x00000030
        SUB
        ASSVAL
        LINE 1449
  1449              %FINISH %ELSE %START
        GOTO L_0006
        LOCATE L_0007
        LINE 1450
  1450                 %IF symtype < 0 %START;          !letter
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF >= L_000a
        LINE 1451
  1451                    s = sym-'A'+10
        PUSH V_00ea
        PUSH V_0055
        PUSHI #0x00000041
        SUB
        PUSHI #0x0000000a
        ADD
        ASSVAL
        LINE 1452
  1452                 %FINISH %ELSE %START
        GOTO L_0009
        LOCATE L_000a
        LINE 1453
  1453                    %RETURN
        RETURN
        LINE 1454
  1454                 %FINISH
        LOCATE L_0009
        LINE 1455
  1455              %FINISH
        LOCATE L_0006
        LINE 1456
  1456              %RETURN %IF s >= limit
        PUSH V_00ea
        PUSH V_00e9
        JUMPIF < L_0007
        RETURN
        LOCATE L_0007
        LINE 1457
  1457              pt = pt+1;  byteinteger(pt) = sym
        PUSH V_00de
        PUSH V_00de
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1457
        PUSH V_000c
        PUSH V_00de
        ASSPAR
        CALL
        PUSH V_0055
        ASSVAL
        LINE 1458
  1458              %IF base = 10 %START;            !check overflow
        PUSH V_00d7
        PUSHI #0x0000000a
        JUMPIF # L_0007
        LINE 1459
  1459                 %IF n >= max int %AND (s > max dig %OR n > max int) %START
        PUSH V_00d8
        PUSHI #0x0ccccccc
        JUMPIF < L_000a
        PUSH V_00ea
        PUSHI #0x00000007
        JUMPIF > L_000b
        PUSH V_00d8
        PUSHI #0x0ccccccc
        JUMPIF <= L_000a
        LOCATE L_000b
        LINE 1464
  1460  
  1461                    !too big for an integer,
  1462                    !so call it a real
  1463  
  1464                    base = 0;  type = real;  n = 0
        PUSH V_00d7
        PUSHI #0x00000000
        ASSVAL
        LINE 1464
        PUSH V_0047
        PUSHI #0x00000002
        ASSVAL
        LINE 1464
        PUSH V_00d8
        PUSHI #0x00000000
        ASSVAL
        LINE 1465
  1465                 %FINISH
        LOCATE L_000a
        LINE 1466
  1466              %FINISH
        LOCATE L_0007
        LINE 1467
  1467              %IF shift = 0 %START
        PUSH V_00eb
        PUSHI #0x00000000
        JUMPIF # L_0007
        LINE 1468
  1468                 n = n*base+s
        PUSH V_00d8
        PUSH V_00d8
        PUSH V_00d7
        MUL
        PUSH V_00ea
        ADD
        ASSVAL
        LINE 1469
  1469              %FINISH %ELSE %START
        GOTO L_0006
        LOCATE L_0007
        LINE 1470
  1470                 n = n<<shift+s
        PUSH V_00d8
        PUSH V_00d8
        PUSH V_00eb
        LSH
        PUSH V_00ea
        ADD
        ASSVAL
        LINE 1471
  1471              %FINISH
        LOCATE L_0006
        LINE 1472
  1472              read sym
        PUSH V_00d1
        CALL
        LINE 1473
  1473           %REPEAT
        REPEAT L_0003
        LINE 1474
  1474        %END
        END
        LOCATE L_0000
        LINE 1476
  1475  
  1476  number:base = 10
        LABEL L_00e2
        LINE 1476
        PUSH V_00d7
        PUSHI #0x0000000a
        ASSVAL
        LINE 1477
  1477  bxk:   atom1 = var;  atom2 = const;  type = integer;  subatom = lp
        LABEL L_00e9
        LINE 1477
        PUSH V_0044
        PUSHI #0x0000005b
        ASSVAL
        LINE 1477
        PUSH V_0045
        PUSHI #0x0000005d
        ASSVAL
        LINE 1477
        PUSH V_0047
        PUSHI #0x00000001
        ASSVAL
        LINE 1477
        PUSH V_0046
        PUSH V_0091
        ASSVAL
        LINE 1478
  1478         map gg = const;  protection = prot
        PUSH V_006b
        PUSHI #0x0000005d
        ASSVAL
        LINE 1478
        PUSH V_005f
        PUSHI #0x00000100
        ASSVAL
        LINE 1479
  1479         abandon(3) %IF lp >= lit max
        PUSH V_0091
        PUSHI #0x00000032
        JUMPIF < L_0004
        PUSH V_00a5
        PUSHI #0x00000003
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1480
  1480         pt = strp;  mul = 0
        PUSH V_00de
        PUSH V_00c2
        ASSVAL
        LINE 1480
        PUSH V_00d9
        PUSHI #0x00000000
        ASSVAL
        LINE 1481
  1481         %CYCLE
        LOCATE L_0003
        LINE 1482
  1482            get(base)
        PUSH V_00e8
        PUSH V_00d7
        ASSPAR
        CALL
        LINE 1483
  1483            %EXIT %UNLESS sym = '_' %AND base # 0 %AND pend quote = 0;    !change of base
        PUSH V_0055
        PUSHI #0x0000005f
        JUMPIF # L_0008
        PUSH V_00d7
        PUSHI #0x00000000
        JUMPIF = L_0008
        PUSH V_00da
        PUSHI #0x00000000
        JUMPIF = L_0007
        LOCATE L_0008
        GOTO L_0004
        LOCATE L_0007
        LINE 1484
  1484            pt = pt+1;  byteinteger(pt) = '_'
        PUSH V_00de
        PUSH V_00de
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1484
        PUSH V_000c
        PUSH V_00de
        ASSPAR
        CALL
        PUSHI #0x0000005f
        ASSVAL
        LINE 1485
  1485            read sym
        PUSH V_00d1
        CALL
        LINE 1486
  1486            base = n
        PUSH V_00d7
        PUSH V_00d8
        ASSVAL
        LINE 1487
  1487         %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 1489
  1488  
  1489         %IF pend quote # 0 %START
        PUSH V_00da
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1490
  1490            ->err %IF sym # cquote
        PUSH V_0055
        PUSHI #0x00000027
        JUMPIF = L_0007
        JUMP L_00e6
        LOCATE L_0007
        LINE 1491
  1491            readsym
        PUSH V_00d1
        CALL
        LINE 1492
  1492         %FINISH
        LOCATE L_0004
        LINE 1493
  1493         %IF sym = '.' %START;                        !a real constant
        PUSH V_0055
        PUSHI #0x0000002e
        JUMPIF # L_0004
        LINE 1494
  1494            pt = pt+1;  byteinteger(pt) = '.'
        PUSH V_00de
        PUSH V_00de
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1494
        PUSH V_000c
        PUSH V_00de
        ASSPAR
        CALL
        PUSHI #0x0000002e
        ASSVAL
        LINE 1495
  1495            read sym
        PUSH V_00d1
        CALL
        LINE 1496
  1496            type = real;  n = base;  base = 0;  get(n)
        PUSH V_0047
        PUSHI #0x00000002
        ASSVAL
        LINE 1496
        PUSH V_00d8
        PUSH V_00d7
        ASSVAL
        LINE 1496
        PUSH V_00d7
        PUSHI #0x00000000
        ASSVAL
        LINE 1496
        PUSH V_00e8
        PUSH V_00d8
        ASSPAR
        CALL
        LINE 1497
  1497         %FINISH
        LOCATE L_0004
        LINE 1499
  1498  
  1499         %IF sym = '@' %START;                        !an exponent
        PUSH V_0055
        PUSHI #0x00000040
        JUMPIF # L_0004
        LINE 1500
  1500            pt = pt+1;  byteinteger(pt) = '@';  k = pt
        PUSH V_00de
        PUSH V_00de
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1500
        PUSH V_000c
        PUSH V_00de
        ASSPAR
        CALL
        PUSHI #0x00000040
        ASSVAL
        LINE 1500
        PUSH V_00dc
        PUSH V_00de
        ASSVAL
        LINE 1501
  1501            readsym
        PUSH V_00d1
        CALL
        LINE 1502
  1502            type = integer;  base = 10
        PUSH V_0047
        PUSHI #0x00000001
        ASSVAL
        LINE 1502
        PUSH V_00d7
        PUSHI #0x0000000a
        ASSVAL
        LINE 1503
  1503            %IF sym = '-' %START
        PUSH V_0055
        PUSHI #0x0000002d
        JUMPIF # L_0007
        LINE 1504
  1504               read sym;  get(10);  n = -n
        PUSH V_00d1
        CALL
        LINE 1504
        PUSH V_00e8
        PUSHI #0x0000000a
        ASSPAR
        CALL
        LINE 1504
        PUSH V_00d8
        PUSH V_00d8
        NEGATE
        ASSVAL
        LINE 1505
  1505            %FINISH %ELSE %START
        GOTO L_0006
        LOCATE L_0007
        LINE 1506
  1506               get(10)
        PUSH V_00e8
        PUSHI #0x0000000a
        ASSPAR
        CALL
        LINE 1507
  1507            %FINISH
        LOCATE L_0006
        LINE 1508
  1508            pt = k+1;  byteinteger(pt) = lp;  litpool(lp) = n;  lp = lp+1
        PUSH V_00de
        PUSH V_00dc
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1508
        PUSH V_000c
        PUSH V_00de
        ASSPAR
        CALL
        PUSH V_0091
        ASSVAL
        LINE 1508
        PUSH V_008f
        PUSH V_0091
        ACCESS
        PUSH V_00d8
        ASSVAL
        LINE 1508
        PUSH V_0091
        PUSH V_0091
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1509
  1509            atom1 = error+10 %IF base = 0
        PUSH V_00d7
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x0000000a
        ADD
        ASSVAL
        LOCATE L_0007
        LINE 1510
  1510            type = real;                              !exponents force the type
        PUSH V_0047
        PUSHI #0x00000002
        ASSVAL
        LINE 1511
  1511         %FINISH
        LOCATE L_0004
        LINE 1513
  1512  
  1513         %IF type = real %START
        PUSH V_0047
        PUSHI #0x00000002
        JUMPIF # L_0004
        LINE 1514
  1514            byteinteger(strp) = pt-strp
        PUSH V_000c
        PUSH V_00c2
        ASSPAR
        CALL
        PUSH V_00de
        PUSH V_00c2
        SUB
        ASSVAL
        LINE 1515
  1515            subatom = (strp-stbase)!x'2000';  strp = pt+1
        PUSH V_0046
        PUSH V_00c2
        PUSH V_0071
        SUB
        PUSHI #0x00002000
        OR
        ASSVAL
        LINE 1515
        PUSH V_00c2
        PUSH V_00de
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1516
  1516         %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 1517
  1517            litpool(lp) = n
        PUSH V_008f
        PUSH V_0091
        ACCESS
        PUSH V_00d8
        ASSVAL
        LINE 1518
  1518            lp = lp+1
        PUSH V_0091
        PUSH V_0091
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1519
  1519         %FINISH
        LOCATE L_0003
        LINE 1520
  1520         %RETURN
        RETURN
        LINE 1522
  1521  
  1522  name: atom1 = 0 %AND %RETURN %IF 27 <= target <= 41
        LABEL L_00e1
        LINE 1522
        PUSHI #0x0000001b
        PUSH V_00d4
        JUMPIFD > L_0004
        PUSHI #0x00000029
        JUMPIF > L_0004
        PUSH V_0044
        PUSHI #0x00000000
        ASSVAL
        RETURN
        LOCATE L_0004
        LINE 1523
  1523        hash value = 0
        PUSH V_004a
        PUSHI #0x00000000
        ASSVAL
        LINE 1529
  1524  
  1525        !*****************************
  1526        !*machine dependent for speed*
  1527        !*****************************
  1528  
  1529        dp = dmax+1
        PUSH V_0084
        PUSH V_0073
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1530
  1530        da = addr(dict(dp));  dbase = da
        PUSH V_00d6
        PUSH V_0009
        PUSH V_0098
        PUSH V_0084
        ACCESS
        ASSPAR
        CALL
        ASSVAL
        LINE 1530
        PUSH V_00d5
        PUSH V_00d6
        ASSVAL
        LINE 1531
  1531        %CYCLE
        LOCATE L_0003
        LINE 1532
  1532           hash value = hash value+(hash value+sym);        !is this good enough?
        PUSH V_004a
        PUSH V_004a
        PUSH V_004a
        PUSH V_0055
        ADD
        ADD
        ASSVAL
        LINE 1533
  1533           da = da+1;  byteinteger(da) = sym
        PUSH V_00d6
        PUSH V_00d6
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1533
        PUSH V_000c
        PUSH V_00d6
        ASSPAR
        CALL
        PUSH V_0055
        ASSVAL
        LINE 1534
  1534           read sym
        PUSH V_00d1
        CALL
        LINE 1535
  1535           %EXIT %IF symtype >= 0
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF < L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 1536
  1536        %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 1537
  1537        %IF sym = cquote %START
        PUSH V_0055
        PUSHI #0x00000027
        JUMPIF # L_0004
        LINE 1538
  1538           pend quote = 100
        PUSH V_00da
        PUSHI #0x00000064
        ASSVAL
        LINE 1539
  1539           ->symbols %IF hash value = 'M'
        PUSH V_004a
        PUSHI #0x0000004d
        JUMPIF # L_0007
        JUMP L_00e5
        LOCATE L_0007
        LINE 1540
  1540           read sym
        PUSH V_00d1
        CALL
        LINE 1541
  1541           %IF hash value = 'X' %THEN base = 16 %AND ->bxk
        PUSH V_004a
        PUSHI #0x00000058
        JUMPIF # L_0007
        PUSH V_00d7
        PUSHI #0x00000010
        ASSVAL
        JUMP L_00e9
        LOCATE L_0007
        LINE 1542
  1542           %IF hash value = 'K' %C
        PUSH V_004a
        PUSHI #0x0000004b
        JUMPIF = L_0008
        PUSH V_004a
        PUSHI #0x0000004f
        JUMPIF # L_0007
        LOCATE L_0008
        PUSH V_00d7
        PUSHI #0x00000008
        ASSVAL
        JUMP L_00e9
        LOCATE L_0007
        LINE 1544
  1543           %OR hash value = 'O' %THEN base = 8 %AND ->bxk
  1544           %IF hash value = 'B' %THEN base = 2 %AND ->bxk
        PUSH V_004a
        PUSHI #0x00000042
        JUMPIF # L_0007
        PUSH V_00d7
        PUSHI #0x00000002
        ASSVAL
        JUMP L_00e9
        LOCATE L_0007
        LINE 1545
  1545           ->err
        JUMP L_00e6
        LINE 1546
  1546        %FINISH
        LOCATE L_0004
        LINE 1547
  1547        n = da-dbase
        PUSH V_00d8
        PUSH V_00d6
        PUSH V_00d5
        SUB
        ASSVAL
        LINE 1548
  1548        byteinteger(dbase) = n
        PUSH V_000c
        PUSH V_00d5
        ASSPAR
        CALL
        PUSH V_00d8
        ASSVAL
        LINE 1549
  1549        dp = dp+(n+2)>>1
        PUSH V_0084
        PUSH V_0084
        PUSH V_00d8
        PUSHI #0x00000002
        ADD
        PUSHI #0x00000001
        RSH
        ADD
        ASSVAL
        LINE 1550
  1550        abandon(8) %IF dp >= dmin
        PUSH V_0084
        PUSH V_00ab
        JUMPIF < L_0004
        PUSH V_00a5
        PUSHI #0x00000008
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1552
  1551  
  1552        atom2 = 90;                                    !ident
        PUSH V_0045
        PUSHI #0x0000005a
        ASSVAL
        LINE 1553
  1553        %IF last1 = 0 %AND sym = ':' %START;           !label
        PUSH V_0063
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_0055
        PUSHI #0x0000003a
        JUMPIF # L_0004
        LINE 1554
  1554           limit = local;  lookup(lab);  %RETURN
        PUSH V_007f
        PUSH V_0089
        ASSVAL
        LINE 1554
        PUSH V_00df
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 1554
        RETURN
        LINE 1555
  1555        %FINISH
        LOCATE L_0004
        LINE 1556
  1556        %IF last1 = jump %START;                       !->label
        PUSH V_0063
        PUSHI #0x00000036
        JUMPIF # L_0004
        LINE 1557
  1557           limit = local;  lookup(lab+spec+used bit);  %RETURN
        PUSH V_007f
        PUSH V_0089
        ASSVAL
        LINE 1557
        PUSH V_00df
        PUSHI #0x00000003
        PUSHI #0x00000080
        ADD
        PUSHI #0x00008000
        ADD
        ASSPAR
        CALL
        LINE 1557
        RETURN
        LINE 1558
  1558        %FINISH
        LOCATE L_0004
        LINE 1559
  1559        %IF decl # 0 %AND target = 90 %START;          !identifier
        PUSH V_005b
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00d4
        PUSHI #0x0000005a
        JUMPIF # L_0004
        LINE 1560
  1560           search base = fm base
        PUSH V_008b
        PUSH V_008a
        ASSVAL
        LINE 1561
  1561           limit = local;  lookup(decl)
        PUSH V_007f
        PUSH V_0089
        ASSVAL
        LINE 1561
        PUSH V_00df
        PUSH V_005b
        ASSPAR
        CALL
        LINE 1562
  1562           search base = 0
        PUSH V_008b
        PUSHI #0x00000000
        ASSVAL
        LINE 1563
  1563        %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 1564
  1564           limit = 0;  lookup(0)
        PUSH V_007f
        PUSHI #0x00000000
        ASSVAL
        LINE 1564
        PUSH V_00df
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 1565
  1565        %FINISH
        LOCATE L_0003
        LINE 1566
  1566     %END
        END
        LOCATE L_0000
        LINE 1568
  1567  
  1568     %INTEGERFN parsed machine code
        GOTO L_0000
        DEF V_00d4 PARSEDMACHINECODE
        +   0x0018
        +   0x0001
        +   0x0010
        START
        FINISH
        LINE 1570
  1569        !   *opcode_??????????
  1570        %routine octal(%integer n)
        GOTO L_0000
        DEF V_00d5 OCTAL
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00d6 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 1571
  1571           %integer m
        DEF V_00d7 M
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 1572
  1572           m = n>>3
        PUSH V_00d7
        PUSH V_00d6
        PUSHI #0x00000003
        RSH
        ASSVAL
        LINE 1573
  1573           octal(m) %if m # 0
        PUSH V_00d7
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00d5
        PUSH V_00d7
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1574
  1574           bp = bp+1;  buff(bp) = n&7+'0'
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1574
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_00d6
        PUSHI #0x00000007
        AND
        PUSHI #0x00000030
        ADD
        ASSVAL
        LINE 1575
  1575        %end
        END
        LOCATE L_0000
        LINE 1576
  1576        atom1 = error %AND %RESULT=0 %UNLESS symtype = -2;  !starts with letter
        PUSH V_0056
        PUSHI #0x00000002
        NEGATE
        JUMPIF = L_0004
        PUSH V_0044
        PUSHI #0x00008000
        ASSVAL
        PUSHI #0x00000000
        RESULT
        LOCATE L_0004
        LINE 1577
  1577        flush buffer %IF bp >= 128
        PUSH V_009a
        PUSHI #0x00000080
        JUMPIF < L_0004
        PUSH V_00a3
        CALL
        LOCATE L_0004
        LINE 1578
  1578        bp=bp+1 %AND buff(bp)='w'
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000077
        ASSVAL
        LINE 1579
  1579        %CYCLE
        LOCATE L_0003
        LINE 1580
  1580           bp=bp+1 %AND buff(bp)=sym
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_0055
        ASSVAL
        LINE 1581
  1581           read sym
        PUSH V_00d1
        CALL
        LINE 1582
  1582           %EXIT %IF symtype >= 0;                !pull in letters and digits
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF < L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 1583
  1583        %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 1584
  1584        bp=bp+1 %AND buff(bp)='_'
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000005f
        ASSVAL
        LINE 1585
  1585        %IF symtype # 0 %START;                   !not terminator
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1586
  1586           atom1 = error %AND %result=0 %UNLESS sym = '_'
        PUSH V_0055
        PUSHI #0x0000005f
        JUMPIF = L_0007
        PUSH V_0044
        PUSHI #0x00008000
        ASSVAL
        PUSHI #0x00000000
        RESULT
        LOCATE L_0007
        LINE 1587
  1587           read sym
        PUSH V_00d1
        CALL
        LINE 1588
  1588           %WHILE symtype # 0 %CYCLE
        LOCATE L_0006
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 1589
  1589              %IF symtype < 0 %START;             !complex
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF >= L_000a
        LINE 1590
  1590                 code atom(0);  %result=0 %IF atom1&error # 0
        PUSH V_00d3
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 1590
        PUSH V_0044
        PUSHI #0x00008000
        AND
        PUSHI #0x00000000
        JUMPIF = L_000d
        PUSHI #0x00000000
        RESULT
        LOCATE L_000d
        LINE 1591
  1591                 %IF atom2 = const %AND type = integer %START
        PUSH V_0045
        PUSHI #0x0000005d
        JUMPIF # L_000d
        PUSH V_0047
        PUSHI #0x00000001
        JUMPIF # L_000d
        LINE 1592
  1592                    %IF subatom < 0 %THEN octal(tag(-subatom)_format) %C
        PUSH V_0046
        PUSHI #0x00000000
        JUMPIF >= L_0010
        PUSH V_00d5
        PUSH V_0097
        PUSH V_0046
        NEGATE
        ACCESS
        SELECT V_0002
        ASSPAR
        CALL
        GOTO L_000f
        LOCATE L_0010
        PUSH V_00d5
        PUSH V_008f
        PUSH V_0046
        ACCESS
        ASSPAR
        CALL
        LOCATE L_000f
        LINE 1594
  1593                                    %ELSE octal(litpool(subatom))
  1594                 %FINISH %ELSE %START
        GOTO L_000c
        LOCATE L_000d
        LINE 1595
  1595                    %IF 91 <= atom1 <= 109 %START
        PUSHI #0x0000005b
        PUSH V_0044
        JUMPIFD > L_0010
        PUSHI #0x0000006d
        JUMPIF > L_0010
        LINE 1596
  1596                       %if atom1 = 104 {label} %and %C
        PUSH V_0044
        PUSHI #0x00000068
        JUMPIF # L_0013
        PUSH V_0097
        PUSH V_0046
        ACCESS
        SELECT V_0003
        PUSHI #0x00004000
        AND
        PUSHI #0x00000000
        JUMPIF # L_0013
        LINE 1598
  1597                           Tag(Subatom)_Flags&Closed = 0 %start
  1598                          This = Subatom;  Atom1 = Error+21
        PUSH V_006d
        PUSH V_0046
        ASSVAL
        LINE 1598
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x00000015
        ADD
        ASSVAL
        LINE 1599
  1599                          %result = 0
        PUSHI #0x00000000
        RESULT
        LINE 1600
  1600                       %finish
        LOCATE L_0013
        LINE 1601
  1601                       op(' ', tag(subatom)_index)
        PUSH V_00a6
        PUSHI #0x00000020
        ASSPAR
        PUSH V_0097
        PUSH V_0046
        ACCESS
        SELECT V_0004
        ASSPAR
        CALL
        LINE 1602
  1602                    %FINISH %ELSE %START
        GOTO L_000f
        LOCATE L_0010
        LINE 1603
  1603                       atom1 = error;  %result=0
        PUSH V_0044
        PUSHI #0x00008000
        ASSVAL
        LINE 1603
        PUSHI #0x00000000
        RESULT
        LINE 1604
  1604                    %FINISH
        LOCATE L_000f
        LINE 1605
  1605                 %FINISH
        LOCATE L_000c
        LINE 1606
  1606              %FINISH %ELSE %START
        GOTO L_0009
        LOCATE L_000a
        LINE 1607
  1607                 bp=bp+1 %AND buff(bp)=sym;  read sym
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_0055
        ASSVAL
        LINE 1607
        PUSH V_00d1
        CALL
        LINE 1608
  1608              %FINISH
        LOCATE L_0009
        LINE 1609
  1609           %REPEAT
        REPEAT L_0006
        LOCATE L_0007
        LINE 1610
  1610        %FINISH
        LOCATE L_0004
        LINE 1611
  1611        bp=bp+1 %AND buff(bp)=';'
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000003b
        ASSVAL
        LINE 1612
  1612        %RESULT=1
        PUSHI #0x00000001
        RESULT
        LINE 1613
  1613     %END
        END
        LOCATE L_0000
        LINE 1615
  1614  
  1615     cont = ' ' %IF gg = 0
        PUSH V_006a
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_0059
        PUSHI #0x00000020
        ASSVAL
        LOCATE L_0004
        LINE 1616
  1616     last1 = 0;  mapgg = 0
        PUSH V_0063
        PUSHI #0x00000000
        ASSVAL
        LINE 1616
        PUSH V_006b
        PUSHI #0x00000000
        ASSVAL
        LINE 1617
  1617     s = 0;  ss = 0;  sstype = -1; fdef = 0
        PUSH V_00c7
        PUSHI #0x00000000
        ASSVAL
        LINE 1617
        PUSH V_0075
        PUSHI #0x00000000
        ASSVAL
        LINE 1617
        PUSH V_007c
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1617
        PUSH V_006c
        PUSHI #0x00000000
        ASSVAL
        LINE 1618
  1618     fm base = 0
        PUSH V_008a
        PUSHI #0x00000000
        ASSVAL
        LINE 1619
  1619     app = 0
        PUSH V_0048
        PUSHI #0x00000000
        ASSVAL
        LINE 1624
  1620  
  1621     !deal with alignment following an error in one statement
  1622     !of several on a line
  1623  
  1624     margin = column;                              !start of statement
        PUSH V_004f
        PUSH V_0052
        ASSVAL
        LINE 1626
  1625  
  1626     pos = 0
        PUSH V_0087
        PUSHI #0x00000000
        ASSVAL
        LINE 1627
  1627     stbase = addr(glink(gmax+1));  strp = stbase;  lp = 0
        PUSH V_0071
        PUSH V_0009
        PUSH V_00a1
        PUSH V_009c
        PUSHI #0x00000001
        ADD
        ACCESS
        ASSPAR
        CALL
        ASSVAL
        LINE 1627
        PUSH V_00c2
        PUSH V_0071
        ASSVAL
        LINE 1627
        PUSH V_0091
        PUSHI #0x00000000
        ASSVAL
        LINE 1628
  1628     tbase = tstart;                               !??????????????
        PUSH V_00b4
        PUSH V_00b5
        ASSVAL
        LINE 1629
  1629     local = tbase
        PUSH V_0089
        PUSH V_00b4
        ASSVAL
        LINE 1631
  1630  
  1631     %IF gg = 0 %or ocount >= 0 %START;            !data or not continuation(z)
        PUSH V_006a
        PUSHI #0x00000000
        JUMPIF = L_0005
        PUSH V_007e
        PUSHI #0x00000000
        JUMPIF < L_0004
        LOCATE L_0005
        LINE 1632
  1632  again:%WHILE sym type = 0 %CYCLE;                !skip redundant terminators
        LABEL L_00d5
        LINE 1632
        LOCATE L_0006
        PUSH V_0056
        PUSHI #0x00000000
        JUMPIF # L_0007
        LINE 1633
  1633           c = cont
        PUSH V_00c8
        PUSH V_0059
        ASSVAL
        LINE 1634
  1634           cont = ' ';  cont = '+' %IF ocount >= 0
        PUSH V_0059
        PUSHI #0x00000020
        ASSVAL
        LINE 1634
        PUSH V_007e
        PUSHI #0x00000000
        JUMPIF < L_000a
        PUSH V_0059
        PUSHI #0x0000002b
        ASSVAL
        LOCATE L_000a
        LINE 1635
  1635           read sym
        PUSH V_00d1
        CALL
        LINE 1636
  1636           cont = c
        PUSH V_0059
        PUSH V_00c8
        ASSVAL
        LINE 1637
  1637        %REPEAT
        REPEAT L_0006
        LOCATE L_0007
        LINE 1638
  1638        ->skip %IF sym = '!';                      !comment
        PUSH V_0055
        PUSHI #0x00000021
        JUMPIF # L_0007
        JUMP L_00d6
        LOCATE L_0007
        LINE 1639
  1639        this = -1
        PUSH V_006d
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1640
  1640        code atom(0)
        PUSH V_00d3
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 1641
  1641        %IF atom1 = comment %START
        PUSH V_0044
        PUSHI #0x00000016
        JUMPIF # L_0007
        LINE 1642
  1642  skip:    quote = 1
        LABEL L_00d6
        LINE 1642
        PUSH V_0057
        PUSHI #0x00000001
        ASSVAL
        LINE 1643
  1643           c = cont
        PUSH V_00c8
        PUSH V_0059
        ASSVAL
        LINE 1644
  1644           read sym %AND cont = c %WHILE sym # nl; !skip to end of line
        LOCATE L_0009
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF = L_000a
        PUSH V_00d1
        CALL
        PUSH V_0059
        PUSH V_00c8
        ASSVAL
        REPEAT L_0009
        LOCATE L_000a
        LINE 1645
  1645           quote = 0;  symtype = 0
        PUSH V_0057
        PUSHI #0x00000000
        ASSVAL
        LINE 1645
        PUSH V_0056
        PUSHI #0x00000000
        ASSVAL
        LINE 1646
  1646           ->again
        JUMP L_00d5
        LINE 1647
  1647        %FINISH
        LOCATE L_0007
        LINE 1648
  1648     %FINISH
        LOCATE L_0004
        LINE 1649
  1649     decl = 0;  mark = 0
        PUSH V_005b
        PUSHI #0x00000000
        ASSVAL
        LINE 1649
        PUSH V_00c3
        PUSHI #0x00000000
        ASSVAL
        LINE 1650
  1650     gentype = 0;  force = 0
        PUSH V_0064
        PUSHI #0x00000000
        ASSVAL
        LINE 1650
        PUSH V_0068
        PUSHI #0x00000000
        ASSVAL
        LINE 1651
  1651     dim = 0;  prot err = 0
        PUSH V_005c
        PUSHI #0x00000000
        ASSVAL
        LINE 1651
        PUSH V_00c5
        PUSHI #0x00000000
        ASSVAL
        LINE 1652
  1652     node = 0;  nmax = 0;  nmin = rec size+1
        PUSH V_00ca
        PUSHI #0x00000000
        ASSVAL
        LINE 1652
        PUSH V_006f
        PUSHI #0x00000000
        ASSVAL
        LINE 1652
        PUSH V_006e
        PUSHI #0x00000208
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1653
  1653     order = 1;  gmin = max grammar+1
        PUSH V_0081
        PUSHI #0x00000001
        ASSVAL
        LINE 1653
        PUSH V_0072
        PUSHI #0x000006b8
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1654
  1654     sstype = 0 %AND ->more %IF gg # 0;            !continuation
        PUSH V_006a
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_007c
        PUSHI #0x00000000
        ASSVAL
        JUMP L_00d7
        LOCATE L_0004
        LINE 1655
  1655     ptype = 0;  spec given = 0
        PUSH V_0065
        PUSHI #0x00000000
        ASSVAL
        LINE 1655
        PUSH V_005d
        PUSHI #0x00000000
        ASSVAL
        LINE 1657
  1656  
  1657     stats = stats+1;  op('O', lines) %IF perm = 0
        PUSH V_0053
        PUSH V_0053
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1657
        PUSH V_007a
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_00a6
        PUSHI #0x0000004f
        ASSPAR
        PUSH V_004d
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1659
  1658  
  1659     ->fail1 %IF atom1&error # 0;                  !first atom faulty
        PUSH V_0044
        PUSHI #0x00008000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        JUMP L_00d8
        LOCATE L_0004
        LINE 1661
  1660  
  1661     %IF escape class # 0 %START;                  !enter the hard way after
        PUSH V_005e
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1662
  1662        g = imp phrase;  sstype = -1;  ->a3
        PUSH V_0069
        PUSHI #0x00000019
        ASSVAL
        LINE 1662
        PUSH V_007c
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1662
        JUMP L_00d9
        LINE 1663
  1663     %FINISH
        LOCATE L_0004
        LINE 1665
  1664  
  1665     g = initial(atom1);                           !pick up entry point
        PUSH V_0069
        PUSH V_009f
        PUSH V_0044
        ACCESS
        ASSVAL
        LINE 1666
  1666     %IF g = 0 %START;                             !invalid first atom
        PUSH V_0069
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 1667
  1667        g = initial(0);  sstype = 0;  ->a3;        !declarator?
        PUSH V_0069
        PUSH V_009f
        PUSHI #0x00000000
        ACCESS
        ASSVAL
        LINE 1667
        PUSH V_007c
        PUSHI #0x00000000
        ASSVAL
        LINE 1667
        JUMP L_00d9
        LINE 1668
  1668     %FINISH
        LOCATE L_0004
        LINE 1669
  1669     %IF g < 0 %START;                             !phrase imp
        PUSH V_0069
        PUSHI #0x00000000
        JUMPIF >= L_0004
        LINE 1670
  1670        g = g&255
        PUSH V_0069
        PUSH V_0069
        PUSHI #0x000000ff
        AND
        ASSVAL
        LINE 1671
  1671        nmax = 1
        PUSH V_006f
        PUSHI #0x00000001
        ASSVAL
        LINE 1672
  1672        ar(1)_class = 0;  ar(1)_link = 0;  ar(1)_sub = imp phrase
        PUSH V_0041
        PUSHI #0x00000001
        ACCESS
        SELECT V_0001
        PUSHI #0x00000000
        ASSVAL
        LINE 1672
        PUSH V_0041
        PUSHI #0x00000001
        ACCESS
        SELECT V_0003
        PUSHI #0x00000000
        ASSVAL
        LINE 1672
        PUSH V_0041
        PUSHI #0x00000001
        ACCESS
        SELECT V_0002
        PUSHI #0x00000019
        ASSVAL
        LINE 1673
  1673     %FINISH
        LOCATE L_0004
        LINE 1675
  1674  
  1675     gg = gram(g);  class = gg&255;  sstype = gg>>12&3-1
        PUSH V_006a
        PUSH V_00a0
        PUSH V_0069
        ACCESS
        ASSVAL
        LINE 1675
        PUSH V_0042
        PUSH V_006a
        PUSHI #0x000000ff
        AND
        ASSVAL
        LINE 1675
        PUSH V_007c
        PUSH V_006a
        PUSHI #0x0000000c
        RSH
        PUSHI #0x00000003
        AND
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1676
  1676     ->a1
        JUMP L_00da
        LINE 1678
  1677  
  1678  act(194): ptype = type;  papp = app;  pformat = format;  ->more
        PUSHI #0x000000c2
        SLABEL 205
        LINE 1678
        PUSH V_0065
        PUSH V_0047
        ASSVAL
        LINE 1678
        PUSH V_0066
        PUSH V_0048
        ASSVAL
        LINE 1678
        PUSH V_0067
        PUSH V_0049
        ASSVAL
        LINE 1678
        JUMP L_00d7
        LINE 1679
  1679  act(196):k =g+1;  ->a610
        PUSHI #0x000000c4
        SLABEL 205
        LINE 1679
        PUSH V_00c6
        PUSH V_0069
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1679
        JUMP L_00db
        LINE 1680
  1680  act(188):k = ar(nmax)_sub+1
        PUSHI #0x000000bc
        SLABEL 205
        LINE 1680
        PUSH V_00c6
        PUSH V_0041
        PUSH V_006f
        ACCESS
        SELECT V_0002
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1681
  1681  a610:     papp = glink(k)
        LABEL L_00db
        LINE 1681
        PUSH V_0066
        PUSH V_00a1
        PUSH V_00c6
        ACCESS
        ASSVAL
        LINE 1682
  1682            k = gram(k)
        PUSH V_00c6
        PUSH V_00a0
        PUSH V_00c6
        ACCESS
        ASSVAL
        LINE 1683
  1683            ->more %IF k = 0;                        !%NAME
        PUSH V_00c6
        PUSHI #0x00000000
        JUMPIF # L_0004
        JUMP L_00d7
        LOCATE L_0004
        LINE 1684
  1684            ptype = k&7;  pformat = k>>3
        PUSH V_0065
        PUSH V_00c6
        PUSHI #0x00000007
        AND
        ASSVAL
        LINE 1684
        PUSH V_0067
        PUSH V_00c6
        PUSHI #0x00000003
        RSH
        ASSVAL
        LINE 1685
  1685  act(183):k = type;  gentype = k %IF gentype = 0 %OR k = real
        PUSHI #0x000000b7
        SLABEL 205
        LINE 1685
        PUSH V_00c6
        PUSH V_0047
        ASSVAL
        LINE 1685
        PUSH V_0064
        PUSHI #0x00000000
        JUMPIF = L_0005
        PUSH V_00c6
        PUSHI #0x00000002
        JUMPIF # L_0004
        LOCATE L_0005
        PUSH V_0064
        PUSH V_00c6
        ASSVAL
        LOCATE L_0004
        LINE 1686
  1686            %IF pformat < 0 %START;                  !general type
        PUSH V_0067
        PUSHI #0x00000000
        JUMPIF >= L_0004
        LINE 1687
  1687               app = papp;  format = pformat
        PUSH V_0048
        PUSH V_0066
        ASSVAL
        LINE 1687
        PUSH V_0049
        PUSH V_0067
        ASSVAL
        LINE 1688
  1688               k = real %IF ptype = real %AND type = integer
        PUSH V_0065
        PUSHI #0x00000002
        JUMPIF # L_0007
        PUSH V_0047
        PUSHI #0x00000001
        JUMPIF # L_0007
        PUSH V_00c6
        PUSHI #0x00000002
        ASSVAL
        LOCATE L_0007
        LINE 1689
  1689               k = force %AND force = 0 %IF force # 0
        PUSH V_0068
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00c6
        PUSH V_0068
        ASSVAL
        PUSH V_0068
        PUSHI #0x00000000
        ASSVAL
        LOCATE L_0007
        LINE 1690
  1690            %FINISH
        LOCATE L_0004
        LINE 1691
  1691            ->fail2 %UNLESS papp = app %AND (ptype = k %OR ptype = 0)
        PUSH V_0066
        PUSH V_0048
        JUMPIF # L_0005
        PUSH V_0065
        PUSH V_00c6
        JUMPIF = L_0004
        PUSH V_0065
        PUSHI #0x00000000
        JUMPIF = L_0004
        LOCATE L_0005
        JUMP L_00dc
        LOCATE L_0004
        LINE 1692
  1692            ->more %IF pformat=format %OR pformat = 0 %OR format = 0
        PUSH V_0067
        PUSH V_0049
        JUMPIF = L_0005
        PUSH V_0067
        PUSHI #0x00000000
        JUMPIF = L_0005
        PUSH V_0049
        PUSHI #0x00000000
        JUMPIF # L_0004
        LOCATE L_0005
        JUMP L_00d7
        LOCATE L_0004
        LINE 1693
  1693            ->fail2
        JUMP L_00dc
        LINE 1694
  1694  act(197):arp == ar(nmin)
        PUSHI #0x000000c5
        SLABEL 205
        LINE 1694
        PUSH V_00cc
        PUSH V_0041
        PUSH V_006e
        ACCESS
        ASSREF
        LINE 1695
  1695           k = arp_sub
        PUSH V_00c6
        PUSH V_00cc
        SELECT V_0002
        ASSVAL
        LINE 1696
  1696           ->fail3 %UNLESS block form = k&15
        PUSH V_00bb
        PUSH V_00c6
        PUSHI #0x0000000f
        AND
        JUMPIF = L_0004
        JUMP L_00dd
        LOCATE L_0004
        LINE 1697
  1697           arp_sub = k>>4
        PUSH V_00cc
        SELECT V_0002
        PUSH V_00c6
        PUSHI #0x00000004
        RSH
        ASSVAL
        LINE 1699
  1698  
  1699           type = block type
        PUSH V_0047
        PUSH V_00ba
        ASSVAL
        LINE 1700
  1700           ptype = block type;  pformat = block fm;  papp = app
        PUSH V_0065
        PUSH V_00ba
        ASSVAL
        LINE 1700
        PUSH V_0067
        PUSH V_00bc
        ASSVAL
        LINE 1700
        PUSH V_0066
        PUSH V_0048
        ASSVAL
        LINE 1701
  1701           pformat = -1 %IF ptype # record
        PUSH V_0065
        PUSHI #0x00000004
        JUMPIF = L_0004
        PUSH V_0067
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LOCATE L_0004
        LINE 1702
  1702           ->more
        JUMP L_00d7
        LINE 1703
  1703  act(195):->Fail2 %if Type # 0 %and Type # Integer %and %C
        PUSHI #0x000000c3
        SLABEL 205
        LINE 1703
        PUSH V_0047
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_0047
        PUSHI #0x00000001
        JUMPIF = L_0004
        PUSH V_0047
        PUSHI #0x00000002
        JUMPIF = L_0004
        JUMP L_00dc
        LOCATE L_0004
        LINE 1705
  1704                                     Type # Real
  1705           arp == ar(nmin)
        PUSH V_00cc
        PUSH V_0041
        PUSH V_006e
        ACCESS
        ASSREF
        LINE 1706
  1706           k = arp_sub
        PUSH V_00c6
        PUSH V_00cc
        SELECT V_0002
        ASSVAL
        LINE 1707
  1707           arp_sub = k>>2
        PUSH V_00cc
        SELECT V_0002
        PUSH V_00c6
        PUSHI #0x00000002
        RSH
        ASSVAL
        LINE 1708
  1708           k = k&3
        PUSH V_00c6
        PUSH V_00c6
        PUSHI #0x00000003
        AND
        ASSVAL
        LINE 1712
  1709                                                        !1 = check integer
  1710                                                        !2 = check real
  1711                                                        !3 = check real + int
  1712            ->more %IF k = 0;                           !0 = no action
        PUSH V_00c6
        PUSHI #0x00000000
        JUMPIF # L_0004
        JUMP L_00d7
        LOCATE L_0004
        LINE 1713
  1713            %IF k = 1 %START
        PUSH V_00c6
        PUSHI #0x00000001
        JUMPIF # L_0004
        LINE 1714
  1714               force = integer
        PUSH V_0068
        PUSHI #0x00000001
        ASSVAL
        LINE 1715
  1715               ->more %IF type = integer %OR type = 0
        PUSH V_0047
        PUSHI #0x00000001
        JUMPIF = L_0008
        PUSH V_0047
        PUSHI #0x00000000
        JUMPIF # L_0007
        LOCATE L_0008
        JUMP L_00d7
        LOCATE L_0007
        LINE 1716
  1716               ->fail2
        JUMP L_00dc
        LINE 1717
  1717            %FINISH
        LOCATE L_0004
        LINE 1718
  1718            ->fail2 %UNLESS ptype = real %or ptype = 0  {or added?}
        PUSH V_0065
        PUSHI #0x00000002
        JUMPIF = L_0004
        PUSH V_0065
        PUSHI #0x00000000
        JUMPIF = L_0004
        JUMP L_00dc
        LOCATE L_0004
        LINE 1719
  1719            force = integer %IF k = 3
        PUSH V_00c6
        PUSHI #0x00000003
        JUMPIF # L_0004
        PUSH V_0068
        PUSHI #0x00000001
        ASSVAL
        LOCATE L_0004
        LINE 1720
  1720            ->more
        JUMP L_00d7
        LINE 1721
  1721  act(198):!%OTHER
        PUSHI #0x000000c6
        SLABEL 205
        LINE 1722
  1722           k = gg>>8&15
        PUSH V_00c6
        PUSH V_006a
        PUSHI #0x00000008
        RSH
        PUSHI #0x0000000f
        AND
        ASSVAL
        LINE 1723
  1723           %IF k = 0 %START;                    !restore atom
        PUSH V_00c6
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 1724
  1724              atom1 = last1
        PUSH V_0044
        PUSH V_0063
        ASSVAL
        LINE 1725
  1725              ->more
        JUMP L_00d7
        LINE 1726
  1726           %FINISH
        LOCATE L_0004
        LINE 1727
  1727           %IF k = 1 %START;                    !test string
        PUSH V_00c6
        PUSHI #0x00000001
        JUMPIF # L_0004
        LINE 1728
  1728              ->fail2 %UNLESS type = stringv
        PUSH V_0047
        PUSHI #0x00000003
        JUMPIF = L_0007
        JUMP L_00dc
        LOCATE L_0007
        LINE 1729
  1729              ->more
        JUMP L_00d7
        LINE 1730
  1730           %FINISH
        LOCATE L_0004
        LINE 1731
  1731           %if k = 2 %start                     {fault record comparisons}
        PUSH V_00c6
        PUSHI #0x00000002
        JUMPIF # L_0004
        LINE 1732
  1732              ->fail2 %if type = record
        PUSH V_0047
        PUSHI #0x00000004
        JUMPIF # L_0007
        JUMP L_00dc
        LOCATE L_0007
        LINE 1733
  1733              ->more
        JUMP L_00d7
        LINE 1734
  1734           %finish
        LOCATE L_0004
        LINE 1735
  1735           %if k = 3 %start;                    !check OWN variable coming
        PUSH V_00c6
        PUSHI #0x00000003
        JUMPIF # L_0004
        LINE 1736
  1736              code atom(0)
        PUSH V_00d3
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 1737
  1737              ->A7 %if atom flags&own bit = 0
        PUSH V_0060
        PUSHI #0x00000200
        AND
        PUSHI #0x00000000
        JUMPIF # L_0007
        JUMP L_00de
        LOCATE L_0007
        LINE 1738
  1738              ->more
        JUMP L_00d7
        LINE 1739
  1739           %finish
        LOCATE L_0004
        LINE 1740
  1740           for warn = pos1 %IF x <= local;      !%FORTEST
        PUSH V_0043
        PUSH V_0089
        JUMPIF > L_0004
        PUSH V_0082
        PUSH V_0085
        ASSVAL
        LOCATE L_0004
        LINE 1741
  1741           ->more
        JUMP L_00d7
        LINE 1742
  1742  paction(1):%IF type = record %THEN g = phrase(242) %ELSE pformat = -1
        PUSHI #0x00000001
        SLABEL 206
        LINE 1742
        PUSH V_0047
        PUSHI #0x00000004
        JUMPIF # L_0004
        PUSH V_0069
        PUSH V_009d
        PUSHI #0x000000f2
        ACCESS
        ASSVAL
        GOTO L_0003
        LOCATE L_0004
        PUSH V_0067
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LOCATE L_0003
        LINE 1743
  1743                                                 ->a3
        JUMP L_00d9
        LINE 1744
  1744  paction(2):ptype = real;     pformat = -1;     ->a3
        PUSHI #0x00000002
        SLABEL 206
        LINE 1744
        PUSH V_0065
        PUSHI #0x00000002
        ASSVAL
        LINE 1744
        PUSH V_0067
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1744
        JUMP L_00d9
        LINE 1745
  1745  paction(3):ptype = stringv;  pformat = -1;     ->a3
        PUSHI #0x00000003
        SLABEL 206
        LINE 1745
        PUSH V_0065
        PUSHI #0x00000003
        ASSVAL
        LINE 1745
        PUSH V_0067
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1745
        JUMP L_00d9
        LINE 1746
  1746  paction(4):ptype = integer;  pformat = -1;     ->a3
        PUSHI #0x00000004
        SLABEL 206
        LINE 1746
        PUSH V_0065
        PUSHI #0x00000001
        ASSVAL
        LINE 1746
        PUSH V_0067
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1746
        JUMP L_00d9
        LINE 1747
  1747  paction(5):->a3 %if ptype = integer
        PUSHI #0x00000005
        SLABEL 206
        LINE 1747
        PUSH V_0065
        PUSHI #0x00000001
        JUMPIF # L_0004
        JUMP L_00d9
        LOCATE L_0004
        LINE 1748
  1748             g = phrase(212) %AND pformat=-1 %IF ptype = real
        PUSH V_0065
        PUSHI #0x00000002
        JUMPIF # L_0004
        PUSH V_0069
        PUSH V_009d
        PUSHI #0x000000d4
        ACCESS
        ASSVAL
        PUSH V_0067
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LOCATE L_0004
        LINE 1749
  1749             g = phrase(213) %IF ptype = stringv
        PUSH V_0065
        PUSHI #0x00000003
        JUMPIF # L_0004
        PUSH V_0069
        PUSH V_009d
        PUSHI #0x000000d5
        ACCESS
        ASSVAL
        LOCATE L_0004
        LINE 1750
  1750             ->a3
        JUMP L_00d9
        LINE 1751
  1751  paction(6):ptype = gram(ar(nmax)_sub+1)&7;  pformat = -1;  ->a3
        PUSHI #0x00000006
        SLABEL 206
        LINE 1751
        PUSH V_0065
        PUSH V_00a0
        PUSH V_0041
        PUSH V_006f
        ACCESS
        SELECT V_0002
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSHI #0x00000007
        AND
        ASSVAL
        LINE 1751
        PUSH V_0067
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1751
        JUMP L_00d9
        LINE 1752
  1752  paction(7):ptype=real %IF ptype = integer;  pformat = -1;  ->a3
        PUSHI #0x00000007
        SLABEL 206
        LINE 1752
        PUSH V_0065
        PUSHI #0x00000001
        JUMPIF # L_0004
        PUSH V_0065
        PUSHI #0x00000002
        ASSVAL
        LOCATE L_0004
        LINE 1752
        PUSH V_0067
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 1752
        JUMP L_00d9
        LINE 1754
  1753  
  1754  a1:   last1 = class;  atom1 = 0;  s = subatom
        LABEL L_00da
        LINE 1754
        PUSH V_0063
        PUSH V_0042
        ASSVAL
        LINE 1754
        PUSH V_0044
        PUSHI #0x00000000
        ASSVAL
        LINE 1754
        PUSH V_00c7
        PUSH V_0046
        ASSVAL
        LINE 1756
  1755  
  1756  a2:   %IF gg&trans bit = 0 %START;                !insert into analysis record
        LABEL L_00df
        LINE 1756
        PUSH V_006a
        PUSHI #0x00004000
        AND
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 1757
  1757           z == node
        PUSH V_00cb
        PUSH V_00ca
        ASSREF
        LINE 1758
  1758           %CYCLE;                                  !insert cell in order
        LOCATE L_0006
        LINE 1759
  1759              k = z
        PUSH V_00c6
        PUSH V_00cb
        ASSVAL
        LINE 1760
  1760              %EXIT %IF gg&order bits = 0 %OR k = 0
        PUSH V_006a
        PUSHI #0x00003000
        AND
        PUSHI #0x00000000
        JUMPIF = L_000b
        PUSH V_00c6
        PUSHI #0x00000000
        JUMPIF # L_000a
        LOCATE L_000b
        GOTO L_0007
        LOCATE L_000a
        LINE 1761
  1761              gg = gg-order bit;  z == ar(k)_link
        PUSH V_006a
        PUSH V_006a
        PUSHI #0x00001000
        SUB
        ASSVAL
        LINE 1761
        PUSH V_00cb
        PUSH V_0041
        PUSH V_00c6
        ACCESS
        SELECT V_0003
        ASSREF
        LINE 1762
  1762           %REPEAT
        REPEAT L_0006
        LOCATE L_0007
        LINE 1763
  1763           gg = map gg %IF map gg # 0 %AND gg&255 = var
        PUSH V_006b
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_006a
        PUSHI #0x000000ff
        AND
        PUSHI #0x0000005b
        JUMPIF # L_0007
        PUSH V_006a
        PUSH V_006b
        ASSVAL
        LOCATE L_0007
        LINE 1764
  1764           nmin = nmin-1;  ->fail0 %IF nmin = nmax
        PUSH V_006e
        PUSH V_006e
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1764
        PUSH V_006e
        PUSH V_006f
        JUMPIF # L_0007
        JUMP L_00e0
        LOCATE L_0007
        LINE 1765
  1765           z = nmin
        PUSH V_00cb
        PUSH V_006e
        ASSVAL
        LINE 1766
  1766           arp == ar(nmin)
        PUSH V_00cc
        PUSH V_0041
        PUSH V_006e
        ACCESS
        ASSREF
        LINE 1767
  1767           arp_sub = s;  arp_class = (gg&255)!mark
        PUSH V_00cc
        SELECT V_0002
        PUSH V_00c7
        ASSVAL
        LINE 1767
        PUSH V_00cc
        SELECT V_0001
        PUSH V_006a
        PUSHI #0x000000ff
        AND
        PUSH V_00c3
        OR
        ASSVAL
        LINE 1768
  1768           arp_link = k
        PUSH V_00cc
        SELECT V_0003
        PUSH V_00c6
        ASSVAL
        LINE 1769
  1769        %FINISH
        LOCATE L_0004
        LINE 1770
  1770        mark = 0;  map gg = 0
        PUSH V_00c3
        PUSHI #0x00000000
        ASSVAL
        LINE 1770
        PUSH V_006b
        PUSHI #0x00000000
        ASSVAL
        LINE 1772
  1771  
  1772  more: g = glink(g);                               !chain down the grammar
        LABEL L_00d7
        LINE 1772
        PUSH V_0069
        PUSH V_00a1
        PUSH V_0069
        ACCESS
        ASSVAL
        LINE 1774
  1773  
  1774  paction(0):
        PUSHI #0x00000000
        SLABEL 206
        LINE 1775
  1775  a3:   gg = gram(g);  class = gg&255
        LABEL L_00d9
        LINE 1775
        PUSH V_006a
        PUSH V_00a0
        PUSH V_0069
        ACCESS
        ASSVAL
        LINE 1775
        PUSH V_0042
        PUSH V_006a
        PUSHI #0x000000ff
        AND
        ASSVAL
        LINE 1776
  1776        trace analysis %IF diag&1 # 0
        PUSH V_0095
        PUSHI #0x00000001
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00cf
        CALL
        LOCATE L_0004
        LINE 1777
  1777        ->a5 %IF class = 0;                         !end of phrase
        PUSH V_0042
        PUSHI #0x00000000
        JUMPIF # L_0004
        JUMP L_00e1
        LOCATE L_0004
        LINE 1779
  1778  
  1779        %IF class < actions %START;                 !not a phrase or an action
        PUSH V_0042
        PUSHI #0x000000b4
        JUMPIF >= L_0004
        LINE 1780
  1780           class = atomic(class) %IF class >= figurative
        PUSH V_0042
        PUSHI #0x00000082
        JUMPIF < L_0007
        PUSH V_0042
        PUSH V_009e
        PUSH V_0042
        ACCESS
        ASSVAL
        LOCATE L_0007
        LINE 1781
  1781           ->a2 %IF class >= manifest
        PUSH V_0042
        PUSHI #0x00000078
        JUMPIF < L_0007
        JUMP L_00df
        LOCATE L_0007
        LINE 1782
  1782           code atom(class) %IF atom1 = 0
        PUSH V_0044
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_00d3
        PUSH V_0042
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 1783
  1783           %IF escape class # 0 %START;             !escape to new grammar
        PUSH V_005e
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 1784
  1784              class = escape class;  escape class = 0
        PUSH V_0042
        PUSH V_005e
        ASSVAL
        LINE 1784
        PUSH V_005e
        PUSHI #0x00000000
        ASSVAL
        LINE 1785
  1785              g = g+escape
        PUSH V_0069
        PUSH V_0069
        PUSHI #0x00001000
        ADD
        ASSVAL
        LINE 1790
  1786  
  1787              !note that following an escape the next item is
  1788              !forced to be transparent!
  1789  
  1790  esc:        gg = 0
        LABEL L_00e2
        LINE 1790
        PUSH V_006a
        PUSHI #0x00000000
        ASSVAL
        LINE 1791
  1791              arp == ar(nmax+1)
        PUSH V_00cc
        PUSH V_0041
        PUSH V_006f
        PUSHI #0x00000001
        ADD
        ACCESS
        ASSREF
        LINE 1792
  1792              arp_papp = papp;  arp_x = x;  ->a4
        PUSH V_00cc
        SELECT V_0005
        PUSH V_0066
        ASSVAL
        LINE 1792
        PUSH V_00cc
        SELECT V_0007
        PUSH V_0043
        ASSVAL
        LINE 1792
        JUMP L_00e3
        LINE 1793
  1793           %FINISH
        LOCATE L_0007
        LINE 1795
  1794  
  1795           ->a1 %IF class = atom1 %OR class = atom2
        PUSH V_0042
        PUSH V_0044
        JUMPIF = L_0008
        PUSH V_0042
        PUSH V_0045
        JUMPIF # L_0007
        LOCATE L_0008
        JUMP L_00da
        LOCATE L_0007
        LINE 1797
  1796  
  1797  a7:      ->fail1 %IF gg >= 0;                     !no alternative
        LABEL L_00de
        LINE 1797
        PUSH V_006a
        PUSHI #0x00000000
        JUMPIF < L_0007
        JUMP L_00d8
        LOCATE L_0007
        LINE 1798
  1798           g = g+1
        PUSH V_0069
        PUSH V_0069
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1799
  1799           ->a3
        JUMP L_00d9
        LINE 1800
  1800        %FINISH
        LOCATE L_0004
        LINE 1802
  1801  
  1802        %IF class >= phrasal %START;                !a phrase
        PUSH V_0042
        PUSHI #0x000000c8
        JUMPIF < L_0004
        LINE 1803
  1803  a4:      nmax = nmax+1;  ->fail0 %IF nmax = nmin
        LABEL L_00e3
        LINE 1803
        PUSH V_006f
        PUSH V_006f
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1803
        PUSH V_006f
        PUSH V_006e
        JUMPIF # L_0007
        JUMP L_00e0
        LOCATE L_0007
        LINE 1804
  1804           arp == ar(nmax)
        PUSH V_00cc
        PUSH V_0041
        PUSH V_006f
        ACCESS
        ASSREF
        LINE 1805
  1805           arp_ptype = ptype
        PUSH V_00cc
        SELECT V_0004
        PUSH V_0065
        ASSVAL
        LINE 1806
  1806           arp_pos = pos1
        PUSH V_00cc
        SELECT V_0008
        PUSH V_0085
        ASSVAL
        LINE 1807
  1807           arp_pformat = pformat
        PUSH V_00cc
        SELECT V_0006
        PUSH V_0067
        ASSVAL
        LINE 1808
  1808           arp_link = gentype
        PUSH V_00cc
        SELECT V_0003
        PUSH V_0064
        ASSVAL
        LINE 1809
  1809           arp_class = node
        PUSH V_00cc
        SELECT V_0001
        PUSH V_00ca
        ASSVAL
        LINE 1810
  1810           arp_sub = g
        PUSH V_00cc
        SELECT V_0002
        PUSH V_0069
        ASSVAL
        LINE 1811
  1811           node = 0
        PUSH V_00ca
        PUSHI #0x00000000
        ASSVAL
        LINE 1812
  1812           g = phrase(class)
        PUSH V_0069
        PUSH V_009d
        PUSH V_0042
        ACCESS
        ASSVAL
        LINE 1813
  1813           ptype = force %AND force = 0 %IF force # 0
        PUSH V_0068
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_0065
        PUSH V_0068
        ASSVAL
        PUSH V_0068
        PUSHI #0x00000000
        ASSVAL
        LOCATE L_0007
        LINE 1814
  1814           gentype = 0
        PUSH V_0064
        PUSHI #0x00000000
        ASSVAL
        LINE 1815
  1815           ->paction(gg>>8&15)
        PUSH V_006a
        PUSHI #0x00000008
        RSH
        PUSHI #0x0000000f
        AND
        SJUMP 206
        LINE 1816
  1816        %FINISH
        LOCATE L_0004
        LINE 1818
  1817  
  1818        ->act(class);                               !only actions left
        PUSH V_0042
        SJUMP 205
        LINE 1820
  1819  
  1820  a5:   !reverse links
        LABEL L_00e1
        LINE 1822
  1821  
  1822        s = 0
        PUSH V_00c7
        PUSHI #0x00000000
        ASSVAL
        LINE 1823
  1823        %WHILE node # 0 %CYCLE
        LOCATE L_0003
        PUSH V_00ca
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1824
  1824           z == ar(node)_link
        PUSH V_00cb
        PUSH V_0041
        PUSH V_00ca
        ACCESS
        SELECT V_0003
        ASSREF
        LINE 1825
  1825           k = z;  z = s;  s = node;  node = k
        PUSH V_00c6
        PUSH V_00cb
        ASSVAL
        LINE 1825
        PUSH V_00cb
        PUSH V_00c7
        ASSVAL
        LINE 1825
        PUSH V_00c7
        PUSH V_00ca
        ASSVAL
        LINE 1825
        PUSH V_00ca
        PUSH V_00c6
        ASSVAL
        LINE 1826
  1826        %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 1827
  1827        ss = s
        PUSH V_0075
        PUSH V_00c7
        ASSVAL
        LINE 1829
  1828  
  1829  a6:   %IF nmax # 0 %START
        LABEL L_00e4
        LINE 1829
        PUSH V_006f
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1830
  1830           k = gentype;                             !type of phrase
        PUSH V_00c6
        PUSH V_0064
        ASSVAL
        LINE 1831
  1831           arp == ar(nmax);  nmax = nmax-1
        PUSH V_00cc
        PUSH V_0041
        PUSH V_006f
        ACCESS
        ASSREF
        LINE 1831
        PUSH V_006f
        PUSH V_006f
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1832
  1832           node = arp_class
        PUSH V_00ca
        PUSH V_00cc
        SELECT V_0001
        ASSVAL
        LINE 1833
  1833           gentype = arp_link
        PUSH V_0064
        PUSH V_00cc
        SELECT V_0003
        ASSVAL
        LINE 1834
  1834           ptype = arp_ptype
        PUSH V_0065
        PUSH V_00cc
        SELECT V_0004
        ASSVAL
        LINE 1835
  1835           pformat = arp_pformat
        PUSH V_0067
        PUSH V_00cc
        SELECT V_0006
        ASSVAL
        LINE 1836
  1836           g = arp_sub
        PUSH V_0069
        PUSH V_00cc
        SELECT V_0002
        ASSVAL
        LINE 1837
  1837           %IF g&escape # 0 %START
        PUSH V_0069
        PUSHI #0x00001000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 1838
  1838              g = g-escape
        PUSH V_0069
        PUSH V_0069
        PUSHI #0x00001000
        SUB
        ASSVAL
        LINE 1839
  1839              papp = arp_papp
        PUSH V_0066
        PUSH V_00cc
        SELECT V_0005
        ASSVAL
        LINE 1840
  1840              mark = 255
        PUSH V_00c3
        PUSHI #0x000000ff
        ASSVAL
        LINE 1841
  1841              subatom = s
        PUSH V_0046
        PUSH V_00c7
        ASSVAL
        LINE 1842
  1842              ->a3
        JUMP L_00d9
        LINE 1843
  1843           %FINISH
        LOCATE L_0007
        LINE 1844
  1844           gentype = k %IF gentype = 0 %OR k = real
        PUSH V_0064
        PUSHI #0x00000000
        JUMPIF = L_0008
        PUSH V_00c6
        PUSHI #0x00000002
        JUMPIF # L_0007
        LOCATE L_0008
        PUSH V_0064
        PUSH V_00c6
        ASSVAL
        LOCATE L_0007
        LINE 1845
  1845           type = gen type
        PUSH V_0047
        PUSH V_0064
        ASSVAL
        LINE 1847
  1846  
  1847           k = gg;                                  !exit-point code
        PUSH V_00c6
        PUSH V_006a
        ASSVAL
        LINE 1848
  1848           %CYCLE
        LOCATE L_0006
        LINE 1849
  1849              gg = gram(g)
        PUSH V_006a
        PUSH V_00a0
        PUSH V_0069
        ACCESS
        ASSVAL
        LINE 1850
  1850              ->a2 %IF k = 0
        PUSH V_00c6
        PUSHI #0x00000000
        JUMPIF # L_000a
        JUMP L_00df
        LOCATE L_000a
        LINE 1851
  1851              ->fail1 %IF gg >= 0;                  !no alternative phrase
        PUSH V_006a
        PUSHI #0x00000000
        JUMPIF < L_000a
        JUMP L_00d8
        LOCATE L_000a
        LINE 1852
  1852              k = k-order bit
        PUSH V_00c6
        PUSH V_00c6
        PUSHI #0x00001000
        SUB
        ASSVAL
        LINE 1853
  1853              g = g+1;                              !sideways step
        PUSH V_0069
        PUSH V_0069
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1854
  1854           %REPEAT
        REPEAT L_0006
        LINE 1856
  1855  
  1856        %FINISH
        LOCATE L_0004
        LINE 1858
  1857  
  1858        Fault(4)  %IF copy # 0
        PUSH V_0080
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00c1
        PUSHI #0x00000004
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1859
  1859        fault(13) %IF order = 0
        PUSH V_0081
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_00c1
        PUSHI #0x0000000d
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1860
  1860        fault(-4) %IF for warn # 0
        PUSH V_0082
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00c1
        PUSHI #0x00000004
        NEGATE
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1861
  1861        pos1 = 0
        PUSH V_0085
        PUSHI #0x00000000
        ASSVAL
        LINE 1862
  1862        fault rate = fault rate-1
        PUSH V_004c
        PUSH V_004c
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1863
  1863        %RETURN
        RETURN
        LINE 1865
  1864  
  1865  act(193):gg = 0 %AND ->a5 %UNLESS sym = '=' %or sym = '<';  !cdummy
        PUSHI #0x000000c1
        SLABEL 205
        LINE 1865
        PUSH V_0055
        PUSHI #0x0000003d
        JUMPIF = L_0004
        PUSH V_0055
        PUSHI #0x0000003c
        JUMPIF = L_0004
        PUSH V_006a
        PUSHI #0x00000000
        ASSVAL
        JUMP L_00e1
        LOCATE L_0004
        LINE 1866
  1866  act(181):atom1 = amap(decl&15);                             !dummy
        PUSHI #0x000000b5
        SLABEL 205
        LINE 1866
        PUSH V_0044
        PUSH V_003f
        PUSH V_005b
        PUSHI #0x0000000f
        AND
        ACCESS
        ASSVAL
        LINE 1867
  1867           ->more
        JUMP L_00d7
        LINE 1869
  1868  
  1869  act(182):class = escdec;  g = glink(g)!escape
        PUSHI #0x000000b6
        SLABEL 205
        LINE 1869
        PUSH V_0042
        PUSHI #0x000000fc
        ASSVAL
        LINE 1869
        PUSH V_0069
        PUSH V_00a1
        PUSH V_0069
        ACCESS
        PUSHI #0x00001000
        OR
        ASSVAL
        LINE 1870
  1870           decl = 0;  otype = 0;  ->esc;                      !decl
        PUSH V_005b
        PUSHI #0x00000000
        ASSVAL
        LINE 1870
        PUSH V_0061
        PUSHI #0x00000000
        ASSVAL
        LINE 1870
        JUMP L_00e2
        LINE 1872
  1871  
  1872  act(199):                                                   !compile
        PUSHI #0x000000c7
        SLABEL 205
        LINE 1874
  1873  
  1874           s = 0
        PUSH V_00c7
        PUSHI #0x00000000
        ASSVAL
        LINE 1875
  1875           %WHILE node # 0 %CYCLE
        LOCATE L_0003
        PUSH V_00ca
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1876
  1876              z == ar(node)_link
        PUSH V_00cb
        PUSH V_0041
        PUSH V_00ca
        ACCESS
        SELECT V_0003
        ASSREF
        LINE 1877
  1877              k = z;  z = s;  s = node;  node = k
        PUSH V_00c6
        PUSH V_00cb
        ASSVAL
        LINE 1877
        PUSH V_00cb
        PUSH V_00c7
        ASSVAL
        LINE 1877
        PUSH V_00c7
        PUSH V_00ca
        ASSVAL
        LINE 1877
        PUSH V_00ca
        PUSH V_00c6
        ASSVAL
        LINE 1878
  1878           %repeat
        REPEAT L_0003
        LOCATE L_0004
        LINE 1879
  1879           ss = s
        PUSH V_0075
        PUSH V_00c7
        ASSVAL
        LINE 1881
  1880  
  1881           code atom(28) %IF quote # 0;                       !expend
        PUSH V_0057
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00d3
        PUSHI #0x0000001c
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1882
  1882           compile;  ->more %IF atom1&error = 0
        PUSH V_00b1
        CALL
        LINE 1882
        PUSH V_0044
        PUSHI #0x00008000
        AND
        PUSHI #0x00000000
        JUMPIF # L_0004
        JUMP L_00d7
        LOCATE L_0004
        LINE 1883
  1883           ->fail1
        JUMP L_00d8
        LINE 1885
  1884  
  1885  act(184):->fail4 %UNLESS type = integer
        PUSHI #0x000000b8
        SLABEL 205
        LINE 1885
        PUSH V_0047
        PUSHI #0x00000001
        JUMPIF = L_0004
        JUMP L_00e5
        LOCATE L_0004
        LINE 1886
  1886           %IF subatom < 0 %THEN lit = tag(-subatom)_format %C
        PUSH V_0046
        PUSHI #0x00000000
        JUMPIF >= L_0004
        PUSH V_0090
        PUSH V_0097
        PUSH V_0046
        NEGATE
        ACCESS
        SELECT V_0002
        ASSVAL
        GOTO L_0003
        LOCATE L_0004
        PUSH V_0090
        PUSH V_008f
        PUSH V_0046
        ACCESS
        ASSVAL
        LOCATE L_0003
        LINE 1888
  1887                           %ELSE lit = lit pool(subatom)
  1888           ->fail4 %IF lit # 0
        PUSH V_0090
        PUSHI #0x00000000
        JUMPIF = L_0004
        JUMP L_00e5
        LOCATE L_0004
        LINE 1889
  1889           ->more
        JUMP L_00d7
        LINE 1890
  1890  act(185):                                                   !apply parameters
        PUSHI #0x000000b9
        SLABEL 205
        LINE 1891
  1891           s = 0
        PUSH V_00c7
        PUSHI #0x00000000
        ASSVAL
        LINE 1892
  1892           %WHILE node # 0 %CYCLE
        LOCATE L_0003
        PUSH V_00ca
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1893
  1893              z == ar(node)_link
        PUSH V_00cb
        PUSH V_0041
        PUSH V_00ca
        ACCESS
        SELECT V_0003
        ASSREF
        LINE 1894
  1894              k = z;  z = s;  s = node;  node = k
        PUSH V_00c6
        PUSH V_00cb
        ASSVAL
        LINE 1894
        PUSH V_00cb
        PUSH V_00c7
        ASSVAL
        LINE 1894
        PUSH V_00c7
        PUSH V_00ca
        ASSVAL
        LINE 1894
        PUSH V_00ca
        PUSH V_00c6
        ASSVAL
        LINE 1895
  1895           %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 1896
  1896           ss = s
        PUSH V_0075
        PUSH V_00c7
        ASSVAL
        LINE 1898
  1897  
  1898           atom1 = ar(s)_class;  atom2 = 0
        PUSH V_0044
        PUSH V_0041
        PUSH V_00c7
        ACCESS
        SELECT V_0001
        ASSVAL
        LINE 1898
        PUSH V_0045
        PUSHI #0x00000000
        ASSVAL
        LINE 1899
  1899           atom1 = var %IF atom1 = 97 %OR atom1 = 98
        PUSH V_0044
        PUSHI #0x00000061
        JUMPIF = L_0005
        PUSH V_0044
        PUSHI #0x00000062
        JUMPIF # L_0004
        LOCATE L_0005
        PUSH V_0044
        PUSHI #0x0000005b
        ASSVAL
        LOCATE L_0004
        LINE 1900
  1900           arp == ar(nmax)
        PUSH V_00cc
        PUSH V_0041
        PUSH V_006f
        ACCESS
        ASSREF
        LINE 1901
  1901           x = arp_x
        PUSH V_0043
        PUSH V_00cc
        SELECT V_0007
        ASSVAL
        LINE 1902
  1902           pos1 = arp_pos
        PUSH V_0085
        PUSH V_00cc
        SELECT V_0008
        ASSVAL
        LINE 1903
  1903           pos2 = 0
        PUSH V_0086
        PUSHI #0x00000000
        ASSVAL
        LINE 1904
  1904           app = 0
        PUSH V_0048
        PUSHI #0x00000000
        ASSVAL
        LINE 1905
  1905           format = tag(x)_format
        PUSH V_0049
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0002
        ASSVAL
        LINE 1906
  1906           flags = tag(x)_flags
        PUSH V_00c4
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0003
        ASSVAL
        LINE 1907
  1907           type = flags>>4&7
        PUSH V_0047
        PUSH V_00c4
        PUSHI #0x00000004
        RSH
        PUSHI #0x00000007
        AND
        ASSVAL
        LINE 1908
  1908           protection = flags&prot
        PUSH V_005f
        PUSH V_00c4
        PUSHI #0x00000100
        AND
        ASSVAL
        LINE 1909
  1909           protection = 0 %IF flags&aname # 0
        PUSH V_00c4
        PUSHI #0x00000400
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_005f
        PUSHI #0x00000000
        ASSVAL
        LOCATE L_0004
        LINE 1911
  1910  
  1911           %IF flags&subname # 0 %AND format # 0 %START
        PUSH V_00c4
        PUSHI #0x00000800
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_0049
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1912
  1912              ->fail1 %if format selected = 0
        PUSH V_00d2
        CALL
        PUSHI #0x00000000
        JUMPIF # L_0007
        JUMP L_00d8
        LOCATE L_0007
        LINE 1913
  1913           %FINISH
        LOCATE L_0004
        LINE 1915
  1914  
  1915           ->a6
        JUMP L_00e4
        LINE 1917
  1916  
  1917  act(187):protection = prot;  ->more;            !%SETPROT
        PUSHI #0x000000bb
        SLABEL 205
        LINE 1917
        PUSH V_005f
        PUSHI #0x00000100
        ASSVAL
        LINE 1917
        JUMP L_00d7
        LINE 1918
  1918  act(186):->More %if protection&prot = 0
        PUSHI #0x000000ba
        SLABEL 205
        LINE 1918
        PUSH V_005f
        PUSHI #0x00000100
        AND
        PUSHI #0x00000000
        JUMPIF # L_0004
        JUMP L_00d7
        LOCATE L_0004
        LINE 1919
  1919           prot err = nmin
        PUSH V_00c5
        PUSH V_006e
        ASSVAL
        LINE 1920
  1920           ->A7
        JUMP L_00de
        LINE 1921
  1921  act(191):k = protection;                        !%GUARD
        PUSHI #0x000000bf
        SLABEL 205
        LINE 1921
        PUSH V_00c6
        PUSH V_005f
        ASSVAL
        LINE 1922
  1922           code atom(0)
        PUSH V_00d3
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 1923
  1923           protection = k %IF atom flags&aname = 0
        PUSH V_0060
        PUSHI #0x00000400
        AND
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_005f
        PUSH V_00c6
        ASSVAL
        LOCATE L_0004
        LINE 1924
  1924           ->more
        JUMP L_00d7
        LINE 1926
  1925  
  1926  act(192):->fail1 %IF parsed machine code=0
        PUSHI #0x000000c0
        SLABEL 205
        LINE 1926
        PUSH V_00d4
        CALL
        PUSHI #0x00000000
        JUMPIF # L_0004
        JUMP L_00d8
        LOCATE L_0004
        LINE 1927
  1927           ->more
        JUMP L_00d7
        LINE 1929
  1928  
  1929  act(189):k = gapp;                              !%GAPP
        PUSHI #0x000000bd
        SLABEL 205
        LINE 1929
        PUSH V_00c6
        PUSH V_00ae
        CALL
        ASSVAL
        LINE 1930
  1930           delete names(1)
        PUSH V_00af
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 1931
  1931           tmax = tbase;  tbase = gram (gmin);    !restore tmax
        PUSH V_00ac
        PUSH V_00b4
        ASSVAL
        LINE 1931
        PUSH V_00b4
        PUSH V_00a0
        PUSH V_0072
        ACCESS
        ASSVAL
        LINE 1932
  1932           local= tbase
        PUSH V_0089
        PUSH V_00b4
        ASSVAL
        LINE 1933
  1933           gmin = gmin+1
        PUSH V_0072
        PUSH V_0072
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 1935
  1934  
  1935           x = ar(ar(nmax)_class)_sub
        PUSH V_0043
        PUSH V_0041
        PUSH V_0041
        PUSH V_006f
        ACCESS
        SELECT V_0001
        ACCESS
        SELECT V_0002
        ASSVAL
        LINE 1936
  1936           tag(x)_app = k;                        !update app
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0001
        PUSH V_00c6
        ASSVAL
        LINE 1937
  1937           ->more
        JUMP L_00d7
        LINE 1939
  1938  
  1939  act(190):gmin = gmin-1;                         !%LOCAL
        PUSHI #0x000000be
        SLABEL 205
        LINE 1939
        PUSH V_0072
        PUSH V_0072
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 1940
  1940           abandon(2) %IF gmin <= gmax
        PUSH V_0072
        PUSH V_009c
        JUMPIF > L_0004
        PUSH V_00a5
        PUSHI #0x00000002
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 1941
  1941           gram (gmin) = tbase;  tbase = tmax
        PUSH V_00a0
        PUSH V_0072
        ACCESS
        PUSH V_00b4
        ASSVAL
        LINE 1941
        PUSH V_00b4
        PUSH V_00ac
        ASSVAL
        LINE 1942
  1942           local = tbase
        PUSH V_0089
        PUSH V_00b4
        ASSVAL
        LINE 1943
  1943           ->more
        JUMP L_00d7
        LINE 1947
  1944  
  1945  ! errors
  1946  
  1947  fail4:k = error+10;            ->failed;        !*size
        LABEL L_00e5
        LINE 1947
        PUSH V_00c6
        PUSHI #0x00008000
        PUSHI #0x0000000a
        ADD
        ASSVAL
        LINE 1947
        JUMP L_00e6
        LINE 1948
  1948  fail3:k = error+7;             ->failed;        !*context
        LABEL L_00dd
        LINE 1948
        PUSH V_00c6
        PUSHI #0x00008000
        PUSHI #0x00000007
        ADD
        ASSVAL
        LINE 1948
        JUMP L_00e6
        LINE 1949
  1949  fail2:k = error+5;  pos2 = 0;  ->failed;        !*type
        LABEL L_00dc
        LINE 1949
        PUSH V_00c6
        PUSHI #0x00008000
        PUSHI #0x00000005
        ADD
        ASSVAL
        LINE 1949
        PUSH V_0086
        PUSHI #0x00000000
        ASSVAL
        LINE 1949
        JUMP L_00e6
        LINE 1950
  1950  fail0:k = error+3;             ->failed;        !*too complex
        LABEL L_00e0
        LINE 1950
        PUSH V_00c6
        PUSHI #0x00008000
        PUSHI #0x00000003
        ADD
        ASSVAL
        LINE 1950
        JUMP L_00e6
        LINE 1951
  1951  fail1:k = atom1;    pos2 = 0
        LABEL L_00d8
        LINE 1951
        PUSH V_00c6
        PUSH V_0044
        ASSVAL
        LINE 1951
        PUSH V_0086
        PUSHI #0x00000000
        ASSVAL
        LINE 1953
  1952  
  1953  failed:
        LABEL L_00e6
        LINE 1954
  1954        %IF diag&32 # 0 %START
        PUSH V_0095
        PUSHI #0x00000020
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1955
  1955           printstring("Atom1 =");       write(atom1, 3)
        PUSH V_001d
        PUSHS "Atom1 ="
        ASSPAR
        CALL
        LINE 1955
        PUSH V_001e
        PUSH V_0044
        ASSPAR
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 1956
  1956           printstring("  Atom2 =");     write(atom2, 3)
        PUSH V_001d
        PUSHS "  Atom2 ="
        ASSPAR
        CALL
        LINE 1956
        PUSH V_001e
        PUSH V_0045
        ASSPAR
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 1957
  1957           printstring("  subatom =");   write(subatom, 3);  newline
        PUSH V_001d
        PUSHS "  subatom ="
        ASSPAR
        CALL
        LINE 1957
        PUSH V_001e
        PUSH V_0046
        ASSPAR
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 1957
        PUSH V_0030
        CALL
        LINE 1958
  1958           printstring("Type =");        write(type, 1)
        PUSH V_001d
        PUSHS "Type ="
        ASSPAR
        CALL
        LINE 1958
        PUSH V_001e
        PUSH V_0047
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 1959
  1959           printstring("   Ptype =");    write(ptype, 1);    newline
        PUSH V_001d
        PUSHS "   Ptype ="
        ASSPAR
        CALL
        LINE 1959
        PUSH V_001e
        PUSH V_0065
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 1959
        PUSH V_0030
        CALL
        LINE 1960
  1960           printstring("App =");         write(app, 1)
        PUSH V_001d
        PUSHS "App ="
        ASSPAR
        CALL
        LINE 1960
        PUSH V_001e
        PUSH V_0048
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 1961
  1961           printstring("   Papp =");     write(papp, 1);     newline
        PUSH V_001d
        PUSHS "   Papp ="
        ASSPAR
        CALL
        LINE 1961
        PUSH V_001e
        PUSH V_0066
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 1961
        PUSH V_0030
        CALL
        LINE 1962
  1962           printstring("Format =");      write(format, 1)
        PUSH V_001d
        PUSHS "Format ="
        ASSPAR
        CALL
        LINE 1962
        PUSH V_001e
        PUSH V_0049
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 1963
  1963           printstring("   Pformat =");  write(pformat, 1);  newline
        PUSH V_001d
        PUSHS "   Pformat ="
        ASSPAR
        CALL
        LINE 1963
        PUSH V_001e
        PUSH V_0067
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 1963
        PUSH V_0030
        CALL
        LINE 1965
  1964  !IMP80 BUG???           %SIGNAL 13,15
  1965           %STOP
        STOP
        LINE 1966
  1966         %FINISH
        LOCATE L_0004
        LINE 1968
  1967  
  1968         quote = 0 %AND readsym %WHILE sym # nl %AND sym # ';'
        LOCATE L_0003
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF = L_0004
        PUSH V_0055
        PUSHI #0x0000003b
        JUMPIF = L_0004
        PUSH V_0057
        PUSHI #0x00000000
        ASSVAL
        PUSH V_00d1
        CALL
        REPEAT L_0003
        LOCATE L_0004
        LINE 1969
  1969         %IF k&error # 0 %START
        PUSH V_00c6
        PUSHI #0x00008000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 1970
  1970            fault(k&255)
        PUSH V_00c1
        PUSH V_00c6
        PUSHI #0x000000ff
        AND
        ASSPAR
        CALL
        LINE 1971
  1971         %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 1972
  1972           %IF prot err = nmin %THEN fault(14) %ELSE fault(0)
        PUSH V_00c5
        PUSH V_006e
        JUMPIF # L_0007
        PUSH V_00c1
        PUSHI #0x0000000e
        ASSPAR
        CALL
        GOTO L_0006
        LOCATE L_0007
        PUSH V_00c1
        PUSHI #0x00000000
        ASSPAR
        CALL
        LOCATE L_0006
        LINE 1973
  1973         %FINISH
        LOCATE L_0003
        LINE 1974
  1974         gg = 0;  ss = 0;  symtype = 0
        PUSH V_006a
        PUSHI #0x00000000
        ASSVAL
        LINE 1974
        PUSH V_0075
        PUSHI #0x00000000
        ASSVAL
        LINE 1974
        PUSH V_0056
        PUSHI #0x00000000
        ASSVAL
        LINE 1975
  1975     %END;                                               !of analyse
        END
        LOCATE L_0000
        LINE 1977
  1976  
  1977     %ROUTINE compile
        GOTO L_0000
        DEF V_00b1 COMPILE
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 1979
  1978  
  1979        %CONSTINTEGER then = 4, else = 8, loop = 16
        LINE 1981
  1980  
  1981        %SWITCH c(0:actions), litop(1:12)
        PUSHI #0x00000000
        PUSHI #0x000000b4
        BOUNDS
        DEF V_00c2 C
        +   0x0006
        +   0x0000
        +   0x0000
        PUSHI #0x00000001
        PUSHI #0x0000000c
        BOUNDS
        DEF V_00c3 LITOP
        +   0x0006
        +   0x0000
        +   0x0000
        LINE 1983
  1982  
  1983        %CONSTBYTEINTEGERARRAY operator(1:14) = %C
        PUSHI #0x00000001
        PUSHI #0x0000000e
        BOUNDS
        DEF V_00c4 OPERATOR
        +   0x001b
        +   0x0002
        +   0x0112
        PUSHI #0x0000005b
        INIT 1
        PUSHI #0x0000005d
        INIT 1
        PUSHI #0x00000058
        INIT 1
        PUSHI #0x0000002f
        INIT 1
        PUSHI #0x00000026
        INIT 1
        PUSHI #0x00000021
        INIT 1
        PUSHI #0x00000025
        INIT 1
        PUSHI #0x0000002b
        INIT 1
        PUSHI #0x0000002d
        INIT 1
        PUSHI #0x0000002a
        INIT 1
        PUSHI #0x00000051
        INIT 1
        PUSHI #0x00000078
        INIT 1
        PUSHI #0x0000002e
        INIT 1
        PUSHI #0x00000076
        INIT 1
        LINE 1987
  1984                           '[',  ']',  'X',  '/', '&',  '!',  '%',  '+',
  1985                           '-',  '*',  'Q',  'x', '.',  'v'
  1986  
  1987        %CONSTBYTEINTEGERARRAY cc(0 : 7) = '#','=',')','<','(','>', 'k','t'
        PUSHI #0x00000000
        PUSHI #0x00000007
        BOUNDS
        DEF V_00c5 CC
        +   0x001b
        +   0x0002
        +   0x0112
        PUSHI #0x00000023
        INIT 1
        PUSHI #0x0000003d
        INIT 1
        PUSHI #0x00000029
        INIT 1
        PUSHI #0x0000003c
        INIT 1
        PUSHI #0x00000028
        INIT 1
        PUSHI #0x0000003e
        INIT 1
        PUSHI #0x0000006b
        INIT 1
        PUSHI #0x00000074
        INIT 1
        LINE 1989
  1988  
  1989        %CONSTBYTEINTEGERARRAY anyform(0:15) = 1,0,1,1(4),1,0,1,1,0,1,1,1,1
        PUSHI #0x00000000
        PUSHI #0x0000000f
        BOUNDS
        DEF V_00c6 ANYFORM
        +   0x001b
        +   0x0002
        +   0x0112
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000001
        INIT 4
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000001
        INIT 1
        LINE 1991
  1990  
  1991        %CONSTSHORTINTEGERARRAY decmap(0:15) = %C
        PUSHI #0x00000000
        PUSHI #0x0000000f
        BOUNDS
        DEF V_00c7 DECMAP
        +   0x001b
        +   0x0003
        +   0x0112
        PUSHI #0x00000001
        INIT 1
        PUSHI #0x00000002
        INIT 1
        PUSHI #0x0000100b
        INIT 1
        PUSHI #0x0000100d
        INIT 1
        PUSHI #0x0000140c
        INIT 1
        PUSHI #0x0000140e
        INIT 1
        PUSHI #0x00000003
        INIT 1
        PUSHI #0x00000004
        INIT 1
        PUSHI #0x00001007
        INIT 1
        PUSHI #0x00001008
        INIT 1
        PUSHI #0x00001009
        INIT 1
        PUSHI #0x0000100a
        INIT 1
        PUSHI #0x00000006
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        PUSHI #0x00000000
        INIT 1
        LINE 1997
  1992           1,             2,
  1993           x'100B',       x'100D',       x'140C',      x'140E',
  1994           3,             4,
  1995           x'1007',       x'1008',       x'1009',      x'100A',
  1996           6,             0,             0,            0
  1997        %OWNBYTEINTEGERARRAY cnest(0:15)
        PUSHI #0x00000000
        PUSHI #0x0000000f
        BOUNDS
        DEF V_00c8 CNEST
        +   0x001b
        +   0x0002
        +   0x0121
        INIT 16
        LINE 1998
  1998        %INTEGER lmode, clab, dupid
        DEF V_00c9 LMODE
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ca CLAB
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00cb DUPID
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 1999
  1999        %INTEGER resln
        DEF V_00cc RESLN
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 2000
  2000        %OWNINTEGER last def = 0
        PUSHI #0x00000000
        DEF V_00cd LASTDEF
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 2001
  2001        %OWNINTEGER lb, ub
        DEF V_00ce LB
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        DEF V_00cf UB
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 2002
  2002        %INTEGER cp, ord
        DEF V_00d0 CP
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00d1 ORD
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 2003
  2003        %INTEGER next, link, j, k, n, done
        DEF V_00d2 NEXT
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00d3 LINK
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00d4 J
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00d5 K
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00d6 N
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00d7 DONE
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 2004
  2004        %INTEGER class
        DEF V_00d8 CLASS
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 2005
  2005        %INTEGER lit2, defs, decs, cident
        DEF V_00d9 LIT2
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00da DEFS
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00db DECS
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00dc CIDENT
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 2006
  2006        %INTEGER pending;  %OWNINTEGERARRAY pstack(1:40)
        DEF V_00dd PENDING
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 2006
        PUSHI #0x00000001
        PUSHI #0x00000028
        BOUNDS
        DEF V_00de PSTACK
        +   0x001b
        +   0x0001
        +   0x0121
        INIT 40
        LINE 2007
  2007        %OWNSTRING(8) name = ""
        PUSHS ""
        DEF V_00df NAME
        +   0x0031
        +   0x0008
        +   0x0021
        INIT 1
        LINE 2008
  2008        %OWNINTEGER count = 0
        PUSHI #0x00000000
        DEF V_00e0 COUNT
        +   0x0011
        +   0x0001
        +   0x0021
        INIT 1
        LINE 2010
  2009  
  2010        %ROUTINE def lab(%INTEGER l)
        GOTO L_0000
        DEF V_00e1 DEFLAB
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00e2 L
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 2011
  2011           op(':', l)
        PUSH V_00a6
        PUSHI #0x0000003a
        ASSPAR
        PUSH V_00e2
        ASSPAR
        CALL
        LINE 2012
  2012           access = 1
        PUSH V_00b7
        PUSHI #0x00000001
        ASSVAL
        LINE 2013
  2013        %END
        END
        LOCATE L_0000
        LINE 2015
  2014  
  2015        %ROUTINE get next
        GOTO L_0000
        DEF V_00e2 GETNEXT
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 2016
  2016           %RECORD(arfm)%NAME p
        DEF V_00e3 P
        +   0x0042
        +   0x003d
        +   0x0000
        LINE 2017
  2017  gn:      %IF next = 0 %START;                        !end of phrase
        LABEL L_00e4
        LINE 2017
        PUSH V_00d2
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 2018
  2018              class = 0 %AND %RETURN %IF link = 0;     !end of statement
        PUSH V_00d3
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_00d8
        PUSHI #0x00000000
        ASSVAL
        RETURN
        LOCATE L_0007
        LINE 2019
  2019              p == ar(link)
        PUSH V_00e3
        PUSH V_0041
        PUSH V_00d3
        ACCESS
        ASSREF
        LINE 2020
  2020              next = p_link
        PUSH V_00d2
        PUSH V_00e3
        SELECT V_0003
        ASSVAL
        LINE 2021
  2021              link = p_sub
        PUSH V_00d3
        PUSH V_00e3
        SELECT V_0002
        ASSVAL
        LINE 2022
  2022           %FINISH
        LOCATE L_0004
        LINE 2023
  2023           %CYCLE
        LOCATE L_0003
        LINE 2024
  2024              p == ar(next)
        PUSH V_00e3
        PUSH V_0041
        PUSH V_00d2
        ACCESS
        ASSREF
        LINE 2025
  2025              x = p_sub
        PUSH V_0043
        PUSH V_00e3
        SELECT V_0002
        ASSVAL
        LINE 2026
  2026              class = p_class
        PUSH V_00d8
        PUSH V_00e3
        SELECT V_0001
        ASSVAL
        LINE 2027
  2027              %EXIT %IF class < actions;               !an atom
        PUSH V_00d8
        PUSHI #0x000000b4
        JUMPIF >= L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 2028
  2028              %IF x = 0 %START;                        !null phrase
        PUSH V_0043
        PUSHI #0x00000000
        JUMPIF # L_0007
        LINE 2029
  2029                 next = p_link;  ->gn
        PUSH V_00d2
        PUSH V_00e3
        SELECT V_0003
        ASSVAL
        LINE 2029
        JUMP L_00e4
        LINE 2030
  2030              %FINISH
        LOCATE L_0007
        LINE 2031
  2031              %IF p_link # 0 %START;                   !follow a phrase
        PUSH V_00e3
        SELECT V_0003
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 2032
  2032                 p_sub = link;  link = next
        PUSH V_00e3
        SELECT V_0002
        PUSH V_00d3
        ASSVAL
        LINE 2032
        PUSH V_00d3
        PUSH V_00d2
        ASSVAL
        LINE 2033
  2033              %FINISH
        LOCATE L_0007
        LINE 2034
  2034              next = x
        PUSH V_00d2
        PUSH V_0043
        ASSVAL
        LINE 2035
  2035           %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 2036
  2036           next = p_link
        PUSH V_00d2
        PUSH V_00e3
        SELECT V_0003
        ASSVAL
        LINE 2037
  2037           %IF diag&2 # 0 %START
        PUSH V_0095
        PUSHI #0x00000002
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2038
  2038              spaces(8-length(name)) %UNLESS name = ""
        PUSH V_00df
        PUSHS ""
        JUMPIF = L_0007
        PUSH V_002f
        PUSHI #0x00000008
        PUSH V_0011
        PUSH V_00df
        ASSPAR
        CALL
        SUB
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2039
  2039              name = text(class)
        PUSH V_00df
        PUSH V_009b
        PUSH V_00d8
        ACCESS
        ASSVAL
        LINE 2040
  2040              write(x, 2)
        PUSH V_001e
        PUSH V_0043
        ASSPAR
        PUSHI #0x00000002
        ASSPAR
        CALL
        LINE 2041
  2041              space
        PUSH V_002e
        CALL
        LINE 2042
  2042              printstring(name)
        PUSH V_001d
        PUSH V_00df
        ASSPAR
        CALL
        LINE 2043
  2043              space
        PUSH V_002e
        CALL
        LINE 2044
  2044              count = count-1
        PUSH V_00e0
        PUSH V_00e0
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2045
  2045              %IF count <= 0 %START
        PUSH V_00e0
        PUSHI #0x00000000
        JUMPIF > L_0007
        LINE 2046
  2046                 count = 5
        PUSH V_00e0
        PUSHI #0x00000005
        ASSVAL
        LINE 2047
  2047                 name = ""
        PUSH V_00df
        PUSHS ""
        ASSVAL
        LINE 2048
  2048                 newline
        PUSH V_0030
        CALL
        LINE 2049
  2049              %FINISH
        LOCATE L_0007
        LINE 2050
  2050           %FINISH
        LOCATE L_0004
        LINE 2051
  2051        %END
        END
        LOCATE L_0000
        LINE 2053
  2052  
  2053        %ROUTINE set subs(%INTEGER n)
        GOTO L_0000
        DEF V_00e3 SETSUBS
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00e4 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 2057
  2054  
  2055           !update the app field in n array descriptors
  2056  
  2057           %INTEGER p
        DEF V_00e5 P
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 2058
  2058           p = tmax
        PUSH V_00e5
        PUSH V_00ac
        ASSVAL
        LINE 2059
  2059           %WHILE n > 0 %CYCLE
        LOCATE L_0003
        PUSH V_00e4
        PUSHI #0x00000000
        JUMPIF <= L_0004
        LINE 2061
  2060  !IMP80 BUG???              %SIGNAL 15,15 %IF p < tbase
  2061              %STOP %IF p < tbase
        PUSH V_00e5
        PUSH V_00b4
        JUMPIF >= L_0007
        STOP
        LOCATE L_0007
        LINE 2062
  2062              tag(p)_app = dimension
        PUSH V_0097
        PUSH V_00e5
        ACCESS
        SELECT V_0001
        PUSH V_0088
        ASSVAL
        LINE 2063
  2063              p = p-1;  n = n-1
        PUSH V_00e5
        PUSH V_00e5
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2063
        PUSH V_00e4
        PUSH V_00e4
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2064
  2064           %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 2065
  2065        %END
        END
        LOCATE L_0000
        LINE 2067
  2066  
  2067        %ROUTINE set bp
        GOTO L_0000
        DEF V_00e4 SETBP
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 2071
  2068  
  2069           !define a constant bound pair from the last stacked constants
  2070  
  2071           pending = pending-2
        PUSH V_00dd
        PUSH V_00dd
        PUSHI #0x00000002
        SUB
        ASSVAL
        LINE 2072
  2072           lb = pstack(pending+1);  ub = pstack(pending+2)
        PUSH V_00ce
        PUSH V_00de
        PUSH V_00dd
        PUSHI #0x00000001
        ADD
        ACCESS
        ASSVAL
        LINE 2072
        PUSH V_00cf
        PUSH V_00de
        PUSH V_00dd
        PUSHI #0x00000002
        ADD
        ACCESS
        ASSVAL
        LINE 2073
  2073           %IF ub-lb+1 < 0 %START
        PUSH V_00cf
        PUSH V_00ce
        SUB
        PUSHI #0x00000001
        ADD
        PUSHI #0x00000000
        JUMPIF >= L_0004
        LINE 2074
  2074              pos1 = 0;  next = link;  fault(11)
        PUSH V_0085
        PUSHI #0x00000000
        ASSVAL
        LINE 2074
        PUSH V_00d2
        PUSH V_00d3
        ASSVAL
        LINE 2074
        PUSH V_00c1
        PUSHI #0x0000000b
        ASSPAR
        CALL
        LINE 2075
  2075              ub = lb
        PUSH V_00cf
        PUSH V_00ce
        ASSVAL
        LINE 2076
  2076           %FINISH
        LOCATE L_0004
        LINE 2077
  2077           set const(lb);  set const(ub)
        PUSH V_00a7
        PUSH V_00ce
        ASSPAR
        CALL
        LINE 2077
        PUSH V_00a7
        PUSH V_00cf
        ASSPAR
        CALL
        LINE 2078
  2078           bp=bp+1 %AND buff(bp)='b' %UNLESS class = 146
        PUSH V_00d8
        PUSHI #0x00000092
        JUMPIF = L_0004
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000062
        ASSVAL
        LOCATE L_0004
        LINE 2079
  2079        %END
        END
        LOCATE L_0000
        LINE 2081
  2080  
  2081        %ROUTINE compile end(%INTEGER type)
        GOTO L_0000
        DEF V_00e5 COMPILEEND
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00e6 TYPE
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 2085
  2082  
  2083           ! type = 0:eof, 1:eop, 2:end
  2084  
  2085           %IF access # 0 %START
        PUSH V_00b7
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2086
  2086              open = 0
        PUSH V_00b2
        PUSHI #0x00000000
        ASSVAL
        LINE 2087
  2087              fault(19) %IF block form > proc;           !can reach end
        PUSH V_00bb
        PUSHI #0x00000007
        JUMPIF <= L_0007
        PUSH V_00c1
        PUSHI #0x00000013
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2088
  2088           %FINISH
        LOCATE L_0004
        LINE 2090
  2089  
  2090           %WHILE dict(dmin) >= 0 %CYCLE;                !finishes & repeats
        LOCATE L_0003
        PUSH V_0098
        PUSH V_00ab
        ACCESS
        PUSHI #0x00000000
        JUMPIF < L_0004
        LINE 2091
  2091              fault(17+dict(dmin)&1)
        PUSH V_00c1
        PUSHI #0x00000011
        PUSH V_0098
        PUSH V_00ab
        ACCESS
        PUSHI #0x00000001
        AND
        ADD
        ASSPAR
        CALL
        LINE 2092
  2092              dmin = dmin+1
        PUSH V_00ab
        PUSH V_00ab
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2093
  2093           %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 2095
  2094           {delete names(0)}
  2095           bp=bp+1 %AND buff(bp)=';'
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000003b
        ASSVAL
        LINE 2096
  2096           bp=bp+1 %AND buff(bp)=';' %IF type = 1;       !endofprogram
        PUSH V_00e6
        PUSHI #0x00000001
        JUMPIF # L_0004
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000003b
        ASSVAL
        LOCATE L_0004
        LINE 2098
  2097  
  2098           bflags = bflags!open;                         !show if it returns
        PUSH V_00b9
        PUSH V_00b9
        PUSH V_00b2
        OR
        ASSVAL
        LINE 2100
  2099  
  2100           def lab(0) %IF block tag # 0 %AND level # 1;  !for jump around
        PUSH V_00aa
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00a9
        PUSHI #0x00000001
        JUMPIF = L_0004
        PUSH V_00e1
        PUSHI #0x00000000
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2101
  2101           %IF type # 2 %START;                          !eop, eof
        PUSH V_00e6
        PUSHI #0x00000002
        JUMPIF = L_0004
        LINE 2102
  2102              fault(16) %IF level # type;                !end missing
        PUSH V_00a9
        PUSH V_00e6
        JUMPIF = L_0007
        PUSH V_00c1
        PUSHI #0x00000010
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2103
  2103           %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 2104
  2104              %IF level = 0 %START
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF # L_0007
        LINE 2105
  2105                 fault(15);                              !spurious end
        PUSH V_00c1
        PUSHI #0x0000000f
        ASSPAR
        CALL
        LINE 2106
  2106              %FINISH
        LOCATE L_0007
        LINE 2107
  2107           %FINISH
        LOCATE L_0003
        LINE 2109
  2108  
  2109           end mark = 11;               !******Mouses specific******
        PUSH V_0058
        PUSHI #0x0000000b
        ASSVAL
        LINE 2110
  2110        %END
        END
        LOCATE L_0000
        LINE 2112
  2111  
  2112        %ROUTINE def(%INTEGER p)
        GOTO L_0000
        DEF V_00e6 DEF
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00e7 P
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 2116
  2113  
  2114           !dump a descriptor
  2115  
  2116           %INTEGER t, f, type
        DEF V_00e8 T
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00e9 F
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ea TYPE
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 2117
  2117           %RECORD(tagfm)%NAME v
        DEF V_00eb V
        +   0x0042
        +   0x003e
        +   0x0000
        LINE 2118
  2118           flush buffer %if bp # 0
        PUSH V_009a
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00a3
        CALL
        LOCATE L_0004
        LINE 2119
  2119           defs = defs+1
        PUSH V_00da
        PUSH V_00da
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2120
  2120           v == tag(p)
        PUSH V_00eb
        PUSH V_0097
        PUSH V_00e7
        ACCESS
        ASSREF
        LINE 2121
  2121           t = 0
        PUSH V_00e8
        PUSHI #0x00000000
        ASSVAL
        LINE 2122
  2122           %UNLESS v_index < 0 %START;                   !no index for subnames
        PUSH V_00eb
        SELECT V_0004
        PUSHI #0x00000000
        JUMPIF < L_0004
        LINE 2123
  2123              id = id+1 %AND v_index = id %IF v_index = 0
        PUSH V_00eb
        SELECT V_0004
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_00ad
        PUSH V_00ad
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_00eb
        SELECT V_0004
        PUSH V_00ad
        ASSVAL
        LOCATE L_0007
        LINE 2124
  2124              last def = v_index
        PUSH V_00cd
        PUSH V_00eb
        SELECT V_0004
        ASSVAL
        LINE 2125
  2125              t = last def
        PUSH V_00e8
        PUSH V_00cd
        ASSVAL
        LINE 2126
  2126           %FINISH
        LOCATE L_0004
        LINE 2127
  2127           op('$', t)
        PUSH V_00a6
        PUSHI #0x00000024
        ASSPAR
        PUSH V_00e8
        ASSPAR
        CALL
        LINE 2128
  2128           print ident(p, 1);                            !output the name
        PUSH V_00a4
        PUSH V_00e7
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 2129
  2129           t = v_flags
        PUSH V_00e8
        PUSH V_00eb
        SELECT V_0003
        ASSVAL
        LINE 2130
  2130           type = t
        PUSH V_00ea
        PUSH V_00e8
        ASSVAL
        LINE 2131
  2131           type = type&(\(7<<4)) %IF type&(7<<4) >= 6<<4;!routine & pred
        PUSH V_00ea
        PUSHI #0x00000007
        PUSHI #0x00000004
        LSH
        AND
        PUSHI #0x00000006
        PUSHI #0x00000004
        LSH
        JUMPIF < L_0004
        PUSH V_00ea
        PUSH V_00ea
        PUSHI #0x00000007
        PUSHI #0x00000004
        LSH
        NOT
        AND
        ASSVAL
        LOCATE L_0004
        LINE 2132
  2132           op(',', type&b'1111111');             !type & form
        PUSH V_00a6
        PUSHI #0x0000002c
        ASSPAR
        PUSH V_00ea
        PUSHI #0x0000007f
        AND
        ASSPAR
        CALL
        LINE 2133
  2133           f = v_format
        PUSH V_00e9
        PUSH V_00eb
        SELECT V_0002
        ASSVAL
        LINE 2134
  2134           f = tag(f)_index %IF t&x'70' = record<<4
        PUSH V_00e8
        PUSHI #0x00000070
        AND
        PUSHI #0x00000004
        PUSHI #0x00000004
        LSH
        JUMPIF # L_0004
        PUSH V_00e9
        PUSH V_0097
        PUSH V_00e9
        ACCESS
        SELECT V_0004
        ASSVAL
        LOCATE L_0004
        LINE 2135
  2135           f = v_index %IF f < 0
        PUSH V_00e9
        PUSHI #0x00000000
        JUMPIF >= L_0004
        PUSH V_00e9
        PUSH V_00eb
        SELECT V_0004
        ASSVAL
        LOCATE L_0004
        LINE 2136
  2136           op(',', f);               !format
        PUSH V_00a6
        PUSHI #0x0000002c
        ASSPAR
        PUSH V_00e9
        ASSPAR
        CALL
        LINE 2137
  2137           f = otype+t>>4&b'1111000'
        PUSH V_00e9
        PUSH V_0061
        PUSH V_00e8
        PUSHI #0x00000004
        RSH
        PUSHI #0x00000078
        AND
        ADD
        ASSVAL
        LINE 2138
  2138           f = f!8 %IF class = 125;              !add spec from %DUP
        PUSH V_00d8
        PUSHI #0x0000007d
        JUMPIF # L_0004
        PUSH V_00e9
        PUSH V_00e9
        PUSHI #0x00000008
        OR
        ASSVAL
        LOCATE L_0004
        LINE 2139
  2139           dim = v_app;                          !dimension
        PUSH V_005c
        PUSH V_00eb
        SELECT V_0001
        ASSVAL
        LINE 2140
  2140           dim = 0 %unless 0 < dim <= dim limit
        PUSHI #0x00000000
        PUSH V_005c
        JUMPIFD >= L_0005
        PUSHI #0x00000006
        JUMPIF <= L_0004
        LOCATE L_0005
        PUSH V_005c
        PUSHI #0x00000000
        ASSVAL
        LOCATE L_0004
        LINE 2141
  2141           op(',', f+dim<<8);                    !otype & spec & prot
        PUSH V_00a6
        PUSHI #0x0000002c
        ASSPAR
        PUSH V_00e9
        PUSH V_005c
        PUSHI #0x00000008
        LSH
        ADD
        ASSPAR
        CALL
        LINE 2142
  2142           defs = 0 %IF t&parameters = 0
        PUSH V_00e8
        PUSHI #0x00001000
        AND
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_00da
        PUSHI #0x00000000
        ASSVAL
        LOCATE L_0004
        LINE 2143
  2143           f = t&15
        PUSH V_00e9
        PUSH V_00e8
        PUSHI #0x0000000f
        AND
        ASSVAL
        LINE 2144
  2144           %IF v_flags&spec # 0 %START
        PUSH V_00eb
        SELECT V_0003
        PUSHI #0x00000080
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2145
  2145              v_flags = v_flags&(\spec) %UNLESS 3 <= f <= 10
        PUSHI #0x00000003
        PUSH V_00e9
        JUMPIFD > L_0008
        PUSHI #0x0000000a
        JUMPIF <= L_0007
        LOCATE L_0008
        PUSH V_00eb
        SELECT V_0003
        PUSH V_00eb
        SELECT V_0003
        PUSHI #0x00000080
        NOT
        AND
        ASSVAL
        LOCATE L_0007
        LINE 2146
  2146              ocount = -1;                       !external specs have no constants
        PUSH V_007e
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 2147
  2147           %FINISH
        LOCATE L_0004
        LINE 2148
  2148           dimension = 0
        PUSH V_0088
        PUSHI #0x00000000
        ASSVAL
        LINE 2149
  2149           %if otype = 2 %and (f=2 %or f=12 %or f=14) %start
        PUSH V_0061
        PUSHI #0x00000002
        JUMPIF # L_0004
        PUSH V_00e9
        PUSHI #0x00000002
        JUMPIF = L_0005
        PUSH V_00e9
        PUSHI #0x0000000c
        JUMPIF = L_0005
        PUSH V_00e9
        PUSHI #0x0000000e
        JUMPIF # L_0004
        LOCATE L_0005
        LINE 2150
  2150              v_flags = v_flags-1;               !convert to simple
        PUSH V_00eb
        SELECT V_0003
        PUSH V_00eb
        SELECT V_0003
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2151
  2151           %finish
        LOCATE L_0004
        LINE 2152
  2152        %END
        END
        LOCATE L_0000
        LINE 2154
  2153  
  2154        %ROUTINE def s lab(%INTEGER n)
        GOTO L_0000
        DEF V_00e7 DEFSLAB
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00e8 N
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 2158
  2155  
  2156           !define a switch label, x defines the switch tag
  2157  
  2158           %INTEGER p, l, b, w, bit
        DEF V_00e9 P
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ea L
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00eb B
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ec W
        +   0x0011
        +   0x0001
        +   0x0000
        DEF V_00ed BIT
        +   0x0011
        +   0x0001
        +   0x0000
        LINE 2159
  2159           p = tag(x)_format;                               !pointer to table
        PUSH V_00e9
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0002
        ASSVAL
        LINE 2160
  2160           l = dict(p);                                     !lower bound
        PUSH V_00ea
        PUSH V_0098
        PUSH V_00e9
        ACCESS
        ASSVAL
        LINE 2161
  2161           %IF l <= n <= dict(p+1) %START
        PUSH V_00ea
        PUSH V_00e8
        JUMPIFD > L_0004
        PUSH V_0098
        PUSH V_00e9
        PUSHI #0x00000001
        ADD
        ACCESS
        JUMPIF > L_0004
        LINE 2162
  2162              b = n-l
        PUSH V_00eb
        PUSH V_00e8
        PUSH V_00ea
        SUB
        ASSVAL
        LINE 2163
  2163              w = b>>4+p
        PUSH V_00ec
        PUSH V_00eb
        PUSHI #0x00000004
        RSH
        PUSH V_00e9
        ADD
        ASSVAL
        LINE 2164
  2164              bit = 1<<(b&15)
        PUSH V_00ed
        PUSHI #0x00000001
        PUSH V_00eb
        PUSHI #0x0000000f
        AND
        LSH
        ASSVAL
        LINE 2165
  2165              %IF dict(w+2)&bit # 0 %START;                 !already set
        PUSH V_0098
        PUSH V_00ec
        PUSHI #0x00000002
        ADD
        ACCESS
        PUSH V_00ed
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        LINE 2166
  2166                 fault(4) %IF pending # 0
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF = L_000a
        PUSH V_00c1
        PUSHI #0x00000004
        ASSPAR
        CALL
        LOCATE L_000a
        LINE 2167
  2167                 %RETURN
        RETURN
        LINE 2168
  2168              %FINISH
        LOCATE L_0007
        LINE 2169
  2169              dict(w+2) <- dict(w+2)!bit %IF pending # 0
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_0098
        PUSH V_00ec
        PUSHI #0x00000002
        ADD
        ACCESS
        PUSH V_0098
        PUSH V_00ec
        PUSHI #0x00000002
        ADD
        ACCESS
        PUSH V_00ed
        OR
        JAM
        LOCATE L_0007
        LINE 2170
  2170              set const(n)
        PUSH V_00a7
        PUSH V_00e8
        ASSPAR
        CALL
        LINE 2171
  2171              op('_', tag(x)_index)   
        PUSH V_00a6
        PUSHI #0x0000005f
        ASSPAR
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0004
        ASSPAR
        CALL
        LINE 2172
  2172           %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 2173
  2173              fault(12)
        PUSH V_00c1
        PUSHI #0x0000000c
        ASSPAR
        CALL
        LINE 2174
  2174           %FINISH
        LOCATE L_0003
        LINE 2175
  2175           access = 1
        PUSH V_00b7
        PUSHI #0x00000001
        ASSVAL
        LINE 2176
  2176        %END
        END
        LOCATE L_0000
        LINE 2178
  2177  
  2178        %ROUTINE call
        GOTO L_0000
        DEF V_00e8 CALL
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 2179
  2179           %RECORD(tagfm)%NAME T
        DEF V_00e9 T
        +   0x0042
        +   0x003e
        +   0x0000
        LINE 2180
  2180           t == tag(x)
        PUSH V_00e9
        PUSH V_0097
        PUSH V_0043
        ACCESS
        ASSREF
        LINE 2181
  2181           op('@', t_index)
        PUSH V_00a6
        PUSHI #0x00000040
        ASSPAR
        PUSH V_00e9
        SELECT V_0004
        ASSPAR
        CALL
        LINE 2182
  2182           access = 0 %IF t_flags&closed # 0;                !never comes back
        PUSH V_00e9
        SELECT V_0003
        PUSHI #0x00004000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00b7
        PUSHI #0x00000000
        ASSVAL
        LOCATE L_0004
        LINE 2183
  2183           bp=bp+1 %AND buff(bp)='E' %IF t_app = 0;          !no parameters
        PUSH V_00e9
        SELECT V_0001
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000045
        ASSVAL
        LOCATE L_0004
        LINE 2184
  2184        %END
        END
        LOCATE L_0000
        LINE 2186
  2185  
  2186        %ROUTINE pop def
        GOTO L_0000
        DEF V_00e9 POPDEF
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 2187
  2187           set const(pstack(pending));  pending = pending-1
        PUSH V_00a7
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        ASSPAR
        CALL
        LINE 2187
        PUSH V_00dd
        PUSH V_00dd
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2188
  2188        %END
        END
        LOCATE L_0000
        LINE 2190
  2189  
  2190        %ROUTINE pop lit
        GOTO L_0000
        DEF V_00ea POPLIT
        +   0x0007
        +   0x0000
        +   0x0000
        START
        FINISH
        LINE 2191
  2191           %IF pending = 0 %THEN lit = 0 %ELSE %START
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_0090
        PUSHI #0x00000000
        ASSVAL
        GOTO L_0003
        LOCATE L_0004
        LINE 2192
  2192              lit = pstack(pending);  pending = pending-1
        PUSH V_0090
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        ASSVAL
        LINE 2192
        PUSH V_00dd
        PUSH V_00dd
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2193
  2193           %FINISH
        LOCATE L_0003
        LINE 2194
  2194        %END
        END
        LOCATE L_0000
        LINE 2197
  2195  
  2196  
  2197        %IF sstype < 0 %START;                       !executable statement
        PUSH V_007c
        PUSHI #0x00000000
        JUMPIF >= L_0004
        LINE 2198
  2198           %IF level = 0 %START;                     !outermost level
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF # L_0007
        LINE 2199
  2199              fault(13);                             !*order
        PUSH V_00c1
        PUSHI #0x0000000d
        ASSPAR
        CALL
        LINE 2200
  2200           %FINISH %ELSE %START
        GOTO L_0006
        LOCATE L_0007
        LINE 2201
  2201              %IF access = 0 %START
        PUSH V_00b7
        PUSHI #0x00000000
        JUMPIF # L_000a
        LINE 2202
  2202                 access = 1;  fault(-1);             !only a warning
        PUSH V_00b7
        PUSHI #0x00000001
        ASSVAL
        LINE 2202
        PUSH V_00c1
        PUSHI #0x00000001
        NEGATE
        ASSPAR
        CALL
        LINE 2203
  2203              %FINISH
        LOCATE L_000a
        LINE 2204
  2204           %FINISH
        LOCATE L_0006
        LINE 2205
  2205        %FINISH
        LOCATE L_0004
        LINE 2207
  2206  
  2207        %IF diag&2 # 0 %START
        PUSH V_0095
        PUSHI #0x00000002
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2208
  2208           newline %IF sym # nl
        PUSH V_0055
        PUSHI #0x0000000a
        JUMPIF = L_0007
        PUSH V_0030
        CALL
        LOCATE L_0007
        LINE 2209
  2209           printstring("ss =")
        PUSH V_001d
        PUSHS "ss ="
        ASSPAR
        CALL
        LINE 2210
  2210           write(ss, 1)
        PUSH V_001e
        PUSH V_0075
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 2211
  2211           newline
        PUSH V_0030
        CALL
        LINE 2212
  2212           count = 5
        PUSH V_00e0
        PUSHI #0x00000005
        ASSVAL
        LINE 2213
  2213           name = ""
        PUSH V_00df
        PUSHS ""
        ASSVAL
        LINE 2214
  2214        %FINISH
        LOCATE L_0004
        LINE 2216
  2215  
  2216        next = ss
        PUSH V_00d2
        PUSH V_0075
        ASSVAL
        LINE 2217
  2217        pending = 0;  lmode = 0
        PUSH V_00dd
        PUSHI #0x00000000
        ASSVAL
        LINE 2217
        PUSH V_00c9
        PUSHI #0x00000000
        ASSVAL
        LINE 2218
  2218        link = 0;  decs = 0
        PUSH V_00d3
        PUSHI #0x00000000
        ASSVAL
        LINE 2218
        PUSH V_00db
        PUSHI #0x00000000
        ASSVAL
        LINE 2219
  2219        defs = 0;  resln = 0;  done = 0
        PUSH V_00da
        PUSHI #0x00000000
        ASSVAL
        LINE 2219
        PUSH V_00cc
        PUSHI #0x00000000
        ASSVAL
        LINE 2219
        PUSH V_00d7
        PUSHI #0x00000000
        ASSVAL
        LINE 2220
  2220        ord = level
        PUSH V_00d1
        PUSH V_00a9
        ASSVAL
        LINE 2221
  2221        ord = 1 %IF this >= 0;                       !recordformat declarations
        PUSH V_006d
        PUSHI #0x00000000
        JUMPIF < L_0004
        PUSH V_00d1
        PUSHI #0x00000001
        ASSVAL
        LOCATE L_0004
        LINE 2222
  2222  c(0):
        PUSHI #0x00000000
        SLABEL 194
        LINE 2223
  2223  top:  %IF next # link %START
        LABEL L_00eb
        LINE 2223
        PUSH V_00d2
        PUSH V_00d3
        JUMPIF = L_0004
        LINE 2224
  2224           get next;  ->c(class)
        PUSH V_00e2
        CALL
        LINE 2224
        PUSH V_00d8
        SJUMP 194
        LINE 2225
  2225        %FINISH
        LOCATE L_0004
        LINE 2229
  2226  
  2227        !all done, tidy up declarations and jumps
  2228  
  2229        newline %IF diag&2 # 0 %AND count # 5
        PUSH V_0095
        PUSHI #0x00000002
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00e0
        PUSHI #0x00000005
        JUMPIF = L_0004
        PUSH V_0030
        CALL
        LOCATE L_0004
        LINE 2231
  2230  
  2231        %IF lmode&(loop!then!else) # 0 %START;       !pending labels and jumps
        PUSH V_00c9
        PUSHI #0x00000010
        PUSHI #0x00000004
        OR
        PUSHI #0x00000008
        OR
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2232
  2232           op('B', label-1) %IF lmode&loop # 0;      !repeat
        PUSH V_00c9
        PUSHI #0x00000010
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00a6
        PUSHI #0x00000042
        ASSPAR
        PUSH V_00b6
        PUSHI #0x00000001
        SUB
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2233
  2233           def lab(label)   %IF lmode&then # 0;      !entry from then
        PUSH V_00c9
        PUSHI #0x00000004
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00e1
        PUSH V_00b6
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2234
  2234           def lab(label-1) %IF lmode&else # 0;      !entry from else
        PUSH V_00c9
        PUSHI #0x00000008
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00e1
        PUSH V_00b6
        PUSHI #0x00000001
        SUB
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2235
  2235        %FINISH
        LOCATE L_0004
        LINE 2237
  2236  
  2237        %RETURN %IF decs = 0
        PUSH V_00db
        PUSHI #0x00000000
        JUMPIF # L_0004
        RETURN
        LOCATE L_0004
        LINE 2238
  2238        atom1 = error %AND %RETURN %IF atom1 # 0;    !%INTEGERROUTINE
        PUSH V_0044
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_0044
        PUSHI #0x00008000
        ASSVAL
        RETURN
        LOCATE L_0004
        LINE 2239
  2239        order = ord
        PUSH V_0081
        PUSH V_00d1
        ASSVAL
        LINE 2240
  2240        decl = decl&(\15)+decmap(decl&15);           !construct declarator flags
        PUSH V_005b
        PUSH V_005b
        PUSHI #0x0000000f
        NOT
        AND
        PUSH V_00c7
        PUSH V_005b
        PUSHI #0x0000000f
        AND
        ACCESS
        ADD
        ASSVAL
        LINE 2241
  2241        atom1 = atoms(decl&15);                      !generate class
        PUSH V_0044
        PUSH V_0040
        PUSH V_005b
        PUSHI #0x0000000f
        AND
        ACCESS
        ASSVAL
        LINE 2242
  2242        %IF otype # 0 %START;                        !own, const etc.
        PUSH V_0061
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2243
  2243           atom1 = atom1+1 %IF atom1 # proc
        PUSH V_0044
        PUSHI #0x00000007
        JUMPIF = L_0007
        PUSH V_0044
        PUSH V_0044
        PUSHI #0x00000001
        ADD
        ASSVAL
        LOCATE L_0007
        LINE 2244
  2244           %IF otype = 2 %START;                     !const
        PUSH V_0061
        PUSHI #0x00000002
        JUMPIF # L_0007
        LINE 2245
  2245              n = decl&15
        PUSH V_00d6
        PUSH V_005b
        PUSHI #0x0000000f
        AND
        ASSVAL
        LINE 2246
  2246              %if n&1 # 0 %start
        PUSH V_00d6
        PUSHI #0x00000001
        AND
        PUSHI #0x00000000
        JUMPIF = L_000a
        LINE 2247
  2247                 decl = decl!prot
        PUSH V_005b
        PUSH V_005b
        PUSHI #0x00000100
        OR
        ASSVAL
        LINE 2248
  2248                 decl = decl!const bit %IF decl&b'1111111' = iform
        PUSH V_005b
        PUSHI #0x0000007f
        AND
        PUSHI #0x00000011
        JUMPIF # L_000d
        PUSH V_005b
        PUSH V_005b
        PUSHI #0x00002000
        OR
        ASSVAL
        LOCATE L_000d
        LINE 2249
  2249              %finish
        LOCATE L_000a
        LINE 2250
  2250           %else
        GOTO L_0006
        LOCATE L_0007
        LINE 2251
  2251              decl = decl!own bit
        PUSH V_005b
        PUSH V_005b
        PUSHI #0x00000200
        OR
        ASSVAL
        LINE 2252
  2252           %FINISH
        LOCATE L_0006
        LINE 2253
  2253        %FINISH
        LOCATE L_0004
        LINE 2254
  2254        sstype = 1 %IF sstype = 0 %AND atom1 = proc
        PUSH V_007c
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_0044
        PUSHI #0x00000007
        JUMPIF # L_0004
        PUSH V_007c
        PUSHI #0x00000001
        ASSVAL
        LOCATE L_0004
        LINE 2255
  2255        atom1 = atom1+1 %IF decl&spec # 0;             !onto spec variant
        PUSH V_005b
        PUSHI #0x00000080
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_0044
        PUSH V_0044
        PUSHI #0x00000001
        ADD
        ASSVAL
        LOCATE L_0004
        LINE 2256
  2256        ocount = 0 %AND cont = '+' %IF atom1 = 5;      !own array
        PUSH V_0044
        PUSHI #0x00000005
        JUMPIF # L_0004
        PUSH V_007e
        PUSHI #0x00000000
        ASSVAL
        PUSH V_0059
        PUSHI #0x0000002b
        ASSVAL
        LOCATE L_0004
        LINE 2257
  2257        %IF anyform(decl&15) = 0 %START;               !check meaningful
        PUSH V_00c6
        PUSH V_005b
        PUSHI #0x0000000f
        AND
        ACCESS
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 2258
  2258           %IF decl>>4&7 = record %START
        PUSH V_005b
        PUSHI #0x00000004
        RSH
        PUSHI #0x00000007
        AND
        PUSHI #0x00000004
        JUMPIF # L_0007
        LINE 2259
  2259              this = fdef %IF tag(fdef)_flags&spec # 0
        PUSH V_0097
        PUSH V_006c
        ACCESS
        SELECT V_0003
        PUSHI #0x00000080
        AND
        PUSHI #0x00000000
        JUMPIF = L_000a
        PUSH V_006d
        PUSH V_006c
        ASSVAL
        LOCATE L_000a
        LINE 2260
  2260              atom1 = error+21 %IF fdef = this;        !*context for format
        PUSH V_006c
        PUSH V_006d
        JUMPIF # L_000a
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x00000015
        ADD
        ASSVAL
        LOCATE L_000a
        LINE 2261
  2261           %FINISH
        LOCATE L_0007
        LINE 2262
  2262           atom1 = error+10 %IF fdef = 0;              !*size
        PUSH V_006c
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x0000000a
        ADD
        ASSVAL
        LOCATE L_0007
        LINE 2263
  2263        %FINISH
        LOCATE L_0004
        LINE 2264
  2264        %RETURN
        RETURN
        LINE 2266
  2265  
  2266  atop:   access = 0;  ->top
        LABEL L_00ec
        LINE 2266
        PUSH V_00b7
        PUSHI #0x00000000
        ASSVAL
        LINE 2266
        JUMP L_00eb
        LINE 2270
  2267  
  2268  ! declarators
  2269  
  2270  c(88):                                                !rtype
        PUSHI #0x00000058
        SLABEL 194
        LINE 2271
  2271  c(28): decl = x&(\7);                                 !stype
        PUSHI #0x0000001c
        SLABEL 194
        LINE 2271
        PUSH V_005b
        PUSH V_0043
        PUSHI #0x00000007
        NOT
        AND
        ASSVAL
        LINE 2272
  2272         fdef = x&7;                                    !precision
        PUSH V_006c
        PUSH V_0043
        PUSHI #0x00000007
        AND
        ASSVAL
        LINE 2273
  2273         fdef = reals ln %IF x&b'1110001' = real<<4+1;  !convert to long
        PUSH V_0043
        PUSHI #0x00000071
        AND
        PUSHI #0x00000002
        PUSHI #0x00000004
        LSH
        PUSHI #0x00000001
        ADD
        JUMPIF # L_0004
        PUSH V_006c
        PUSH V_0062
        ASSVAL
        LOCATE L_0004
        LINE 2274
  2274         decs = 1;  ->top
        PUSH V_00db
        PUSHI #0x00000001
        ASSVAL
        LINE 2274
        JUMP L_00eb
        LINE 2275
  2275  c(34):                                                !own
        PUSHI #0x00000022
        SLABEL 194
        LINE 2276
  2276  c(35): otype = x;  ord = 1;  ->top;                   !external
        PUSHI #0x00000023
        SLABEL 194
        LINE 2276
        PUSH V_0061
        PUSH V_0043
        ASSVAL
        LINE 2276
        PUSH V_00d1
        PUSHI #0x00000001
        ASSVAL
        LINE 2276
        JUMP L_00eb
        LINE 2277
  2277  c(152):decl = decl+x<<1;  ->top;                      !xname
        PUSHI #0x00000098
        SLABEL 194
        LINE 2277
        PUSH V_005b
        PUSH V_005b
        PUSH V_0043
        PUSHI #0x00000001
        LSH
        ADD
        ASSVAL
        LINE 2277
        JUMP L_00eb
        LINE 2278
  2278  c(31):                                                !proc
        PUSHI #0x0000001f
        SLABEL 194
        LINE 2279
  2279  c(32): spec mode = level+1;                           !fn/map
        PUSHI #0x00000020
        SLABEL 194
        LINE 2279
        PUSH V_007d
        PUSH V_00a9
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2280
  2280         decl = decl!prot %IF x = 9;                    !function
        PUSH V_0043
        PUSHI #0x00000009
        JUMPIF # L_0004
        PUSH V_005b
        PUSH V_005b
        PUSHI #0x00000100
        OR
        ASSVAL
        LOCATE L_0004
        LINE 2281
  2281  c(29): ord = 1;                                       !array
        PUSHI #0x0000001d
        SLABEL 194
        LINE 2281
        PUSH V_00d1
        PUSHI #0x00000001
        ASSVAL
        LINE 2282
  2282         dim = 0
        PUSH V_005c
        PUSHI #0x00000000
        ASSVAL
        LINE 2283
  2283  c(30): decl = decl+x;                                 !name
        PUSHI #0x0000001e
        SLABEL 194
        LINE 2283
        PUSH V_005b
        PUSH V_005b
        PUSH V_0043
        ADD
        ASSVAL
        LINE 2284
  2284         decs = 1
        PUSH V_00db
        PUSHI #0x00000001
        ASSVAL
        LINE 2285
  2285         ->top
        JUMP L_00eb
        LINE 2286
  2286  c(27): lit = 0;                                       ! arrayd
        PUSHI #0x0000001b
        SLABEL 194
        LINE 2286
        PUSH V_0090
        PUSHI #0x00000000
        ASSVAL
        LINE 2287
  2287         %IF pending # 0 %START
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2288
  2288            pop lit
        PUSH V_00ea
        CALL
        LINE 2289
  2289            %UNLESS 0<lit<=dim limit %START
        PUSHI #0x00000000
        PUSH V_0090
        JUMPIFD >= L_0008
        PUSHI #0x00000006
        JUMPIF <= L_0007
        LOCATE L_0008
        LINE 2290
  2290               atom1 = error + 11;  %RETURN
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x0000000b
        ADD
        ASSVAL
        LINE 2290
        RETURN
        LINE 2291
  2291            %FINISH
        LOCATE L_0007
        LINE 2292
  2292         %FINISH
        LOCATE L_0004
        LINE 2293
  2293         dim = lit
        PUSH V_005c
        PUSH V_0090
        ASSVAL
        LINE 2294
  2294         decl = decl + x;  decs = 1
        PUSH V_005b
        PUSH V_005b
        PUSH V_0043
        ADD
        ASSVAL
        LINE 2294
        PUSH V_00db
        PUSHI #0x00000001
        ASSVAL
        LINE 2295
  2295         -> top
        JUMP L_00eb
        LINE 2296
  2296  c(37): x = x!subname;                                 !record
        PUSHI #0x00000025
        SLABEL 194
        LINE 2296
        PUSH V_0043
        PUSH V_0043
        PUSHI #0x00000800
        OR
        ASSVAL
        LINE 2297
  2297  c(36): lit = 0;                                       !string
        PUSHI #0x00000024
        SLABEL 194
        LINE 2297
        PUSH V_0090
        PUSHI #0x00000000
        ASSVAL
        LINE 2298
  2298         %IF pending # 0 %START
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2299
  2299           pop lit
        PUSH V_00ea
        CALL
        LINE 2300
  2300            %UNLESS 0 < lit <= 255 %START;              !max length wrong
        PUSHI #0x00000000
        PUSH V_0090
        JUMPIFD >= L_0008
        PUSHI #0x000000ff
        JUMPIF <= L_0007
        LOCATE L_0008
        LINE 2301
  2301               atom1 = error+10;  %RETURN
        PUSH V_0044
        PUSHI #0x00008000
        PUSHI #0x0000000a
        ADD
        ASSVAL
        LINE 2301
        RETURN
        LINE 2302
  2302            %FINISH
        LOCATE L_0007
        LINE 2303
  2303         %FINISH
        LOCATE L_0004
        LINE 2304
  2304         fdef = lit;                                    !format or length
        PUSH V_006c
        PUSH V_0090
        ASSVAL
        LINE 2305
  2305  c(33): decl = x;                                      !switch
        PUSHI #0x00000021
        SLABEL 194
        LINE 2305
        PUSH V_005b
        PUSH V_0043
        ASSVAL
        LINE 2306
  2306         decs = 1
        PUSH V_00db
        PUSHI #0x00000001
        ASSVAL
        LINE 2307
  2307         ->top
        JUMP L_00eb
        LINE 2308
  2308  c(39): decl = decl!spec;                              !spec
        PUSHI #0x00000027
        SLABEL 194
        LINE 2308
        PUSH V_005b
        PUSH V_005b
        PUSHI #0x00000080
        OR
        ASSVAL
        LINE 2309
  2309         ocount = -1;                                   !no initialisation
        PUSH V_007e
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 2310
  2310         spec mode = -1
        PUSH V_007d
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 2311
  2311         ->top
        JUMP L_00eb
        LINE 2312
  2312  c(38): decl = 64+4;                                   !recordformat (spec)
        PUSHI #0x00000026
        SLABEL 194
        LINE 2312
        PUSH V_005b
        PUSHI #0x00000040
        PUSHI #0x00000004
        ADD
        ASSVAL
        LINE 2313
  2313         order = 1
        PUSH V_0081
        PUSHI #0x00000001
        ASSVAL
        LINE 2314
  2314         atom1 = x
        PUSH V_0044
        PUSH V_0043
        ASSVAL
        LINE 2315
  2315         decl = decl!spec %if atom1 = 12;               !formatspec
        PUSH V_0044
        PUSHI #0x0000000c
        JUMPIF # L_0004
        PUSH V_005b
        PUSH V_005b
        PUSHI #0x00000080
        OR
        ASSVAL
        LOCATE L_0004
        LINE 2316
  2316         fdef = tmax+1;                                 !format tag
        PUSH V_006c
        PUSH V_00ac
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2317
  2317         %return
        RETURN
        LINE 2318
  2318  c(175):id = id+1;  tag(x)_index = id;  %return;       !FSID
        PUSHI #0x000000af
        SLABEL 194
        LINE 2318
        PUSH V_00ad
        PUSH V_00ad
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2318
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0004
        PUSH V_00ad
        ASSVAL
        LINE 2318
        RETURN
        LINE 2319
  2319  c(41): decs = 1;  decl = x!spec!closed;  ->top;       !label
        PUSHI #0x00000029
        SLABEL 194
        LINE 2319
        PUSH V_00db
        PUSHI #0x00000001
        ASSVAL
        LINE 2319
        PUSH V_005b
        PUSH V_0043
        PUSHI #0x00000080
        OR
        PUSHI #0x00004000
        OR
        ASSVAL
        LINE 2319
        JUMP L_00eb
        LINE 2320
  2320  c(133):recid = 0;  rbase = tmin-1;                    !fname
        PUSHI #0x00000085
        SLABEL 194
        LINE 2320
        PUSH V_008d
        PUSHI #0x00000000
        ASSVAL
        LINE 2320
        PUSH V_0070
        PUSH V_0074
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2321
  2321         this = x
        PUSH V_006d
        PUSH V_0043
        ASSVAL
        LINE 2322
  2322         fm base = fdef;  format list = tmin
        PUSH V_008a
        PUSH V_006c
        ASSVAL
        LINE 2322
        PUSH V_008c
        PUSH V_0074
        ASSVAL
        LINE 2323
  2323         def(this);                      ->top
        PUSH V_00e6
        PUSH V_006d
        ASSPAR
        CALL
        LINE 2323
        JUMP L_00eb
        LINE 2324
  2324  c(148):fdef = 0 %AND ->top %IF next = 0;              !reclb
        PUSHI #0x00000094
        SLABEL 194
        LINE 2324
        PUSH V_00d2
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_006c
        PUSHI #0x00000000
        ASSVAL
        JUMP L_00eb
        LOCATE L_0004
        LINE 2325
  2325         get next;                                      !skip name
        PUSH V_00e2
        CALL
        LINE 2326
  2326         fdef = x
        PUSH V_006c
        PUSH V_0043
        ASSVAL
        LINE 2327
  2327         ->top
        JUMP L_00eb
        LINE 2328
  2328  c(127):bp=bp+1 %AND buff(bp)='}';  ->top;             !%POUT
        PUSHI #0x0000007f
        SLABEL 194
        LINE 2328
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000007d
        ASSVAL
        LINE 2328
        JUMP L_00eb
        LINE 2329
  2329  c(126):bp=bp+1 %AND buff(bp)='{';  ->top;             !%PIN
        PUSHI #0x0000007e
        SLABEL 194
        LINE 2329
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000007b
        ASSVAL
        LINE 2329
        JUMP L_00eb
        LINE 2331
  2330  
  2331  c(174):set bp;                                        !rangerb
        PUSHI #0x000000ae
        SLABEL 194
        LINE 2331
        PUSH V_00e4
        CALL
        LINE 2332
  2332  c(171):                                               !fmlb
        PUSHI #0x000000ab
        SLABEL 194
        LINE 2333
  2333  c(172):                                               !fmrb
        PUSHI #0x000000ac
        SLABEL 194
        LINE 2334
  2334  c(173):bp=bp+1 %AND buff(bp)='~';  bp=bp+1 %AND buff(bp)=class-171+'A';  ->top;         !fmor
        PUSHI #0x000000ad
        SLABEL 194
        LINE 2334
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000007e
        ASSVAL
        LINE 2334
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_00d8
        PUSHI #0x000000ab
        SUB
        PUSHI #0x00000041
        ADD
        ASSVAL
        LINE 2334
        JUMP L_00eb
        LINE 2335
  2335  c(168):rbase = -rbase;                                !orrb
        PUSHI #0x000000a8
        SLABEL 194
        LINE 2335
        PUSH V_0070
        PUSH V_0070
        NEGATE
        ASSVAL
        LINE 2336
  2336         sstype = 0;  spec mode = 0
        PUSH V_007c
        PUSHI #0x00000000
        ASSVAL
        LINE 2336
        PUSH V_007d
        PUSHI #0x00000000
        ASSVAL
        LINE 2338
  2337  
  2338  c(147):search base = 0;                               !recrb
        PUSHI #0x00000093
        SLABEL 194
        LINE 2338
        PUSH V_008b
        PUSHI #0x00000000
        ASSVAL
        LINE 2339
  2339         tag(this)_app = tmin
        PUSH V_0097
        PUSH V_006d
        ACCESS
        SELECT V_0001
        PUSH V_0074
        ASSVAL
        LINE 2340
  2340         tag(this)_format = rbase
        PUSH V_0097
        PUSH V_006d
        ACCESS
        SELECT V_0002
        PUSH V_0070
        ASSVAL
        LINE 2341
  2341         ->top
        JUMP L_00eb
        LINE 2343
  2342  
  2343  c(45):bp=bp+1 %and buff(bp)='U' %IF x = 36;  ->top;   !sign
        PUSHI #0x0000002d
        SLABEL 194
        LINE 2343
        PUSH V_0043
        PUSHI #0x00000024
        JUMPIF # L_0004
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000055
        ASSVAL
        LOCATE L_0004
        LINE 2343
        JUMP L_00eb
        LINE 2344
  2344  c(46):bp=bp+1;  buff(bp)='\';  ->top;                 !uop
        PUSHI #0x0000002e
        SLABEL 194
        LINE 2344
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2344
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000005c
        ASSVAL
        LINE 2344
        JUMP L_00eb
        LINE 2345
  2345  c(47):                                                !mod
        PUSHI #0x0000002f
        SLABEL 194
        LINE 2346
  2346  c(48):                                                !dot
        PUSHI #0x00000030
        SLABEL 194
        LINE 2347
  2347  c(42):                                                !op1
        PUSHI #0x0000002a
        SLABEL 194
        LINE 2348
  2348  c(43):                                                !op2
        PUSHI #0x0000002b
        SLABEL 194
        LINE 2349
  2349  c(44):bp=bp+1;  buff(bp)=operator(x);  ->top;         !op3
        PUSHI #0x0000002c
        SLABEL 194
        LINE 2349
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2349
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_00c4
        PUSH V_0043
        ACCESS
        ASSVAL
        LINE 2349
        JUMP L_00eb
        LINE 2353
  2350  
  2351  !conditions & jumps
  2352  
  2353        %ROUTINE push(%INTEGER x)
        GOTO L_0000
        DEF V_00ed PUSH
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00ee X
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 2354
  2354           %IF cnest(cp)&2 # x %START
        PUSH V_00c8
        PUSH V_00d0
        ACCESS
        PUSHI #0x00000002
        AND
        PUSH V_00ee
        JUMPIF = L_0004
        LINE 2355
  2355              cnest(cp) = cnest(cp)!1;  x = x+4
        PUSH V_00c8
        PUSH V_00d0
        ACCESS
        PUSH V_00c8
        PUSH V_00d0
        ACCESS
        PUSHI #0x00000001
        OR
        ASSVAL
        LINE 2355
        PUSH V_00ee
        PUSH V_00ee
        PUSHI #0x00000004
        ADD
        ASSVAL
        LINE 2356
  2356           %FINISH
        LOCATE L_0004
        LINE 2357
  2357           clab = clab+1 %IF cnest(cp)&1 # 0
        PUSH V_00c8
        PUSH V_00d0
        ACCESS
        PUSHI #0x00000001
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00ca
        PUSH V_00ca
        PUSHI #0x00000001
        ADD
        ASSVAL
        LOCATE L_0004
        LINE 2358
  2358           cnest(cp+1) = x;  cp = cp+1
        PUSH V_00c8
        PUSH V_00d0
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSH V_00ee
        ASSVAL
        LINE 2358
        PUSH V_00d0
        PUSH V_00d0
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2359
  2359        %END
        END
        LOCATE L_0000
        LINE 2361
  2360  
  2361        %ROUTINE pop label(%INTEGER mode)
        GOTO L_0000
        DEF V_00ee POPLABEL
        +   0x0007
        +   0x0000
        +   0x0000
        START
        DEF V_00ef MODE
        +   0x0011
        +   0x0001
        +   0x0000
        FINISH
        LINE 2362
  2362           lmode = dict(dmin)
        PUSH V_00c9
        PUSH V_0098
        PUSH V_00ab
        ACCESS
        ASSVAL
        LINE 2363
  2363           %IF lmode < 0 %OR lmode&1 # mode %START
        PUSH V_00c9
        PUSHI #0x00000000
        JUMPIF < L_0005
        PUSH V_00c9
        PUSHI #0x00000001
        AND
        PUSH V_00ef
        JUMPIF = L_0004
        LOCATE L_0005
        LINE 2364
  2364              fault(mode+8)
        PUSH V_00c1
        PUSH V_00ef
        PUSHI #0x00000008
        ADD
        ASSPAR
        CALL
        LINE 2365
  2365           %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 2366
  2366              dmin = dmin+1;  label = label-3
        PUSH V_00ab
        PUSH V_00ab
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2366
        PUSH V_00b6
        PUSH V_00b6
        PUSHI #0x00000003
        SUB
        ASSVAL
        LINE 2367
  2367           %FINISH
        LOCATE L_0003
        LINE 2368
  2368        %END
        END
        LOCATE L_0000
        LINE 2370
  2369  
  2370  c(56):                                         !and
        PUSHI #0x00000038
        SLABEL 194
        LINE 2371
  2371  c(57):push(x);  ->top;                         !or
        PUSHI #0x00000039
        SLABEL 194
        LINE 2371
        PUSH V_00ed
        PUSH V_0043
        ASSPAR
        CALL
        LINE 2371
        JUMP L_00eb
        LINE 2372
  2372  c(58):cnest(cp) = cnest(cp)!!2;  ->top;        !not
        PUSHI #0x0000003a
        SLABEL 194
        LINE 2372
        PUSH V_00c8
        PUSH V_00d0
        ACCESS
        PUSH V_00c8
        PUSH V_00d0
        ACCESS
        PUSHI #0x00000002
        XOR
        ASSVAL
        LINE 2372
        JUMP L_00eb
        LINE 2374
  2373  
  2374  c(138):x = 128+32+16+4;                        !csep: treat like %WHILE
        PUSHI #0x0000008a
        SLABEL 194
        LINE 2374
        PUSH V_0043
        PUSHI #0x00000080
        PUSHI #0x00000020
        ADD
        PUSHI #0x00000010
        ADD
        PUSHI #0x00000004
        ADD
        ASSVAL
        LINE 2375
  2375  c(59):                                         !while
        PUSHI #0x0000003b
        SLABEL 194
        LINE 2376
  2376  c(60):%IF class = 138 %THEN op('f', label-1) %C
        PUSHI #0x0000003c
        SLABEL 194
        LINE 2376
        PUSH V_00d8
        PUSHI #0x0000008a
        JUMPIF # L_0004
        PUSH V_00a6
        PUSHI #0x00000066
        ASSPAR
        PUSH V_00b6
        PUSHI #0x00000001
        SUB
        ASSPAR
        CALL
        GOTO L_0003
        LOCATE L_0004
        PUSH V_00e1
        PUSH V_00b6
        PUSHI #0x00000001
        SUB
        ASSPAR
        CALL
        LOCATE L_0003
        LINE 2378
  2377                        %ELSE def lab(label-1);  !until
  2378  c(166):                                        !runtil
        PUSHI #0x000000a6
        SLABEL 194
        LINE 2379
  2379  c(62):lmode = (lmode&(else!loop)) !(x>>3);     !cword
        PUSHI #0x0000003e
        SLABEL 194
        LINE 2379
        PUSH V_00c9
        PUSH V_00c9
        PUSHI #0x00000008
        PUSHI #0x00000010
        OR
        AND
        PUSH V_0043
        PUSHI #0x00000003
        RSH
        OR
        ASSVAL
        LINE 2380
  2380        clab = label;  cp = 1;  cnest(1) = x&7
        PUSH V_00ca
        PUSH V_00b6
        ASSVAL
        LINE 2380
        PUSH V_00d0
        PUSHI #0x00000001
        ASSVAL
        LINE 2380
        PUSH V_00c8
        PUSHI #0x00000001
        ACCESS
        PUSH V_0043
        PUSHI #0x00000007
        AND
        ASSVAL
        LINE 2381
  2381        ->top
        JUMP L_00eb
        LINE 2382
  2382  c(72):pop label(0);                            !repeat
        PUSHI #0x00000048
        SLABEL 194
        LINE 2382
        PUSH V_00ee
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 2383
  2383        def lab(label+1) %IF lmode&32 # 0;  ->atop
        PUSH V_00c9
        PUSHI #0x00000020
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00e1
        PUSH V_00b6
        PUSHI #0x00000001
        ADD
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2383
        JUMP L_00ec
        LINE 2384
  2384  c(69):pop label(1);               ->top;       !finish
        PUSHI #0x00000045
        SLABEL 194
        LINE 2384
        PUSH V_00ee
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 2384
        JUMP L_00eb
        LINE 2385
  2385  c(163):                                        !xelse
        PUSHI #0x000000a3
        SLABEL 194
        LINE 2386
  2386  c(70):pop label(1);                            !finish else ...
        PUSHI #0x00000046
        SLABEL 194
        LINE 2386
        PUSH V_00ee
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 2387
  2387        fault(7) %IF lmode&3 = 3;                !dangling else
        PUSH V_00c9
        PUSHI #0x00000003
        AND
        PUSHI #0x00000003
        JUMPIF # L_0004
        PUSH V_00c1
        PUSHI #0x00000007
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2388
  2388  c(68):lmode = (lmode&else)!3;                  !...else...
        PUSHI #0x00000044
        SLABEL 194
        LINE 2388
        PUSH V_00c9
        PUSH V_00c9
        PUSHI #0x00000008
        AND
        PUSHI #0x00000003
        OR
        ASSVAL
        LINE 2389
  2389        %IF access # 0 %START
        PUSH V_00b7
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2390
  2390           op('F', label-1);  lmode = else!3
        PUSH V_00a6
        PUSHI #0x00000046
        ASSPAR
        PUSH V_00b6
        PUSHI #0x00000001
        SUB
        ASSPAR
        CALL
        LINE 2390
        PUSH V_00c9
        PUSHI #0x00000008
        PUSHI #0x00000003
        OR
        ASSVAL
        LINE 2391
  2391        %FINISH
        LOCATE L_0004
        LINE 2392
  2392        def lab(label)
        PUSH V_00e1
        PUSH V_00b6
        ASSPAR
        CALL
        LINE 2393
  2393        ->top %IF next # 0
        PUSH V_00d2
        PUSHI #0x00000000
        JUMPIF = L_0004
        JUMP L_00eb
        LOCATE L_0004
        LINE 2395
  2394  
  2395  c(120):                                        !%MSTART
        PUSHI #0x00000078
        SLABEL 194
        LINE 2396
  2396  c(67):                                         !start
        PUSHI #0x00000043
        SLABEL 194
        LINE 2397
  2397  c(71):                                         !cycle
        PUSHI #0x00000047
        SLABEL 194
        LINE 2398
  2398  stcy: def lab(label-1) %AND lmode = loop %IF lmode = 0;!cycle
        LABEL L_00ef
        LINE 2398
        PUSH V_00c9
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_00e1
        PUSH V_00b6
        PUSHI #0x00000001
        SUB
        ASSPAR
        CALL
        PUSH V_00c9
        PUSHI #0x00000010
        ASSVAL
        LOCATE L_0004
        LINE 2399
  2399        dmin = dmin-1;  abandon(3) %IF dmin <= dmax
        PUSH V_00ab
        PUSH V_00ab
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2399
        PUSH V_00ab
        PUSH V_0073
        JUMPIF > L_0004
        PUSH V_00a5
        PUSHI #0x00000003
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2400
  2400        dict(dmin) = lmode
        PUSH V_0098
        PUSH V_00ab
        ACCESS
        PUSH V_00c9
        ASSVAL
        LINE 2401
  2401        label = label+3
        PUSH V_00b6
        PUSH V_00b6
        PUSHI #0x00000003
        ADD
        ASSVAL
        LINE 2402
  2402        %RETURN
        RETURN
        LINE 2404
  2403  
  2404  c(64):fault(13) %IF dict(dmin) >= 0 %OR inhibit # 0;  !on event
        PUSHI #0x00000040
        SLABEL 194
        LINE 2404
        PUSH V_0098
        PUSH V_00ab
        ACCESS
        PUSHI #0x00000000
        JUMPIF >= L_0005
        PUSH V_00b8
        PUSHI #0x00000000
        JUMPIF = L_0004
        LOCATE L_0005
        PUSH V_00c1
        PUSHI #0x0000000d
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2405
  2405        inhibit = 1
        PUSH V_00b8
        PUSHI #0x00000001
        ASSVAL
        LINE 2406
  2406        n = 0
        PUSH V_00d6
        PUSHI #0x00000000
        ASSVAL
        LINE 2407
  2407        n = x'FFFF' %IF pending = 0;             !* = all events
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_00d6
        PUSHI #0x0000ffff
        ASSVAL
        LOCATE L_0004
        LINE 2408
  2408        %WHILE pending > 0 %CYCLE
        LOCATE L_0003
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF <= L_0004
        LINE 2409
  2409           pop lit;  fault(10) %IF lit&(\15) # 0;!too big
        PUSH V_00ea
        CALL
        LINE 2409
        PUSH V_0090
        PUSHI #0x0000000f
        NOT
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00c1
        PUSHI #0x0000000a
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2410
  2410           j = 1<<lit
        PUSH V_00d4
        PUSHI #0x00000001
        PUSH V_0090
        LSH
        ASSVAL
        LINE 2411
  2411           dubious = 1 %IF n&j # 0
        PUSH V_00d6
        PUSH V_00d4
        AND
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_0083
        PUSHI #0x00000001
        ASSVAL
        LOCATE L_0007
        LINE 2412
  2412           n = n!j;                              !construct bit mask
        PUSH V_00d6
        PUSH V_00d6
        PUSH V_00d4
        OR
        ASSVAL
        LINE 2413
  2413        %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 2414
  2414        op('o', n);  op(',', label)
        PUSH V_00a6
        PUSHI #0x0000006f
        ASSPAR
        PUSH V_00d6
        ASSPAR
        CALL
        LINE 2414
        PUSH V_00a6
        PUSHI #0x0000002c
        ASSPAR
        PUSH V_00b6
        ASSPAR
        CALL
        LINE 2415
  2415        lmode = then!1;  ->stcy
        PUSH V_00c9
        PUSHI #0x00000004
        PUSHI #0x00000001
        OR
        ASSVAL
        LINE 2415
        JUMP L_00ef
        LINE 2418
  2416  
  2417  
  2418  c(104):op('J', tag(x)_index);                   !l
        PUSHI #0x00000068
        SLABEL 194
        LINE 2418
        PUSH V_00a6
        PUSHI #0x0000004a
        ASSPAR
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0004
        ASSPAR
        CALL
        LINE 2419
  2419         inhibit = 1;            ->atop
        PUSH V_00b8
        PUSHI #0x00000001
        ASSVAL
        LINE 2419
        JUMP L_00ec
        LINE 2420
  2420  c(149):stats = stats-1;                         !lab
        PUSHI #0x00000095
        SLABEL 194
        LINE 2420
        PUSH V_0053
        PUSH V_0053
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2421
  2421         access = 1;  inhibit = 1
        PUSH V_00b7
        PUSHI #0x00000001
        ASSVAL
        LINE 2421
        PUSH V_00b8
        PUSHI #0x00000001
        ASSVAL
        LINE 2422
  2422         op('L', tag(x)_index);  ->top
        PUSH V_00a6
        PUSHI #0x0000004c
        ASSPAR
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0004
        ASSPAR
        CALL
        LINE 2422
        JUMP L_00eb
        LINE 2424
  2423  
  2424  c(63):j = dmin;  l = label-3;                   !exit, continue
        PUSHI #0x0000003f
        SLABEL 194
        LINE 2424
        PUSH V_00d4
        PUSH V_00ab
        ASSVAL
        LINE 2424
        PUSH V_00bf
        PUSH V_00b6
        PUSHI #0x00000003
        SUB
        ASSVAL
        LINE 2425
  2425        %CYCLE
        LOCATE L_0003
        LINE 2426
  2426           fault(7) %AND ->top %IF dict(j) < 0
        PUSH V_0098
        PUSH V_00d4
        ACCESS
        PUSHI #0x00000000
        JUMPIF >= L_0007
        PUSH V_00c1
        PUSHI #0x00000007
        ASSPAR
        CALL
        JUMP L_00eb
        LOCATE L_0007
        LINE 2427
  2427           %EXIT %IF dict(j)&1 = 0
        PUSH V_0098
        PUSH V_00d4
        ACCESS
        PUSHI #0x00000001
        AND
        PUSHI #0x00000000
        JUMPIF # L_0007
        GOTO L_0004
        LOCATE L_0007
        LINE 2428
  2428           j = j+1;  l = l-3
        PUSH V_00d4
        PUSH V_00d4
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2428
        PUSH V_00bf
        PUSH V_00bf
        PUSHI #0x00000003
        SUB
        ASSVAL
        LINE 2429
  2429        %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 2430
  2430        l = l+1 %IF x = 32;                       !continue
        PUSH V_0043
        PUSHI #0x00000020
        JUMPIF # L_0004
        PUSH V_00bf
        PUSH V_00bf
        PUSHI #0x00000001
        ADD
        ASSVAL
        LOCATE L_0004
        LINE 2431
  2431        op('F', l)
        PUSH V_00a6
        PUSHI #0x00000046
        ASSPAR
        PUSH V_00bf
        ASSPAR
        CALL
        LINE 2432
  2432        dict(j) = dict(j)!x;                      !show given
        PUSH V_0098
        PUSH V_00d4
        ACCESS
        PUSH V_0098
        PUSH V_00d4
        ACCESS
        PUSH V_0043
        OR
        ASSVAL
        LINE 2433
  2433        ->atop
        JUMP L_00ec
        LINE 2435
  2434  
  2435  c(50):bp=bp+1 %AND buff(bp)='C';  ->cop;        !acomp
        PUSHI #0x00000032
        SLABEL 194
        LINE 2435
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000043
        ASSVAL
        LINE 2435
        JUMP L_00f0
        LINE 2437
  2436  
  2437  c(49): bp = bp+1
        PUSHI #0x00000031
        SLABEL 194
        LINE 2437
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2438
  2438         %IF next # 0 %START;                     !comparator
        PUSH V_00d2
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2439
  2439            buff(bp)='"';  push(0);               !double sided
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000022
        ASSVAL
        LINE 2439
        PUSH V_00ed
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 2440
  2440         %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 2441
  2441            buff(bp)='?'
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000003f
        ASSVAL
        LINE 2442
  2442         %FINISH
        LOCATE L_0003
        LINE 2444
  2443  
  2444  cop:   x = x!!1 %IF cnest(cp)&2 # 0;            !invert the condition
        LABEL L_00f0
        LINE 2444
        PUSH V_00c8
        PUSH V_00d0
        ACCESS
        PUSHI #0x00000002
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_0043
        PUSH V_0043
        PUSHI #0x00000001
        XOR
        ASSVAL
        LOCATE L_0004
        LINE 2445
  2445         j = cp;  l = clab
        PUSH V_00d4
        PUSH V_00d0
        ASSVAL
        LINE 2445
        PUSH V_00bf
        PUSH V_00ca
        ASSVAL
        LINE 2446
  2446         %WHILE cnest(j)&4 = 0 %CYCLE
        LOCATE L_0003
        PUSH V_00c8
        PUSH V_00d4
        ACCESS
        PUSHI #0x00000004
        AND
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 2447
  2447            j = j-1;  l = l-cnest(j)&1
        PUSH V_00d4
        PUSH V_00d4
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2447
        PUSH V_00bf
        PUSH V_00bf
        PUSH V_00c8
        PUSH V_00d4
        ACCESS
        PUSHI #0x00000001
        AND
        SUB
        ASSVAL
        LINE 2448
  2448         %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 2449
  2449         op(cc(x), l)
        PUSH V_00a6
        PUSH V_00c5
        PUSH V_0043
        ACCESS
        ASSPAR
        PUSH V_00bf
        ASSPAR
        CALL
        LINE 2450
  2450         def lab(clab+1) %IF cnest(cp)&1 # 0
        PUSH V_00c8
        PUSH V_00d0
        ACCESS
        PUSHI #0x00000001
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00e1
        PUSH V_00ca
        PUSHI #0x00000001
        ADD
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2451
  2451         cp = cp-1
        PUSH V_00d0
        PUSH V_00d0
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2452
  2452         clab = clab-cnest(cp)&1
        PUSH V_00ca
        PUSH V_00ca
        PUSH V_00c8
        PUSH V_00d0
        ACCESS
        PUSHI #0x00000001
        AND
        SUB
        ASSVAL
        LINE 2453
  2453         ->top
        JUMP L_00eb
        LINE 2455
  2454  
  2455  c(78):                                              !fresult
        PUSHI #0x0000004e
        SLABEL 194
        LINE 2456
  2456  c(79):                                              !mresult
        PUSHI #0x0000004f
        SLABEL 194
        LINE 2457
  2457  c(80):   open = 0;                                  !return, true, false
        PUSHI #0x00000050
        SLABEL 194
        LINE 2457
        PUSH V_00b2
        PUSHI #0x00000000
        ASSVAL
        LINE 2458
  2458  c(82):   access = 0;                                !stop
        PUSHI #0x00000052
        SLABEL 194
        LINE 2458
        PUSH V_00b7
        PUSHI #0x00000000
        ASSVAL
        LINE 2459
  2459  c(89):                                              !addop
        PUSHI #0x00000059
        SLABEL 194
        LINE 2460
  2460  c(81):   bp=bp+1 %AND buff(bp)=x;  ->top;           !monitor
        PUSHI #0x00000051
        SLABEL 194
        LINE 2460
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_0043
        ASSVAL
        LINE 2460
        JUMP L_00eb
        LINE 2462
  2461  
  2462  c(65):   pop lit;  op('e', lit);  ->atop;           !signal
        PUSHI #0x00000041
        SLABEL 194
        LINE 2462
        PUSH V_00ea
        CALL
        LINE 2462
        PUSH V_00a6
        PUSHI #0x00000065
        ASSPAR
        PUSH V_0090
        ASSPAR
        CALL
        LINE 2462
        JUMP L_00ec
        LINE 2464
  2463  
  2464  c(51):   bp=bp+1 %AND buff(bp)='S';  ->top;         !eq
        PUSHI #0x00000033
        SLABEL 194
        LINE 2464
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000053
        ASSVAL
        LINE 2464
        JUMP L_00eb
        LINE 2465
  2465  c(53):   bp=bp+1 %AND buff(bp)='j';  ->top;         !jam transfer
        PUSHI #0x00000035
        SLABEL 194
        LINE 2465
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000006a
        ASSVAL
        LINE 2465
        JUMP L_00eb
        LINE 2466
  2466  c(52):   bp=bp+1 %AND buff(bp)='Z';  ->top;         !eqeq
        PUSHI #0x00000034
        SLABEL 194
        LINE 2466
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000005a
        ASSVAL
        LINE 2466
        JUMP L_00eb
        LINE 2468
  2467  
  2468  c(74):%IF level = 0 %START;                         !begin
        PUSHI #0x0000004a
        SLABEL 194
        LINE 2468
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 2469
  2469           %IF progmode <= 0 %THEN progmode = 1 %ELSE fault(7)
        PUSH V_007b
        PUSHI #0x00000000
        JUMPIF > L_0007
        PUSH V_007b
        PUSHI #0x00000001
        ASSVAL
        GOTO L_0006
        LOCATE L_0007
        PUSH V_00c1
        PUSHI #0x00000007
        ASSPAR
        CALL
        LOCATE L_0006
        LINE 2471
  2470           {Permit BEGIN after external defs}
  2471        %FINISH
        LOCATE L_0004
        LINE 2472
  2472        spec mode = level+1
        PUSH V_007d
        PUSH V_00a9
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2473
  2473        block x = 0
        PUSH V_0092
        PUSHI #0x00000000
        ASSVAL
        LINE 2474
  2474        bp=bp+1 %AND buff(bp)='H';  %RETURN
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000048
        ASSVAL
        LINE 2474
        RETURN
        LINE 2475
  2475  c(77):perm = 0;  lines = 0;  stats = 0;             !endofperm
        PUSHI #0x0000004d
        SLABEL 194
        LINE 2475
        PUSH V_007a
        PUSHI #0x00000000
        ASSVAL
        LINE 2475
        PUSH V_004d
        PUSHI #0x00000000
        ASSVAL
        LINE 2475
        PUSH V_0053
        PUSHI #0x00000000
        ASSVAL
        LINE 2476
  2476        close input
        PUSH V_0036
        CALL
        LINE 2477
  2477        select input(source)
        PUSH V_001f
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 2478
  2478        list = list-1
        PUSH V_0093
        PUSH V_0093
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2479
  2479        tbase = tmax;  tstart = tmax
        PUSH V_00b4
        PUSH V_00ac
        ASSVAL
        LINE 2479
        PUSH V_00b5
        PUSH V_00ac
        ASSVAL
        LINE 2480
  2480        %RETURN
        RETURN
        LINE 2481
  2481  c(76):%IF include # 0 %AND x = 0 %START;            !end of ...
        PUSHI #0x0000004c
        SLABEL 194
        LINE 2481
        PUSH V_0079
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_0043
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 2482
  2482           lines = include;  sstype =  0;             !include
        PUSH V_004d
        PUSH V_0079
        ASSVAL
        LINE 2482
        PUSH V_007c
        PUSHI #0x00000000
        ASSVAL
        LINE 2483
  2483           close input
        PUSH V_0036
        CALL
        LINE 2484
  2484           list = include list
        PUSH V_0093
        PUSH V_0077
        ASSVAL
        LINE 2485
  2485           include level = 0
        PUSH V_0078
        PUSHI #0x00000000
        ASSVAL
        LINE 2486
  2486           include = 0;  select input(source);  %RETURN
        PUSH V_0079
        PUSHI #0x00000000
        ASSVAL
        LINE 2486
        PUSH V_001f
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 2486
        RETURN
        LINE 2487
  2487        %FINISH
        LOCATE L_0004
        LINE 2488
  2488        ss = -1;                                      !prog/file
        PUSH V_0075
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 2489
  2489  c(75):compile end(x);  %RETURN;                     !%END
        PUSHI #0x0000004b
        SLABEL 194
        LINE 2489
        PUSH V_00e5
        PUSH V_0043
        ASSPAR
        CALL
        LINE 2489
        RETURN
        LINE 2491
  2490  
  2491  c(85):%IF x=0 %THEN control=lit %ELSE %START;       !control
        PUSHI #0x00000055
        SLABEL 194
        LINE 2491
        PUSH V_0043
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_0094
        PUSH V_0090
        ASSVAL
        GOTO L_0003
        LOCATE L_0004
        LINE 2492
  2492           diag = lit&x'3FFF' %IF lit>>14&3 = 1
        PUSH V_0090
        PUSHI #0x0000000e
        RSH
        PUSHI #0x00000003
        AND
        PUSHI #0x00000001
        JUMPIF # L_0007
        PUSH V_0095
        PUSH V_0090
        PUSHI #0x00003fff
        AND
        ASSVAL
        LOCATE L_0007
        LINE 2493
  2493        %FINISH
        LOCATE L_0003
        LINE 2494
  2494        op('z'-x, lit)
        PUSH V_00a6
        PUSHI #0x0000007a
        PUSH V_0043
        SUB
        ASSPAR
        PUSH V_0090
        ASSPAR
        CALL
        LINE 2495
  2495        ->top
        JUMP L_00eb
        LINE 2496
  2496  c(83):list = list+x-2;   ->top;                     !%LIST/%ENDOFLIST
        PUSHI #0x00000053
        SLABEL 194
        LINE 2496
        PUSH V_0093
        PUSH V_0093
        PUSH V_0043
        ADD
        PUSHI #0x00000002
        SUB
        ASSVAL
        LINE 2496
        JUMP L_00eb
        LINE 2497
  2497  c(84):reals ln = x;      ->top;                     !%REALS long/normal
        PUSHI #0x00000054
        SLABEL 194
        LINE 2497
        PUSH V_0062
        PUSH V_0043
        ASSVAL
        LINE 2497
        JUMP L_00eb
        LINE 2498
  2498  c(86):%IF include # 0 %START;                       !include "file"
        PUSHI #0x00000056
        SLABEL 194
        LINE 2498
        PUSH V_0079
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2499
  2499           fault(7);  %RETURN
        PUSH V_00c1
        PUSHI #0x00000007
        ASSPAR
        CALL
        LINE 2499
        RETURN
        LINE 2500
  2500        %FINISH
        LOCATE L_0004
        LINE 2501
  2501        get next;                                     !sconst
        PUSH V_00e2
        CALL
        LINE 2502
  2502        include file = string(x-x'4000'+stbase)
        PUSH V_0076
        PUSH V_000d
        PUSH V_0043
        PUSHI #0x00004000
        SUB
        PUSH V_0071
        ADD
        ASSPAR
        CALL
        ASSVAL
        LINE 2503
  2503        %begin
        BEGIN
        LINE 2504
  2504           %on 9 %start;  Abandon(9);  %finish
        ON 2c00 L_0200
?        <4>
        LINE 2504
        PUSH V_00a5
        PUSHI #0x00000009
        ASSPAR
        CALL
        LINE 2504
        LOCATE L_0004
        LINE 2505
  2505           open input(3, include file)
        PUSH V_0038
        PUSHI #0x00000003
        ASSPAR
        PUSH V_0076
        ASSPAR
        CALL
        LINE 2506
  2506        %end
        END
        LINE 2507
  2507        include = lines;  lines = 0
        PUSH V_0079
        PUSH V_004d
        ASSVAL
        LINE 2507
        PUSH V_004d
        PUSHI #0x00000000
        ASSVAL
        LINE 2508
  2508        include list = list;  include level = level
        PUSH V_0077
        PUSH V_0093
        ASSVAL
        LINE 2508
        PUSH V_0078
        PUSH V_00a9
        ASSVAL
        LINE 2509
  2509        select input(3)
        PUSH V_001f
        PUSHI #0x00000003
        ASSPAR
        CALL
        LINE 2510
  2510        ->top
        JUMP L_00eb
        LINE 2512
  2511  
  2512  c(154):dimension = dimension+1;                     !dbsep
        PUSHI #0x0000009a
        SLABEL 194
        LINE 2512
        PUSH V_0088
        PUSH V_0088
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2513
  2513         fault(11) %IF dimension = dim limit+1
        PUSH V_0088
        PUSHI #0x00000006
        PUSHI #0x00000001
        ADD
        JUMPIF # L_0004
        PUSH V_00c1
        PUSHI #0x0000000b
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2514
  2514         ->top
        JUMP L_00eb
        LINE 2515
  2515  c(145):set bp;                       ->top;         !crb
        PUSHI #0x00000091
        SLABEL 194
        LINE 2515
        PUSH V_00e4
        CALL
        LINE 2515
        JUMP L_00eb
        LINE 2516
  2516  c(146):set bp;                                      !rcrb
        PUSHI #0x00000092
        SLABEL 194
        LINE 2516
        PUSH V_00e4
        CALL
        LINE 2517
  2517  c(142):                                             !bplrb
        PUSHI #0x0000008e
        SLABEL 194
        LINE 2518
  2518         dimension = 1 %IF dimension = 0
        PUSH V_0088
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_0088
        PUSHI #0x00000001
        ASSVAL
        LOCATE L_0004
        LINE 2519
  2519         op('d', dimension);  op(',', defs)
        PUSH V_00a6
        PUSHI #0x00000064
        ASSPAR
        PUSH V_0088
        ASSPAR
        CALL
        LINE 2519
        PUSH V_00a6
        PUSHI #0x0000002c
        ASSPAR
        PUSH V_00da
        ASSPAR
        CALL
        LINE 2520
  2520         %IF class # 146 %START
        PUSH V_00d8
        PUSHI #0x00000092
        JUMPIF = L_0004
        LINE 2521
  2521            set subs(defs)
        PUSH V_00e3
        PUSH V_00da
        ASSPAR
        CALL
        LINE 2522
  2522            fault(13) %IF dict(dmin) >= 0 %OR inhibit # 0 %OR level=0
        PUSH V_0098
        PUSH V_00ab
        ACCESS
        PUSHI #0x00000000
        JUMPIF >= L_0008
        PUSH V_00b8
        PUSHI #0x00000000
        JUMPIF # L_0008
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF # L_0007
        LOCATE L_0008
        PUSH V_00c1
        PUSHI #0x0000000d
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2523
  2523         %FINISH
        LOCATE L_0004
        LINE 2524
  2524         dimension = 0;  defs = 0
        PUSH V_0088
        PUSHI #0x00000000
        ASSVAL
        LINE 2524
        PUSH V_00da
        PUSHI #0x00000000
        ASSVAL
        LINE 2525
  2525         ->top
        JUMP L_00eb
        LINE 2526
  2526  c(128):id = dupid;  ->top;                          !EDUP
        PUSHI #0x00000080
        SLABEL 194
        LINE 2526
        PUSH V_00ad
        PUSH V_00cb
        ASSVAL
        LINE 2526
        JUMP L_00eb
        LINE 2527
  2527  c(130):block x = x
        PUSHI #0x00000082
        SLABEL 194
        LINE 2527
        PUSH V_0092
        PUSH V_0043
        ASSVAL
        LINE 2528
  2528         op('F', 0) %IF decl&spec = 0 %AND level # 0; !jump round proc
        PUSH V_005b
        PUSHI #0x00000080
        AND
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00a6
        PUSHI #0x00000046
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2529
  2529  c(125):dupid = id;                                  !%DUP
        PUSHI #0x0000007d
        SLABEL 194
        LINE 2529
        PUSH V_00cb
        PUSH V_00ad
        ASSVAL
        LINE 2530
  2530         %return %if Level < 0                        {spec about}
        PUSH V_00a9
        PUSHI #0x00000000
        JUMPIF >= L_0004
        RETURN
        LOCATE L_0004
        LINE 2531
  2531  c(90): def(x);  ->top;                              !ident
        PUSHI #0x0000005a
        SLABEL 194
        LINE 2531
        PUSH V_00e6
        PUSH V_0043
        ASSPAR
        CALL
        LINE 2531
        JUMP L_00eb
        LINE 2532
  2532  c(131):                                             !cident
        PUSHI #0x00000083
        SLABEL 194
        LINE 2533
  2533         %IF tag(x)_flags&(b'1111111'+const bit) = iform+const bit %START
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0003
        PUSHI #0x0000007f
        PUSHI #0x00002000
        ADD
        AND
        PUSHI #0x00000011
        PUSHI #0x00002000
        ADD
        JUMPIF # L_0004
        LINE 2534
  2534            tag(x)_format = lit
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0002
        PUSH V_0090
        ASSVAL
        LINE 2535
  2535         %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 2536
  2536            set const(lit) %IF pending # 0
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00a7
        PUSH V_0090
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2537
  2537            def(x)
        PUSH V_00e6
        PUSH V_0043
        ASSPAR
        CALL
        LINE 2538
  2538           op('A', 1)
        PUSH V_00a6
        PUSHI #0x00000041
        ASSPAR
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 2539
  2539         %FINISH
        LOCATE L_0003
        LINE 2540
  2540         cident = x
        PUSH V_00dc
        PUSH V_0043
        ASSVAL
        LINE 2541
  2541         ->top
        JUMP L_00eb
        LINE 2542
  2542  c(124):dubious = 1 %IF tag(cident)_flags&prot # 0; !%DUBIOUS
        PUSHI #0x0000007c
        SLABEL 194
        LINE 2542
        PUSH V_0097
        PUSH V_00dc
        ACCESS
        SELECT V_0003
        PUSHI #0x00000100
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_0083
        PUSHI #0x00000001
        ASSVAL
        LOCATE L_0004
        LINE 2543
  2543         ->top
        JUMP L_00eb
        LINE 2544
  2544  c(97):                                              !f
        PUSHI #0x00000061
        SLABEL 194
        LINE 2545
  2545  c(98):                                              !m
        PUSHI #0x00000062
        SLABEL 194
        LINE 2546
  2546  c(99):                                              !p
        PUSHI #0x00000063
        SLABEL 194
        LINE 2547
  2547  c(96): call;  ->top;                                !r
        PUSHI #0x00000060
        SLABEL 194
        LINE 2547
        PUSH V_00e8
        CALL
        LINE 2547
        JUMP L_00eb
        LINE 2549
  2548  
  2549  c(165):                                             !nlab
        PUSHI #0x000000a5
        SLABEL 194
        LINE 2550
  2550  c(100):                                             !rp
        PUSHI #0x00000064
        SLABEL 194
        LINE 2551
  2551  c(101):                                             !fp
        PUSHI #0x00000065
        SLABEL 194
        LINE 2552
  2552  c(102):                                             !mp
        PUSHI #0x00000066
        SLABEL 194
        LINE 2553
  2553  c(103):                                             !pp
        PUSHI #0x00000067
        SLABEL 194
        LINE 2554
  2554  c(91):                                              !v
        PUSHI #0x0000005b
        SLABEL 194
        LINE 2555
  2555  c(92):                                              !n
        PUSHI #0x0000005c
        SLABEL 194
        LINE 2556
  2556  c(106):                                             !a
        PUSHI #0x0000006a
        SLABEL 194
        LINE 2557
  2557  c(107):                                             !an
        PUSHI #0x0000006b
        SLABEL 194
        LINE 2558
  2558  c(108):                                             !na
        PUSHI #0x0000006c
        SLABEL 194
        LINE 2559
  2559  c(109):                                             !nan
        PUSHI #0x0000006d
        SLABEL 194
        LINE 2560
  2560        k = tag(x)_index
        PUSH V_00d5
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0004
        ASSVAL
        LINE 2561
  2561        %IF k < 0 %THEN op('n', -k) %ELSE op('@', k)
        PUSH V_00d5
        PUSHI #0x00000000
        JUMPIF >= L_0004
        PUSH V_00a6
        PUSHI #0x0000006e
        ASSPAR
        PUSH V_00d5
        NEGATE
        ASSPAR
        CALL
        GOTO L_0003
        LOCATE L_0004
        PUSH V_00a6
        PUSHI #0x00000040
        ASSPAR
        PUSH V_00d5
        ASSPAR
        CALL
        LOCATE L_0003
        LINE 2562
  2562        ->top
        JUMP L_00eb
        LINE 2563
  2563  c(121):set const(0);  ->top;                        !special for zero
        PUSHI #0x00000079
        SLABEL 194
        LINE 2563
        PUSH V_00a7
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 2563
        JUMP L_00eb
        LINE 2564
  2564  c(167):bp=bp+1;  buff(bp)='G';  ->pstr;             !aconst (alias)
        PUSHI #0x000000a7
        SLABEL 194
        LINE 2564
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2564
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000047
        ASSVAL
        LINE 2564
        JUMP L_00f1
        LINE 2565
  2565  c(const):                                           !const
        PUSHI #0x0000005d
        SLABEL 194
        LINE 2566
  2566         %IF x < 0 %START;                            !constinteger
        PUSH V_0043
        PUSHI #0x00000000
        JUMPIF >= L_0004
        LINE 2567
  2567            set const(tag(-x)_format);  ->top
        PUSH V_00a7
        PUSH V_0097
        PUSH V_0043
        NEGATE
        ACCESS
        SELECT V_0002
        ASSPAR
        CALL
        LINE 2567
        JUMP L_00eb
        LINE 2568
  2568         %FINISH
        LOCATE L_0004
        LINE 2569
  2569         %IF x&x'4000' # 0 %START;                    !strings
        PUSH V_0043
        PUSHI #0x00004000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2570
  2570            bp=bp+1 %AND buff(bp)=''''
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000027
        ASSVAL
        LINE 2571
  2571  pstr:     x = x-x'4000'+stbase
        LABEL L_00f1
        LINE 2571
        PUSH V_0043
        PUSH V_0043
        PUSHI #0x00004000
        SUB
        PUSH V_0071
        ADD
        ASSVAL
        LINE 2572
  2572            k = byteinteger(x)
        PUSH V_00d5
        PUSH V_000c
        PUSH V_0043
        ASSPAR
        CALL
        ASSVAL
        LINE 2573
  2573            bp=bp+1 %AND buff(bp)=k
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_00d5
        ASSVAL
        LINE 2574
  2574            k = k+x
        PUSH V_00d5
        PUSH V_00d5
        PUSH V_0043
        ADD
        ASSVAL
        LINE 2575
  2575            %CYCLE
        LOCATE L_0006
        LINE 2576
  2576               ->top %IF x = k
        PUSH V_0043
        PUSH V_00d5
        JUMPIF # L_000a
        JUMP L_00eb
        LOCATE L_000a
        LINE 2577
  2577               x = x+1;  bp=bp+1 %AND buff(bp)=byteinteger(x)
        PUSH V_0043
        PUSH V_0043
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2577
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_000c
        PUSH V_0043
        ASSPAR
        CALL
        ASSVAL
        LINE 2578
  2578            %REPEAT
        REPEAT L_0006
        LINE 2579
  2579         %FINISH
        LOCATE L_0004
        LINE 2580
  2580         %IF x&x'2000' # 0 %START;                    !real
        PUSH V_0043
        PUSHI #0x00002000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2581
  2581            x = x-x'2000'+stbase
        PUSH V_0043
        PUSH V_0043
        PUSHI #0x00002000
        SUB
        PUSH V_0071
        ADD
        ASSVAL
        LINE 2582
  2582            k = byteinteger(x)
        PUSH V_00d5
        PUSH V_000c
        PUSH V_0043
        ASSPAR
        CALL
        ASSVAL
        LINE 2583
  2583            op('D', k);  bp=bp+1 %AND buff(bp)=','
        PUSH V_00a6
        PUSHI #0x00000044
        ASSPAR
        PUSH V_00d5
        ASSPAR
        CALL
        LINE 2583
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000002c
        ASSVAL
        LINE 2584
  2584            k = k+x
        PUSH V_00d5
        PUSH V_00d5
        PUSH V_0043
        ADD
        ASSVAL
        LINE 2585
  2585            %CYCLE
        LOCATE L_0006
        LINE 2586
  2586               ->top %IF x = k
        PUSH V_0043
        PUSH V_00d5
        JUMPIF # L_000a
        JUMP L_00eb
        LOCATE L_000a
        LINE 2587
  2587               x = x+1;  j = byteinteger(x)
        PUSH V_0043
        PUSH V_0043
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2587
        PUSH V_00d4
        PUSH V_000c
        PUSH V_0043
        ASSPAR
        CALL
        ASSVAL
        LINE 2588
  2588               %IF j = '@' %START
        PUSH V_00d4
        PUSHI #0x00000040
        JUMPIF # L_000a
        LINE 2589
  2589                  op('@', litpool(byteinteger(x+1)));  ->top
        PUSH V_00a6
        PUSHI #0x00000040
        ASSPAR
        PUSH V_008f
        PUSH V_000c
        PUSH V_0043
        PUSHI #0x00000001
        ADD
        ASSPAR
        CALL
        ACCESS
        ASSPAR
        CALL
        LINE 2589
        JUMP L_00eb
        LINE 2590
  2590               %FINISH
        LOCATE L_000a
        LINE 2591
  2591               bp=bp+1 %AND buff(bp)=j
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSH V_00d4
        ASSVAL
        LINE 2592
  2592            %REPEAT
        REPEAT L_0006
        LINE 2593
  2593         %FINISH
        LOCATE L_0004
        LINE 2594
  2594         set const(lit pool(x))
        PUSH V_00a7
        PUSH V_008f
        PUSH V_0043
        ACCESS
        ASSPAR
        CALL
        LINE 2595
  2595         ->top
        JUMP L_00eb
        LINE 2597
  2596  
  2597  c(137):bp=bp+1 %AND buff(bp)='i';               ->top;         !asep
        PUSHI #0x00000089
        SLABEL 194
        LINE 2597
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000069
        ASSVAL
        LINE 2597
        JUMP L_00eb
        LINE 2598
  2598  c(141):bp=bp+1 %AND buff(bp)='a';               ->top;         !arb
        PUSHI #0x0000008d
        SLABEL 194
        LINE 2598
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000061
        ASSVAL
        LINE 2598
        JUMP L_00eb
        LINE 2602
  2599  
  2600  !own arrays
  2601  
  2602  c(132):ocount = ub-lb+1
        PUSHI #0x00000084
        SLABEL 194
        LINE 2602
        PUSH V_007e
        PUSH V_00cf
        PUSH V_00ce
        SUB
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2603
  2603         def(x);                               !oident
        PUSH V_00e6
        PUSH V_0043
        ASSPAR
        CALL
        LINE 2604
  2604         dimension = 1;  set subs(1)
        PUSH V_0088
        PUSHI #0x00000001
        ASSVAL
        LINE 2604
        PUSH V_00e3
        PUSHI #0x00000001
        ASSPAR
        CALL
        LINE 2605
  2605         %IF next = 0 %START;                  !no initialisation
        PUSH V_00d2
        PUSHI #0x00000000
        JUMPIF # L_0004
        LINE 2606
  2606            op('A', ocount) %IF ocount > 0
        PUSH V_007e
        PUSHI #0x00000000
        JUMPIF <= L_0007
        PUSH V_00a6
        PUSHI #0x00000041
        ASSPAR
        PUSH V_007e
        ASSPAR
        CALL
        LOCATE L_0007
        LINE 2607
  2607            ocount = -1
        PUSH V_007e
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        LINE 2608
  2608         %FINISH %ELSE %START;                 !initialisation given
        GOTO L_0003
        LOCATE L_0004
        LINE 2609
  2609            get next
        PUSH V_00e2
        CALL
        LINE 2610
  2610         %FINISH
        LOCATE L_0003
        LINE 2611
  2611         ->top
        JUMP L_00eb
        LINE 2612
  2612  c(162):lit = ocount;  ->ins;                 !indef
        PUSHI #0x000000a2
        SLABEL 194
        LINE 2612
        PUSH V_0090
        PUSH V_007e
        ASSVAL
        LINE 2612
        JUMP L_00f2
        LINE 2613
  2613  c(143):pop lit;                              !orb
        PUSHI #0x0000008f
        SLABEL 194
        LINE 2613
        PUSH V_00ea
        CALL
        LINE 2614
  2614  ins:   fault(10) %AND lit = 0 %IF lit < 0
        LABEL L_00f2
        LINE 2614
        PUSH V_0090
        PUSHI #0x00000000
        JUMPIF >= L_0004
        PUSH V_00c1
        PUSHI #0x0000000a
        ASSPAR
        CALL
        PUSH V_0090
        PUSHI #0x00000000
        ASSVAL
        LOCATE L_0004
        LINE 2615
  2615         get next
        PUSH V_00e2
        CALL
        LINE 2616
  2616         ->inst
        JUMP L_00f3
        LINE 2617
  2617  c(139):                                      !osep (x=19)
        PUSHI #0x0000008b
        SLABEL 194
        LINE 2618
  2618  c(153):lit = 1
        PUSHI #0x00000099
        SLABEL 194
        LINE 2618
        PUSH V_0090
        PUSHI #0x00000001
        ASSVAL
        LINE 2619
  2619  inst:  pop def %IF pending # 0;              !ownt (x=0)
        LABEL L_00f3
        LINE 2619
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_00e9
        CALL
        LOCATE L_0004
        LINE 2620
  2620         op('A', lit)
        PUSH V_00a6
        PUSHI #0x00000041
        ASSPAR
        PUSH V_0090
        ASSPAR
        CALL
        LINE 2621
  2621         ocount = ocount-lit
        PUSH V_007e
        PUSH V_007e
        PUSH V_0090
        SUB
        ASSVAL
        LINE 2622
  2622         %IF ocount >= 0 %START
        PUSH V_007e
        PUSHI #0x00000000
        JUMPIF < L_0004
        LINE 2623
  2623            ->top %IF x # 0;                          !more coming
        PUSH V_0043
        PUSHI #0x00000000
        JUMPIF = L_0007
        JUMP L_00eb
        LOCATE L_0007
        LINE 2624
  2624            ocount = -1 %AND %RETURN %IF ocount = 0;  !all done
        PUSH V_007e
        PUSHI #0x00000000
        JUMPIF # L_0007
        PUSH V_007e
        PUSHI #0x00000001
        NEGATE
        ASSVAL
        RETURN
        LOCATE L_0007
        LINE 2625
  2625         %FINISH
        LOCATE L_0004
        LINE 2626
  2626         fault(11);  %RETURN
        PUSH V_00c1
        PUSHI #0x0000000b
        ASSPAR
        CALL
        LINE 2626
        RETURN
        LINE 2628
  2627  
  2628  c(swit):op('W', tag(x)_index);  inhibit = 1;  ->atop
        PUSHI #0x00000069
        SLABEL 194
        LINE 2628
        PUSH V_00a6
        PUSHI #0x00000057
        ASSPAR
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0004
        ASSPAR
        CALL
        LINE 2628
        PUSH V_00b8
        PUSHI #0x00000001
        ASSVAL
        LINE 2628
        JUMP L_00ec
        LINE 2629
  2629  c(134):def(x);                               !swid
        PUSHI #0x00000086
        SLABEL 194
        LINE 2629
        PUSH V_00e6
        PUSH V_0043
        ASSPAR
        CALL
        LINE 2630
  2630         n = ub-lb+1
        PUSH V_00d6
        PUSH V_00cf
        PUSH V_00ce
        SUB
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2631
  2631         n = (n+15)>>4;                        !slots needed (includes zero)
        PUSH V_00d6
        PUSH V_00d6
        PUSHI #0x0000000f
        ADD
        PUSHI #0x00000004
        RSH
        ASSVAL
        LINE 2632
  2632         j = dmax;  dmax = dmax+n+2
        PUSH V_00d4
        PUSH V_0073
        ASSVAL
        LINE 2632
        PUSH V_0073
        PUSH V_0073
        PUSH V_00d6
        ADD
        PUSHI #0x00000002
        ADD
        ASSVAL
        LINE 2633
  2633         abandon(1) %IF dmax >= dmin
        PUSH V_0073
        PUSH V_00ab
        JUMPIF < L_0004
        PUSH V_00a5
        PUSHI #0x00000001
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2634
  2634         tag(x)_format = j
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0002
        PUSH V_00d4
        ASSVAL
        LINE 2635
  2635         dict(j) = lb;  dict(j+1) = ub
        PUSH V_0098
        PUSH V_00d4
        ACCESS
        PUSH V_00ce
        ASSVAL
        LINE 2635
        PUSH V_0098
        PUSH V_00d4
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSH V_00cf
        ASSVAL
        LINE 2636
  2636         %CYCLE
        LOCATE L_0003
        LINE 2637
  2637            n = n-1
        PUSH V_00d6
        PUSH V_00d6
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2638
  2638            ->top %IF n < 0
        PUSH V_00d6
        PUSHI #0x00000000
        JUMPIF >= L_0007
        JUMP L_00eb
        LOCATE L_0007
        LINE 2639
  2639            j = j+1;  dict(j+1) = 0
        PUSH V_00d4
        PUSH V_00d4
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2639
        PUSH V_0098
        PUSH V_00d4
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSHI #0x00000000
        ASSVAL
        LINE 2640
  2640         %REPEAT
        REPEAT L_0003
        LINE 2641
  2641  c(151):stats = stats-1;                      !slab
        PUSHI #0x00000097
        SLABEL 194
        LINE 2641
        PUSH V_0053
        PUSH V_0053
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2642
  2642         fault(7) %AND %RETURN %IF x < tbase
        PUSH V_0043
        PUSH V_00b4
        JUMPIF >= L_0004
        PUSH V_00c1
        PUSHI #0x00000007
        ASSPAR
        CALL
        RETURN
        LOCATE L_0004
        LINE 2643
  2643         %IF pending # 0 %START;               !explicit label
        PUSH V_00dd
        PUSHI #0x00000000
        JUMPIF = L_0004
        LINE 2644
  2644            def s lab(pstack(1))
        PUSH V_00e7
        PUSH V_00de
        PUSHI #0x00000001
        ACCESS
        ASSPAR
        CALL
        LINE 2645
  2645         %FINISH %ELSE %START
        GOTO L_0003
        LOCATE L_0004
        LINE 2646
  2646            fault(4) %AND %RETURN %IF tag(x)_app # 0
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0001
        PUSHI #0x00000000
        JUMPIF = L_0007
        PUSH V_00c1
        PUSHI #0x00000004
        ASSPAR
        CALL
        RETURN
        LOCATE L_0007
        LINE 2647
  2647            tag(x)_app = 1
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0001
        PUSHI #0x00000001
        ASSVAL
        LINE 2648
  2648            n = tag(x)_format
        PUSH V_00d6
        PUSH V_0097
        PUSH V_0043
        ACCESS
        SELECT V_0002
        ASSVAL
        LINE 2649
  2649            %FOR j = dict(n), 1, dict(n+1) %CYCLE
        PUSH V_00d4
        PUSHI #0x00000001
        PUSH V_0098
        PUSH V_00d6
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSH V_0098
        PUSH V_00d6
        ACCESS
        FOR L_0006
        LINE 2650
  2650               def s lab(j)
        PUSH V_00e7
        PUSH V_00d4
        ASSPAR
        CALL
        LINE 2651
  2651               flush buffer %IF bp >= 128
        PUSH V_009a
        PUSHI #0x00000080
        JUMPIF < L_000a
        PUSH V_00a3
        CALL
        LOCATE L_000a
        LINE 2652
  2652            %REPEAT
        REPEAT L_0006
        LOCATE L_0007
        LINE 2653
  2653         %FINISH
        LOCATE L_0003
        LINE 2654
  2654         inhibit = 1
        PUSH V_00b8
        PUSHI #0x00000001
        ASSVAL
        LINE 2655
  2655         %RETURN
        RETURN
        LINE 2657
  2656  
  2657  c(140):bp=bp+1 %AND buff(bp)='p';                  ->top;          !psep
        PUSHI #0x0000008c
        SLABEL 194
        LINE 2657
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000070
        ASSVAL
        LINE 2657
        JUMP L_00eb
        LINE 2658
  2658  c(144):buff(bp+1)='p';  buff(bp+2)='E';  bp=bp+2;  ->top;          !prb
        PUSHI #0x00000090
        SLABEL 194
        LINE 2658
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ACCESS
        PUSHI #0x00000070
        ASSVAL
        LINE 2658
        PUSH V_0099
        PUSH V_009a
        PUSHI #0x00000002
        ADD
        ACCESS
        PUSHI #0x00000045
        ASSVAL
        LINE 2658
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000002
        ADD
        ASSVAL
        LINE 2658
        JUMP L_00eb
        LINE 2662
  2659  
  2660  !constant expressions
  2661  
  2662  c(155):                                      !pconst
        PUSHI #0x0000009b
        SLABEL 194
        LINE 2663
  2663         %IF x < 0 %THEN lit = tag(-x)_format %c
        PUSH V_0043
        PUSHI #0x00000000
        JUMPIF >= L_0004
        PUSH V_0090
        PUSH V_0097
        PUSH V_0043
        NEGATE
        ACCESS
        SELECT V_0002
        ASSVAL
        GOTO L_0003
        LOCATE L_0004
        PUSH V_0090
        PUSH V_008f
        PUSH V_0043
        ACCESS
        ASSVAL
        LOCATE L_0003
        LINE 2665
  2664                   %ELSE lit = lit pool(x)
  2665         pending = pending+1;     pstack(pending) = lit;  ->top
        PUSH V_00dd
        PUSH V_00dd
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2665
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        PUSH V_0090
        ASSVAL
        LINE 2665
        JUMP L_00eb
        LINE 2666
  2666  c(156):lit = pstack(pending);  lit = -lit %IF lit < 0
        PUSHI #0x0000009c
        SLABEL 194
        LINE 2666
        PUSH V_0090
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        ASSVAL
        LINE 2666
        PUSH V_0090
        PUSHI #0x00000000
        JUMPIF >= L_0004
        PUSH V_0090
        PUSH V_0090
        NEGATE
        ASSVAL
        LOCATE L_0004
        LINE 2667
  2667                                  pstack(pending) = lit;  ->top;  !cmod
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        PUSH V_0090
        ASSVAL
        LINE 2667
        JUMP L_00eb
        LINE 2668
  2668  c(157):lit = -pstack(pending);  pstack(pending) = lit;  ->top;  !csign
        PUSHI #0x0000009d
        SLABEL 194
        LINE 2668
        PUSH V_0090
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        NEGATE
        ASSVAL
        LINE 2668
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        PUSH V_0090
        ASSVAL
        LINE 2668
        JUMP L_00eb
        LINE 2669
  2669  c(158):lit = \pstack(pending);  pstack(pending) = lit;  ->top;  !cuop
        PUSHI #0x0000009e
        SLABEL 194
        LINE 2669
        PUSH V_0090
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        NOT
        ASSVAL
        LINE 2669
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        PUSH V_0090
        ASSVAL
        LINE 2669
        JUMP L_00eb
        LINE 2670
  2670  c(159):                                      !cop1
        PUSHI #0x0000009f
        SLABEL 194
        LINE 2671
  2671  c(160):                                      !cop2
        PUSHI #0x000000a0
        SLABEL 194
        LINE 2672
  2672  c(161):pending = pending-1;                  !cop3
        PUSHI #0x000000a1
        SLABEL 194
        LINE 2672
        PUSH V_00dd
        PUSH V_00dd
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2673
  2673         lit2 = pstack(pending+1);  lit = pstack(pending)
        PUSH V_00d9
        PUSH V_00de
        PUSH V_00dd
        PUSHI #0x00000001
        ADD
        ACCESS
        ASSVAL
        LINE 2673
        PUSH V_0090
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        ASSVAL
        LINE 2674
  2674         ->litop(x>>2)
        PUSH V_0043
        PUSHI #0x00000002
        RSH
        SJUMP 195
        LINE 2675
  2675  litop(10):lit = lit*lit2;   ->setl
        PUSHI #0x0000000a
        SLABEL 195
        LINE 2675
        PUSH V_0090
        PUSH V_0090
        PUSH V_00d9
        MUL
        ASSVAL
        LINE 2675
        JUMP L_00f4
        LINE 2676
  2676  litop(12):
        PUSHI #0x0000000c
        SLABEL 195
        LINE 2677
  2677  litop(3):n = 1;                              !lit = lit\\lit2
        PUSHI #0x00000003
        SLABEL 195
        LINE 2677
        PUSH V_00d6
        PUSHI #0x00000001
        ASSVAL
        LINE 2678
  2678           fault(10) %IF lit2 < 0
        PUSH V_00d9
        PUSHI #0x00000000
        JUMPIF >= L_0004
        PUSH V_00c1
        PUSHI #0x0000000a
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2679
  2679           %WHILE lit2 > 0 %CYCLE
        LOCATE L_0003
        PUSH V_00d9
        PUSHI #0x00000000
        JUMPIF <= L_0004
        LINE 2680
  2680              lit2 = lit2-1
        PUSH V_00d9
        PUSH V_00d9
        PUSHI #0x00000001
        SUB
        ASSVAL
        LINE 2681
  2681              n = n*lit
        PUSH V_00d6
        PUSH V_00d6
        PUSH V_0090
        MUL
        ASSVAL
        LINE 2682
  2682           %REPEAT
        REPEAT L_0003
        LOCATE L_0004
        LINE 2683
  2683           lit = n;           ->setl
        PUSH V_0090
        PUSH V_00d6
        ASSVAL
        LINE 2683
        JUMP L_00f4
        LINE 2684
  2684  litop(1):lit = lit<<lit2;   ->setl
        PUSHI #0x00000001
        SLABEL 195
        LINE 2684
        PUSH V_0090
        PUSH V_0090
        PUSH V_00d9
        LSH
        ASSVAL
        LINE 2684
        JUMP L_00f4
        LINE 2685
  2685  litop(2):lit = lit>>lit2;   ->setl
        PUSHI #0x00000002
        SLABEL 195
        LINE 2685
        PUSH V_0090
        PUSH V_0090
        PUSH V_00d9
        RSH
        ASSVAL
        LINE 2685
        JUMP L_00f4
        LINE 2686
  2686  litop(5):lit = lit&lit2;    ->setl
        PUSHI #0x00000005
        SLABEL 195
        LINE 2686
        PUSH V_0090
        PUSH V_0090
        PUSH V_00d9
        AND
        ASSVAL
        LINE 2686
        JUMP L_00f4
        LINE 2687
  2687  litop(11):
        PUSHI #0x0000000b
        SLABEL 195
        LINE 2688
  2688  litop(4):%IF lit2 = 0 %THEN fault(10) %ELSE lit = lit//lit2
        PUSHI #0x00000004
        SLABEL 195
        LINE 2688
        PUSH V_00d9
        PUSHI #0x00000000
        JUMPIF # L_0004
        PUSH V_00c1
        PUSHI #0x0000000a
        ASSPAR
        CALL
        GOTO L_0003
        LOCATE L_0004
        PUSH V_0090
        PUSH V_0090
        PUSH V_00d9
        QUOT
        ASSVAL
        LOCATE L_0003
        LINE 2689
  2689                              ->setl
        JUMP L_00f4
        LINE 2690
  2690  litop(8):lit = lit+lit2;    ->setl
        PUSHI #0x00000008
        SLABEL 195
        LINE 2690
        PUSH V_0090
        PUSH V_0090
        PUSH V_00d9
        ADD
        ASSVAL
        LINE 2690
        JUMP L_00f4
        LINE 2691
  2691  litop(9):lit = lit-lit2;    ->setl
        PUSHI #0x00000009
        SLABEL 195
        LINE 2691
        PUSH V_0090
        PUSH V_0090
        PUSH V_00d9
        SUB
        ASSVAL
        LINE 2691
        JUMP L_00f4
        LINE 2692
  2692  litop(6):lit = lit!lit2;    ->setl
        PUSHI #0x00000006
        SLABEL 195
        LINE 2692
        PUSH V_0090
        PUSH V_0090
        PUSH V_00d9
        OR
        ASSVAL
        LINE 2692
        JUMP L_00f4
        LINE 2693
  2693  litop(7):lit = lit!!lit2
        PUSHI #0x00000007
        SLABEL 195
        LINE 2693
        PUSH V_0090
        PUSH V_0090
        PUSH V_00d9
        XOR
        ASSVAL
        LINE 2695
  2694  
  2695  setl: pstack(pending) = lit;  ->top
        LABEL L_00f4
        LINE 2695
        PUSH V_00de
        PUSH V_00dd
        ACCESS
        PUSH V_0090
        ASSVAL
        LINE 2695
        JUMP L_00eb
        LINE 2697
  2696  
  2697  c(170):Fault(4) %if IMPCOM_Option # ""
        PUSHI #0x000000aa
        SLABEL 194
        LINE 2697
        PUSH V_003a
        SELECT V_0008
        PUSHS ""
        JUMPIF = L_0004
        PUSH V_00c1
        PUSHI #0x00000004
        ASSPAR
        CALL
        LOCATE L_0004
        LINE 2698
  2698         IMPCOM_Option = String(x-x'4000'+Stbase);      !Option string
        PUSH V_003a
        SELECT V_0008
        PUSH V_000d
        PUSH V_0043
        PUSHI #0x00004000
        SUB
        PUSH V_0071
        ADD
        ASSPAR
        CALL
        ASSVAL
        LINE 2699
  2699         ->Top
        JUMP L_00eb
        LINE 2703
  2700  
  2701  !string resolution
  2702  
  2703  c(135):resln = 2;                    ->top;           !dotl
        PUSHI #0x00000087
        SLABEL 194
        LINE 2703
        PUSH V_00cc
        PUSHI #0x00000002
        ASSVAL
        LINE 2703
        JUMP L_00eb
        LINE 2704
  2704  c(136):resln = resln+1;              ->top;           !dotr
        PUSHI #0x00000088
        SLABEL 194
        LINE 2704
        PUSH V_00cc
        PUSH V_00cc
        PUSHI #0x00000001
        ADD
        ASSVAL
        LINE 2704
        JUMP L_00eb
        LINE 2705
  2705  c(55): op('r', resln);    resln = 0; ->top;           !resop
        PUSHI #0x00000037
        SLABEL 194
        LINE 2705
        PUSH V_00a6
        PUSHI #0x00000072
        ASSPAR
        PUSH V_00cc
        ASSPAR
        CALL
        LINE 2705
        PUSH V_00cc
        PUSHI #0x00000000
        ASSVAL
        LINE 2705
        JUMP L_00eb
        LINE 2706
  2706  c(164):op('r', resln+4);  resln = 0;                  !cresop
        PUSHI #0x000000a4
        SLABEL 194
        LINE 2706
        PUSH V_00a6
        PUSHI #0x00000072
        ASSPAR
        PUSH V_00cc
        PUSHI #0x00000004
        ADD
        ASSPAR
        CALL
        LINE 2706
        PUSH V_00cc
        PUSHI #0x00000000
        ASSVAL
        LINE 2707
  2707  c(122):x = 6;                        ->cop;           !%PRED
        PUSHI #0x0000007a
        SLABEL 194
        LINE 2707
        PUSH V_0043
        PUSHI #0x00000006
        ASSVAL
        LINE 2707
        JUMP L_00f0
        LINE 2708
  2708  c(87): set const(pstack(1));                          !mass
        PUSHI #0x00000057
        SLABEL 194
        LINE 2708
        PUSH V_00a7
        PUSH V_00de
        PUSHI #0x00000001
        ACCESS
        ASSPAR
        CALL
        LINE 2709
  2709         bp=bp+1 %AND buff(bp)='P';    ->top
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x00000050
        ASSVAL
        LINE 2709
        JUMP L_00eb
        LINE 2710
  2710     %END
        END
        LOCATE L_0000
        LINE 2712
  2711  
  2712  %END;                                                 !of compile block
        END
        LOCATE L_0000
        LINE 2714
  2713  
  2714     %ON 9 %START
        ON 2c00 L_0200
?        <4>
        LINE 2715
  2715        abandon(5)
        PUSH V_00a5
        PUSHI #0x00000005
        ASSPAR
        CALL
        LINE 2716
  2716     %FINISH
        LOCATE L_0004
        LINE 2718
  2717  
  2718  impcom_flags = 0
        PUSH V_003a
        SELECT V_0002
        PUSHI #0x00000000
        ASSVAL
        LINE 2719
  2719  impcom_option = ""
        PUSH V_003a
        SELECT V_0008
        PUSHS ""
        ASSVAL
        LINE 2721
  2720  
  2721     list = 15 %IF Impcom_Flags&x'1000' # 0
        PUSH V_003a
        SELECT V_0002
        PUSHI #0x00001000
        AND
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_0093
        PUSHI #0x0000000f
        ASSVAL
        LOCATE L_0004
        LINE 2723
  2722  
  2723     open output(2, "LISTING");
        PUSH V_0037
        PUSHI #0x00000002
        ASSPAR
        PUSHS "LISTING"
        ASSPAR
        CALL
        LINE 2724
  2724     open input(2, "prims.inc");
        PUSH V_0038
        PUSHI #0x00000002
        ASSPAR
        PUSHS "prims.inc"
        ASSPAR
        CALL
        LINE 2725
  2725     select input(2);  selectoutput(listing)
        PUSH V_001f
        PUSHI #0x00000002
        ASSPAR
        CALL
        LINE 2725
        PUSH V_0020
        PUSHI #0x00000002
        ASSPAR
        CALL
        LINE 2726
  2726     tag(max tag) = 0;                       !%BEGIN defn
        PUSH V_0097
        PUSHI #0x00000320
        ACCESS
        PUSHI #0x00000000
        ASSVAL
        LINE 2727
  2727     tag(0) = 0;  tag(0)_flags = 7;          !%BEGIN tag!
        PUSH V_0097
        PUSHI #0x00000000
        ACCESS
        PUSHI #0x00000000
        ASSVAL
        LINE 2727
        PUSH V_0097
        PUSHI #0x00000000
        ACCESS
        SELECT V_0003
        PUSHI #0x00000007
        ASSVAL
        LINE 2728
  2728     Hash(x) = 0 %FOR x = 0, 1, max names
        PUSH V_0043
        PUSHI #0x00000001
        PUSHI #0x000007ff
        PUSHI #0x00000000
        FOR L_0003
        PUSH V_0096
        PUSH V_0043
        ACCESS
        PUSHI #0x00000000
        ASSVAL
        REPEAT L_0003
        LOCATE L_0004
        LINE 2729
  2729     printstring("         Edinburgh IMP77 Compiler - Version ")
        PUSH V_001d
        PUSHS "         Edinburgh IMP77 Compiler - Version "
        ASSPAR
        CALL
        LINE 2730
  2730     printstring(version);  newlines(2)
        PUSH V_001d
        PUSH V_003b
        ASSPAR
        CALL
        LINE 2730
        PUSH V_0031
        PUSHI #0x00000002
        ASSPAR
        CALL
        LINE 2731
  2731     op('l', 0)
        PUSH V_00a6
        PUSHI #0x0000006c
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 2732
  2732     compile block(0, 0, max dict, 0, 0)
        PUSH V_00a8
        PUSHI #0x00000000
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        PUSHI #0x00001770
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        PUSHI #0x00000000
        ASSPAR
        CALL
        LINE 2733
  2733     bp=bp+1 %AND buff(bp)=nl                {for bouncing off}
        PUSH V_009a
        PUSH V_009a
        PUSHI #0x00000001
        ADD
        ASSVAL
        PUSH V_0099
        PUSH V_009a
        ACCESS
        PUSHI #0x0000000a
        ASSVAL
        LINE 2734
  2734     flush buffer
        PUSH V_00a3
        CALL
        LINE 2735
  2735     Impcom_Statements = stats
        PUSH V_003a
        SELECT V_0001
        PUSH V_0053
        ASSVAL
        LINE 2736
  2736     Impcom_Statements = -faulty %IF faulty # 0
        PUSH V_004b
        PUSHI #0x00000000
        JUMPIF = L_0004
        PUSH V_003a
        SELECT V_0001
        PUSH V_004b
        NEGATE
        ASSVAL
        LOCATE L_0004
        LINE 2737
  2737  %ENDOFPROGRAM
        END
        END
