         Edinburgh IMP77 Compiler - Version 8.4
    1 %external %routine %spec close output
		.Ltext0:
		_imp_SELECTINPUT:
		.LFB93:
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				cmpl	$0, 8(%ebp)
				js	.L4
				movl	_imp_InStream@GOT(%eax), %edx
				movl	8(%ebp), %ecx
				movl	%ecx, (%edx)
				movl	_imp_infile@GOT(%eax), %ecx
				movl	8(%ebp), %edx
				imull	$276, %edx, %edx
				addl	%ecx, %edx
				addl	$4, %edx
				movl	(%edx), %ecx
				movl	_imp_InFile@GOT(%eax), %edx
				movl	%ecx, (%edx)
				subl	$12, %esp
				leal	__PRETTY_FUNCTION__.5621@GOTOFF(%eax), %edx
				pushl	%edx
				movl	%eax, %ebx
				call	check_instream@PLT
				addl	$16, %esp
				jmp	.L1
		.L4:
				nop
		.L1:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE93:
		_imp_SELECTOUTPUT:
		.LFB94:
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				cmpl	$0, 8(%ebp)
				js	.L8
				movl	_imp_OutStream@GOT(%eax), %edx
				movl	8(%ebp), %ecx
				movl	%ecx, (%edx)
				movl	_imp_outfile@GOT(%eax), %ecx
				movl	8(%ebp), %edx
				imull	$276, %edx, %edx
				addl	%ecx, %edx
				addl	$4, %edx
				movl	(%edx), %ecx
				movl	_imp_OutFile@GOT(%eax), %edx
				movl	%ecx, (%edx)
				subl	$12, %esp
				leal	__PRETTY_FUNCTION__.5625@GOTOFF(%eax), %edx
				pushl	%edx
				movl	%eax, %ebx
				call	check_outstream@PLT
				addl	$16, %esp
				jmp	.L5
		.L8:
				nop
		.L5:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE94:
				.comm	IMPCOM,536,32
				.section	.rodata
		.LC69:
				.string	"Illegal cycle J = 1, 1, BP"
				.align 32
		.LC9:
				.byte	28
				.string	"test-in/pass1v84-noprims.imp"
				.zero	226
		FLUSHBUFFER.6188:
		.LFB190:
    2 %external %routine %spec close input
    3 %external %routine %spec open output(%integer i, %string(255) s)
    4 %external %routine %spec open input(%integer i, %string(255) s)
    5 %recordformat impcomfm(%integer statements, flags, code, gla, diags, perm,
    6                         %string(31) file,
    7                         %string(63) Option)
    8 %externalrecord(impcomfm) IMPCOM
    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
				leal	4(%esp), %ecx
				andl	$-16, %esp
				pushl	-4(%ecx)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				pushl	%ecx
				subl	$108664, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%esi, -108672(%ebp)
				movl	%ecx, %eax
				movl	4(%eax), %edx
				movl	%edx, -108668(%ebp)
				movl	%gs:20, %ebx
				movl	%ebx, -28(%ebp)
				xorl	%ebx, %ebx
				leal	8(%ebp), %edx
				movl	%edx, -544(%ebp)
				subl	$8, %esp
				pushl	-108668(%ebp)
				pushl	(%eax)
				movl	%esi, %ebx
				call	_imp_initialise@PLT
				addl	$16, %esp
   24    %CONSTSTRING(4) version = "8.4"
   25
   26    !configuration parameters
   27
   28    %CONSTINTEGER max int      = ((-1)>>1)//10
   29    %CONSTINTEGER max dig      = (-1)>>1-maxint*10
   30    %CONSTINTEGER byte size    = 8;            !bits per byte
   31    %CONSTINTEGER max tag      = 800;          !max no. of tags
   32    %CONSTINTEGER max dict     = 6000;         !max extent of dictionary
   33    %CONSTINTEGER name bits    = 11
   34    %CONSTINTEGER max names    = 1<<namebits-1
   35    %OWNINTEGER   spare names  = max names
   36    %CONSTINTEGER max grammar  = 1720
   37    %CONSTINTEGER lit max      = 50;           !max no. of constants/stat.
   38    %CONSTINTEGER rec size     = 520;          !size of analysis record
   39    %CONSTINTEGER dim limit    = 6;            !maximum array dimension
   40
   41    !symbols
   42
   43    %CONSTINTEGER ff     = 12;              !form feed
   44    %CONSTINTEGER marker = '^';             !marker for faults
   45    %CONSTINTEGER squote = '"';             !string quote
   46    %CONSTINTEGER cquote = '''';            !character quote
   47
   48    !streams
   49
   50    %CONSTINTEGER source = 1; ! input streams
   51    ! 2 is for prims
   52    ! 3 is for include files
   53    %CONSTINTEGER report = 0, object = 1, listing = 2;! output streams
   54
   55
   56    !types
   57
   58    %CONSTINTEGER integer = 1
   59    %CONSTINTEGER real    = 2
   60    %CONSTINTEGER stringv = 3
   61    %CONSTINTEGER record  = 4
   62
   63    !forms
   64
   65    %CONSTINTEGER iform = integer<<4+1
   66
   67    %CONSTINTEGER var = 91
   68    %CONSTINTEGER const   = 93
   69    %CONSTINTEGER swit    = 105
   70    %CONSTINTEGER comment = 22
   71    %CONSTINTEGER termin  = 20
   72    %CONSTINTEGER lab     = 3
   73    %CONSTINTEGER jump    = 54
   74
   75    %CONSTINTEGER recfm = 4
   76    %CONSTINTEGER proc  = 7;                     !class for proc
   77
   78    !phrase entries
   79
   80    %CONSTINTEGER escdec   = 252
   81    %CONSTINTEGER escproc  = 253
   82    %CONSTINTEGER escarray = 254
   83    %CONSTINTEGER escrec   = 255
   84
   85    %RECORDFORMAT arfm(%SHORTINTEGER class,sub,link,ptype,papp,pformat,x,pos);!imp77:
   86 !emas:%RECORDFORMAT arfm(%INTEGER class,sub,link,ptype,papp,pformat,x,pos)
   87
   88    %RECORDFORMAT tagfm(%INTEGER app, format, %C
   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',
  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'
  118    %CONSTINTEGER error      = x'8000'
  119
  120    %CONSTINTEGER manifest = 120, figurative = 130
  121    %CONSTINTEGER actions  = 180, phrasal    = 200
  122
  123    %CONSTBYTEINTEGERARRAY amap(0:15) = %C
				movb	$89, -66866(%ebp)
				movb	$91, -66865(%ebp)
				movb	$92, -66864(%ebp)
				movb	$104, -66863(%ebp)
				movb	$94, -66862(%ebp)
				movb	$93, -66861(%ebp)
				movb	$105, -66860(%ebp)
				movb	$100, -66859(%ebp)
				movb	$101, -66858(%ebp)
				movb	$102, -66857(%ebp)
				movb	$103, -66856(%ebp)
				movb	$106, -66855(%ebp)
				movb	$107, -66854(%ebp)
				movb	$108, -66853(%ebp)
				movb	$109, -66852(%ebp)
				movb	$89, -66851(%ebp)
				leal	-108648(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$38902, %eax
				movl	%eax, -108648(%ebp)
				movl	$1, -108644(%ebp)
  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,
				movb	$89, -66932(%ebp)
				movb	$1, -66931(%ebp)
				movb	$1, -66930(%ebp)
				movb	$10, -66929(%ebp)
				movb	$9, -66928(%ebp)
				movb	$1, -66927(%ebp)
				movb	$10, -66926(%ebp)
				movb	$7, -66925(%ebp)
				movb	$7, -66924(%ebp)
				movb	$7, -66923(%ebp)
				movb	$7, -66922(%ebp)
				movb	$4, -66921(%ebp)
				movb	$1, -66920(%ebp)
				movb	$4, -66919(%ebp)
				movb	$1, -66918(%ebp)
				movb	$89, -66917(%ebp)
				leal	-108580(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$38836, %eax
				movl	%eax, -108580(%ebp)
				movl	$1, -108576(%ebp)
  128                                          7, 7, 7,  4,  1,  4,  1, 89
  129
  130    %RECORD(arfm)%ARRAY ar(1:rec size)
				leal	-108512(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$13028, %eax
				movl	%eax, -108512(%ebp)
				movl	$16, -108508(%ebp)
  131
  132    %OWNINTEGER class        = 0;             !class of atom wanted
  133    %OWNINTEGER x            = 0;             !usually last tag
  134    %OWNINTEGER atom1        = 0;             !atom class (major)
  135    %OWNINTEGER atom2        = 0;             !atom class (minor)
  136    %OWNINTEGER subatom      = 0;             !extra info about atom
  137    %OWNINTEGER type         = 0,
  138                app          = 0,
  139                format       = 0;             !atom info
  140    %INTEGER hash value
  141    %OWNINTEGER faulty       = 0;             !fault indicator
  142    %OWNINTEGER fault rate   = 0;             !fault rate count
  143    %OWNINTEGER lines        = 0;             !current line number
  144    %OWNINTEGER text line    = 0;             !starting line for string const
  145    %OWNINTEGER margin       = 0;             !statement start margin
  146    %OWNINTEGER error margin = 0,
  147                error sym    = 0,
  148                column       = 0
  149    %OWNINTEGER stats        = 0;             !statements compiled
  150    %OWNINTEGER mon pos      = 0;             !flag for diagnose
  151    %OWNINTEGER sym          = nl;            !current input symbol
  152    %OWNINTEGER symtype      = 0;             !type of current symbol
  153    %OWNINTEGER quote        = 0;             !>0 strings, <0 chars
  154    %owninteger end mark     = 0;             !%end flag
  155    %OWNINTEGER cont         = ' ',
  156                csym         = ' ';           !listing continuation marker
  157    %OWNINTEGER decl         = 0;             !current declarator flags
  158    %OWNINTEGER dim          = 0;             !arrayname dimension
  159    %OWNINTEGER spec given   = 0
  160
  161    %OWNINTEGER escape class = 0;             !when and where to escape
  162    %OWNINTEGER protection   = 0,
  163                atom flags   = 0
  164    %OWNINTEGER otype        = 0;             !current 'own' type
  165    %OWNINTEGER reals ln     = 1;             ! =4 for %REALSLONG
  166    %OWNINTEGER last1        = 0;             !previous atom class
  167    %OWNINTEGER gen type     = 0
  168    %OWNINTEGER ptype        = 0;             !current phrase type
  169    %OWNINTEGER papp         = 0;             !current phrase parameters
  170    %OWNINTEGER pformat      = 0;             !current phrase format
  171    %OWNINTEGER force        = 0;             !force next ptype
  172    %OWNINTEGER g            = 0,
  173                gg           = 0,
  174                map gg       = 0;             !grammar entries
  175    %OWNINTEGER fdef         = 0;             !current format definition
  176    %OWNINTEGER this         = -1;            !current recordformat tag
  177    %OWNINTEGER nmin         = 0;             !analysis record atom pointer
  178    %OWNINTEGER nmax         = 0;             !analysis record phrase pointer
  179    %OWNINTEGER rbase        = 0;             !record format definition base
  180    %OWNINTEGER stbase       = 0;             !constant work area base
  181    %OWNINTEGER gmin         = max grammar;   !upper bound on grammar
  182    %OWNINTEGER dmax         = 1
  183    %OWNINTEGER tmin         = max tag;       !upper bound on tags
  184    %OWNINTEGER ss           = 0;             !source statement entry
  185    %STRING(63) include file
  186    %OWNINTEGER include list = 0,
  187                include level= 0
  188    %OWNINTEGER include      = 0;                 !=0 unused, #0 being used
  189    %OWNINTEGER perm         = 1;             !1 = compiling perm, 0 = program
  190    %OWNINTEGER progmode     = 0;             !-1 = file, 1 = begin/eop
  191    %OWNINTEGER sstype       = 0;             !-1:exec stat
  192                                              ! 0: declaration
  193                                              ! 1: block in
  194                                              ! 2: block out
  195    %OWNINTEGER spec mode    = 0;             !>=0: definition
  196                                              ! -1: proc spec
  197                                              ! -2: recordformat
  198    %OWNINTEGER ocount       = -1;            !own constants wanted
  199    %OWNINTEGER limit        = 0;             !lookup limit
  200    %OWNINTEGER copy         = 0;             !duplicate name flag
  201    %OWNINTEGER order        = 0;             !out of sequence flag
  202    %OWNINTEGER for warn     = 0;             !non-local flag
  203    %OWNINTEGER dubious      = 0;             !flag for dubious statements
  204    %OWNINTEGER dp           = 1
  205    %OWNINTEGER pos1         = 0,
  206                pos2         = 0;             !error position
  207    %OWNINTEGER pos          = 0;             !input line index
  208    %OWNINTEGER dimension    = 0;             !current array dimension
  209    %OWNINTEGER local        = 0;             !search limit for locals
  210    %OWNINTEGER fm base      = 0;             !entry for format decls
  211    %OWNINTEGER search base  = 0;             !entry for record_names
  212    %OWNINTEGER format list  = 0;             !size of current format list
  213    %INTEGER recid
  214    %OWNBYTEINTEGERARRAY char(0:133) = nl(134);  !input line
				leal	-108444(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				movl	%esi, %ebx
				leal	CHAR.6153@GOTOFF(%ebx), %eax
				movl	%eax, -108444(%ebp)
				movl	$1, -108440(%ebp)
  215    %INTEGERARRAY lit pool(0:lit max)
				leal	-108376(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				movl	%eax, -108376(%ebp)
				movl	$4, -108372(%ebp)
  216    %OWNINTEGER lit          = 0;             !current literal (integer)
  217    %OWNINTEGER lp           = 0;             !literals pointer
  218    %OWNINTEGER block x      = 0;             !block tag
  219    %OWNINTEGER list         = 1;             !<= to enable
  220    %OWNINTEGER control      = 0
  221    %OWNINTEGER diag         = 0;             !diagnose flags
  222    %SHORTINTEGERARRAY hash(0:max names)
				leal	-108308(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$21588, %eax
				movl	%eax, -108308(%ebp)
				movl	$2, -108304(%ebp)
  223    %RECORD(tagfm)%ARRAY tag(0:max tag)
				leal	-108240(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$212, %eax
				movl	%eax, -108240(%ebp)
				movl	$16, -108236(%ebp)
  224    %SHORTINTEGERARRAY dict(1:max dict)
				leal	-108172(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$26836, %eax
				movl	%eax, -108172(%ebp)
				movl	$2, -108168(%ebp)
  225    %BYTEINTEGERARRAY buff(1:512)
				leal	-108104(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$104710, %eax
				movl	%eax, -108104(%ebp)
				movl	$1, -108100(%ebp)
  226    %OWNINTEGER bp           = 0
  227
  228 !*** start of generated tables ***
  229    %endoflist
  575 !***  end  of generated tables ***
				leal	-66850(%ebp), %eax
				movl	$65536, %edx
				subl	$4, %esp
				pushl	%edx
				pushl	$0
				pushl	%eax
				movl	%esi, %ebx
				call	memset@PLT
				addl	$16, %esp
				movb	$1, -66850(%ebp)
				movl	$90, -66849(%ebp)
				movl	$0, -66845(%ebp)
				movb	$4, -66594(%ebp)
				movl	$1128612950, -66593(%ebp)
				movl	$0, -66589(%ebp)
				movb	$7, -66338(%ebp)
				movl	$1447974735, -66337(%ebp)
				movl	$4408644, -66333(%ebp)
				movb	$8, -66082(%ebp)
				movl	$1448368197, -66081(%ebp)
				movl	$1128616019, -66077(%ebp)
				movb	$4, -65826(%ebp)
				movl	$1128612929, -65825(%ebp)
				movl	$0, -65821(%ebp)
				movb	$7, -65570(%ebp)
				movl	$1095653199, -65569(%ebp)
				movl	$4408644, -65565(%ebp)
				movb	$8, -65314(%ebp)
				movl	$1096046661, -65313(%ebp)
				movl	$1128616019, -65309(%ebp)
				movb	$4, -65058(%ebp)
				movl	$1129271888, -65057(%ebp)
				movl	$0, -65053(%ebp)
				movb	$8, -64802(%ebp)
				movl	$1129271888, -64801(%ebp)
				movl	$1128616019, -64797(%ebp)
				movb	$7, -64546(%ebp)
				movl	$1297239878, -64545(%ebp)
				movl	$4408644, -64541(%ebp)
				movb	$5, -64290(%ebp)
				movl	$1162106707, -64289(%ebp)
				movl	$67, -64285(%ebp)
				movb	$4, -64034(%ebp)
				movl	$1128612940, -64033(%ebp)
				movl	$0, -64029(%ebp)
				movb	$8, -63778(%ebp)
				movl	$1297239878, -63777(%ebp)
				movl	$1128616019, -63773(%ebp)
				movb	$6, -62242(%ebp)
				movl	$1230262351, -62241(%ebp)
				movl	$20047, -62237(%ebp)
				movb	$5, -61986(%ebp)
				movl	$1296912195, -61985(%ebp)
				movl	$65, -61981(%ebp)
				movb	$1, -61730(%ebp)
				movl	$84, -61729(%ebp)
				movl	$0, -61725(%ebp)
				movb	$5, -61474(%ebp)
				movl	$1330401091, -61473(%ebp)
				movl	$78, -61469(%ebp)
				movb	$7, -61218(%ebp)
				movl	$1296912195, -61217(%ebp)
				movl	$5525061, -61213(%ebp)
				movb	$2, -60962(%ebp)
				movl	$16972, -60961(%ebp)
				movl	$0, -60957(%ebp)
				movb	$5, -60706(%ebp)
				movl	$1095322689, -60705(%ebp)
				movl	$83, -60701(%ebp)
				movb	$2, -60450(%ebp)
				movl	$16978, -60449(%ebp)
				movl	$0, -60445(%ebp)
				movb	$3, -60194(%ebp)
				movl	$4347219, -60193(%ebp)
				movl	$0, -60189(%ebp)
				movb	$6, -59938(%ebp)
				movl	$1095914049, -59937(%ebp)
				movl	$17497, -59933(%ebp)
				movb	$5, -59682(%ebp)
				movl	$1348031571, -59681(%ebp)
				movl	$69, -59677(%ebp)
				movb	$5, -59426(%ebp)
				movl	$1095914049, -59425(%ebp)
				movl	$89, -59421(%ebp)
				movb	$4, -59170(%ebp)
				movl	$1162690894, -59169(%ebp)
				movl	$0, -59165(%ebp)
				movb	$5, -58914(%ebp)
				movl	$1129271888, -58913(%ebp)
				movl	$68, -58909(%ebp)
				movb	$5, -58658(%ebp)
				movl	$1095585350, -58657(%ebp)
				movl	$80, -58653(%ebp)
				movb	$6, -58402(%ebp)
				movl	$1414092627, -58401(%ebp)
				movl	$18499, -58397(%ebp)
				movb	$3, -58146(%ebp)
				movl	$5134159, -58145(%ebp)
				movl	$0, -58141(%ebp)
				movb	$8, -57890(%ebp)
				movl	$1163155525, -57889(%ebp)
				movl	$1279348306, -57885(%ebp)
				movb	$6, -57634(%ebp)
				movl	$1230132307, -57633(%ebp)
				movl	$18254, -57629(%ebp)
				movb	$6, -57378(%ebp)
				movl	$1329808722, -57377(%ebp)
				movl	$17490, -57373(%ebp)
				movb	$6, -57122(%ebp)
				movl	$1297239878, -57121(%ebp)
				movl	$21569, -57117(%ebp)
				movb	$4, -56866(%ebp)
				movl	$1128616019, -56865(%ebp)
				movl	$0, -56861(%ebp)
				movb	$5, -56610(%ebp)
				movl	$1146045261, -56609(%ebp)
				movl	$69, -56605(%ebp)
				movb	$5, -56354(%ebp)
				movl	$1161969996, -56353(%ebp)
				movl	$76, -56349(%ebp)
				movb	$3, -56098(%ebp)
				movl	$3231823, -56097(%ebp)
				movl	$0, -56093(%ebp)
				movb	$3, -55842(%ebp)
				movl	$3297359, -55841(%ebp)
				movl	$0, -55837(%ebp)
				movb	$3, -55586(%ebp)
				movl	$3362895, -55585(%ebp)
				movl	$0, -55581(%ebp)
				movb	$4, -55330(%ebp)
				movl	$1313294675, -55329(%ebp)
				movl	$0, -55325(%ebp)
				movb	$3, -55074(%ebp)
				movl	$5263189, -55073(%ebp)
				movl	$0, -55069(%ebp)
				movb	$3, -54818(%ebp)
				movl	$4476749, -54817(%ebp)
				movl	$0, -54813(%ebp)
				movb	$3, -54562(%ebp)
				movl	$5525316, -54561(%ebp)
				movl	$0, -54557(%ebp)
				movb	$4, -54306(%ebp)
				movl	$1347243843, -54305(%ebp)
				movl	$0, -54301(%ebp)
				movb	$5, -54050(%ebp)
				movl	$1297040193, -54049(%ebp)
				movl	$80, -54045(%ebp)
				movb	$2, -53794(%ebp)
				movl	$20805, -53793(%ebp)
				movl	$0, -53789(%ebp)
				movb	$4, -53538(%ebp)
				movl	$1363497285, -53537(%ebp)
				movl	$0, -53533(%ebp)
				movb	$3, -53282(%ebp)
				movl	$5062986, -53281(%ebp)
				movl	$0, -53277(%ebp)
				movb	$4, -53026(%ebp)
				movl	$1347245386, -53025(%ebp)
				movl	$0, -53021(%ebp)
				movb	$5, -52770(%ebp)
				movl	$1330857298, -52769(%ebp)
				movl	$80, -52765(%ebp)
				movb	$3, -52514(%ebp)
				movl	$4476481, -52513(%ebp)
				movl	$0, -52509(%ebp)
				movb	$2, -52258(%ebp)
				movl	$21071, -52257(%ebp)
				movl	$0, -52253(%ebp)
				movb	$3, -52002(%ebp)
				movl	$5525326, -52001(%ebp)
				movl	$0, -51997(%ebp)
				movb	$5, -51746(%ebp)
				movl	$1279871063, -51745(%ebp)
				movl	$69, -51741(%ebp)
				movb	$5, -51490(%ebp)
				movl	$1230261845, -51489(%ebp)
				movl	$76, -51485(%ebp)
				movb	$3, -51234(%ebp)
				movl	$5394246, -51233(%ebp)
				movl	$0, -51229(%ebp)
				movb	$5, -50978(%ebp)
				movl	$1380931395, -50977(%ebp)
				movl	$68, -50973(%ebp)
				movb	$4, -50722(%ebp)
				movl	$1414092869, -50721(%ebp)
				movl	$0, -50717(%ebp)
				movb	$2, -50466(%ebp)
				movl	$20047, -50465(%ebp)
				movl	$0, -50461(%ebp)
				movb	$6, -50210(%ebp)
				movl	$1313294675, -50209(%ebp)
				movl	$19521, -50205(%ebp)
				movb	$4, -49954(%ebp)
				movl	$1313163348, -49953(%ebp)
				movl	$0, -49949(%ebp)
				movb	$5, -49698(%ebp)
				movl	$1380013139, -49697(%ebp)
				movl	$84, -49693(%ebp)
				movb	$4, -49442(%ebp)
				movl	$1163086917, -49441(%ebp)
				movl	$0, -49437(%ebp)
				movb	$6, -49186(%ebp)
				movl	$1229867334, -49185(%ebp)
				movl	$18515, -49181(%ebp)
				movb	$5, -48930(%ebp)
				movl	$1397507398, -48929(%ebp)
				movl	$69, -48925(%ebp)
				movb	$5, -48674(%ebp)
				movl	$1279482179, -48673(%ebp)
				movl	$69, -48669(%ebp)
				movb	$6, -48418(%ebp)
				movl	$1162888530, -48417(%ebp)
				movl	$21569, -48413(%ebp)
				movb	$7, -48162(%ebp)
				movl	$1196380752, -48161(%ebp)
				movl	$5062994, -48157(%ebp)
				movb	$5, -47906(%ebp)
				movl	$1229407554, -47905(%ebp)
				movl	$78, -47901(%ebp)
				movb	$3, -47650(%ebp)
				movl	$4476485, -47649(%ebp)
				movl	$0, -47645(%ebp)
				movb	$7, -47394(%ebp)
				movl	$1346653765, -47393(%ebp)
				movl	$4673362, -47389(%ebp)
				movb	$7, -47138(%ebp)
				movl	$1346653765, -47137(%ebp)
				movl	$5067333, -47133(%ebp)
				movb	$7, -46882(%ebp)
				movl	$1397051974, -46881(%ebp)
				movl	$5524565, -46877(%ebp)
				movb	$7, -46626(%ebp)
				movl	$1397051981, -46625(%ebp)
				movl	$5524565, -46621(%ebp)
				movb	$4, -46370(%ebp)
				movl	$1262698818, -46369(%ebp)
				movl	$0, -46365(%ebp)
				movb	$7, -46114(%ebp)
				movl	$1229868877, -46113(%ebp)
				movl	$5394260, -46109(%ebp)
				movb	$4, -45858(%ebp)
				movl	$1347376211, -45857(%ebp)
				movl	$0, -45853(%ebp)
				movb	$4, -45602(%ebp)
				movl	$1414744396, -45601(%ebp)
				movl	$0, -45597(%ebp)
				movb	$7, -45346(%ebp)
				movl	$1279346002, -45345(%ebp)
				movl	$5131347, -45341(%ebp)
				movb	$7, -45090(%ebp)
				movl	$1414418243, -45089(%ebp)
				movl	$5001042, -45085(%ebp)
				movb	$7, -44834(%ebp)
				movl	$1279479369, -44833(%ebp)
				movl	$4539477, -44829(%ebp)
				movb	$4, -44578(%ebp)
				movl	$1397965133, -44577(%ebp)
				movl	$0, -44573(%ebp)
				movb	$5, -44322(%ebp)
				movl	$1348031570, -44321(%ebp)
				movl	$69, -44317(%ebp)
				movb	$5, -44066(%ebp)
				movl	$1329873985, -44065(%ebp)
				movl	$80, -44061(%ebp)
				movb	$5, -43810(%ebp)
				movl	$1313162313, -43809(%ebp)
				movl	$84, -43805(%ebp)
				movb	$1, -43554(%ebp)
				movl	$86, -43553(%ebp)
				movl	$0, -43549(%ebp)
				movb	$1, -43298(%ebp)
				movl	$78, -43297(%ebp)
				movl	$0, -43293(%ebp)
				movb	$5, -43042(%ebp)
				movl	$1397641027, -43041(%ebp)
				movl	$84, -43037(%ebp)
				movb	$2, -42786(%ebp)
				movl	$19782, -42785(%ebp)
				movl	$0, -42781(%ebp)
				movb	$1, -42274(%ebp)
				movl	$82, -42273(%ebp)
				movl	$0, -42269(%ebp)
				movb	$1, -42018(%ebp)
				movl	$70, -42017(%ebp)
				movl	$0, -42013(%ebp)
				movb	$1, -41762(%ebp)
				movl	$77, -41761(%ebp)
				movl	$0, -41757(%ebp)
				movb	$1, -41506(%ebp)
				movl	$80, -41505(%ebp)
				movl	$0, -41501(%ebp)
				movb	$2, -41250(%ebp)
				movl	$20562, -41249(%ebp)
				movl	$0, -41245(%ebp)
				movb	$2, -40994(%ebp)
				movl	$20550, -40993(%ebp)
				movl	$0, -40989(%ebp)
				movb	$2, -40738(%ebp)
				movl	$20557, -40737(%ebp)
				movl	$0, -40733(%ebp)
				movb	$2, -40482(%ebp)
				movl	$20560, -40481(%ebp)
				movl	$0, -40477(%ebp)
				movb	$1, -40226(%ebp)
				movl	$76, -40225(%ebp)
				movl	$0, -40221(%ebp)
				movb	$1, -39970(%ebp)
				movl	$83, -39969(%ebp)
				movl	$0, -39965(%ebp)
				movb	$1, -39714(%ebp)
				movl	$65, -39713(%ebp)
				movl	$0, -39709(%ebp)
				movb	$2, -39458(%ebp)
				movl	$20033, -39457(%ebp)
				movl	$0, -39453(%ebp)
				movb	$2, -39202(%ebp)
				movl	$16718, -39201(%ebp)
				movl	$0, -39197(%ebp)
				movb	$3, -38946(%ebp)
				movl	$5128526, -38945(%ebp)
				movl	$0, -38941(%ebp)
				movb	$7, -36130(%ebp)
				movl	$1414745381, -36129(%ebp)
				movl	$5526081, -36125(%ebp)
				movb	$6, -35874(%ebp)
				movl	$1162625829, -35873(%ebp)
				movl	$21057, -35869(%ebp)
				movb	$5, -35618(%ebp)
				movl	$1163022373, -35617(%ebp)
				movl	$68, -35613(%ebp)
				movb	$8, -35106(%ebp)
				movl	$1112884261, -35105(%ebp)
				movl	$1398099785, -35101(%ebp)
				movb	$4, -34850(%ebp)
				movl	$1347765285, -34849(%ebp)
				movl	$0, -34845(%ebp)
				movb	$4, -34594(%ebp)
				movl	$1313427493, -34593(%ebp)
				movl	$0, -34589(%ebp)
				movb	$5, -34338(%ebp)
				movl	$1431261221, -34337(%ebp)
				movl	$84, -34333(%ebp)
				movb	$5, -34082(%ebp)
				movl	$1430537509, -34081(%ebp)
				movl	$80, -34077(%ebp)
				movb	$6, -33570(%ebp)
				movl	$1162103120, -33569(%ebp)
				movl	$21582, -33565(%ebp)
				movb	$6, -33314(%ebp)
				movl	$1162103107, -33313(%ebp)
				movl	$21582, -33309(%ebp)
				movb	$6, -33058(%ebp)
				movl	$1162103119, -33057(%ebp)
				movl	$21582, -33053(%ebp)
				movb	$5, -32802(%ebp)
				movl	$1296125510, -32801(%ebp)
				movl	$69, -32797(%ebp)
				movb	$4, -32546(%ebp)
				movl	$1145657171, -32545(%ebp)
				movl	$0, -32541(%ebp)
				movb	$4, -32290(%ebp)
				movl	$1280593732, -32289(%ebp)
				movl	$0, -32285(%ebp)
				movb	$4, -32034(%ebp)
				movl	$1381257028, -32033(%ebp)
				movl	$0, -32029(%ebp)
				movb	$4, -31778(%ebp)
				movl	$1346720577, -31777(%ebp)
				movl	$0, -31773(%ebp)
				movb	$4, -31522(%ebp)
				movl	$1346720579, -31521(%ebp)
				movl	$0, -31517(%ebp)
				movb	$4, -31266(%ebp)
				movl	$1346720591, -31265(%ebp)
				movl	$0, -31261(%ebp)
				movb	$4, -31010(%ebp)
				movl	$1346720592, -31009(%ebp)
				movl	$0, -31005(%ebp)
				movb	$3, -30754(%ebp)
				movl	$4346433, -30753(%ebp)
				movl	$0, -30749(%ebp)
				movb	$5, -30498(%ebp)
				movl	$1380732994, -30497(%ebp)
				movl	$66, -30493(%ebp)
				movb	$3, -30242(%ebp)
				movl	$4346447, -30241(%ebp)
				movl	$0, -30237(%ebp)
				movb	$3, -29986(%ebp)
				movl	$4346448, -29985(%ebp)
				movl	$0, -29981(%ebp)
				movb	$3, -29730(%ebp)
				movl	$4346435, -29729(%ebp)
				movl	$0, -29725(%ebp)
				movb	$4, -29474(%ebp)
				movl	$1112687442, -29473(%ebp)
				movl	$0, -29469(%ebp)
				movb	$5, -29218(%ebp)
				movl	$1380140370, -29217(%ebp)
				movl	$66, -29213(%ebp)
				movb	$5, -28962(%ebp)
				movl	$1279477074, -28961(%ebp)
				movl	$66, -28957(%ebp)
				movb	$3, -28706(%ebp)
				movl	$4342092, -28705(%ebp)
				movl	$0, -28701(%ebp)
				movb	$4, -28450(%ebp)
				movl	$1111575629, -28449(%ebp)
				movl	$0, -28445(%ebp)
				movb	$4, -28194(%ebp)
				movl	$1111575635, -28193(%ebp)
				movl	$0, -28189(%ebp)
				movb	$5, -27938(%ebp)
				movl	$1296125528, -27937(%ebp)
				movl	$69, -27933(%ebp)
				movb	$4, -27682(%ebp)
				movl	$1414420303, -27681(%ebp)
				movl	$0, -27677(%ebp)
				movb	$5, -27426(%ebp)
				movl	$1163084356, -27425(%ebp)
				movl	$80, -27421(%ebp)
				movb	$6, -27170(%ebp)
				movl	$1313817424, -27169(%ebp)
				movl	$21587, -27165(%ebp)
				movb	$4, -26914(%ebp)
				movl	$1146047811, -26913(%ebp)
				movl	$0, -26909(%ebp)
				movb	$5, -26658(%ebp)
				movl	$1195987779, -26657(%ebp)
				movl	$78, -26653(%ebp)
				movb	$4, -26402(%ebp)
				movl	$1347376451, -26401(%ebp)
				movl	$0, -26397(%ebp)
				movb	$4, -26146(%ebp)
				movl	$827346755, -26145(%ebp)
				movl	$0, -26141(%ebp)
				movb	$4, -25890(%ebp)
				movl	$844123971, -25889(%ebp)
				movl	$0, -25885(%ebp)
				movb	$4, -25634(%ebp)
				movl	$860901187, -25633(%ebp)
				movl	$0, -25629(%ebp)
				movb	$5, -25378(%ebp)
				movl	$1162104393, -25377(%ebp)
				movl	$70, -25373(%ebp)
				movb	$5, -25122(%ebp)
				movl	$1397507416, -25121(%ebp)
				movl	$69, -25117(%ebp)
				movb	$6, -24866(%ebp)
				movl	$1397051971, -24865(%ebp)
				movl	$20559, -24861(%ebp)
				movb	$4, -24610(%ebp)
				movl	$1111575630, -24609(%ebp)
				movl	$0, -24605(%ebp)
				movb	$6, -24354(%ebp)
				movl	$1414419794, -24353(%ebp)
				movl	$19529, -24349(%ebp)
				movb	$6, -24098(%ebp)
				movl	$1313817409, -24097(%ebp)
				movl	$21587, -24093(%ebp)
				movb	$4, -23842(%ebp)
				movl	$1112691279, -23841(%ebp)
				movl	$0, -23837(%ebp)
				movb	$5, -23586(%ebp)
				movl	$1312902470, -23585(%ebp)
				movl	$89, -23581(%ebp)
				movb	$7, -23330(%ebp)
				movl	$1381258063, -23329(%ebp)
				movl	$4673097, -23325(%ebp)
				movb	$4, -23074(%ebp)
				movl	$1112296774, -23073(%ebp)
				movl	$0, -23069(%ebp)
				movb	$4, -22818(%ebp)
				movl	$1112689990, -22817(%ebp)
				movl	$0, -22813(%ebp)
				movb	$4, -22562(%ebp)
				movl	$1380928838, -22561(%ebp)
				movl	$0, -22557(%ebp)
				movb	$7, -22306(%ebp)
				movl	$1196310866, -22305(%ebp)
				movl	$4346437, -22301(%ebp)
				movb	$4, -22050(%ebp)
				movl	$1145656134, -22049(%ebp)
				movl	$0, -22045(%ebp)
				movb	$6, -20514(%ebp)
				movl	$1297433637, -20513(%ebp)
				movl	$22861, -20509(%ebp)
				movb	$5, -20258(%ebp)
				movl	$1128612901, -20257(%ebp)
				movl	$76, -20253(%ebp)
				movb	$5, -20002(%ebp)
				movl	$1348031525, -20001(%ebp)
				movl	$69, -19997(%ebp)
				movb	$5, -19746(%ebp)
				movl	$1380276773, -19745(%ebp)
				movl	$79, -19741(%ebp)
				movb	$6, -19490(%ebp)
				movl	$1347436837, -19489(%ebp)
				movl	$22860, -19485(%ebp)
				movb	$5, -19234(%ebp)
				movl	$1330794533, -19233(%ebp)
				movl	$84, -19229(%ebp)
				movb	$8, -18978(%ebp)
				movl	$1413829413, -18977(%ebp)
				movl	$1414484560, -18973(%ebp)
				movb	$6, -18722(%ebp)
				movl	$1498697765, -18721(%ebp)
				movl	$17744, -18717(%ebp)
				movb	$5, -18466(%ebp)
				movl	$1346455333, -18465(%ebp)
				movl	$80, -18461(%ebp)
				movb	$6, -18210(%ebp)
				movl	$1129270309, -18209(%ebp)
				movl	$19521, -18205(%ebp)
				movb	$6, -17954(%ebp)
				movl	$1096107813, -17953(%ebp)
				movl	$17490, -17949(%ebp)
				movb	$6, -17698(%ebp)
				movl	$1329810725, -17697(%ebp)
				movl	$17732, -17693(%ebp)
				movb	$7, -17442(%ebp)
				movl	$1430536997, -17441(%ebp)
				movl	$5852493, -17437(%ebp)
				movb	$8, -17186(%ebp)
				movl	$1413829413, -17185(%ebp)
				movl	$1162893652, -17181(%ebp)
				movb	$5, -16930(%ebp)
				movl	$1162891045, -16929(%ebp)
				movl	$82, -16925(%ebp)
				movb	$6, -16674(%ebp)
				movl	$1380012069, -16673(%ebp)
				movl	$19777, -16669(%ebp)
				movb	$6, -16418(%ebp)
				movl	$1330397733, -16417(%ebp)
				movl	$19267, -16413(%ebp)
				movb	$6, -16162(%ebp)
				movl	$1213484837, -16161(%ebp)
				movl	$21061, -16157(%ebp)
				movb	$8, -15906(%ebp)
				movl	$1297040165, -15905(%ebp)
				movl	$1162627408, -15901(%ebp)
				movb	$3, -15650(%ebp)
				movl	$5263425, -15649(%ebp)
				movl	$0, -15645(%ebp)
				movb	$7, -15394(%ebp)
				movl	$1163084098, -15393(%ebp)
				movl	$5263425, -15389(%ebp)
				movb	$4, -15138(%ebp)
				movl	$844124225, -15137(%ebp)
				movl	$0, -15133(%ebp)
				movb	$4, -14882(%ebp)
				movl	$860901441, -14881(%ebp)
				movl	$0, -14877(%ebp)
				movb	$4, -14626(%ebp)
				movl	$877678657, -14625(%ebp)
				movl	$0, -14621(%ebp)
				movb	$4, -14370(%ebp)
				movl	$894455873, -14369(%ebp)
				movl	$0, -14365(%ebp)
				movb	$4, -14114(%ebp)
				movl	$911233089, -14113(%ebp)
				movl	$0, -14109(%ebp)
				movb	$5, -13858(%ebp)
				movl	$1178944577, -13857(%ebp)
				movl	$78, -13853(%ebp)
				movb	$5, -13602(%ebp)
				movl	$1380012110, -13601(%ebp)
				movl	$77, -13597(%ebp)
				movb	$5, -13346(%ebp)
				movl	$1162106707, -13345(%ebp)
				movl	$70, -13341(%ebp)
				movb	$5, -13090(%ebp)
				movl	$1145657171, -13089(%ebp)
				movl	$83, -13085(%ebp)
				movb	$5, -12834(%ebp)
				movl	$1480935747, -12833(%ebp)
				movl	$80, -12829(%ebp)
				movb	$6, -12578(%ebp)
				movl	$1313817426, -12577(%ebp)
				movl	$21587, -12573(%ebp)
				movb	$6, -12322(%ebp)
				movl	$1313817427, -12321(%ebp)
				movl	$21587, -12317(%ebp)
				movb	$6, -12066(%ebp)
				movl	$1095914049, -12065(%ebp)
				movl	$20569, -12061(%ebp)
				movb	$4, -11810(%ebp)
				movl	$1347242328, -11809(%ebp)
				movl	$0, -11805(%ebp)
				movb	$3, -11554(%ebp)
				movl	$5262665, -11553(%ebp)
				movl	$0, -11549(%ebp)
				movb	$4, -11298(%ebp)
				movl	$1145982787, -11297(%ebp)
				movl	$0, -11293(%ebp)
				movb	$5, -11042(%ebp)
				movl	$1313817427, -11041(%ebp)
				movl	$68, -11037(%ebp)
				movb	$4, -10786(%ebp)
				movl	$827349061, -10785(%ebp)
				movl	$0, -10781(%ebp)
				movb	$4, -10530(%ebp)
				movl	$844126277, -10529(%ebp)
				movl	$0, -10525(%ebp)
				movb	$4, -10274(%ebp)
				movl	$1347962195, -10273(%ebp)
				movl	$0, -10269(%ebp)
				movb	$4, -10018(%ebp)
				movl	$1347962185, -10017(%ebp)
				movl	$0, -10013(%ebp)
				movb	$5, -9762(%ebp)
				movl	$1347962185, -9761(%ebp)
				movl	$49, -9757(%ebp)
				movb	$5, -9506(%ebp)
				movl	$1347962185, -9505(%ebp)
				movl	$50, -9501(%ebp)
				movb	$5, -9250(%ebp)
				movl	$1480938313, -9249(%ebp)
				movl	$80, -9245(%ebp)
				movb	$3, -8994(%ebp)
				movl	$5326163, -8993(%ebp)
				movl	$0, -8989(%ebp)
				movb	$4, -8738(%ebp)
				movl	$1178944582, -8737(%ebp)
				movl	$0, -8733(%ebp)
				movb	$3, -8482(%ebp)
				movl	$5265477, -8481(%ebp)
				movl	$0, -8477(%ebp)
				movb	$7, -8226(%ebp)
				movl	$1381122382, -8225(%ebp)
				movl	$5265729, -8221(%ebp)
				movb	$6, -7970(%ebp)
				movl	$1431458899, -7969(%ebp)
				movl	$21571, -7965(%ebp)
				movb	$6, -7714(%ebp)
				movl	$1163085138, -7713(%ebp)
				movl	$20568, -7709(%ebp)
				movb	$3, -7458(%ebp)
				movl	$5001282, -7457(%ebp)
				movl	$0, -7453(%ebp)
				movb	$6, -7202(%ebp)
				movl	$1397641027, -7201(%ebp)
				movl	$16980, -7197(%ebp)
				movb	$5, -6946(%ebp)
				movl	$1163151686, -6945(%ebp)
				movl	$77, -6941(%ebp)
				movb	$5, -6690(%ebp)
				movl	$1163022157, -6689(%ebp)
				movl	$65, -6685(%ebp)
				movb	$5, -6434(%ebp)
				movl	$1397312579, -6433(%ebp)
				movl	$84, -6429(%ebp)
				movb	$3, -6178(%ebp)
				movl	$5263430, -6177(%ebp)
				movl	$0, -6173(%ebp)
				movb	$4, -5922(%ebp)
				movl	$810569798, -5921(%ebp)
				movl	$0, -5917(%ebp)
				movb	$4, -5666(%ebp)
				movl	$827347014, -5665(%ebp)
				movl	$0, -5661(%ebp)
				movb	$4, -5410(%ebp)
				movl	$844124230, -5409(%ebp)
				movl	$0, -5405(%ebp)
				movb	$7, -5154(%ebp)
				movl	$1414090313, -5153(%ebp)
				movl	$5390678, -5149(%ebp)
				movb	$6, -4898(%ebp)
				movl	$1162036562, -4897(%ebp)
				movl	$20568, -4893(%ebp)
				movb	$4, -4642(%ebp)
				movl	$1347242309, -4641(%ebp)
				movl	$0, -4637(%ebp)
				movb	$6, -4386(%ebp)
				movl	$1313162313, -4385(%ebp)
				movl	$21332, -4381(%ebp)
				movb	$5, -4130(%ebp)
				movl	$1196310866, -4129(%ebp)
				movl	$69, -4125(%ebp)
				movb	$7, -3874(%ebp)
				movl	$1313817426, -3873(%ebp)
				movl	$4346963, -3869(%ebp)
				movb	$4, -3618(%ebp)
				movl	$1347567958, -3617(%ebp)
				movl	$0, -3613(%ebp)
				movb	$7, -3362(%ebp)
				movl	$1414090313, -3361(%ebp)
				movl	$4408644, -3357(%ebp)
				movb	$6, -2338(%ebp)
				movl	$1145262917, -2337(%ebp)
				movl	$17221, -2333(%ebp)
				movb	$7, -2082(%ebp)
				movl	$1346589509, -2081(%ebp)
				movl	$4411218, -2077(%ebp)
				movb	$8, -1826(%ebp)
				movl	$1094931269, -1825(%ebp)
				movl	$1497453138, -1821(%ebp)
				movb	$6, -1570(%ebp)
				movl	$1380143941, -1569(%ebp)
				movl	$17221, -1565(%ebp)
				leal	-108036(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$38918, %eax
				movl	%eax, -108036(%ebp)
				movl	$256, -108032(%ebp)
				leal	-107968(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				movl	%esi, %ebx
				leal	PHRASE.6175@GOTOFF(%ebx), %eax
				movl	%eax, -107968(%ebp)
				movl	$2, -107964(%ebp)
				movb	$90, -66916(%ebp)
				movb	$90, -66915(%ebp)
				movb	$90, -66914(%ebp)
				movb	$90, -66913(%ebp)
				movb	$90, -66912(%ebp)
				movb	$48, -66911(%ebp)
				movb	$48, -66910(%ebp)
				movb	$19, -66909(%ebp)
				movb	$19, -66908(%ebp)
				movb	$19, -66907(%ebp)
				movb	$19, -66906(%ebp)
				movb	$25, -66905(%ebp)
				movb	$25, -66904(%ebp)
				movb	$25, -66903(%ebp)
				movb	$25, -66902(%ebp)
				movb	$25, -66901(%ebp)
				movb	$25, -66900(%ebp)
				movb	$25, -66899(%ebp)
				movb	$23, -66898(%ebp)
				movb	$104, -66897(%ebp)
				movb	$104, -66896(%ebp)
				movb	$105, -66895(%ebp)
				movb	$30, -66894(%ebp)
				movb	$20, -66893(%ebp)
				movb	$21, -66892(%ebp)
				movb	$93, -66891(%ebp)
				movb	$47, -66890(%ebp)
				movb	$45, -66889(%ebp)
				movb	$46, -66888(%ebp)
				movb	$42, -66887(%ebp)
				movb	$43, -66886(%ebp)
				movb	$44, -66885(%ebp)
				movb	$40, -66884(%ebp)
				movb	$68, -66883(%ebp)
				movb	$55, -66882(%ebp)
				movb	$104, -66881(%ebp)
				movb	$60, -66880(%ebp)
				movb	$93, -66879(%ebp)
				movb	$25, -66878(%ebp)
				movb	$40, -66877(%ebp)
				movb	$93, -66876(%ebp)
				movb	$23, -66875(%ebp)
				movb	$25, -66874(%ebp)
				movb	$57, -66873(%ebp)
				movb	$25, -66872(%ebp)
				movb	$90, -66871(%ebp)
				movb	$-80, -66870(%ebp)
				movb	$-79, -66869(%ebp)
				movb	$-78, -66868(%ebp)
				movb	$-77, -66867(%ebp)
				leal	-107900(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$38852, %eax
				movl	%eax, -107900(%ebp)
				movl	$1, -107896(%ebp)
				leal	-84420(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC0@GOTOFF(%ebx), %edx
				movl	$60, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-107832(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$21348, %eax
				movl	%eax, -107832(%ebp)
				movl	$2, -107828(%ebp)
				leal	-107764(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	GRAM.6181@GOTOFF(%ebx), %eax
				movl	%eax, -107764(%ebp)
				movl	$2, -107760(%ebp)
				leal	-107696(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	GLINK.6183@GOTOFF(%ebx), %eax
				movl	%eax, -107696(%ebp)
				movl	$2, -107692(%ebp)
				leal	-80084(%ebp), %eax
				leal	.LC1@GOTOFF(%ebx), %edx
				movl	$288, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-107628(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-105768(%ebp), %eax
				addl	$25684, %eax
				movl	%eax, -107628(%ebp)
				movl	$2, -107624(%ebp)
  576
  577 %ROUTINE flush buffer
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$828, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -836(%ebp)
				movl	%ecx, -828(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  578    %INTEGER j
  579    %IF faulty = 0 %START
				movl	FAULTY.6086@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L23
				nop
		.L11:
  580       select output(object)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
		.LBB339:
  581       %FOR j = 1, 1, bp %CYCLE
				movl	BP.6171@GOTOFF(%ebx), %eax
				movl	%eax, -804(%ebp)
		.LBB340:
				movl	-804(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -800(%ebp)
				movl	-800(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE340:
				testl	%eax, %eax
				je	.L12
				leal	-540(%ebp), %eax
				subl	$8, %esp
				leal	.LC69@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L13
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -832(%ebp)
				jmp	.L14
		.L13:
				movl	$581, -832(%ebp)
		.L14:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L15
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L16
		.L15:
		.LBB341:
				leal	-284(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE341:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L16:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-832(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L12:
				movl	$0, -808(%ebp)
		.L17:
				movl	-808(%ebp), %eax
				cmpl	-804(%ebp), %eax
				je	.L24
				addl	$1, -808(%ebp)
				nop
		.L19:
		.LBE339:
  582          printsymbol(buff(j))
				movl	-808(%ebp), %eax
				subl	$1, %eax
				movl	-836(%ebp), %esi
				movzbl	104710(%esi,%eax), %eax
				movsbl	%al, %eax
				movb	%al, -809(%ebp)
		.LBB342:
		.LBB343:
				movsbl	-809(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE343:
		.LBE342:
  583       %REPEAT
				jmp	.L17
		.L24:
  584       select output(listing)
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				jmp	.L11
		.L23:
  585    %FINISH
  586    bp = 0
				movl	$0, BP.6171@GOTOFF(%ebx)
  587 %END
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L21
				call	__stack_chk_fail_local
		.L21:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE190:
				.section	.rodata
				.align 32
		.LC0:
				.align 32
		.LC1:
				.align 32
		.LC2:
				.byte	7
				.string	"LISTING"
				.zero	247
				.align 32
		.LC3:
				.byte	14
				.string	"prims-null.inc"
				.zero	240
				.align 32
		.LC4:
				.byte	44
				.string	"         Edinburgh IMP77 Compiler - Version "
				.zero	210
				.globl	main
		main:
		.LFB189:
  588 %ROUTINE print ident(%INTEGER p, mode)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1100, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%esi, -1104(%ebp)
				movl	%ecx, -1100(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  589    %INTEGER j, ad
  590    p = tag(p)_text
				movl	8(%ebp), %eax
				addl	$13, %eax
				sall	$4, %eax
				addl	%esi, %eax
				addl	$16, %eax
				movzwl	(%eax), %eax
				cwtl
				movl	%eax, 8(%ebp)
  591    %IF p = 0 %START
				cmpl	$0, 8(%ebp)
				jne	.L67
				nop
		.L44:
  592       bp = bp+1 %AND buff(bp) = '?' %if Mode # 0
				cmpl	$0, 12(%ebp)
				je	.L68
				movl	BP.6171@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ebx)
				movl	BP.6171@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	-1104(%ebp), %edi
				movb	$63, 104710(%edi,%eax)
				nop
		.L46:
  593       %RETURN
				jmp	.L42
		.L68:
				jmp	.L42
		.L67:
  594    %FINISH
  595    ad = addr(dict(p+1))
				movl	8(%ebp), %eax
				addl	$13416, %eax
				addl	%eax, %eax
				addl	-1104(%ebp), %eax
				addl	$4, %eax
				movl	%eax, -1068(%ebp)
		.LBB360:
		.LBB361:
				movl	-1068(%ebp), %eax
		.LBE361:
		.LBE360:
				movl	%eax, -1084(%ebp)
  596    %IF mode = 0 %THEN printstring(string(ad)) %ELSE %START
				cmpl	$0, 12(%ebp)
				jne	.L69
		.LBB362:
				movl	-1084(%ebp), %eax
				movl	%eax, -1064(%ebp)
		.LBB363:
		.LBB364:
				movl	-1064(%ebp), %edx
		.LBE364:
		.LBE363:
				leal	-284(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-284(%ebp), %edx
				leal	-284(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE362:
		.LBB365:
		.LBB366:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE366:
		.LBE365:
				jmp	.L62
		.L69:
				nop
		.L50:
		.LBB367:
  597       %FOR j = ad+1, 1, ad+byteinteger(ad) %CYCLE
				movl	-1084(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -1080(%ebp)
				movl	-1084(%ebp), %eax
				movl	%eax, -1060(%ebp)
		.LBB368:
		.LBB369:
				movl	-1060(%ebp), %eax
		.LBE369:
		.LBE368:
				movzbl	(%eax), %eax
				movzbl	%al, %edx
				movl	-1084(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -1076(%ebp)
		.LBB370:
				movl	-1076(%ebp), %eax
				subl	-1080(%ebp), %eax
				movl	%eax, -1072(%ebp)
				movl	-1072(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE370:
				testl	%eax, %eax
				je	.L54
				leal	-796(%ebp), %eax
				subl	$8, %esp
				leal	.LC70@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L55
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1108(%ebp)
				jmp	.L56
		.L55:
				movl	$597, -1108(%ebp)
		.L56:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L57
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-540(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L58
		.L57:
		.LBB371:
				leal	-284(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE371:
				leal	-540(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L58:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-1108(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L54:
				movl	-1080(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -1088(%ebp)
		.L59:
				movl	-1088(%ebp), %eax
				cmpl	-1076(%ebp), %eax
				je	.L70
				addl	$1, -1088(%ebp)
				nop
		.L62:
		.LBE367:
  598          bp = bp+1
				movl	BP.6171@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ebx)
  599          buff(bp) = byteinteger(j)
				movl	-1088(%ebp), %eax
				movl	%eax, -1056(%ebp)
		.LBB372:
		.LBB373:
				movl	-1056(%ebp), %eax
		.LBE373:
		.LBE372:
				movl	BP.6171@GOTOFF(%ebx), %edx
				subl	$1, %edx
				movzbl	(%eax), %eax
				movl	-1104(%ebp), %edi
				movb	%al, 104710(%edi,%edx)
  600       %REPEAT
				jmp	.L59
		.L52:
		.L70:
  601    %FINISH
  602 %END
				nop
		.L42:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L63
				call	__stack_chk_fail_local
		.L63:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE191:
				.section	.rodata
		.LC71:
				.string	"test-in/pass1v84-noprims.imp"
				.align 4
		.LC72:
				.string	"->REASON(%d) out of bounds at %s line %d"
				.align 4
		.LC73:
				.string	"switch jump to undefined label REASON(%d): at %s line %d"
		ABANDON.6220:
		.LFB192:
  603 %ROUTINE abandon(%INTEGER n)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1084, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -1084(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  604    %SWITCH reason(0:9)
  605    %INTEGER stream
  606    stream = listing
				movl	$2, -1068(%ebp)
		.L72:
  607    %CYCLE
  608       newline %IF sym # nl
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L91
		.LBB374:
		.LBB375:
				call	_imp_newline@PLT
				jmp	.L74
		.L91:
		.LBE375:
		.LBE374:
				nop
		.L74:
				movb	$42, -1069(%ebp)
		.LBB376:
		.LBB377:
				movsbl	-1069(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE377:
		.LBE376:
  609       printsymbol('*');  write(lines,4);  space
				movl	LINES.6088@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$4
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB378:
		.LBB379:
				call	_imp_space@PLT
		.LBE379:
		.LBE378:
  610       ->reason(n)
				movl	$610, -1064(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -1060(%ebp)
				movl	8(%ebp), %eax
				movl	%eax, -1056(%ebp)
				nop
		.L75:
  611 reason(0):printstring("compiler error!");          ->more
  612 reason(1):printstring("switch vector too large");  ->more
  613 reason(2):printstring("too many names");           ->more
  614 reason(3):printstring("program too complex");      ->more
  615 reason(4):printstring("feature not implemented");  ->more
  616 reason(5):printstring("input ended: ")
  617           %IF quote # 0 %START
  618             %IF quote < 0 %THEN printsymbol(cquote) %C
  619                           %ELSE printsymbol(squote)
  620           %ELSE
  621              printstring("%endof")
  622              %IF progmode >= 0 %THEN printstring("program") %C
  623                                %ELSE printstring("file")
  624           %FINISH
  625           printstring(" missing?");                ->more
  626 reason(6):printstring("too many faults!");         ->more
  627 reason(7):printstring("string constant too long"); ->more
  628 reason(8):printstring("dictionary full"); -> more
  629 reason(9):printstring("Included file ".include file." does not exist")
  630 more: newline
  631       printstring("***  compilation abandoned ***");  newline
  632       %EXIT %IF stream = report
  633       close output
  634       stream = report
  635       select output(report)
  636    %REPEAT
  637 !IMP80 BUG???     %SIGNAL 15,15 %IF diag&4096 # 0
  638    %STOP
  639 %END
				cmpl	$0, -1056(%ebp)
				js	.L76
				cmpl	$9, -1056(%ebp)
				jle	.L77
		.L76:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L78
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1088(%ebp)
				jmp	.L79
		.L78:
				movl	$639, -1088(%ebp)
		.L79:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L80
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-540(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L81
		.L80:
		.LBB380:
				leal	-284(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE380:
				leal	-540(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L81:
				pushl	-1064(%ebp)
				pushl	-1060(%ebp)
				pushl	-1056(%ebp)
				leal	.LC72@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-1056(%ebp)
				pushl	$3
				pushl	$6
				pushl	-1088(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L77:
				nop
		.L83:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L90
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1088(%ebp)
				jmp	.L86
		.L90:
				movl	$639, -1088(%ebp)
		.L86:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L87
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L88
		.L87:
		.LBB381:
				leal	-284(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE381:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L88:
				pushl	-1064(%ebp)
				pushl	-1060(%ebp)
				pushl	-1056(%ebp)
				leal	.LC73@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-1056(%ebp)
				pushl	$2
				pushl	$8
				pushl	-1088(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L89
				call	__stack_chk_fail_local
		.L89:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE192:
		OP.6294:
		.LFB193:
  640 %ROUTINE op(%INTEGER code, param)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %edx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -12(%ebp)
				xorl	%ecx, %ecx
  641       buff(bp+1) <- code
				movl	BP.6171@GOTOFF(%eax), %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 104710(%edx,%ecx)
  642       buff(bp+2) <- param>>8
				movl	12(%ebp), %ecx
				movl	%ecx, %ebx
				shrl	$8, %ebx
				movl	BP.6171@GOTOFF(%eax), %ecx
				addl	$1, %ecx
				movb	%bl, 104710(%edx,%ecx)
  643       buff(bp+3) <- param
				movl	BP.6171@GOTOFF(%eax), %ecx
				addl	$2, %ecx
				movl	12(%ebp), %ebx
				movb	%bl, 104710(%edx,%ecx)
  644       bp = bp+3
				movl	BP.6171@GOTOFF(%eax), %edx
				addl	$3, %edx
				movl	%edx, BP.6171@GOTOFF(%eax)
  645 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L94
				call	__stack_chk_fail_local
		.L94:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE193:
		SETCONST.6297:
		.LFB194:
  646 %ROUTINE set const(%INTEGER m)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %edx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ebx
				movl	%ebx, -12(%ebp)
				xorl	%ebx, %ebx
  647       buff(bp+1) <- 'N'
				movl	BP.6171@GOTOFF(%eax), %ecx
				movb	$78, 104710(%edx,%ecx)
  648       buff(bp+5) <- m;  m = m>>8
				movl	BP.6171@GOTOFF(%eax), %ecx
				addl	$4, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 104710(%edx,%ecx)
				movl	8(%ebp), %ecx
				shrl	$8, %ecx
				movl	%ecx, 8(%ebp)
  649       buff(bp+4) <- m;  m = m>>8
				movl	BP.6171@GOTOFF(%eax), %ecx
				addl	$3, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 104710(%edx,%ecx)
				movl	8(%ebp), %ecx
				shrl	$8, %ecx
				movl	%ecx, 8(%ebp)
  650       buff(bp+3) <- m;  m = m>>8
				movl	BP.6171@GOTOFF(%eax), %ecx
				addl	$2, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 104710(%edx,%ecx)
				movl	8(%ebp), %ecx
				shrl	$8, %ecx
				movl	%ecx, 8(%ebp)
  651       buff(bp+2) <- m
				movl	BP.6171@GOTOFF(%eax), %ecx
				addl	$1, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, 104710(%edx,%ecx)
  652       bp = bp+5
				movl	BP.6171@GOTOFF(%eax), %edx
				addl	$5, %edx
				movl	%edx, BP.6171@GOTOFF(%eax)
  653 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L97
				call	__stack_chk_fail_local
		.L97:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE194:
		PRINTSS.6339:
		.LFB197:
  654
  655
  656
  657 %ROUTINE compile block(%INTEGER level, block tag, dmin, tmax, id)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1676, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	16(%ebp), %edi
				movl	20(%ebp), %esi
				movl	24(%ebp), %edx
				movl	%ecx, -1680(%ebp)
				movl	%ecx, -1676(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -1568(%ebp)
				movl	8(%ebp), %eax
				movl	%eax, -1588(%ebp)
				movl	12(%ebp), %eax
				movl	%eax, -1624(%ebp)
				movl	%edi, -1596(%ebp)
				movl	%esi, -1584(%ebp)
				movl	%edx, -1592(%ebp)
				movl	-1680(%ebp), %esi
				movl	%esi, -1572(%ebp)
  658
  659    %INTEGERFNSPEC gapp
  660    %ROUTINESPEC delete names(%INTEGER quiet)
  661    %ROUTINESPEC analyse
  662    %ROUTINESPEC compile
  663
  664    %INTEGER open;    open       = closed;      !zero if can return from proc
				movl	$16384, %eax
				movl	%eax, -1616(%ebp)
  665    %INTEGER dbase;   dbase      = dmax;        !dictionary base
				movl	DMAX.6126@GOTOFF(%ebx), %eax
				movl	%eax, -1660(%ebp)
  666    %INTEGER tbase;   tbase      = tmax;        !tag base
				movl	-1584(%ebp), %eax
				movl	%eax, -1580(%ebp)
  667    %INTEGER tstart;  tstart     = tmax
				movl	-1584(%ebp), %eax
				movl	%eax, -1576(%ebp)
  668    %INTEGER label;   label      = 4;           !first internal label
				movl	$4, %eax
				movl	%eax, -1628(%ebp)
  669    %INTEGER access;  access     = 1;           !non-zero if accessible
				movl	$1, %eax
				movl	%eax, -1612(%ebp)
  670    %INTEGER inhibit; inhibit    = 0;           !non-zero inhibits declaratons
				movl	$0, %eax
				movl	%eax, -1632(%ebp)
  671
  672    %SHORTINTEGERNAME bflags; bflags      == tag(block tag)_flags
				movl	-1624(%ebp), %eax
				addl	$13, %eax
				sall	$4, %eax
				addl	%esi, %eax
				addl	$12, %eax
				movl	%eax, -1620(%ebp)
  673    %INTEGER block type;      block type   = bflags>>4&7
				movl	-1620(%ebp), %eax
				movzwl	(%eax), %eax
				cwtl
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, -1604(%ebp)
  674    %INTEGER block form;      block form   = bflags&15
				movl	-1620(%ebp), %eax
				movzwl	(%eax), %eax
				cwtl
				andl	$15, %eax
				movl	%eax, -1600(%ebp)
  675    %INTEGER block fm;        block fm     = tag(block tag)_format
				movl	-1624(%ebp), %eax
				addl	$13, %eax
				sall	$4, %eax
				addl	%esi, %eax
				addl	$8, %eax
				movl	(%eax), %eax
				movl	%eax, -1608(%ebp)
  676    %INTEGER block otype;     block otype  = otype
				movl	OTYPE.6108@GOTOFF(%ebx), %eax
				movl	%eax, -1656(%ebp)
  677    %INTEGERNAME block app;   block app   == tag(block tag)_app
				movl	-1624(%ebp), %eax
				addl	$13, %eax
				sall	$4, %eax
				addl	%esi, %eax
				addl	$4, %eax
				movl	%eax, -1652(%ebp)
  678
  679    %INTEGER l, new app
  680
  681 %ROUTINE fault(%INTEGER n)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$2380, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -2384(%ebp)
				movl	%ecx, -2380(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -2364(%ebp)
  682
  683     ! -5 : -1  - warnings
  684     !  1 : 22  - errors
  685
  686     %SWITCH fm(-5:22)
  687     %INTEGER st
  688
  689     %ROUTINE print ss
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -28(%ebp)
  690        %INTEGER s, p
  691        %RETURN %IF pos = 0
				movl	POS.6146@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L120
				nop
		.L100:
		.LBB382:
		.LBB383:
				call	_imp_space@PLT
		.LBE383:
		.LBE382:
				nop
		.L98:
  692        space
  693        p = 1
				movl	$1, -12(%ebp)
		.L102:
  694        %CYCLE
  695           printsymbol(marker) %IF p = pos1
				movl	POS1.6144@GOTOFF(%ebx), %eax
				cmpl	%eax, -12(%ebp)
				jne	.L121
				movb	$94, -18(%ebp)
		.LBB384:
		.LBB385:
				movsbl	-18(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L104
		.L121:
		.LBE385:
		.LBE384:
				nop
		.L104:
  696           %EXIT %IF p = pos
				movl	POS.6146@GOTOFF(%ebx), %eax
				cmpl	%eax, -12(%ebp)
				je	.L122
				nop
		.L106:
				nop
		.L107:
  697           s = char(p);  p = p+1
				leal	CHAR.6153@GOTOFF(%ebx), %edx
				movl	-12(%ebp), %eax
				addl	%edx, %eax
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -16(%ebp)
				addl	$1, -12(%ebp)
  698           %EXIT %IF s = nl %OR (s='%' %AND p = pos)
				cmpl	$10, -16(%ebp)
				je	.L123
				cmpl	$37, -16(%ebp)
				jne	.L124
				movl	POS.6146@GOTOFF(%ebx), %eax
				cmpl	%eax, -12(%ebp)
				jne	.L125
				jmp	.L109
		.L123:
				nop
		.L109:
				jmp	.L107
		.L124:
				nop
				jmp	.L111
		.L125:
				nop
		.L111:
  699           %IF s < ' ' %START;         !beware of tabs
				cmpl	$31, -16(%ebp)
				jg	.L126
				nop
		.L116:
  700              %IF s = ff %THEN s = nl %ELSE s = ' '
				cmpl	$12, -16(%ebp)
				jne	.L127
				movl	$10, -16(%ebp)
				jmp	.L116
		.L127:
				nop
		.L115:
				movl	$32, -16(%ebp)
				jmp	.L116
		.L113:
		.L126:
  701           %FINISH
  702           printsymbol(s)
				movl	-16(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -17(%ebp)
		.LBB386:
		.LBB387:
				movsbl	-17(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE387:
		.LBE386:
  703        %REPEAT
				jmp	.L102
		.L122:
  704        pos = 0 %IF list <= 0
				movl	LIST.6160@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L128
				movl	$0, POS.6146@GOTOFF(%ebx)
				nop
		.L118:
  705     %END
				jmp	.L118
		.L128:
				nop
				jmp	.L98
		.L120:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE197:
				.section	.rodata
				.align 4
		.LC74:
				.string	"->FM(%d) out of bounds at %s line %d"
				.align 4
		.LC75:
				.string	"switch jump to undefined label FM(%d): at %s line %d"
				.align 32
		.LC23:
				.byte	8
				.string	"      ! "
				.zero	246
				.align 32
		.LC24:
				.byte	5
				.string	"fault"
				.zero	249
		FAULT.6330:
		.LFB196:
  706
  707     pos1 = pos2 %IF pos2 > pos1
				movl	POS2.6145@GOTOFF(%ebx), %edx
				movl	POS1.6144@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jle	.L185
				movl	POS2.6145@GOTOFF(%ebx), %eax
				movl	%eax, POS1.6144@GOTOFF(%ebx)
				jmp	.L131
		.L185:
				nop
		.L131:
  708     newline %IF sym # nl
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L186
		.LBB388:
		.LBB389:
				call	_imp_newline@PLT
				jmp	.L133
		.L186:
		.LBE389:
		.LBE388:
				nop
		.L133:
  709     st = report
				movl	$0, -2360(%ebp)
  710     st = listing %IF n = -3;              !don<dq>t report unused on the console
				cmpl	$-3, 8(%ebp)
				jne	.L187
				movl	$2, -2360(%ebp)
				jmp	.L157
		.L135:
		.L187:
				nop
		.L136:
		.L157:
  711     %cycle
  712        SELECT OUTPUT(st)
				subl	$12, %esp
				pushl	-2360(%ebp)
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
  713        %if n < 0 %then printsymbol('?') %and pos1 = 0 %else printsymbol('*')
				cmpl	$0, 8(%ebp)
				jns	.L188
				movb	$63, -2367(%ebp)
		.LBB390:
		.LBB391:
				movsbl	-2367(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE391:
		.LBE390:
				movl	$0, POS1.6144@GOTOFF(%ebx)
				jmp	.L139
		.L188:
				nop
		.L138:
				movb	$42, -2366(%ebp)
		.LBB392:
		.LBB393:
				movsbl	-2366(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.L139:
		.LBE393:
		.LBE392:
  714        %if st # report %start
				cmpl	$0, -2360(%ebp)
				je	.L189
				nop
		.L141:
  715           %if list <= 0 %and pos1 # 0 %start
				movl	LIST.6160@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L190
				movl	POS1.6144@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L191
				nop
				jmp	.L145
		.L191:
				nop
		.L143:
  716              spaces(pos1+margin);  PRINTSTRING("      ! ")
				movl	POS1.6144@GOTOFF(%ebx), %edx
				movl	MARGIN.6090@GOTOFF(%ebx), %eax
				addl	%edx, %eax
				movl	%eax, -2340(%ebp)
		.LBB394:
		.LBB395:
				subl	$12, %esp
				pushl	-2340(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE395:
		.LBE394:
		.LBB396:
				leal	-1052(%ebp), %eax
				leal	.LC23@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2332(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-2332(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE396:
		.LBB397:
		.LBB398:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE398:
		.LBE397:
  717           %finish
  718        %finish %else %start
				jmp	.L145
		.L190:
				jmp	.L145
		.L189:
  719           PRINTSTRING(include file) %if include # 0
				movl	INCLUDE.6132@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L192
		.LBB399:
				movl	-2384(%ebp), %eax
				movl	64(%eax), %edx
				leal	-1052(%ebp), %eax
				addl	$104454, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %edx
				leal	-540(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE399:
		.LBB400:
		.LBB401:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
				jmp	.L179
		.L147:
		.L192:
		.LBE401:
		.LBE400:
				nop
		.L179:
  720           write(lines, 4);  printsymbol(csym);  space
				movl	LINES.6088@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$4
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movl	CSYM.6101@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -2365(%ebp)
		.LBB402:
		.LBB403:
				movsbl	-2365(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE403:
		.LBE402:
		.LBB404:
		.LBB405:
				call	_imp_space@PLT
		.L145:
		.LBE405:
		.LBE404:
		.LBB406:
  721        %finish
  722        ->fm(n) %if -5 <= n <= 22
				movl	8(%ebp), %eax
				movl	%eax, -2356(%ebp)
				cmpl	$-5, -2356(%ebp)
				jl	.L193
				cmpl	$22, -2356(%ebp)
				jg	.L194
		.LBE406:
				movl	$722, -2352(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -2348(%ebp)
				movl	8(%ebp), %eax
				movl	%eax, -2344(%ebp)
				nop
		.L151:
				nop
				jmp	.L149
		.L194:
				nop
		.L149:
		.LBE407:
		.LBB408:
  723        PRINTSTRING("fault");  write(n, 2);              ->ps
				leal	-1052(%ebp), %eax
				leal	.LC24@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2076(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-2076(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE408:
		.LBB409:
		.LBB410:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE410:
		.LBE409:
				subl	$8, %esp
				pushl	$2
				pushl	8(%ebp)
				call	_imp_writeint@PLT
				addl	$16, %esp
				nop
		.L152:
  724
  725 fm(-5):PRINTSTRING("Dubious statement");  dubious = 0;  ->psd
  726 fm(-4):PRINTSTRING("Non-local")
  727        pos1 = for warn;  for warn = 0;                  ->ps
  728 fm(-3):print ident(x, 0);  PRINTSTRING(" unused");      ->nps
  729 fm(-2):PRINTSTRING("""}""");                            ->miss
  730 fm(-1):PRINTSTRING("access");                           ->psd
  731
  732 fm(0): PRINTSTRING("form");                             ->ps
  733 fm(1): PRINTSTRING("atom");                             ->ps
  734 fm(2): PRINTSTRING("not declared");                     ->ps
  735 fm(3): PRINTSTRING("too complex");                      ->ps
  736 fm(4): PRINTSTRING("duplicate ");  Print Ident(x, 0);   ->ps
  737 fm(5): PRINTSTRING("type");                             ->ps
  738 fm(6): PRINTSTRING("match");                            ->psd
  739 fm(7): PRINTSTRING("context");                          ->psd
  740 fm(21):PRINTSTRING("context ");  print ident(this, 0);  ->ps
  741 fm(8): PRINTSTRING("%cycle");                           ->miss
  742 fm(9): PRINTSTRING("%start");                           ->miss
  743 fm(10):PRINTSTRING("size");  WRITE(lit, 1) %if pos1 = 0;->ps
  744 fm(11):PRINTSTRING("bounds")
  745        WRITE(ocount, 1) %unless ocount < 0;             ->ps
  746 fm(12):PRINTSTRING("index");                            ->ps
  747 fm(13):PRINTSTRING("order");                            ->psd
  748 fm(14):PRINTSTRING("not a location");                   ->ps
  749 fm(15):PRINTSTRING("%begin");                           ->miss
  750 fm(16):PRINTSTRING("%end");                             ->miss
  751 fm(17):PRINTSTRING("%repeat");                          ->miss
  752 fm(18):PRINTSTRING("%finish");                          ->miss
  753 fm(19):PRINTSTRING("result");                           ->miss
  754 fm(22):PRINTSTRING("format");                           ->ps
  755 fm(20):printsymbol('"');  print ident(x, 0);  printsymbol('"')
  756 miss:  PRINTSTRING(" missing");                         ->nps
  757 psd:   pos1 = 0
  758 ps:    print ss
				leal	-2364(%ebp), %eax
				movl	%eax, %ecx
				call	PRINTSS.6339
		.L153:
		.LBB411:
		.LBB412:
				call	_imp_newline@PLT
		.LBE412:
		.LBE411:
  759 nps:   NEWLINE
  760        %exit %if st = listing
				cmpl	$2, -2360(%ebp)
				je	.L195
				nop
		.L155:
				nop
		.L156:
  761        st = listing
				movl	$2, -2360(%ebp)
  762     %repeat
				jmp	.L157
		.L195:
  763     %if n >= 0 %start
				cmpl	$0, 8(%ebp)
				js	.L196
				movl	$0, -2336(%ebp)
		.LBB413:
		.LBB414:
				subl	$12, %esp
				pushl	-2336(%ebp)
				call	exit@PLT
		.L159:
		.L196:
		.LBE414:
		.LBE413:
				nop
		.L160:
  764 !IMP80 BUG???         %signal 15,15 %if diag&4096 # 0
  765        %stop %if diag&4096 # 0
  766        %if n # 13 %start;           !order is fairly safe
  767           ocount = -1
  768           gg = 0
  769           copy = 0;  quote = 0
  770           search base = 0;  escape class = 0
  771           gg = 0
  772        %finish
  773        faulty = faulty+1
  774
  775        !check that there haven<dq>t been too many faults
  776
  777        fault rate = fault rate+3;  abandon(6) %IF fault rate > 30
  778        fault rate = 3 %IF fault rate <= 0
  779     %FINISH
  780     tbase = tstart
				movl	-2384(%ebp), %esi
				movl	60(%esi), %eax
				movl	%eax, 56(%esi)
  781     %IF list <= 0 %AND sym # nl %START
				movl	LIST.6160@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L197
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L198
				nop
				jmp	.L129
		.L198:
				nop
		.L162:
  782        error margin = column
				movl	COLUMN.6093@GOTOFF(%ebx), %eax
				movl	%eax, ERRORMARGIN.6091@GOTOFF(%ebx)
  783        error sym = sym;  sym = nl
				movl	SYM.6096@GOTOFF(%ebx), %eax
				movl	%eax, ERRORSYM.6092@GOTOFF(%ebx)
				movl	$10, SYM.6096@GOTOFF(%ebx)
  784     %FINISH
  785 %END
				cmpl	$-5, -2344(%ebp)
				jl	.L165
				jmp	.L182
		.L193:
		.LBB407:
				jmp	.L129
		.L197:
				jmp	.L129
		.L182:
				cmpl	$22, -2344(%ebp)
				jle	.L166
		.L165:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L167
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -2384(%ebp)
				jmp	.L168
		.L167:
				movl	$785, -2384(%ebp)
		.L168:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L169
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-1308(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L170
		.L169:
		.LBB415:
				leal	-1052(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1820(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE415:
				leal	-1308(%ebp), %eax
				leal	-1820(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L170:
				pushl	-2352(%ebp)
				pushl	-2348(%ebp)
				pushl	-2344(%ebp)
				leal	.LC74@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-2344(%ebp)
				pushl	$3
				pushl	$6
				pushl	-2384(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1308(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L166:
				nop
		.L172:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L184
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -2384(%ebp)
				jmp	.L175
		.L184:
				movl	$785, -2384(%ebp)
		.L175:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L176
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-1052(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L177
		.L176:
		.LBB416:
				leal	-1052(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1564(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE416:
				leal	-1052(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L177:
				pushl	-2352(%ebp)
				pushl	-2348(%ebp)
				pushl	-2344(%ebp)
				leal	.LC75@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-2344(%ebp)
				pushl	$2
				pushl	$8
				pushl	-2384(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1052(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L129:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L178
				call	__stack_chk_fail_local
		.L178:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE196:
				.section	.rodata
				.align 32
		.LC5:
				.byte	5
				.string	"Begin"
				.zero	249
				.align 32
		.LC6:
				.byte	10
				.string	"Procedure "
				.zero	244
				.align 32
		.LC7:
				.byte	3
				.string	"End"
				.zero	251
		COMPILEBLOCK.6304:
		.LFB195:
  786
  787    dmin = dmin-1;  dict(dmin) = -1;            !end marker for starts & cycles
				movl	-1596(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -1596(%ebp)
				movl	-1596(%ebp), %eax
				subl	$1, %eax
				addl	$13416, %eax
				movw	$-1, 4(%esi,%eax,2)
  788    abandon(2) %IF dmax = dmin
				movl	DMAX.6126@GOTOFF(%ebx), %eax
				movl	-1596(%ebp), %edx
				cmpl	%eax, %edx
				jne	.L251
				subl	$12, %esp
				pushl	$2
				movl	-1680(%ebp), %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L201
		.L251:
				nop
		.L201:
  789
  790    %IF list > 0 %AND level > 0 %START
				movl	LIST.6160@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jle	.L252
				movl	-1588(%ebp), %eax
				testl	%eax, %eax
				jle	.L253
				nop
				jmp	.L203
		.L253:
				nop
		.L203:
  791       write(lines, 5);  spaces(level*3-1)
				movl	LINES.6088@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movl	-1588(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				subl	$1, %eax
				movl	%eax, -1644(%ebp)
		.LBB417:
		.LBB418:
				subl	$12, %esp
				pushl	-1644(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE418:
		.LBE417:
  792       %IF block tag = 0 %START
				movl	-1624(%ebp), %eax
				testl	%eax, %eax
				jne	.L254
		.LBB419:
				nop
		.L206:
		.LBB422:
  793          printstring("Begin")
				leal	-284(%ebp), %eax
				leal	.LC5@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1564(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE419:
		.LBB420:
		.LBB421:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE421:
		.LBE420:
  794       %FINISH %ELSE %START
				jmp	.L207
		.L254:
  795          printstring("Procedure ");  print ident(block tag, 0)
				leal	-284(%ebp), %eax
				leal	.LC6@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-1308(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE422:
		.LBB423:
		.LBB424:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE424:
		.LBE423:
				movl	-1624(%ebp), %eax
				subl	$8, %esp
				pushl	$0
				pushl	%eax
				movl	-1680(%ebp), %ecx
				call	PRINTIDENT.6201
				addl	$16, %esp
		.L207:
		.LBB425:
		.LBB426:
				call	_imp_newline@PLT
				jmp	.L203
		.L252:
		.LBE426:
		.LBE425:
  796       %FINISH
  797       newline
  798    %FINISH
  799
  800    !deal with procedure definition (parameters)
  801
  802    %IF block tag # 0 %START;                   !proc
				movl	-1624(%ebp), %eax
				testl	%eax, %eax
				je	.L255
				nop
		.L209:
  803       analyse;  compile %IF ss # 0
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	ANALYSE.6311
				movl	SS.6128@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L256
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	COMPILE.6313
				jmp	.L211
		.L256:
				nop
		.L211:
  804
  805       %IF block otype # 0 %START;              !external-ish
				cmpl	$0, -1656(%ebp)
				je	.L257
				nop
				jmp	.L219
		.L258:
  806          %IF bflags&spec = 0 %START;           !definition
				movl	-1620(%ebp), %eax
				movzwl	(%eax), %eax
				cwtl
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L258
				nop
		.L219:
  807             %IF progmode <= 0 %AND level = 1 %THEN progmode = -1 %C
				movl	PROGMODE.6134@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L259
				movl	-1588(%ebp), %eax
				cmpl	$1, %eax
				jne	.L260
				movl	$-1, PROGMODE.6134@GOTOFF(%ebx)
				jmp	.L219
		.L259:
				nop
				jmp	.L216
		.L260:
				nop
		.L216:
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$7
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L219
		.L213:
		.L218:
		.L257:
  808                                              %ELSE fault(7)
  809          %FINISH
  810       %FINISH
  811
  812       new app = gapp;                          !generate app grammar
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	GAPP.6307
				movl	%eax, -1648(%ebp)
  813       %IF spec given # 0 %START;               !definition after spec
				movl	SPECGIVEN.6104@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L261
				nop
				jmp	.L223
		.L262:
  814          fault(6) %IF new app # block app;     !different from spec
				movl	-1652(%ebp), %eax
				movl	(%eax), %eax
				cmpl	%eax, -1648(%ebp)
				je	.L262
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$6
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L223
		.L221:
		.L261:
				nop
		.L223:
  815       %FINISH
  816       block app = new app;                     !use the latest
				movl	-1652(%ebp), %eax
				movl	-1648(%ebp), %edx
				movl	%edx, (%eax)
  817
  818       %IF level < 0 %START;                    !not procedure definition
				movl	-1588(%ebp), %eax
				testl	%eax, %eax
				jns	.L263
				nop
		.L225:
  819          delete names(0)
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	DELETENAMES.6309
				addl	$16, %esp
  820          %RETURN
				jmp	.L199
		.L263:
  821       %FINISH
  822    %FINISH %ELSE %START
				jmp	.L243
		.L255:
  823       open = 0;                                !can return from a block?
				movl	$0, %eax
				movl	%eax, -1616(%ebp)
		.L227:
		.L228:
		.L243:
  824    %FINISH
  825
  826    %CYCLE
  827       analyse
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	ANALYSE.6311
  828       %CONTINUE %IF ss = 0
				movl	SS.6128@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L264
				nop
		.L230:
				nop
				jmp	.L243
		.L267:
  829       compile
				leal	-1636(%ebp), %eax
				movl	%eax, %ecx
				call	COMPILE.6313
  830       fault(-5) %IF dubious # 0
				movl	DUBIOUS.6142@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L265
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$-5
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L233
		.L265:
				nop
		.L233:
  831       flush buffer %IF bp >= 128
				movl	BP.6171@GOTOFF(%ebx), %eax
				cmpl	$127, %eax
				jle	.L266
				movl	-1680(%ebp), %ecx
				call	FLUSHBUFFER.6188
				jmp	.L235
		.L266:
				nop
		.L235:
  832       %IF sstype > 0 %START;                 !block in or out
				movl	SSTYPE.6135@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jle	.L267
				nop
		.L242:
  833          %EXIT %IF sstype = 2;               !out
				movl	SSTYPE.6135@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				je	.L268
				nop
		.L238:
				nop
				jmp	.L239
		.L269:
  834          compile block(spec mode, block x, dmin, tmax, id)
				movl	BLOCKX.6159@GOTOFF(%ebx), %edx
				movl	SPECMODE.6136@GOTOFF(%ebx), %eax
				movl	-1596(%ebp), %ecx
				movl	-1584(%ebp), %esi
				movl	-1592(%ebp), %edi
				subl	$12, %esp
				pushl	%edi
				pushl	%esi
				pushl	%ecx
				pushl	%edx
				pushl	%eax
				movl	-1680(%ebp), %ecx
				call	COMPILEBLOCK.6304
				addl	$32, %esp
  835          %EXIT %IF ss < 0;                   !endofprogram
				movl	SS.6128@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L269
				jmp	.L242
		.L231:
		.L241:
		.L264:
				nop
		.L239:
  836       %FINISH
  837    %REPEAT
				jmp	.L243
		.L268:
  838    %IF list > 0 %AND level > 0 %START
				movl	LIST.6160@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jle	.L270
				movl	-1588(%ebp), %eax
				testl	%eax, %eax
				jle	.L271
				nop
				jmp	.L245
		.L271:
				nop
		.L245:
  839       write(lines, 5);  spaces(level*3-1)
				movl	LINES.6088@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movl	-1588(%ebp), %edx
				movl	%edx, %eax
				addl	%eax, %eax
				addl	%edx, %eax
				subl	$1, %eax
				movl	%eax, -1640(%ebp)
		.LBB427:
		.LBB428:
				subl	$12, %esp
				pushl	-1640(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE428:
		.LBE427:
		.LBB429:
  840       printstring("End")
				leal	-284(%ebp), %eax
				leal	.LC7@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE429:
		.LBB430:
		.LBB431:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE431:
		.LBE430:
		.LBB432:
		.LBB433:
				call	_imp_newline@PLT
				jmp	.L245
		.L270:
		.LBE433:
		.LBE432:
  841       newline
  842    %FINISH
  843    delete names(0)
				subl	$12, %esp
				leal	-1636(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	DELETENAMES.6309
				addl	$16, %esp
  844    %RETURN
				nop
		.L199:
  845
  846    %INTEGERFN gapp;                            !generate app grammar (backwards)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$320, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -316(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -272(%ebp)
  847       %CONSTINTEGER comma = 140;               !psep
  848       %ROUTINESPEC set cell(%INTEGER g, tt)
  849       %ROUTINESPEC class(%RECORD(tagfm)%NAME v)
  850       %RECORD(tagfm)%NAME v
  851       %INTEGER p, link, tp, c, ap, t
  852
  853       %RESULT = 0 %IF tmax = local;            !no app needed
				movl	LOCAL.6148@GOTOFF(%ebx), %eax
				movl	52(%esi), %edx
				cmpl	%eax, %edx
				jne	.L308
				movl	$0, %eax
				jmp	.L297
		.L308:
				nop
		.L296:
  854
  855       p = gmax1;  link = 0;  t = tmax
				movl	$719, %eax
				movl	%eax, -276(%ebp)
				movl	$0, %eax
				movl	%eax, -280(%ebp)
				movl	52(%esi), %eax
				movl	%eax, -300(%ebp)
		.L298:
  856
  857       %CYCLE
  858          v == tag(t);  t = t-1
				movl	64(%esi), %eax
				movl	-300(%ebp), %edx
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -296(%ebp)
				subl	$1, -300(%ebp)
  859          class(v);                             !deduce class from tag
				subl	$12, %esp
				leal	-292(%ebp), %eax
				pushl	-296(%ebp)
				movl	%eax, %ecx
				call	CLASS.6512
				addl	$16, %esp
  860          %IF c < 0 %START;                     !insert %PARAM
				movl	-292(%ebp), %eax
				testl	%eax, %eax
				jns	.L309
				nop
		.L300:
  861             c = -c
				movl	-292(%ebp), %eax
				negl	%eax
				movl	%eax, -292(%ebp)
  862             set cell(196, tp)
				movl	-288(%ebp), %edx
				subl	$8, %esp
				leal	-292(%ebp), %eax
				pushl	%edx
				pushl	$196
				movl	%eax, %ecx
				call	SETCELL.6510
				addl	$16, %esp
  863             tp = -1
				movl	$-1, %eax
				movl	%eax, -288(%ebp)
				jmp	.L300
		.L309:
  864          %FINISH
  865          set cell(c, tp)
				movl	-292(%ebp), %edx
				movl	-288(%ebp), %ecx
				subl	$8, %esp
				leal	-292(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	SETCELL.6510
				addl	$16, %esp
  866          %EXIT %IF t = local;                  !end of parameters
				movl	LOCAL.6148@GOTOFF(%ebx), %eax
				cmpl	%eax, -300(%ebp)
				je	.L310
				nop
		.L302:
				nop
		.L303:
  867          set cell(comma, -1);                  !add the separating comma
				subl	$8, %esp
				leal	-292(%ebp), %eax
				pushl	$-1
				pushl	$140
				movl	%eax, %ecx
				call	SETCELL.6510
				addl	$16, %esp
  868       %REPEAT
				jmp	.L298
		.L310:
  869       abandon(3) %IF gmax > gmin
				movl	GMAX.6174@GOTOFF(%ebx), %edx
				movl	GMIN.6125@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jle	.L311
				movl	64(%esi), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L305
		.L311:
				nop
		.L305:
  870
  871       %RESULT = link
				movl	-280(%ebp), %eax
		.L297:
  872
  873       %ROUTINE set cell(%INTEGER g, tt)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %edx
				movl	%ecx, -8(%ebp)
		.L273:
  874
  875          !add the cell to the grammar, combining common tails
  876
  877          %WHILE p # gmax %CYCLE
				movl	GMAX.6174@GOTOFF(%eax), %ecx
				movl	16(%edx), %ebx
				cmpl	%ecx, %ebx
				je	.L287
				nop
		.L275:
  878             p = p+1
				movl	16(%edx), %ecx
				addl	$1, %ecx
				movl	%ecx, 16(%edx)
  879             %IF glink(p) = link %AND gram(p) = g %START
				movl	16(%edx), %ecx
				movzwl	GLINK.6183@GOTOFF(%eax,%ecx,2), %ecx
				movswl	%cx, %ecx
				movl	12(%edx), %ebx
				cmpl	%ecx, %ebx
				jne	.L288
				movl	16(%edx), %ecx
				movzwl	GRAM.6181@GOTOFF(%eax,%ecx,2), %ecx
				movswl	%cx, %ecx
				cmpl	%ecx, 8(%ebp)
				jne	.L289
				nop
				jmp	.L273
		.L289:
				nop
				jmp	.L273
		.L291:
  880                %IF tt < 0 %OR (gram(p+1) = tt %AND glink(p+1)=ap) %START
				cmpl	$0, 12(%ebp)
				js	.L290
				movl	16(%edx), %ecx
				addl	$1, %ecx
				movzwl	GRAM.6181@GOTOFF(%eax,%ecx,2), %ecx
				movswl	%cx, %ecx
				cmpl	%ecx, 12(%ebp)
				jne	.L291
				movl	16(%edx), %ecx
				addl	$1, %ecx
				movzwl	GLINK.6183@GOTOFF(%eax,%ecx,2), %ecx
				movswl	%cx, %ecx
				movl	8(%edx), %ebx
				cmpl	%ecx, %ebx
				jne	.L292
				jmp	.L280
		.L290:
				nop
		.L280:
				nop
				jmp	.L273
		.L292:
				nop
		.L283:
  881                   link = p;                    !already there
				movl	16(%edx), %eax
				movl	%eax, 12(%edx)
  882                   %RETURN
				jmp	.L272
		.L277:
		.L288:
  883                %FINISH
  884             %FINISH
  885          %REPEAT
				jmp	.L273
		.L287:
  886
  887          !add a new cell
  888
  889          gmax = gmax+1
				movl	GMAX.6174@GOTOFF(%eax), %ecx
				addl	$1, %ecx
				movl	%ecx, GMAX.6174@GOTOFF(%eax)
  890          gram(gmax) = g
				movl	GMAX.6174@GOTOFF(%eax), %ecx
				movl	8(%ebp), %ebx
				movw	%bx, GRAM.6181@GOTOFF(%eax,%ecx,2)
  891          glink(gmax) = link
				movl	GMAX.6174@GOTOFF(%eax), %ecx
				movl	12(%edx), %ebx
				movw	%bx, GLINK.6183@GOTOFF(%eax,%ecx,2)
  892          link = gmax
				movl	GMAX.6174@GOTOFF(%eax), %ecx
				movl	%ecx, 12(%edx)
  893
  894          %IF tt >= 0 %START;             ! set type cell
				cmpl	$0, 12(%ebp)
				js	.L293
				nop
		.L285:
  895             gmax = gmax+1
				movl	GMAX.6174@GOTOFF(%eax), %ecx
				addl	$1, %ecx
				movl	%ecx, GMAX.6174@GOTOFF(%eax)
  896             gram(gmax) = tt
				movl	GMAX.6174@GOTOFF(%eax), %ecx
				movl	12(%ebp), %ebx
				movw	%bx, GRAM.6181@GOTOFF(%eax,%ecx,2)
  897             glink(gmax) = ap
				movl	GMAX.6174@GOTOFF(%eax), %ecx
				movl	8(%edx), %ebx
				movw	%bx, GLINK.6183@GOTOFF(%eax,%ecx,2)
				jmp	.L285
		.L293:
  898          %FINISH
  899
  900          p = gmax
				movl	GMAX.6174@GOTOFF(%eax), %eax
				movl	%eax, 16(%edx)
  901       %END
				nop
		.L272:
				addl	$4, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE199:
		GAPP.6307:
		.LFB198:
  902
  903       %ROUTINE class(%RECORD(tagfm)%NAME v)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%ebx
				subl	$176, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	8(%ebp), %eax
				movl	%eax, -172(%ebp)
				movl	%ecx, %edx
				movl	%ecx, -176(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  904          %CONSTINTEGER err    = 89
  905          %CONSTINTEGER rtp    = 100
  906          %CONSTINTEGER fnp    = 101
  907          %CONSTINTEGER mapp   = 102
  908          %CONSTINTEGER predp  = 103
  909          %CONSTINTEGERARRAY class map(0:15) = %C
				movl	$89, -144(%ebp)
				movl	$1764, -140(%ebp)
				movl	$247, -136(%ebp)
				movl	$89, -132(%ebp)
				movl	$89, -128(%ebp)
				movl	$89, -124(%ebp)
				movl	$89, -120(%ebp)
				movl	$-100, -116(%ebp)
				movl	$-101, -112(%ebp)
				movl	$-102, -108(%ebp)
				movl	$-103, -104(%ebp)
				movl	$89, -100(%ebp)
				movl	$214, -96(%ebp)
				movl	$89, -92(%ebp)
				movl	$229, -88(%ebp)
				movl	$89, -84(%ebp)
				leal	-80(%ebp), %ebx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%ebx, %edi
				rep stosl
				leal	-144(%ebp), %eax
				movl	%eax, -80(%ebp)
				movl	$4, -76(%ebp)
  910          err,1764, 247, err(4), -rtp, -fnp, -mapp, -predp, err, 214,
  911          err, 229, err
  912          %INTEGER tags, type, form
  913          ap = 0
				movl	$0, %eax
				movl	%eax, 8(%edx)
  914          tags = v_flags
				movl	-172(%ebp), %eax
				movzwl	8(%eax), %eax
				cwtl
				movl	%eax, -156(%ebp)
  915          type = tags>>4&7;  form = tags&15
				movl	-156(%ebp), %eax
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, -152(%ebp)
				movl	-156(%ebp), %eax
				andl	$15, %eax
				movl	%eax, -148(%ebp)
  916          tp = v_format<<3!type
				movl	-172(%ebp), %eax
				movl	4(%eax), %eax
				sall	$3, %eax
				orl	-152(%ebp), %eax
				movl	%eax, 4(%edx)
  917          c = class map(form)
				movl	-148(%ebp), %eax
				movl	-144(%ebp,%eax,4), %eax
				movl	%eax, (%edx)
  918          c = 208 %AND tp = 0 %IF type = 0 %AND form = 2;  !%NAME
				cmpl	$0, -152(%ebp)
				jne	.L320
				cmpl	$2, -148(%ebp)
				jne	.L321
				movl	$208, %eax
				movl	%eax, (%edx)
				movl	$0, %eax
				movl	%eax, 4(%edx)
				jmp	.L319
		.L314:
		.L320:
				nop
				jmp	.L319
		.L321:
				nop
		.L319:
  919          ap = v_app %IF tags&parameters # 0
				movl	-172(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, 8(%edx)
  920       %END
				nop
		.L316:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L318
				call	__stack_chk_fail_local
		.L318:
				addl	$176, %esp
				popl	%ebx
				popl	%edi
				popl	%ebp
				ret
		.LFE200:
		DELETENAMES.6309:
		.LFB201:
  921    %END
				movl	-12(%ebp), %ebx
				xorl	%gs:20, %ebx
				je	.L306
				call	__stack_chk_fail_local
		.L306:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE198:
		CLASS.6512:
		.LFB200:
  922
  923 %ROUTINE delete names(%INTEGER quiet)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
		.L323:
  924    %INTEGER flags
  925    %RECORD(tagfm)%NAME tx
  926    %WHILE tmax > tbase %CYCLE
				movl	52(%ebx), %edx
				movl	56(%ebx), %eax
				cmpl	%eax, %edx
				jle	.L337
				nop
		.L325:
  927       x = tmax;  tmax = tmax-1
				movl	52(%ebx), %eax
				movl	%eax, X.6078@GOTOFF(%esi)
				movl	52(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 52(%ebx)
  928       tx == tag(x)
				movl	X.6078@GOTOFF(%esi), %edx
				movl	64(%ebx), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -20(%ebp)
  929       flags = tx_flags
				movl	-20(%ebp), %eax
				movzwl	8(%eax), %eax
				cwtl
				movl	%eax, -16(%ebp)
  930       fault(20) %IF flags&spec # 0 %and flags&own bit = 0
				movl	-16(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L338
				subl	$12, %esp
				pushl	$20
				movl	%ebx, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L327
		.L338:
				nop
		.L327:
  931                {spec with no definition & not external}
  932       %IF flags&used bit = 0 %AND level >= 0 %AND list <= 0 %START
				movl	-16(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L339
				movl	48(%ebx), %eax
				testl	%eax, %eax
				js	.L340
				movl	LIST.6160@GOTOFF(%esi), %eax
				testl	%eax, %eax
				jg	.L341
				nop
				jmp	.L333
		.L340:
				nop
				jmp	.L333
		.L341:
				nop
				jmp	.L333
		.L342:
  933          fault(-3) %IF quiet = 0;          !unused
				cmpl	$0, 8(%ebp)
				jne	.L342
				subl	$12, %esp
				pushl	$-3
				movl	%ebx, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L333
		.L329:
		.L339:
				nop
		.L333:
  934       %FINISH
  935       dict(tx_text) = tx_link
				movl	-20(%ebp), %eax
				movzwl	12(%eax), %eax
				cwtl
				leal	-1(%eax), %ecx
				movl	-20(%ebp), %eax
				movzwl	14(%eax), %edx
				movl	64(%ebx), %eax
				addl	$13416, %ecx
				movw	%dx, 4(%eax,%ecx,2)
  936    %REPEAT
				jmp	.L323
		.L337:
  937 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L335
				call	__stack_chk_fail_local
		.L335:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE201:
		SHOW.6587:
		.LFB204:
  938
  939 %ROUTINE analyse
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$4716, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -4716(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -4640(%ebp)
				movl	%esi, -4644(%ebp)
  940
  941    %CONSTINTEGER order bits = x'3000', order bit = x'1000'
  942    %CONSTINTEGER escape     = x'1000'
  943    %INTEGER strp, mark, flags, prot err, k, s, c
  944    %OWNINTEGER key = 0
  945    %SHORTINTEGER node
  946    %SHORTINTEGERNAME z
  947    %RECORD(arfm)%NAME arp
  948 !emas:   %INTEGER node
  949 !emas:   %INTEGERNAME z
  950    %SWITCH act(actions:phrasal), paction(0:15)
  951
  952    %ROUTINE trace analysis
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$828, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -828(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -800(%ebp)
				movl	%esi, -804(%ebp)
  953       !diagnostic trace routine (diagnose&1 # 0)
  954       %INTEGER a
  955       %ROUTINE show(%INTEGER a)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$300, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -300(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
		.LBB434:
  956          %IF 0 < a < 130 %START
				movl	8(%ebp), %eax
				movl	%eax, -288(%ebp)
				cmpl	$0, -288(%ebp)
				jle	.L351
				cmpl	$129, -288(%ebp)
				jg	.L352
		.LBE434:
		.LBB435:
		.LBB436:
				call	_imp_space@PLT
		.LBE436:
		.LBE435:
		.LBB437:
				nop
				jmp	.L350
		.L352:
				nop
		.L350:
		.LBE440:
  957             space
  958             printstring(text(a))
				movl	(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	8(%ebp), %edx
				addl	$152, %edx
				sall	$8, %edx
				addl	%eax, %edx
				leal	-284(%ebp), %eax
				addl	$6, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %edx
				leal	-284(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE437:
		.LBB438:
		.LBB439:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE439:
		.LBE438:
  959          %FINISH %ELSE write(a, 3)
				jmp	.L347
		.L345:
		.L351:
		.LBB440:
				subl	$8, %esp
				pushl	$3
				pushl	8(%ebp)
				call	_imp_writeint@PLT
				addl	$16, %esp
		.L347:
  960       %END
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L349
				call	__stack_chk_fail_local
		.L349:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE204:
				.section	.rodata
				.align 32
		.LC22:
				.byte	2
				.string	" ["
				.zero	252
		TRACEANALYSIS.6583:
		.LFB203:
  961       %OWNINTEGER la1=0, la2=0, lsa=0, lt=0
  962       newline %IF mon pos # pos %AND sym # nl
				movl	MONPOS.6095@GOTOFF(%ebx), %edx
				movl	POS.6146@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L367
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L368
		.LBB441:
		.LBB442:
				call	_imp_newline@PLT
				jmp	.L355
		.L367:
		.LBE442:
		.LBE441:
				nop
				jmp	.L355
		.L368:
				nop
		.L355:
  963       mon pos = pos
				movl	POS.6146@GOTOFF(%ebx), %eax
				movl	%eax, MONPOS.6095@GOTOFF(%ebx)
  964       write(g, 3)
				movl	G.6116@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB443:
		.LBB444:
				call	_imp_space@PLT
		.LBE444:
		.LBE443:
		.LBB445:
  965       space
  966       printstring(text(class))
				movl	CLASS.6077@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$152, %edx
				sall	$8, %edx
				addl	%eax, %edx
				leal	-284(%ebp), %eax
				addl	$6, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %edx
				leal	-540(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE445:
		.LBB446:
		.LBB447:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
				movb	$34, -812(%ebp)
		.LBE447:
		.LBE446:
		.LBB448:
		.LBB449:
				movsbl	-812(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.L357:
		.LBE449:
		.LBE448:
  967       printsymbol('"') %IF gg&trans bit # 0
  968       a = gg>>8&15
				movl	GG.6117@GOTOFF(%ebx), %eax
				shrl	$8, %eax
				andl	$15, %eax
				movl	%eax, -808(%ebp)
  969       %IF a # 0 %START
				cmpl	$0, -808(%ebp)
				je	.L369
				movb	$123, -811(%ebp)
		.LBB450:
		.LBB451:
				movsbl	-811(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE451:
		.LBE450:
				nop
		.L359:
  970          printsymbol('{')
  971          write(a, 0)
				subl	$8, %esp
				pushl	$0
				pushl	-808(%ebp)
				call	_imp_writeint@PLT
				addl	$16, %esp
				movb	$125, -810(%ebp)
		.LBB452:
		.LBB453:
				movsbl	-810(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L359
		.L369:
		.LBE453:
		.LBE452:
  972          printsymbol('}')
  973       %FINISH
  974       %IF atom1 # la1 %OR atom2 # la2 %OR lsa # subatom %C
				movl	ATOM1.6079@GOTOFF(%ebx), %edx
				movl	LA1.6594@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L370
				movl	ATOM2.6080@GOTOFF(%ebx), %edx
				movl	LA2.6595@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L371
				movl	LSA.6596@GOTOFF(%ebx), %edx
				movl	SUBATOM.6081@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L372
				movl	LT.6597@GOTOFF(%ebx), %edx
				movl	TYPE.6082@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L373
				jmp	.L361
		.L370:
				nop
				jmp	.L361
		.L371:
				nop
				jmp	.L361
		.L372:
				nop
		.L361:
		.LBB454:
				nop
		.L364:
		.LBB459:
		.LBB460:
				call	_imp_newline@PLT
		.LBE460:
		.LBE459:
  975                       %OR lt # type %START
  976          printstring(" [")
				leal	-284(%ebp), %eax
				leal	.LC22@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE454:
		.LBB455:
		.LBB456:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE456:
		.LBE455:
  977          la1 = atom1
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				movl	%eax, LA1.6594@GOTOFF(%ebx)
  978          show(la1)
				movl	LA1.6594@GOTOFF(%ebx), %edx
				subl	$12, %esp
				leal	-804(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	SHOW.6587
				addl	$16, %esp
  979          la2 = atom2
				movl	ATOM2.6080@GOTOFF(%ebx), %eax
				movl	%eax, LA2.6595@GOTOFF(%ebx)
  980          show(la2)
				movl	LA2.6595@GOTOFF(%ebx), %edx
				subl	$12, %esp
				leal	-804(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	SHOW.6587
				addl	$16, %esp
  981          lsa = subatom
				movl	SUBATOM.6081@GOTOFF(%ebx), %eax
				movl	%eax, LSA.6596@GOTOFF(%ebx)
  982          write(lsa, 3)
				movl	LSA.6596@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
  983          lt = type
				movl	TYPE.6082@GOTOFF(%ebx), %eax
				movl	%eax, LT.6597@GOTOFF(%ebx)
  984          write(lt, 5)
				movl	LT.6597@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movb	$93, -809(%ebp)
		.LBB457:
		.LBB458:
				movsbl	-809(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L364
		.L373:
		.LBE458:
		.LBE457:
  985          printsymbol(']')
  986       %FINISH
  987       newline
  988    %END
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L366
				call	__stack_chk_fail_local
		.L366:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE203:
				.section	.rodata
				.align 4
		.LC76:
				.string	"->ACT(%d) out of bounds at %s line %d"
				.align 4
		.LC77:
				.string	"switch jump to undefined label ACT(%d): at %s line %d"
				.align 4
		.LC78:
				.string	"->PACTION(%d) out of bounds at %s line %d"
				.align 4
		.LC79:
				.string	"switch jump to undefined label PACTION(%d): at %s line %d"
				.align 32
		.LC10:
				.byte	7
				.string	"Atom1 ="
				.zero	247
				.align 32
		.LC11:
				.byte	9
				.string	"  Atom2 ="
				.zero	245
				.align 32
		.LC12:
				.byte	11
				.string	"  subatom ="
				.zero	243
				.align 32
		.LC13:
				.byte	6
				.string	"Type ="
				.zero	248
				.align 32
		.LC14:
				.byte	10
				.string	"   Ptype ="
				.zero	244
				.align 32
		.LC15:
				.byte	5
				.string	"App ="
				.zero	249
				.align 32
		.LC16:
				.byte	9
				.string	"   Papp ="
				.zero	245
				.align 32
		.LC17:
				.byte	8
				.string	"Format ="
				.zero	246
				.align 32
		.LC18:
				.byte	12
				.string	"   Pformat ="
				.zero	242
		ANALYSE.6311:
		.LFB202:
  989
  990 %ROUTINE get sym
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -28(%ebp)
				leal	SYM.6096@GOTOFF(%ebx), %eax
				movl	%eax, -12(%ebp)
		.LBB504:
		.LBB505:
				subl	$12, %esp
				pushl	-12(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE505:
		.LBE504:
  991    readsymbol(sym)
  992    pos = pos+1 %IF pos # 133
				movl	POS.6146@GOTOFF(%ebx), %eax
				cmpl	$133, %eax
				je	.L537
				movl	POS.6146@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, POS.6146@GOTOFF(%ebx)
				jmp	.L533
		.L537:
				nop
		.L533:
  993    char(pos) = sym
				movl	SYM.6096@GOTOFF(%ebx), %edx
				movl	POS.6146@GOTOFF(%ebx), %eax
				movb	%dl, CHAR.6153@GOTOFF(%ebx,%eax)
  994    printsymbol(sym) %IF list <= 0
				movl	LIST.6160@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L538
				movl	SYM.6096@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -13(%ebp)
		.LBB506:
		.LBB507:
				movsbl	-13(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L535
		.L538:
		.LBE507:
		.LBE506:
				nop
		.L535:
  995    column = column+1
				movl	COLUMN.6093@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, COLUMN.6093@GOTOFF(%ebx)
  996 %END
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE205:
				.section	.rodata
				.align 32
		.LC20:
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	10
				.byte	0
				.byte	3
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	0
				.byte	33
				.byte	34
				.byte	35
				.byte	36
				.byte	1
				.byte	38
				.byte	39
				.byte	40
				.byte	41
				.byte	42
				.byte	43
				.byte	44
				.byte	45
				.byte	46
				.byte	47
				.byte	48
				.byte	49
				.byte	50
				.byte	51
				.byte	52
				.byte	53
				.byte	54
				.byte	55
				.byte	56
				.byte	57
				.byte	58
				.byte	59
				.byte	60
				.byte	61
				.byte	62
				.byte	63
				.byte	64
				.byte	65
				.byte	66
				.byte	67
				.byte	68
				.byte	69
				.byte	70
				.byte	71
				.byte	72
				.byte	73
				.byte	74
				.byte	75
				.byte	76
				.byte	77
				.byte	78
				.byte	79
				.byte	80
				.byte	81
				.byte	82
				.byte	83
				.byte	84
				.byte	85
				.byte	86
				.byte	87
				.byte	88
				.byte	89
				.byte	90
				.byte	91
				.byte	92
				.byte	93
				.byte	94
				.byte	95
				.byte	96
				.byte	65
				.byte	66
				.byte	67
				.byte	68
				.byte	69
				.byte	70
				.byte	71
				.byte	72
				.byte	73
				.byte	74
				.byte	75
				.byte	76
				.byte	77
				.byte	78
				.byte	79
				.byte	80
				.byte	81
				.byte	82
				.byte	83
				.byte	84
				.byte	85
				.byte	86
				.byte	87
				.byte	88
				.byte	89
				.byte	90
				.byte	2
				.byte	124
				.byte	125
				.byte	126
				.byte	0
				.align 32
		.LC21:
				.byte	2
				.string	" &"
				.zero	252
		READSYM.6613:
		.LFB206:
  997 %ROUTINE read sym
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1020, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -1024(%ebp)
				movl	%ecx, -1020(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  998    %owninteger Last = 0
  999 %CONSTBYTEINTEGERARRAY mapped(0:127) = %C
				leal	-156(%ebp), %eax
				leal	.LC20@GOTOFF(%ebx), %edx
				movl	$32, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-992(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-156(%ebp), %eax
				movl	%eax, -992(%ebp)
				movl	$1, -988(%ebp)
 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
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				jne	.L599
				nop
				jmp	.L558
		.L612:
 1016 s1:   lines = lines+1
				nop
				jmp	.L540
		.L619:
				movl	LINES.6088@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, LINES.6088@GOTOFF(%ebx)
 1017       printsymbol(end mark) %if end mark # 0
				movl	ENDMARK.6099@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L600
				movl	ENDMARK.6099@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -1012(%ebp)
		.LBB508:
		.LBB509:
				movsbl	-1012(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L544
		.L543:
		.L600:
		.LBE509:
		.LBE508:
				nop
		.L544:
 1018 s11:  pos = 0;  pos1 = 0;  pos2 = 0;  margin = 0;  column = 0
				movl	$0, POS.6146@GOTOFF(%ebx)
				movl	$0, POS1.6144@GOTOFF(%ebx)
				movl	$0, POS2.6145@GOTOFF(%ebx)
				movl	$0, MARGIN.6090@GOTOFF(%ebx)
				movl	$0, COLUMN.6093@GOTOFF(%ebx)
 1019       Last = 0
				movl	$0, LAST.6615@GOTOFF(%ebx)
 1020       end mark = 0
				movl	$0, ENDMARK.6099@GOTOFF(%ebx)
 1021       %IF list <= 0 %START
				movl	LIST.6160@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L601
				nop
				jmp	.L557
		.L603:
 1022          %IF include # 0 %START
				movl	INCLUDE.6132@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L602
		.LBB510:
				nop
 1023             printstring(" &");  write(lines, -4)
				leal	-924(%ebp), %eax
				leal	.LC21@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-668(%ebp), %eax
				leal	-924(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-412(%ebp), %eax
				leal	-668(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE510:
		.LBB511:
		.LBB512:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-412(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE512:
		.LBE511:
				movl	LINES.6088@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$-4
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1024          %FINISH %ELSE  write(lines, 5)
				jmp	.L549
		.L548:
		.L602:
				movl	LINES.6088@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.L549:
 1025          csym = cont;  printsymbol(csym)
				movl	CONT.6100@GOTOFF(%ebx), %eax
				movl	%eax, CSYM.6101@GOTOFF(%ebx)
				movl	CSYM.6101@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -1011(%ebp)
		.LBB513:
		.LBB514:
				movsbl	-1011(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE514:
		.LBE513:
		.LBB515:
		.LBB516:
				call	_imp_space@PLT
		.LBE516:
		.LBE515:
 1026          space
 1027          %IF error margin # 0 %START
				movl	ERRORMARGIN.6091@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L603
				nop
				jmp	.L557
		.L604:
 1028             lines = lines-1
				movl	LINES.6088@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, LINES.6088@GOTOFF(%ebx)
 1029             spaces(error margin)
				movl	ERRORMARGIN.6091@GOTOFF(%ebx), %eax
				movl	%eax, -1008(%ebp)
		.LBB517:
		.LBB518:
				subl	$12, %esp
				pushl	-1008(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE518:
		.LBE517:
 1030             error margin = 0
				movl	$0, ERRORMARGIN.6091@GOTOFF(%ebx)
 1031             %IF error sym # 0 %START
				movl	ERRORSYM.6092@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L604
				nop
				jmp	.L557
		.L610:
 1032                printsymbol(error sym)
				movl	ERRORSYM.6092@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -1010(%ebp)
		.LBB519:
		.LBB520:
				movsbl	-1010(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE520:
		.LBE519:
 1033                pos = 1
				movl	$1, POS.6146@GOTOFF(%ebx)
 1034 !IMP80 BUG???
 1035 !!             char(1) = error sym
 1036                byteinteger(addr(char(0))+1) = error sym
				movl	ERRORSYM.6092@GOTOFF(%ebx), %edx
				leal	CHAR.6153@GOTOFF(%ebx), %eax
				movl	%eax, -1000(%ebp)
		.LBB521:
		.LBB522:
				movl	-1000(%ebp), %eax
		.LBE522:
		.LBE521:
				addl	$1, %eax
				movl	%eax, -1004(%ebp)
		.LBB523:
		.LBB524:
				movl	-1004(%ebp), %eax
		.LBE524:
		.LBE523:
				movb	%dl, (%eax)
 1037                sym = error sym;  error sym = 0
				movl	ERRORSYM.6092@GOTOFF(%ebx), %eax
				movl	%eax, SYM.6096@GOTOFF(%ebx)
				movl	$0, ERRORSYM.6092@GOTOFF(%ebx)
 1038                ->s5
				jmp	.L554
		.L546:
		.L555:
		.L556:
		.L601:
 1039             %FINISH
 1040          %FINISH
 1041       %FINISH
 1042 s2:   symtype = 1
				movl	$1, SYMTYPE.6097@GOTOFF(%ebx)
				jmp	.L558
		.L541:
		.L599:
 1043    %FINISH
 1044 s3:readsymbol(sym)
 1045    pos = pos+1 %IF pos # 133
				movl	POS.6146@GOTOFF(%ebx), %eax
				cmpl	$133, %eax
				je	.L605
				movl	POS.6146@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, POS.6146@GOTOFF(%ebx)
				jmp	.L560
		.L605:
				nop
		.L560:
 1046    char(pos) = sym
				movl	SYM.6096@GOTOFF(%ebx), %edx
				movl	POS.6146@GOTOFF(%ebx), %eax
				movb	%dl, CHAR.6153@GOTOFF(%ebx,%eax)
 1047    printsymbol(sym) %IF list <= 0
				movl	LIST.6160@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L606
				movl	SYM.6096@GOTOFF(%ebx), %eax
				movsbl	%al, %eax
				movb	%al, -1009(%ebp)
		.LBB527:
		.LBB528:
				movsbl	-1009(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L562
		.L606:
		.LBE528:
		.LBE527:
				nop
		.L562:
 1048    column = column+1
				movl	COLUMN.6093@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, COLUMN.6093@GOTOFF(%ebx)
		.L554:
 1049 s5:%IF sym # nl %START
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L607
				nop
				jmp	.L589
		.L613:
 1050       Last = Sym
				movl	SYM.6096@GOTOFF(%ebx), %eax
				movl	%eax, LAST.6615@GOTOFF(%ebx)
 1051       %RETURN %IF quote # 0;                     !dont alter strings
				movl	QUOTE.6098@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L608
				nop
		.L566:
				nop
		.L539:
 1052       sym = mapped(sym&127)
				movl	SYM.6096@GOTOFF(%ebx), %eax
				andl	$127, %eax
				movzbl	-156(%ebp,%eax), %eax
				movzbl	%al, %eax
				movl	%eax, SYM.6096@GOTOFF(%ebx)
 1053       %IF sym <= 3 %START;                       !special symbol
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$3, %eax
				jg	.L609
				nop
		.L569:
 1054          ->s2 %IF sym = 0;                       !space (or dubious control)
				nop
		.L557:
				movl	SYM.6096@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L610
				nop
		.L571:
 1055          symtype = 2 %AND ->s3 %IF sym = 1;      !%
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$1, %eax
				jne	.L611
				movl	$2, SYMTYPE.6097@GOTOFF(%ebx)
				jmp	.L558
		.L611:
				nop
		.L573:
 1056          cont = '+' %AND ->s11 %IF sym = 3;      !ff
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$3, %eax
				je	.L574
				jmp	.L575
		.L574:
				movl	$43, CONT.6100@GOTOFF(%ebx)
				jmp	.L544
		.L575:
		.L576:
 1057          !must be {
 1058          %CYCLE
 1059             get sym
				movl	-1024(%ebp), %ecx
				call	GETSYM.6608
 1060             ->s3 %IF sym = '}'
				nop
		.L558:
				leal	SYM.6096@GOTOFF(%ebx), %eax
				movl	%eax, -996(%ebp)
		.LBB525:
		.LBB526:
				subl	$12, %esp
				pushl	-996(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE526:
		.LBE525:
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$125, %eax
				je	.L612
				nop
		.L578:
 1061             ->s4 %IF sym = nl
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L613
				nop
		.L580:
				nop
		.L589:
 1062          %REPEAT
				jmp	.L575
		.L609:
 1063       %FINISH
 1064       key = kdict(sym)
				movl	SYM.6096@GOTOFF(%ebx), %eax
				leal	-32(%eax), %edx
				movl	-1024(%ebp), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$12840, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				movl	%eax, KEY.6568@GOTOFF(%ebx)
 1065       %IF key&3 = 0 %AND symtype = 2 %START;            !keyword
				movl	KEY.6568@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L614
				movl	SYMTYPE.6097@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				jne	.L615
				nop
				jmp	.L582
		.L615:
				nop
		.L582:
 1066          %IF sym = 'C' %AND nextsymbol = nl %START;     !%C...
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$67, %eax
				jne	.L616
		.LBB529:
		.LBB530:
				call	_imp_nextsymbol@PLT
		.LBE530:
		.LBE529:
				cmpl	$10, %eax
				jne	.L617
				nop
				jmp	.L585
		.L617:
				nop
		.L585:
 1067             getsym;  cont = '+';  ->s1
				movl	-1024(%ebp), %ecx
				call	GETSYM.6608
				movl	$43, CONT.6100@GOTOFF(%ebx)
				jmp	.L540
		.L616:
 1068          %FINISH
 1069       %ELSE
				nop
		.L588:
 1070          symtype = key&3-2
				movl	KEY.6568@GOTOFF(%ebx), %eax
				andl	$3, %eax
				subl	$2, %eax
				movl	%eax, SYMTYPE.6097@GOTOFF(%ebx)
 1071       %FINISH
 1072       %RETURN
				jmp	.L539
		.L614:
				jmp	.L539
		.L564:
		.L607:
 1073    %FINISH
 1074 s4:symtype = quote
				movl	QUOTE.6098@GOTOFF(%ebx), %eax
				movl	%eax, SYMTYPE.6097@GOTOFF(%ebx)
 1075    ->S1 %if last = 0 %and Quote = 0
				nop
		.L540:
				movl	LAST.6615@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L618
				movl	QUOTE.6098@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L619
				jmp	.L591
		.L618:
				nop
		.L591:
 1076    Cont = '+'
				movl	$43, CONT.6100@GOTOFF(%ebx)
 1077 %END
				nop
				jmp	.L539
		.L608:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L594
				call	__stack_chk_fail_local
		.L594:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE206:
		FORMATSELECTED.6649:
		.LFB207:
 1078
 1079 %INTEGERFN format selected
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %edx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ebx
				movl	%ebx, -12(%ebp)
				xorl	%ebx, %ebx
 1080    format list = tag(format)_app;      !number of names
				movl	FORMAT.6084@GOTOFF(%eax), %ebx
				movl	4(%edx), %ecx
				movl	64(%ecx), %ecx
				addl	$13, %ebx
				sall	$4, %ebx
				addl	%ebx, %ecx
				addl	$4, %ecx
				movl	(%ecx), %ecx
				movl	%ecx, FORMATLIST.6151@GOTOFF(%eax)
 1081    %IF format list < 0 %START;         !forward ref
				movl	FORMATLIST.6151@GOTOFF(%eax), %ecx
				testl	%ecx, %ecx
				jns	.L628
				nop
		.L622:
 1082       atom1 = error+22
				movl	$32790, ATOM1.6079@GOTOFF(%eax)
 1083       %RESULT = 0
				movl	$0, %eax
				jmp	.L623
		.L628:
 1084    %FINISH
 1085    %IF sym = '_' %START
				movl	SYM.6096@GOTOFF(%eax), %ecx
				cmpl	$95, %ecx
				jne	.L629
				nop
		.L625:
 1086       escape class = esc rec
				movl	$255, ESCAPECLASS.6105@GOTOFF(%eax)
 1087       search base = tag(format)_format
				movl	FORMAT.6084@GOTOFF(%eax), %ecx
				movl	4(%edx), %edx
				movl	64(%edx), %edx
				addl	$13, %ecx
				sall	$4, %ecx
				addl	%ecx, %edx
				addl	$8, %edx
				movl	(%edx), %edx
				movl	%edx, SEARCHBASE.6150@GOTOFF(%eax)
				jmp	.L625
		.L629:
 1088    %FINISH
 1089    %RESULT = 1
				movl	$1, %eax
		.L623:
 1090 %END
				movl	-12(%ebp), %ebx
				xorl	%gs:20, %ebx
				je	.L626
				call	__stack_chk_fail_local
		.L626:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE207:
				.section	.rodata
				.align 32
		.LC19:
				.byte	7
				.string	"lookup:"
				.zero	247
		LOOKUP.6667:
		.LFB209:
 1091
 1092 %ROUTINE code atom(%INTEGER target)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				addl	$-128, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -124(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -16(%ebp)
				movl	%esi, -20(%ebp)
		.L772:
 1093    %INTEGER dbase, da
 1094    %INTEGER base, n, mul, pend quote
 1095    %INTEGER j,k,l, pt
 1096
 1097    %ROUTINE lookup(%INTEGER d)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$604, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%esi, -608(%ebp)
				movl	%ecx, -604(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
 1098       %CONSTINTEGER magic = 6700421
 1099       %INTEGER new name, vid, k1, k2, form
 1100       %RECORD(tagfm)%NAME t
 1101 !emas:      %LONGINTEGER k0
 1102       %INTEGER new
 1103
 1104       !first locate the text of the name
 1105
 1106       new = addr(dict(dmax+1))
				movl	DMAX.6126@GOTOFF(%ebx), %edx
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				addl	%edx, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -556(%ebp)
		.LBB531:
		.LBB532:
				movl	-556(%ebp), %eax
		.LBE532:
		.LBE531:
				movl	%eax, -592(%ebp)
 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
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	208(%eax), %eax
				imull	$6700421, %eax, %eax
				movl	%eax, -580(%ebp)
 1116                        ! we could fix this properly by a shift+add loop
 1117             !*******************************************************
 1118
 1119       k2 = k2>>(32-2*name bits)!1
				movl	-580(%ebp), %eax
				shrl	$10, %eax
				orl	$1, %eax
				movl	%eax, -580(%ebp)
 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
				movl	-580(%ebp), %eax
				shrl	$11, %eax
				movl	%eax, -596(%ebp)
		.L632:
 1124       %CYCLE
 1125          newname = hash(k1)
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	-596(%ebp), %edx
				addl	$10792, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				movl	%eax, -588(%ebp)
 1126          %EXIT %IF newname = 0;                !not in
				cmpl	$0, -588(%ebp)
				je	.L732
				nop
		.L634:
				nop
		.L635:
 1127          ->in %IF string(addr(dict(newname+1))) = string(new)
				movl	-592(%ebp), %eax
				movl	%eax, -544(%ebp)
		.LBB533:
		.LBB534:
				movl	-544(%ebp), %edx
		.LBE534:
		.LBE533:
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	-588(%ebp), %ecx
				addl	$13416, %ecx
				addl	%ecx, %ecx
				addl	%ecx, %eax
				addl	$4, %eax
				movl	%eax, -548(%ebp)
		.LBB535:
		.LBB536:
				movl	-548(%ebp), %eax
				movl	%eax, -552(%ebp)
		.LBE536:
		.LBE535:
		.LBB537:
		.LBB538:
				movl	-552(%ebp), %eax
		.LBE538:
		.LBE537:
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_strcmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				je	.L733
				nop
		.L640:
				nop
		.L641:
 1128          k1 = (k1+k2)&max names
				movl	-596(%ebp), %edx
				movl	-580(%ebp), %eax
				addl	%edx, %eax
				andl	$2047, %eax
				movl	%eax, -596(%ebp)
 1129       %REPEAT
				jmp	.L632
		.L732:
 1130
 1131       ! not found
 1132
 1133       spare names = spare names-1
				movl	SPARENAMES.6046@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, SPARENAMES.6046@GOTOFF(%ebx)
 1134       abandon(2) %IF spare names <= 0
				movl	SPARENAMES.6046@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L734
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$2
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L643
		.L734:
				nop
		.L643:
 1135       hash(k1) = dmax;                               !put it in
				movl	DMAX.6126@GOTOFF(%ebx), %eax
				movl	%eax, %ecx
				movl	-608(%ebp), %esi
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	-596(%ebp), %edx
				addl	$10792, %edx
				movw	%cx, 4(%eax,%edx,2)
 1136       dict(dmax) = -1
				movl	DMAX.6126@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movw	$-1, 4(%eax,%edx,2)
 1137       newname = dmax;  dmax = dp;  ->not in
				movl	DMAX.6126@GOTOFF(%ebx), %eax
				movl	%eax, -588(%ebp)
				movl	DP.6143@GOTOFF(%ebx), %eax
				movl	%eax, DMAX.6126@GOTOFF(%ebx)
				jmp	.L697
		.L733:
 1138
 1139 in:   search base = rbase %IF this >= 0 %AND d # 0;  !record elem defn
				movl	THIS.6120@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L735
				cmpl	$0, 8(%ebp)
				je	.L736
				movl	RBASE.6123@GOTOFF(%ebx), %eax
				movl	%eax, SEARCHBASE.6150@GOTOFF(%ebx)
				jmp	.L646
		.L735:
				nop
				jmp	.L646
		.L736:
				nop
		.L646:
 1140       %IF search base # 0 %START;                    !record subname
				movl	SEARCHBASE.6150@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L737
				nop
		.L649:
 1141          new = -1
				movl	$-1, -592(%ebp)
 1142          x = search base
				movl	SEARCHBASE.6150@GOTOFF(%ebx), %eax
				movl	%eax, X.6078@GOTOFF(%ebx)
		.L650:
 1143          %CYCLE
 1144             ->not in %IF x < format list
				movl	X.6078@GOTOFF(%ebx), %edx
				movl	FORMATLIST.6151@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jl	.L738
				nop
		.L652:
				nop
				jmp	.L697
		.L740:
 1145             %EXIT %IF tag(x)_text = new name
				movl	X.6078@GOTOFF(%ebx), %edx
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$16, %eax
				movzwl	(%eax), %eax
				cwtl
				cmpl	%eax, -588(%ebp)
				je	.L739
				nop
		.L654:
				nop
		.L655:
 1146             x = x-1
				movl	X.6078@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, X.6078@GOTOFF(%ebx)
 1147          %REPEAT
				jmp	.L650
		.L739:
 1148       %FINISH %ELSE %START;                   !hash in for normal names
				jmp	.L658
		.L737:
 1149          x = dict(newname)
				movl	-588(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				movl	%eax, X.6078@GOTOFF(%ebx)
 1150          ->not in %IF x <= limit;             !wrong level
				movl	X.6078@GOTOFF(%ebx), %edx
				movl	LIMIT.6138@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jle	.L740
		.L656:
				nop
		.L658:
				nop
				jmp	.L697
		.L749:
 1151       %FINISH
 1152
 1153       subatom = x;                            !name found, extract info
				movl	X.6078@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6081@GOTOFF(%ebx)
 1154       t == tag(x)
				movl	X.6078@GOTOFF(%ebx), %edx
				movl	-608(%ebp), %ecx
				movl	12(%ecx), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -576(%ebp)
 1155       atom flags = t_flags
				movl	-576(%ebp), %eax
				movzwl	8(%eax), %eax
				cwtl
				movl	%eax, ATOMFLAGS.6107@GOTOFF(%ebx)
 1156       format = t_format;  app = t_app
				movl	-576(%ebp), %eax
				movl	4(%eax), %eax
				movl	%eax, FORMAT.6084@GOTOFF(%ebx)
				movl	-576(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, APP.6083@GOTOFF(%ebx)
 1157       protection = atom flags&prot
				movl	ATOMFLAGS.6107@GOTOFF(%ebx), %eax
				andl	$256, %eax
				movl	%eax, PROTECTION.6106@GOTOFF(%ebx)
 1158       type = atom flags>>4&7;  atom1 = amap(atom flags&15)
				movl	ATOMFLAGS.6107@GOTOFF(%ebx), %eax
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, TYPE.6082@GOTOFF(%ebx)
				movl	ATOMFLAGS.6107@GOTOFF(%ebx), %eax
				andl	$15, %eax
				movl	%eax, %edx
				movl	12(%ecx), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movzbl	38902(%eax,%edx), %eax
				movzbl	%al, %eax
				movl	%eax, ATOM1.6079@GOTOFF(%ebx)
		.LBB539:
 1159
 1160       %IF diag&8 # 0 %START
 1161          printstring("lookup:")
				leal	-284(%ebp), %eax
				leal	.LC19@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-540(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE539:
		.LBB540:
		.LBB541:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE541:
		.LBE540:
 1162          write(atom1, 3)
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1163          write(type, 1)
				movl	TYPE.6082@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1164          write(app, 3)
				movl	APP.6083@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1165          write(format, 5)
				movl	FORMAT.6084@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$5
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1166          write(atom flags, 3)
				movl	ATOMFLAGS.6107@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB542:
		.LBB543:
				call	_imp_newline@PLT
		.L659:
		.LBE543:
		.LBE542:
 1167          newline
 1168       %FINISH
 1169
 1170       %IF d = 0 %START;                             !old name wanted
				cmpl	$0, 8(%ebp)
				jne	.L741
				nop
		.L661:
 1171          t_flags <- t_flags!used bit
				movl	-576(%ebp), %eax
				movzwl	8(%eax), %eax
				orw	$-32768, %ax
				movl	%eax, %edx
				movl	-576(%ebp), %eax
				movw	%dx, 8(%eax)
 1172          search base = 0
				movl	$0, SEARCHBASE.6150@GOTOFF(%ebx)
 1173
 1174          %IF atom flags&subname # 0 %AND format # 0 %START; !a record
				movl	FORMAT.6084@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L742
				nop
		.L722:
 1175             %RETURN %IF format selected = 0
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	%eax, %ecx
				call	FORMATSELECTED.6649
				testl	%eax, %eax
				je	.L743
				jmp	.L722
		.L663:
		.L666:
		.L742:
				nop
				jmp	.L630
		.L758:
 1176          %FINISH
 1177
 1178          %IF atom flags&parameters # 0 %START;      !proc or array
 1179
 1180             %IF app = 0 %START;                     !no parameters needed
				movl	APP.6083@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L744
				nop
		.L668:
 1181                atom2 = atom1
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				movl	%eax, ATOM2.6080@GOTOFF(%ebx)
 1182                atom1 = atom1-4
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				subl	$4, %eax
				movl	%eax, ATOM1.6079@GOTOFF(%ebx)
		.LBB544:
 1183                %IF 97 <= atom1 <= 98 %START
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				movl	%eax, -572(%ebp)
				cmpl	$96, -572(%ebp)
				jle	.L745
				cmpl	$98, -572(%ebp)
				jg	.L746
		.LBE544:
				nop
				jmp	.L677
		.L746:
				nop
		.L670:
		.LBE545:
 1184                   map gg = atom1;  atom1 = var
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				movl	%eax, MAPGG.6118@GOTOFF(%ebx)
				movl	$91, ATOM1.6079@GOTOFF(%ebx)
 1185                %FINISH
 1186             %FINISH %ELSE %START
				jmp	.L677
		.L745:
		.LBB545:
				jmp	.L677
		.L744:
 1187                %IF sym = '(' %START
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$40, %eax
				jne	.L747
				nop
		.L677:
 1188                   search base = 0;                  !ignore format for now
				movl	$0, SEARCHBASE.6150@GOTOFF(%ebx)
 1189                   %IF atom1 >= 106 %START;          !arrays
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				cmpl	$105, %eax
				jle	.L748
				nop
		.L675:
 1190                      app = phrase(app+200)
				movl	APP.6083@GOTOFF(%ebx), %eax
				movzwl	PHRASE.6175@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, APP.6083@GOTOFF(%ebx)
 1191                      escape class = esc array
				movl	$254, ESCAPECLASS.6105@GOTOFF(%ebx)
 1192                      atom1 = (atom1-106)>>1+91;     !a,an->v  na,nan->n
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				subl	$106, %eax
				shrl	%eax
				addl	$91, %eax
				movl	%eax, ATOM1.6079@GOTOFF(%ebx)
 1193                   %FINISH %ELSE %START;             !procedures
				jmp	.L676
		.L748:
 1194                      escape class = esc proc
				movl	$253, ESCAPECLASS.6105@GOTOFF(%ebx)
 1195                      atom1 = atom1-4
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				subl	$4, %eax
				movl	%eax, ATOM1.6079@GOTOFF(%ebx)
		.L676:
 1196                   %FINISH
 1197                   phrase(200) = app
				movl	APP.6083@GOTOFF(%ebx), %eax
				movw	%ax, PHRASE.6175@GOTOFF(%ebx)
				jmp	.L677
		.L672:
		.L747:
 1198                %FINISH
 1199             %FINISH
 1200             pos2 = pos;  %return
				movl	POS.6146@GOTOFF(%ebx), %eax
				movl	%eax, POS2.6145@GOTOFF(%ebx)
				jmp	.L630
		.L741:
 1201          %FINISH
 1202
 1203          !deal with constintegers etc
 1204
 1205          %IF atom flags&const bit # 0 %AND atom1 = var %START
 1206                map gg = const;  atom2 = const
 1207                subatom = -subatom %IF type = integer
 1208          %FINISH
 1209          %RETURN
 1210
 1211       %FINISH
 1212                                                  !new name wanted
 1213       ->not in %IF tbase # tstart;               !don<dq>t fault proc parm-parm
				movl	-608(%ebp), %edi
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	56(%eax), %edx
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	60(%eax), %eax
				cmpl	%eax, %edx
				jne	.L749
				nop
		.L679:
				nop
				jmp	.L697
		.L759:
 1214       %IF d = lab+spec+used bit %START
				cmpl	$32899, 8(%ebp)
				jne	.L750
				nop
 1215          t_flags = t_flags!used bit
				movl	-576(%ebp), %eax
				movzwl	8(%eax), %eax
				orw	$-32768, %ax
				movl	%eax, %edx
				movl	-576(%ebp), %eax
				movw	%dx, 8(%eax)
 1216          %RETURN
				jmp	.L630
		.L681:
		.L750:
 1217       %FINISH
 1218       %IF atom flags&spec # 0 %START;            !a spec has been given
 1219          %IF d = lab %START;                     !define label
				cmpl	$3, 8(%ebp)
				jne	.L751
				nop
		.L683:
		.LBB546:
 1220             t_flags <- t_Flags-Spec
				movl	-576(%ebp), %eax
				movzwl	8(%eax), %eax
				addl	$-128, %eax
				movl	%eax, %edx
				movl	-576(%ebp), %eax
				movw	%dx, 8(%eax)
 1221             %RETURN
				jmp	.L630
		.L751:
 1222          %FINISH
 1223          %IF 7 <= decl&15 <= 10 %AND decl&spec = 0 %START
				movl	DECL.6102@GOTOFF(%ebx), %eax
				andl	$15, %eax
				movl	%eax, -568(%ebp)
				cmpl	$6, -568(%ebp)
				jle	.L752
				cmpl	$10, -568(%ebp)
				jg	.L753
		.LBE546:
				movl	DECL.6102@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L754
				nop
				jmp	.L689
		.L753:
				nop
				jmp	.L689
		.L754:
		.LBE547:
				nop
				jmp	.L689
		.L755:
 1224
 1225             !procedure definition after spec
 1226
 1227             %IF (decl!!atom flags)&b'1111111' = 0 %START;  !correct type?
				movl	DECL.6102@GOTOFF(%ebx), %edx
				movl	ATOMFLAGS.6107@GOTOFF(%ebx), %eax
				xorl	%edx, %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L755
				nop
		.L689:
 1228                t_flags = t_flags-spec
				movl	-576(%ebp), %eax
				movzwl	8(%eax), %eax
				addl	$-128, %eax
				movl	%eax, %edx
				movl	-576(%ebp), %eax
				movw	%dx, 8(%eax)
 1229                spec given = 1
				movl	$1, SPECGIVEN.6104@GOTOFF(%ebx)
 1230                %RETURN
				jmp	.L630
		.L685:
		.L752:
		.LBB547:
 1231             %FINISH
 1232
 1233             !note that an external procedure must be speced as a
 1234             !non-external procedure.
 1235
 1236          %FINISH
 1237          %IF decl&15 = recfm %START;              !recordformat
				movl	DECL.6102@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L756
				nop
		.L692:
 1238             t_flags = record<<4+recfm
				movl	-576(%ebp), %eax
				movw	$68, 8(%eax)
 1239             t_format = fdef
				movl	FDEF.6119@GOTOFF(%ebx), %edx
				movl	-576(%ebp), %eax
				movl	%edx, 4(%eax)
 1240             %RETURN
				jmp	.L630
		.L691:
		.L756:
 1241          %FINISH
 1242       %FINISH
 1243       %RETURN %IF last1 = jump %AND atom1 = swit
				movl	LAST1.6110@GOTOFF(%ebx), %eax
				cmpl	$54, %eax
				jne	.L757
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				cmpl	$105, %eax
				je	.L758
				jmp	.L694
		.L757:
				nop
		.L694:
				nop
				jmp	.L630
		.L760:
 1244       copy = x %IF copy = 0
				movl	COPY.6139@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L759
				movl	X.6078@GOTOFF(%ebx), %eax
				movl	%eax, COPY.6139@GOTOFF(%ebx)
				jmp	.L697
		.L644:
		.L738:
				nop
		.L697:
 1245
 1246 notin:app = 0;  vid = 0
				movl	$0, APP.6083@GOTOFF(%ebx)
				movl	$0, -584(%ebp)
 1247       atom1 = error+2
				movl	$32770, ATOM1.6079@GOTOFF(%ebx)
 1248
 1249       %return %if d = 0;                         !old name wanted
				cmpl	$0, 8(%ebp)
				je	.L760
				nop
		.L699:
				nop
		.L630:
 1250       type = d>>4&7;  form = d&15;  atom1 = amap(form)
				movl	8(%ebp), %eax
				shrl	$4, %eax
				andl	$7, %eax
				movl	%eax, TYPE.6082@GOTOFF(%ebx)
				movl	8(%ebp), %eax
				andl	$15, %eax
				movl	%eax, -564(%ebp)
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %edx
				movl	-564(%ebp), %eax
				addl	%edx, %eax
				addl	$38902, %eax
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				movl	%eax, ATOM1.6079@GOTOFF(%ebx)
 1251
 1252       %IF this < 0 %START;                       !normal scope
				movl	THIS.6120@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L761
				nop
		.L701:
 1253          new = newname
				movl	-588(%ebp), %eax
				movl	%eax, -592(%ebp)
 1254          tmax = tmax+1;  x = tmax
				movl	-608(%ebp), %edi
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	52(%eax), %edx
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				addl	$1, %edx
				movl	%edx, 52(%eax)
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	52(%eax), %eax
				movl	%eax, X.6078@GOTOFF(%ebx)
 1255       %FINISH %ELSE %START;                      !recordformat scope
				jmp	.L702
		.L761:
 1256          new = -1
				movl	$-1, -592(%ebp)
 1257          recid = recid-1;  vid = recid
				movl	-608(%ebp), %esi
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	204(%eax), %edx
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				subl	$1, %edx
				movl	%edx, 204(%eax)
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				movl	204(%eax), %eax
				movl	%eax, -584(%ebp)
 1258          tmin = tmin-1;  x = tmin
				movl	TMIN.6127@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, TMIN.6127@GOTOFF(%ebx)
				movl	TMIN.6127@GOTOFF(%ebx), %eax
				movl	%eax, X.6078@GOTOFF(%ebx)
 1259          format list = tmin
				movl	TMIN.6127@GOTOFF(%ebx), %eax
				movl	%eax, FORMATLIST.6151@GOTOFF(%ebx)
		.L702:
		.LBB548:
 1260       %FINISH
 1261
 1262       %IF 11 <= form <= 14 %START;               !arrays
				movl	-564(%ebp), %eax
				movl	%eax, -560(%ebp)
				cmpl	$10, -560(%ebp)
				jle	.L762
				cmpl	$14, -560(%ebp)
				jg	.L763
		.LBE548:
				nop
				jmp	.L704
		.L763:
				nop
		.L704:
		.LBE549:
 1263          dim = 1 %IF dim = 0;                    !set dim for owns
				movl	DIM.6103@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L764
				movl	$1, DIM.6103@GOTOFF(%ebx)
				jmp	.L707
		.L764:
				nop
		.L707:
 1264          app = dim
				movl	DIM.6103@GOTOFF(%ebx), %eax
				movl	%eax, APP.6083@GOTOFF(%ebx)
				jmp	.L704
		.L762:
		.LBB549:
 1265       %FINISH
 1266
 1267       d = d!used bit %IF (otype > 2 %AND d&spec = 0) %OR perm # 0 %OR %C
				movl	OTYPE.6108@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				nop
		.L709:
				movl	PERM.6133@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L765
				movl	INCLUDELEVEL.6131@GOTOFF(%ebx), %edx
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	48(%eax), %eax
				cmpl	%edx, %eax
				jne	.L766
				jmp	.L711
		.L765:
				nop
		.L711:
				orl	$32768, 8(%ebp)
				jmp	.L712
		.L766:
				nop
		.L712:
 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)
				movl	X.6078@GOTOFF(%ebx), %edx
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -576(%ebp)
 1274       %IF form = lab %START
				cmpl	$3, -564(%ebp)
				jne	.L767
				nop
		.L714:
 1275          id = id+1;  vid = id
				movl	-608(%ebp), %edi
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	44(%eax), %edx
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				addl	$1, %edx
				movl	%edx, 44(%eax)
				movl	12(%edi), %eax
				movl	4(%eax), %eax
				movl	44(%eax), %eax
				movl	%eax, -584(%ebp)
				jmp	.L714
		.L767:
 1276       %FINISH
 1277       t_index = vid
				movl	-584(%ebp), %eax
				movl	%eax, %edx
				movl	-576(%ebp), %eax
				movw	%dx, 10(%eax)
 1278       t_text   = new name
				movl	-588(%ebp), %eax
				movl	%eax, %edx
				movl	-576(%ebp), %eax
				movw	%dx, 12(%eax)
 1279       t_flags <- d
				movl	8(%ebp), %eax
				movl	%eax, %edx
				movl	-576(%ebp), %eax
				movw	%dx, 8(%eax)
 1280       t_app    = app
				movl	APP.6083@GOTOFF(%ebx), %edx
				movl	-576(%ebp), %eax
				movl	%edx, (%eax)
 1281       t_format = fdef;  format = fdef
				movl	FDEF.6119@GOTOFF(%ebx), %edx
				movl	-576(%ebp), %eax
				movl	%edx, 4(%eax)
				movl	FDEF.6119@GOTOFF(%ebx), %eax
				movl	%eax, FORMAT.6084@GOTOFF(%ebx)
 1282       subatom = x
				movl	X.6078@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6081@GOTOFF(%ebx)
 1283
 1284       %IF new >= 0 %START;                             !insert into hash table
				cmpl	$0, -592(%ebp)
				js	.L768
				nop
				jmp	.L718
		.L769:
 1285          t_link = dict(new);  dict(new) = x
				movl	-592(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-608(%ebp), %esi
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %edx
				movl	-576(%ebp), %eax
				movw	%dx, 14(%eax)
				movl	X.6078@GOTOFF(%ebx), %eax
				movl	-592(%ebp), %edx
				subl	$1, %edx
				movl	%eax, %ecx
				movl	12(%esi), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movw	%cx, 4(%eax,%edx,2)
 1286          %IF gmin = max grammar %START;                !proc param params
				movl	GMIN.6125@GOTOFF(%ebx), %eax
				cmpl	$1720, %eax
				jne	.L769
				nop
		.L718:
 1287             tmin = tmin-1;  subatom = tmin
				movl	TMIN.6127@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, TMIN.6127@GOTOFF(%ebx)
				movl	TMIN.6127@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6081@GOTOFF(%ebx)
 1288             tag(tmin) = t
				movl	TMIN.6127@GOTOFF(%ebx), %edx
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%eax, %edx
				movl	-576(%ebp), %eax
				movl	(%eax), %ecx
				movl	%ecx, 4(%edx)
				movl	4(%eax), %ecx
				movl	%ecx, 8(%edx)
				movl	8(%eax), %ecx
				movl	%ecx, 12(%edx)
				movl	12(%eax), %eax
				movl	%eax, 16(%edx)
				jmp	.L718
		.L716:
		.L768:
 1289          %FINISH
 1290       %FINISH
 1291       abandon(3) %IF tmax >= tmin
				movl	TMIN.6127@GOTOFF(%ebx), %edx
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	52(%eax), %eax
				cmpl	%edx, %eax
				jl	.L770
				movl	-608(%ebp), %eax
				movl	12(%eax), %eax
				movl	4(%eax), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				nop
		.L720:
 1292    %END
				jmp	.L720
		.L770:
				nop
				jmp	.L630
		.L743:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L721
				call	__stack_chk_fail_local
		.L721:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE209:
		CODEATOM.6654:
		.LFB208:
 1293
 1294
 1295
 1296 top:  pos1 = pos
				movl	POS.6146@GOTOFF(%ebx), %eax
				movl	%eax, POS1.6144@GOTOFF(%ebx)
 1297       subatom = 0;  pend quote = 0;  atom flags = 0
				movl	$0, SUBATOM.6081@GOTOFF(%ebx)
				movl	$0, -104(%ebp)
				movl	$0, ATOMFLAGS.6107@GOTOFF(%ebx)
 1298
 1299       !app and format must be left for assigning to papp & pformat
 1300
 1301       ->name %IF symtype = -2;                   !letter
				movl	SYMTYPE.6097@GOTOFF(%ebx), %eax
				cmpl	$-2, %eax
				je	.L919
				nop
		.L774:
				nop
		.L775:
		.LBB574:
 1302       ->number %IF symtype < 0;                  !digit
				movl	SYMTYPE.6097@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L920
				nop
		.L777:
				nop
				jmp	.L778
		.L928:
 1303       %IF symtype = 0 %START
				movl	SYMTYPE.6097@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L921
				nop
		.L780:
 1304          atom1 = termin;  atom2 = 0
				movl	$20, ATOM1.6079@GOTOFF(%ebx)
				movl	$0, ATOM2.6080@GOTOFF(%ebx)
 1305          %RETURN
				jmp	.L771
		.L921:
 1306       %FINISH
 1307       %IF symtype # 2 %START;                    !catch keywords here
				movl	SYMTYPE.6097@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				je	.L922
				nop
				jmp	.L797
		.L926:
 1308          ->text %IF quote # 0;                   !completion of text
				movl	QUOTE.6098@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L923
				nop
		.L785:
				nop
		.L786:
 1309          ->strings %IF sym = squote;             !start of string
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$34, %eax
				je	.L924
				nop
		.L788:
				nop
		.L789:
 1310          ->symbols %IF sym = cquote;             !start of symbol
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$39, %eax
				je	.L925
				nop
		.L791:
				nop
				jmp	.L792
		.L958:
 1311          ->number %IF sym = '.' %AND '0' <= nextsymbol <= '9'
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$46, %eax
				jne	.L926
		.LBB550:
		.LBB551:
		.LBB552:
				call	_imp_nextsymbol@PLT
		.LBE552:
		.LBE551:
				movl	%eax, -84(%ebp)
				cmpl	$47, -84(%ebp)
				jle	.L927
				cmpl	$57, -84(%ebp)
				jle	.L928
				jmp	.L797
		.L783:
		.L922:
		.LBE550:
				nop
				jmp	.L797
		.L927:
		.LBB553:
				nop
		.L797:
		.LBE553:
				nop
		.L778:
 1312       %FINISH
 1313
 1314                                                  !locate atom in fixed dict
 1315       k = key>>2;  read sym
				movl	KEY.6568@GOTOFF(%ebx), %eax
				shrl	$2, %eax
				movl	%eax, -100(%ebp)
				movl	%esi, %ecx
				call	READSYM.6613
		.L798:
 1316       %CYCLE
 1317          j = kdict(k)
				movl	-100(%ebp), %eax
				leal	-32(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$12840, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				movl	%eax, -88(%ebp)
 1318          %EXIT %IF j&x'4000' # 0
				nop
		.L799:
 1319          %IF j&127 # sym %OR symtype < 0 %START
 1320             ->err %UNLESS j < 0
 1321             k = k+1
 1322          %FINISH %ELSE %START
 1323             l = j>>7&127;  read sym
 1324             %IF j > 0 %START
 1325                %IF l # 0 %START
 1326                   ->err %IF l # sym %OR symtype < 0
 1327                   read sym
 1328                %FINISH
 1329                l = 1
 1330             %FINISH
 1331             k = k+l
 1332          %FINISH
 1333       %REPEAT
 1334       atom1 = j&127
				movl	-88(%ebp), %eax
				andl	$127, %eax
				movl	%eax, ATOM1.6079@GOTOFF(%ebx)
 1335       %IF atom1 = 0 %START;                      !comma
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L929
				nop
		.L801:
 1336          atom1 = 19;  subatom = 19;  atom2 = 0
				movl	$19, ATOM1.6079@GOTOFF(%ebx)
				movl	$19, SUBATOM.6081@GOTOFF(%ebx)
				movl	$0, ATOM2.6080@GOTOFF(%ebx)
 1337          %IF sym = nl %START
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				jne	.L930
				nop
		.L803:
 1338             %RETURN %IF ocount >= 0
				movl	OCOUNT.6137@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L931
				nop
		.L805:
				nop
		.L771:
 1339
 1340             !special action needs to be taken with <comma nl> as
 1341             !const array lists can be enormous
 1342
 1343             read sym
				movl	%esi, %ecx
				call	READSYM.6613
 1344          %FINISH
 1345          %RETURN
				jmp	.L771
		.L930:
				jmp	.L771
		.L929:
 1346       %FINISH
 1347       atom2 = j>>7&127
				movl	-88(%ebp), %eax
				shrl	$7, %eax
				andl	$127, %eax
				movl	%eax, ATOM2.6080@GOTOFF(%ebx)
 1348       subatom = kdict(k+1)&x'3fff'
				movl	-100(%ebp), %eax
				leal	-31(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$12840, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				andl	$16383, %eax
				movl	%eax, SUBATOM.6081@GOTOFF(%ebx)
 1349       !!!!!cont = ' '
 1350       %RETURN
				jmp	.L771
		.L948:
 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
				movl	$32769, ATOM1.6079@GOTOFF(%ebx)
				movl	$0, ATOM2.6080@GOTOFF(%ebx)
 1357       pos1 = pos %IF pos-pos1 > 2
				movl	POS.6146@GOTOFF(%ebx), %edx
				movl	POS1.6144@GOTOFF(%ebx), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				cmpl	$2, %eax
				jle	.L932
				movl	POS.6146@GOTOFF(%ebx), %eax
				movl	%eax, POS1.6144@GOTOFF(%ebx)
				nop
		.L808:
 1358       %RETURN
				jmp	.L771
		.L932:
				jmp	.L771
		.L925:
 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
				movl	$91, ATOM1.6079@GOTOFF(%ebx)
				movl	$93, ATOM2.6080@GOTOFF(%ebx)
				movl	$1, TYPE.6082@GOTOFF(%ebx)
 1365         map gg = const;  protection = prot
				movl	$93, MAPGG.6118@GOTOFF(%ebx)
				movl	$256, PROTECTION.6106@GOTOFF(%ebx)
 1366         subatom = lp;  abandon(3) %IF lp >= lit max
				movl	LP.6158@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6081@GOTOFF(%ebx)
				movl	LP.6158@GOTOFF(%ebx), %eax
				cmpl	$49, %eax
				jle	.L933
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L810
		.L933:
				nop
		.L810:
 1367         quote = \pend quote
				movl	-104(%ebp), %eax
				notl	%eax
				movl	%eax, QUOTE.6098@GOTOFF(%ebx)
 1368         %RETURN
				jmp	.L771
		.L937:
 1369
 1370       !an integer constant is acceptable so get it in and
 1371       !get the next atom
 1372
 1373 chars:n = 0;  cont = cquote
				movl	$0, %eax
				movl	%eax, -28(%ebp)
				movl	$39, CONT.6100@GOTOFF(%ebx)
		.L812:
 1374       %CYCLE
 1375          read sym
				movl	%esi, %ecx
				call	READSYM.6613
 1376          %IF sym = cquote %START
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$39, %eax
				jne	.L934
		.LBB554:
		.LBB555:
				call	_imp_nextsymbol@PLT
		.LBE555:
		.LBE554:
				nop
		.L905:
 1377             %EXIT %IF nextsymbol # cquote
				cmpl	$39, %eax
				jne	.L935
				nop
		.L817:
				nop
		.L818:
 1378             read sym
				movl	%esi, %ecx
				call	READSYM.6613
				jmp	.L905
		.L814:
		.L934:
 1379          %FINISH
 1380          %IF n&(\((-1)>>byte size)) # 0 %START; ! overflow
 1381             pos1 = pos;  atom1 = error+10;  %RETURN
				movl	POS.6146@GOTOFF(%ebx), %eax
				movl	%eax, POS1.6144@GOTOFF(%ebx)
				movl	$32778, ATOM1.6079@GOTOFF(%ebx)
				jmp	.L771
		.L935:
 1382          %FINISH
 1383          ->err %IF quote = 0
 1384          n = n<<byte size+sym
 1385          quote = quote+1
 1386       %REPEAT
 1387       quote = 0;  cont = ' '
				movl	$0, QUOTE.6098@GOTOFF(%ebx)
				movl	$32, CONT.6100@GOTOFF(%ebx)
 1388       readsym %IF sym # nl
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L936
				movl	%esi, %ecx
				call	READSYM.6613
				jmp	.L820
		.L936:
				nop
		.L820:
 1389       lit pool(lp) = n;  lp = lp+1
				movl	LP.6158@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	-28(%ebp), %ecx
				movl	%ecx, (%eax,%edx,4)
				movl	LP.6158@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, LP.6158@GOTOFF(%ebx)
 1390       ->top
				jmp	.L772
		.L924:
 1391
 1392         !sniff the grammar before getting the string
 1393
 1394 strings:atom1 = var;  atom2 = const;  type = stringv
				movl	$91, ATOM1.6079@GOTOFF(%ebx)
				movl	$93, ATOM2.6080@GOTOFF(%ebx)
				movl	$3, TYPE.6082@GOTOFF(%ebx)
 1395         subatom = (strp-stbase)!x'4000'
				movl	STBASE.6124@GOTOFF(%ebx), %eax
				movl	(%esi), %edx
				subl	%eax, %edx
				movl	%edx, %eax
				orb	$64, %ah
				movl	%eax, SUBATOM.6081@GOTOFF(%ebx)
 1396         map gg = const;  protection = prot
				movl	$93, MAPGG.6118@GOTOFF(%ebx)
				movl	$256, PROTECTION.6106@GOTOFF(%ebx)
 1397         quote = subatom
				movl	SUBATOM.6081@GOTOFF(%ebx), %eax
				movl	%eax, QUOTE.6098@GOTOFF(%ebx)
 1398         text line = lines;                         !in case of errors
				movl	LINES.6088@GOTOFF(%ebx), %eax
				movl	%eax, TEXTLINE.6089@GOTOFF(%ebx)
 1399         %RETURN
				jmp	.L771
		.L923:
 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
				nop
		.L811:
				movl	QUOTE.6098@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L937
				nop
		.L822:
 1405       l = strp; n = strp
				movl	(%esi), %eax
				movl	%eax, -112(%ebp)
				movl	(%esi), %eax
				movl	%eax, -28(%ebp)
 1406       j = addr(glink(gmin-1));                     !absolute limit
				movl	GMIN.6125@GOTOFF(%ebx), %eax
				subl	$1, %eax
				leal	(%eax,%eax), %edx
				leal	GLINK.6183@GOTOFF(%ebx), %eax
				addl	%edx, %eax
				movl	%eax, -76(%ebp)
		.LBB556:
		.LBB557:
				movl	-76(%ebp), %eax
		.LBE557:
		.LBE556:
				movl	%eax, -88(%ebp)
 1407       k = l+256;                                   !string length limit
				movl	-112(%ebp), %eax
				addl	$256, %eax
				movl	%eax, -100(%ebp)
 1408       k = j %IF j < k;                             !choose lower
				movl	-88(%ebp), %eax
				cmpl	-100(%ebp), %eax
				jge	.L938
				movl	-88(%ebp), %eax
				movl	%eax, -100(%ebp)
				jmp	.L841
		.L825:
		.L938:
				nop
		.L826:
		.L841:
 1409
 1410       %CYCLE
 1411          cont = squote;  quote = 1
				movl	$34, CONT.6100@GOTOFF(%ebx)
				movl	$1, QUOTE.6098@GOTOFF(%ebx)
		.L827:
 1412          %CYCLE
 1413             read sym
				movl	%esi, %ecx
				call	READSYM.6613
 1414             %IF sym = squote %START;               !terminator?
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$34, %eax
				jne	.L939
		.LBB558:
		.LBB559:
				call	_imp_nextsymbol@PLT
		.LBE559:
		.LBE558:
				nop
		.L829:
 1415                %EXIT %IF nextsymbol # squote;      !yes ->
				cmpl	$34, %eax
				jne	.L940
				nop
		.L832:
				nop
		.L833:
 1416                read sym;                           ! skip quote
				movl	%esi, %ecx
				call	READSYM.6613
				jmp	.L829
		.L939:
 1417             %FINISH
 1418             l = l+1;  byteinteger(l) = sym
				addl	$1, -112(%ebp)
				movl	SYM.6096@GOTOFF(%ebx), %edx
				movl	-112(%ebp), %eax
				movl	%eax, -72(%ebp)
		.LBB560:
		.LBB561:
				movl	-72(%ebp), %eax
		.LBE561:
		.LBE560:
				movb	%dl, (%eax)
 1419             lines = text line %AND abandon(7) %IF l >= k; !too many chars
				movl	-112(%ebp), %eax
				cmpl	-100(%ebp), %eax
				jl	.L941
				movl	TEXTLINE.6089@GOTOFF(%ebx), %eax
				movl	%eax, LINES.6088@GOTOFF(%ebx)
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$7
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L827
		.L941:
				nop
		.L836:
 1420          %REPEAT
				jmp	.L827
		.L940:
 1421          byteinteger(n) = l-n;                            !plug in length
				movl	-112(%ebp), %eax
				movl	%eax, %ecx
				movl	-28(%ebp), %eax
				movl	%eax, %edx
				movl	-28(%ebp), %eax
				movl	%eax, -68(%ebp)
		.LBB562:
		.LBB563:
				movl	-68(%ebp), %eax
		.LBE563:
		.LBE562:
				subl	%edx, %ecx
				movl	%ecx, %edx
				movb	%dl, (%eax)
 1422
 1423          strp = l+1;                                      !ready for next string
				movl	-112(%ebp), %eax
				addl	$1, %eax
				movl	%eax, (%esi)
 1424          quote = 0;  cont = ' ';  read sym
				movl	$0, QUOTE.6098@GOTOFF(%ebx)
				movl	$32, CONT.6100@GOTOFF(%ebx)
				movl	%esi, %ecx
				call	READSYM.6613
 1425          code atom(target)
				subl	$12, %esp
				pushl	8(%ebp)
				movl	%esi, %ecx
				call	CODEATOM.6654
				addl	$16, %esp
 1426          %RETURN %UNLESS atom1 = 48 %AND sym = squote;    !fold "???"."+++"
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				cmpl	$48, %eax
				jne	.L942
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$34, %eax
				je	.L943
				jmp	.L839
		.L942:
				nop
		.L839:
				jmp	.L771
		.L943:
				nop
		.L840:
 1427       %REPEAT
				jmp	.L841
		.L920:
 1428
 1429       %ROUTINE get(%INTEGER limit)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
 1430          %INTEGER s, shift
 1431          shift = 0
				movl	$0, -16(%ebp)
 1432          %IF base # 10 %START
				movl	8(%ebx), %eax
				cmpl	$10, %eax
				je	.L1005
				nop
				jmp	.L979
		.L1008:
 1433             %IF base = 16 %START
				movl	8(%ebx), %eax
				cmpl	$16, %eax
				jne	.L1006
				nop
		.L973:
 1434                shift = 4
				movl	$4, -16(%ebp)
 1435             %FINISH %ELSE %START
				jmp	.L979
		.L1006:
 1436                %IF base = 8 %START
				movl	8(%ebx), %eax
				cmpl	$8, %eax
				jne	.L1007
				nop
		.L975:
 1437                   shift = 3
				movl	$3, -16(%ebp)
 1438                %FINISH %ELSE %START
				jmp	.L979
		.L1007:
 1439                   %IF base = 2 %START
				movl	8(%ebx), %eax
				cmpl	$2, %eax
				jne	.L1008
				nop
		.L979:
 1440                      shift = 1
				movl	$1, -16(%ebp)
				jmp	.L979
		.L971:
		.L977:
		.L978:
		.L1005:
 1441                   %FINISH
 1442                %FINISH
 1443             %FINISH
 1444          %FINISH
 1445          n = 0
				movl	$0, %eax
				movl	%eax, 4(%ebx)
		.L980:
 1446          %CYCLE
 1447             %IF symtype = -1 %START;            !digit
				movl	SYMTYPE.6097@GOTOFF(%esi), %eax
				cmpl	$-1, %eax
				jne	.L1009
				nop
		.L982:
 1448                s = sym-'0'
				movl	SYM.6096@GOTOFF(%esi), %eax
				subl	$48, %eax
				movl	%eax, -20(%ebp)
 1449             %FINISH %ELSE %START
				jmp	.L987
		.L1009:
 1450                %IF symtype < 0 %START;          !letter
				movl	SYMTYPE.6097@GOTOFF(%esi), %eax
				testl	%eax, %eax
				jns	.L1010
				nop
		.L985:
 1451                   s = sym-'A'+10
				movl	SYM.6096@GOTOFF(%esi), %eax
				subl	$55, %eax
				movl	%eax, -20(%ebp)
 1452                %FINISH %ELSE %START
				jmp	.L987
		.L1010:
 1453                   %RETURN
				jmp	.L969
		.L983:
		.L987:
 1454                %FINISH
 1455             %FINISH
 1456             %RETURN %IF s >= limit
				movl	-20(%ebp), %eax
				cmpl	8(%ebp), %eax
				jge	.L1011
				nop
		.L989:
				nop
		.L969:
 1457             pt = pt+1;  byteinteger(pt) = sym
				movl	(%ebx), %eax
				addl	$1, %eax
				movl	%eax, (%ebx)
				movl	SYM.6096@GOTOFF(%esi), %edx
				movl	(%ebx), %eax
				movl	%eax, -12(%ebp)
		.LBB582:
		.LBB583:
				movl	-12(%ebp), %eax
		.LBE583:
		.LBE582:
				movb	%dl, (%eax)
 1458             %IF base = 10 %START;            !check overflow
				movl	8(%ebx), %eax
				cmpl	$10, %eax
				jne	.L1012
				nop
				jmp	.L996
		.L1013:
 1459                %IF n >= max int %AND (s > max dig %OR n > max int) %START
				movl	4(%ebx), %eax
				cmpl	$214748363, %eax
				jle	.L1013
				cmpl	$7, -20(%ebp)
				jg	.L1014
				movl	4(%ebx), %eax
				cmpl	$214748364, %eax
				jle	.L1015
				jmp	.L995
		.L1014:
				nop
		.L995:
				nop
				jmp	.L996
		.L1015:
				nop
		.L996:
 1460
 1461                   !too big for an integer,
 1462                   !so call it a real
 1463
 1464                   base = 0;  type = real;  n = 0
				movl	$0, %eax
				movl	%eax, 8(%ebx)
				movl	$2, TYPE.6082@GOTOFF(%esi)
				movl	$0, %eax
				movl	%eax, 4(%ebx)
				jmp	.L996
		.L992:
		.L1012:
 1465                %FINISH
 1466             %FINISH
 1467             %IF shift = 0 %START
				cmpl	$0, -16(%ebp)
				jne	.L1016
				nop
		.L998:
 1468                n = n*base+s
				movl	4(%ebx), %edx
				movl	8(%ebx), %eax
				imull	%eax, %edx
				movl	-20(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, 4(%ebx)
 1469             %FINISH %ELSE %START
				jmp	.L999
		.L1016:
 1470                n = n<<shift+s
				movl	4(%ebx), %edx
				movl	-16(%ebp), %eax
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	-20(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, 4(%ebx)
		.L999:
 1471             %FINISH
 1472             read sym
				movl	12(%ebx), %eax
				movl	%eax, %ecx
				call	READSYM.6613
 1473          %REPEAT
				jmp	.L980
		.L1011:
 1474       %END
				addl	$32, %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE210:
		DEFLAB.7231:
		.LFB214:
 1475
 1476 number:base = 10
				movl	$10, %eax
				movl	%eax, -24(%ebp)
		.L842:
 1477 bxk:   atom1 = var;  atom2 = const;  type = integer;  subatom = lp
				movl	$91, ATOM1.6079@GOTOFF(%ebx)
				movl	$93, ATOM2.6080@GOTOFF(%ebx)
				movl	$1, TYPE.6082@GOTOFF(%ebx)
				movl	LP.6158@GOTOFF(%ebx), %eax
				movl	%eax, SUBATOM.6081@GOTOFF(%ebx)
 1478        map gg = const;  protection = prot
				movl	$93, MAPGG.6118@GOTOFF(%ebx)
				movl	$256, PROTECTION.6106@GOTOFF(%ebx)
 1479        abandon(3) %IF lp >= lit max
				movl	LP.6158@GOTOFF(%ebx), %eax
				cmpl	$49, %eax
				jle	.L944
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L844
		.L944:
				nop
		.L844:
 1480        pt = strp;  mul = 0
				movl	(%esi), %eax
				movl	%eax, -32(%ebp)
				movl	$0, -80(%ebp)
		.L845:
 1481        %CYCLE
 1482           get(base)
				movl	-24(%ebp), %edx
				subl	$12, %esp
				leal	-32(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	GET.6781
				addl	$16, %esp
 1483           %EXIT %UNLESS sym = '_' %AND base # 0 %AND pend quote = 0;    !change of base
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$95, %eax
				jne	.L945
				movl	-24(%ebp), %eax
				testl	%eax, %eax
				je	.L946
				cmpl	$0, -104(%ebp)
				je	.L947
				jmp	.L847
		.L945:
				nop
				jmp	.L847
		.L946:
				nop
		.L847:
				nop
		.L850:
				nop
		.L849:
 1484           pt = pt+1;  byteinteger(pt) = '_'
				movl	-32(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -32(%ebp)
				movl	-32(%ebp), %eax
				movl	%eax, -64(%ebp)
		.LBB564:
		.LBB565:
				movl	-64(%ebp), %eax
		.LBE565:
		.LBE564:
				movb	$95, (%eax)
 1485           read sym
				movl	%esi, %ecx
				call	READSYM.6613
 1486           base = n
				movl	-28(%ebp), %eax
				movl	%eax, -24(%ebp)
 1487        %REPEAT
				jmp	.L845
		.L852:
 1488
 1489        %IF pend quote # 0 %START
				cmpl	$0, -104(%ebp)
				jne	.L852
				jmp	.L853
		.L947:
 1490           ->err %IF sym # cquote
				nop
		.L806:
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$39, %eax
				jne	.L948
				nop
		.L855:
 1491           readsym
				movl	%esi, %ecx
				call	READSYM.6613
		.L853:
 1492        %FINISH
 1493        %IF sym = '.' %START;                        !a real constant
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$46, %eax
				jne	.L949
				nop
		.L857:
 1494           pt = pt+1;  byteinteger(pt) = '.'
				movl	-32(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -32(%ebp)
				movl	-32(%ebp), %eax
				movl	%eax, -60(%ebp)
		.LBB566:
		.LBB567:
				movl	-60(%ebp), %eax
		.LBE567:
		.LBE566:
				movb	$46, (%eax)
 1495           read sym
				movl	%esi, %ecx
				call	READSYM.6613
 1496           type = real;  n = base;  base = 0;  get(n)
				movl	$2, TYPE.6082@GOTOFF(%ebx)
				movl	-24(%ebp), %eax
				movl	%eax, -28(%ebp)
				movl	$0, %eax
				movl	%eax, -24(%ebp)
				movl	-28(%ebp), %edx
				subl	$12, %esp
				leal	-32(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	GET.6781
				addl	$16, %esp
				jmp	.L857
		.L949:
 1497        %FINISH
 1498
 1499        %IF sym = '@' %START;                        !an exponent
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$64, %eax
				jne	.L950
				nop
		.L860:
 1500           pt = pt+1;  byteinteger(pt) = '@';  k = pt
				movl	-32(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -32(%ebp)
				movl	-32(%ebp), %eax
				movl	%eax, -56(%ebp)
		.LBB568:
		.LBB569:
				movl	-56(%ebp), %eax
		.LBE569:
		.LBE568:
				movb	$64, (%eax)
				movl	-32(%ebp), %eax
				movl	%eax, -100(%ebp)
 1501           readsym
				movl	%esi, %ecx
				call	READSYM.6613
 1502           type = integer;  base = 10
				movl	$1, TYPE.6082@GOTOFF(%ebx)
				movl	$10, %eax
				movl	%eax, -24(%ebp)
 1503           %IF sym = '-' %START
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$45, %eax
				jne	.L951
				nop
		.L863:
 1504              read sym;  get(10);  n = -n
				movl	%esi, %ecx
				call	READSYM.6613
				subl	$12, %esp
				leal	-32(%ebp), %eax
				pushl	$10
				movl	%eax, %ecx
				call	GET.6781
				addl	$16, %esp
				movl	-28(%ebp), %eax
				negl	%eax
				movl	%eax, -28(%ebp)
 1505           %FINISH %ELSE %START
				jmp	.L864
		.L951:
 1506              get(10)
				subl	$12, %esp
				leal	-32(%ebp), %eax
				pushl	$10
				movl	%eax, %ecx
				call	GET.6781
				addl	$16, %esp
		.L864:
 1507           %FINISH
 1508           pt = k+1;  byteinteger(pt) = lp;  litpool(lp) = n;  lp = lp+1
				movl	-100(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -32(%ebp)
				movl	LP.6158@GOTOFF(%ebx), %edx
				movl	-32(%ebp), %eax
				movl	%eax, -52(%ebp)
		.LBB570:
		.LBB571:
				movl	-52(%ebp), %eax
		.LBE571:
		.LBE570:
				movb	%dl, (%eax)
				movl	LP.6158@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	-28(%ebp), %ecx
				movl	%ecx, (%eax,%edx,4)
				movl	LP.6158@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, LP.6158@GOTOFF(%ebx)
 1509           atom1 = error+10 %IF base = 0
				movl	-24(%ebp), %eax
				testl	%eax, %eax
				jne	.L952
				movl	$32778, ATOM1.6079@GOTOFF(%ebx)
				jmp	.L867
		.L952:
				nop
		.L867:
 1510           type = real;                              !exponents force the type
				movl	$2, TYPE.6082@GOTOFF(%ebx)
				jmp	.L860
		.L950:
 1511        %FINISH
 1512
 1513        %IF type = real %START
				movl	TYPE.6082@GOTOFF(%ebx), %eax
				cmpl	$2, %eax
				jne	.L953
				nop
		.L869:
 1514           byteinteger(strp) = pt-strp
				movl	-32(%ebp), %eax
				movl	%eax, %ecx
				movl	(%esi), %eax
				movl	%eax, %edx
				movl	(%esi), %eax
				movl	%eax, -48(%ebp)
		.LBB572:
		.LBB573:
				movl	-48(%ebp), %eax
		.LBE573:
		.LBE572:
				subl	%edx, %ecx
				movl	%ecx, %edx
				movb	%dl, (%eax)
 1515           subatom = (strp-stbase)!x'2000';  strp = pt+1
				movl	STBASE.6124@GOTOFF(%ebx), %eax
				movl	(%esi), %edx
				subl	%eax, %edx
				movl	%edx, %eax
				orb	$32, %ah
				movl	%eax, SUBATOM.6081@GOTOFF(%ebx)
				movl	-32(%ebp), %eax
				addl	$1, %eax
				movl	%eax, (%esi)
 1516        %FINISH %ELSE %START
				nop
		.L871:
 1517           litpool(lp) = n
				movl	LP.6158@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	-28(%ebp), %ecx
				movl	%ecx, (%eax,%edx,4)
 1518           lp = lp+1
				movl	LP.6158@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, LP.6158@GOTOFF(%ebx)
 1519        %FINISH
 1520        %RETURN
				jmp	.L771
		.L953:
				jmp	.L771
		.L919:
 1521
 1522 name: atom1 = 0 %AND %RETURN %IF 27 <= target <= 41
				movl	8(%ebp), %eax
				movl	%eax, -96(%ebp)
				cmpl	$26, -96(%ebp)
				jle	.L954
				cmpl	$41, -96(%ebp)
				jg	.L955
		.LBE574:
				movl	$0, ATOM1.6079@GOTOFF(%ebx)
				jmp	.L771
		.L954:
		.LBB575:
				nop
				jmp	.L873
		.L955:
				nop
		.L873:
		.LBE575:
 1523       hash value = 0
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	$0, %edx
				movl	%edx, 208(%eax)
 1524
 1525       !*****************************
 1526       !*machine dependent for speed*
 1527       !*****************************
 1528
 1529       dp = dmax+1
				movl	DMAX.6126@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, DP.6143@GOTOFF(%ebx)
 1530       da = addr(dict(dp));  dbase = da
				movl	DP.6143@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				addl	%edx, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -44(%ebp)
		.LBB576:
		.LBB577:
				movl	-44(%ebp), %eax
		.LBE577:
		.LBE576:
				movl	%eax, -108(%ebp)
				movl	-108(%ebp), %eax
				movl	%eax, -92(%ebp)
		.L876:
 1531       %CYCLE
 1532          hash value = hash value+(hash value+sym);        !is this good enough?
				movl	SYM.6096@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	208(%eax), %eax
				leal	(%eax,%edx), %ecx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	208(%eax), %edx
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				addl	%ecx, %edx
				movl	%edx, 208(%eax)
 1533          da = da+1;  byteinteger(da) = sym
				addl	$1, -108(%ebp)
				movl	SYM.6096@GOTOFF(%ebx), %edx
				movl	-108(%ebp), %eax
				movl	%eax, -40(%ebp)
		.LBB578:
		.LBB579:
				movl	-40(%ebp), %eax
		.LBE579:
		.LBE578:
				movb	%dl, (%eax)
 1534          read sym
				movl	%esi, %ecx
				call	READSYM.6613
 1535          %EXIT %IF symtype >= 0
				movl	SYMTYPE.6097@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L956
				nop
		.L879:
				nop
		.L880:
 1536       %REPEAT
				jmp	.L876
		.L956:
 1537       %IF sym = cquote %START
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$39, %eax
				jne	.L957
				nop
		.L882:
 1538          pend quote = 100
				movl	$100, -104(%ebp)
 1539          ->symbols %IF hash value = 'M'
				nop
		.L792:
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	208(%eax), %eax
				cmpl	$77, %eax
				je	.L958
				nop
		.L884:
 1540          read sym
				movl	%esi, %ecx
				call	READSYM.6613
 1541          %IF hash value = 'X' %THEN base = 16 %AND ->bxk
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	208(%eax), %eax
				cmpl	$88, %eax
				jne	.L959
				movl	$16, %eax
				movl	%eax, -24(%ebp)
				jmp	.L842
		.L959:
				nop
		.L886:
 1542          %IF hash value = 'K' %C
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	208(%eax), %eax
				cmpl	$75, %eax
				je	.L960
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	208(%eax), %eax
				cmpl	$79, %eax
				jne	.L961
				jmp	.L888
		.L960:
				nop
		.L888:
				movl	$8, %eax
				movl	%eax, -24(%ebp)
				jmp	.L842
		.L961:
				nop
		.L889:
 1543          %OR hash value = 'O' %THEN base = 8 %AND ->bxk
 1544          %IF hash value = 'B' %THEN base = 2 %AND ->bxk
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				movl	208(%eax), %eax
				cmpl	$66, %eax
				jne	.L962
				movl	$2, %eax
				movl	%eax, -24(%ebp)
				jmp	.L842
		.L962:
				nop
		.L891:
 1545          ->err
				jmp	.L806
		.L957:
 1546       %FINISH
 1547       n = da-dbase
				movl	-108(%ebp), %eax
				subl	-92(%ebp), %eax
				movl	%eax, -28(%ebp)
 1548       byteinteger(dbase) = n
				movl	-92(%ebp), %eax
				movl	%eax, -36(%ebp)
		.LBB580:
		.LBB581:
				movl	-36(%ebp), %eax
		.LBE581:
		.LBE580:
				movl	-28(%ebp), %edx
				movb	%dl, (%eax)
 1549       dp = dp+(n+2)>>1
				movl	-28(%ebp), %eax
				addl	$2, %eax
				shrl	%eax
				movl	%eax, %edx
				movl	DP.6143@GOTOFF(%ebx), %eax
				addl	%edx, %eax
				movl	%eax, DP.6143@GOTOFF(%ebx)
 1550       abandon(8) %IF dp >= dmin
				movl	DP.6143@GOTOFF(%ebx), %edx
				movl	4(%esi), %eax
				movl	40(%eax), %eax
				cmpl	%edx, %eax
				jg	.L963
				movl	4(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$8
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L894
		.L963:
				nop
		.L894:
 1551
 1552       atom2 = 90;                                    !ident
				movl	$90, ATOM2.6080@GOTOFF(%ebx)
 1553       %IF last1 = 0 %AND sym = ':' %START;           !label
				movl	LAST1.6110@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L964
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$58, %eax
				jne	.L965
				nop
				jmp	.L896
		.L965:
				nop
		.L896:
 1554          limit = local;  lookup(lab);  %RETURN
				movl	LOCAL.6148@GOTOFF(%ebx), %eax
				movl	%eax, LIMIT.6138@GOTOFF(%ebx)
				subl	$12, %esp
				leal	-32(%ebp), %eax
				pushl	$3
				movl	%eax, %ecx
				call	LOOKUP.6667
				addl	$16, %esp
				jmp	.L771
		.L964:
 1555       %FINISH
 1556       %IF last1 = jump %START;                       !->label
				movl	LAST1.6110@GOTOFF(%ebx), %eax
				cmpl	$54, %eax
				jne	.L966
				nop
		.L899:
 1557          limit = local;  lookup(lab+spec+used bit);  %RETURN
				movl	LOCAL.6148@GOTOFF(%ebx), %eax
				movl	%eax, LIMIT.6138@GOTOFF(%ebx)
				subl	$12, %esp
				leal	-32(%ebp), %eax
				pushl	$32899
				movl	%eax, %ecx
				call	LOOKUP.6667
				addl	$16, %esp
				jmp	.L771
		.L966:
 1558       %FINISH
 1559       %IF decl # 0 %AND target = 90 %START;          !identifier
				movl	DECL.6102@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L967
				cmpl	$90, 8(%ebp)
				jne	.L968
				nop
				jmp	.L901
		.L968:
				nop
		.L901:
 1560          search base = fm base
				movl	FMBASE.6149@GOTOFF(%ebx), %eax
				movl	%eax, SEARCHBASE.6150@GOTOFF(%ebx)
 1561          limit = local;  lookup(decl)
				movl	LOCAL.6148@GOTOFF(%ebx), %eax
				movl	%eax, LIMIT.6138@GOTOFF(%ebx)
				movl	DECL.6102@GOTOFF(%ebx), %edx
				subl	$12, %esp
				leal	-32(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	LOOKUP.6667
				addl	$16, %esp
 1562          search base = 0
				movl	$0, SEARCHBASE.6150@GOTOFF(%ebx)
 1563       %FINISH %ELSE %START
				jmp	.L903
		.L967:
 1564          limit = 0;  lookup(0)
				movl	$0, LIMIT.6138@GOTOFF(%ebx)
				subl	$12, %esp
				leal	-32(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	LOOKUP.6667
				addl	$16, %esp
		.L903:
 1565       %FINISH
 1566    %END
				nop
				jmp	.L771
		.L931:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L904
				call	__stack_chk_fail_local
		.L904:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE208:
		GET.6781:
		.LFB210:
 1567
 1568    %INTEGERFN parsed machine code
 1569       !   *opcode_??????????
 1570       %routine octal(%integer n)
 1571          %integer m
 1572          m = n>>3
 1573          octal(m) %if m # 0
 1574          bp = bp+1;  buff(bp) = n&7+'0'
 1575       %end
 1576       atom1 = error %AND %RESULT=0 %UNLESS symtype = -2;  !starts with letter
 1577       flush buffer %IF bp >= 128
 1578       bp=bp+1 %AND buff(bp)='w'
 1579       %CYCLE
 1580          bp=bp+1 %AND buff(bp)=sym
 1581          read sym
 1582          %EXIT %IF symtype >= 0;                !pull in letters and digits
 1583       %REPEAT
 1584       bp=bp+1 %AND buff(bp)='_'
 1585       %IF symtype # 0 %START;                   !not terminator
 1586          atom1 = error %AND %result=0 %UNLESS sym = '_'
 1587          read sym
 1588          %WHILE symtype # 0 %CYCLE
 1589             %IF symtype < 0 %START;             !complex
 1590                code atom(0);  %result=0 %IF atom1&error # 0
 1591                %IF atom2 = const %AND type = integer %START
 1592                   %IF subatom < 0 %THEN octal(tag(-subatom)_format) %C
 1593                                   %ELSE octal(litpool(subatom))
 1594                %FINISH %ELSE %START
 1595                   %IF 91 <= atom1 <= 109 %START
 1596                      %if atom1 = 104 {label} %and %C
 1597                          Tag(Subatom)_Flags&Closed = 0 %start
 1598                         This = Subatom;  Atom1 = Error+21
 1599                         %result = 0
 1600                      %finish
 1601                      op(' ', tag(subatom)_index)
 1602                   %FINISH %ELSE %START
 1603                      atom1 = error;  %result=0
 1604                   %FINISH
 1605                %FINISH
 1606             %FINISH %ELSE %START
 1607                bp=bp+1 %AND buff(bp)=sym;  read sym
 1608             %FINISH
 1609          %REPEAT
 1610       %FINISH
 1611       bp=bp+1 %AND buff(bp)=';'
 1612       %RESULT=1
 1613    %END
 1614
 1615    cont = ' ' %IF gg = 0
				movl	GG.6117@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L500
				movl	$32, CONT.6100@GOTOFF(%ebx)
				jmp	.L376
		.L500:
				nop
		.L376:
 1616    last1 = 0;  mapgg = 0
				movl	$0, LAST1.6110@GOTOFF(%ebx)
				movl	$0, MAPGG.6118@GOTOFF(%ebx)
 1617    s = 0;  ss = 0;  sstype = -1; fdef = 0
				movl	$0, -4708(%ebp)
				movl	$0, SS.6128@GOTOFF(%ebx)
				movl	$-1, SSTYPE.6135@GOTOFF(%ebx)
				movl	$0, FDEF.6119@GOTOFF(%ebx)
 1618    fm base = 0
				movl	$0, FMBASE.6149@GOTOFF(%ebx)
 1619    app = 0
				movl	$0, APP.6083@GOTOFF(%ebx)
 1620
 1621    !deal with alignment following an error in one statement
 1622    !of several on a line
 1623
 1624    margin = column;                              !start of statement
				movl	COLUMN.6093@GOTOFF(%ebx), %eax
				movl	%eax, MARGIN.6090@GOTOFF(%ebx)
 1625
 1626    pos = 0
				movl	$0, POS.6146@GOTOFF(%ebx)
 1627    stbase = addr(glink(gmax+1));  strp = stbase;  lp = 0
				movl	GMAX.6174@GOTOFF(%ebx), %eax
				addl	$1, %eax
				leal	(%eax,%eax), %edx
				leal	GLINK.6183@GOTOFF(%ebx), %eax
				addl	%edx, %eax
				movl	%eax, -4656(%ebp)
		.LBB461:
		.LBB462:
				movl	-4656(%ebp), %eax
		.LBE462:
		.LBE461:
				movl	%eax, STBASE.6124@GOTOFF(%ebx)
				movl	STBASE.6124@GOTOFF(%ebx), %eax
				movl	%eax, -4648(%ebp)
				movl	$0, LP.6158@GOTOFF(%ebx)
 1628    tbase = tstart;                               !??????????????
				movl	60(%esi), %eax
				movl	%eax, 56(%esi)
 1629    local = tbase
				movl	56(%esi), %eax
				movl	%eax, LOCAL.6148@GOTOFF(%ebx)
 1630
 1631    %IF gg = 0 %or ocount >= 0 %START;            !data or not continuation(z)
				movl	GG.6117@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L501
				movl	OCOUNT.6137@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L502
				jmp	.L387
		.L379:
		.L381:
		.L501:
				nop
		.L382:
		.L387:
				nop
				jmp	.L394
		.L506:
 1632 again:%WHILE sym type = 0 %CYCLE;                !skip redundant terminators
				movl	SYMTYPE.6097@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L503
				nop
		.L384:
 1633          c = cont
				movl	CONT.6100@GOTOFF(%ebx), %eax
				movl	%eax, -4704(%ebp)
 1634          cont = ' ';  cont = '+' %IF ocount >= 0
				movl	$32, CONT.6100@GOTOFF(%ebx)
				movl	OCOUNT.6137@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L504
				movl	$43, CONT.6100@GOTOFF(%ebx)
				jmp	.L386
		.L504:
				nop
		.L386:
 1635          read sym
				leal	-4648(%ebp), %eax
				movl	%eax, %ecx
				call	READSYM.6613
 1636          cont = c
				movl	-4704(%ebp), %eax
				movl	%eax, CONT.6100@GOTOFF(%ebx)
 1637       %REPEAT
				jmp	.L387
		.L503:
 1638       ->skip %IF sym = '!';                      !comment
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$33, %eax
				je	.L505
				nop
		.L389:
				nop
		.L390:
 1639       this = -1
				movl	$-1, THIS.6120@GOTOFF(%ebx)
 1640       code atom(0)
				subl	$12, %esp
				leal	-4648(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	CODEATOM.6654
				addl	$16, %esp
 1641       %IF atom1 = comment %START
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				cmpl	$22, %eax
				jne	.L506
				nop
		.L394:
 1642 skip:    quote = 1
				jmp	.L390
		.L505:
				movl	$1, QUOTE.6098@GOTOFF(%ebx)
 1643          c = cont
				movl	CONT.6100@GOTOFF(%ebx), %eax
				movl	%eax, -4704(%ebp)
		.L391:
 1644          read sym %AND cont = c %WHILE sym # nl; !skip to end of line
				movl	SYM.6096@GOTOFF(%ebx), %eax
				cmpl	$10, %eax
				je	.L507
				leal	-4648(%ebp), %eax
				movl	%eax, %ecx
				call	READSYM.6613
				movl	-4704(%ebp), %eax
				movl	%eax, CONT.6100@GOTOFF(%ebx)
				jmp	.L391
		.L507:
				nop
		.L393:
 1645          quote = 0;  symtype = 0
				movl	$0, QUOTE.6098@GOTOFF(%ebx)
				movl	$0, SYMTYPE.6097@GOTOFF(%ebx)
 1646          ->again
				jmp	.L387
		.L380:
		.L502:
 1647       %FINISH
 1648    %FINISH
 1649    decl = 0;  mark = 0
				movl	$0, DECL.6102@GOTOFF(%ebx)
				movl	$0, -4700(%ebp)
 1650    gentype = 0;  force = 0
				movl	$0, GENTYPE.6111@GOTOFF(%ebx)
				movl	$0, FORCE.6115@GOTOFF(%ebx)
 1651    dim = 0;  prot err = 0
				movl	$0, DIM.6103@GOTOFF(%ebx)
				movl	$0, -4696(%ebp)
 1652    node = 0;  nmax = 0;  nmin = rec size+1
				movw	$0, -4710(%ebp)
				movl	$0, NMAX.6122@GOTOFF(%ebx)
				movl	$521, NMIN.6121@GOTOFF(%ebx)
 1653    order = 1;  gmin = max grammar+1
				movl	$1, ORDER.6140@GOTOFF(%ebx)
				movl	$1721, GMIN.6125@GOTOFF(%ebx)
 1654    sstype = 0 %AND ->more %IF gg # 0;            !continuation
				movl	GG.6117@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L508
				movl	$0, SSTYPE.6135@GOTOFF(%ebx)
				jmp	.L397
		.L508:
				nop
		.L396:
 1655    ptype = 0;  spec given = 0
				movl	$0, PTYPE.6112@GOTOFF(%ebx)
				movl	$0, SPECGIVEN.6104@GOTOFF(%ebx)
 1656
 1657    stats = stats+1;  op('O', lines) %IF perm = 0
				movl	STATS.6094@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, STATS.6094@GOTOFF(%ebx)
				movl	PERM.6133@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L509
				movl	LINES.6088@GOTOFF(%ebx), %edx
				movl	64(%esi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$79
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				nop
 1658
 1659    ->fail1 %IF atom1&error # 0;                  !first atom faulty
				jmp	.L400
		.L399:
		.L509:
				jmp	.L400
		.L517:
 1660
 1661    %IF escape class # 0 %START;                  !enter the hard way after
 1662       g = imp phrase;  sstype = -1;  ->a3
 1663    %FINISH
 1664
 1665    g = initial(atom1);                           !pick up entry point
 1666    %IF g = 0 %START;                             !invalid first atom
 1667       g = initial(0);  sstype = 0;  ->a3;        !declarator?
 1668    %FINISH
 1669    %IF g < 0 %START;                             !phrase imp
 1670       g = g&255
 1671       nmax = 1
 1672       ar(1)_class = 0;  ar(1)_link = 0;  ar(1)_sub = imp phrase
 1673    %FINISH
 1674
 1675    gg = gram(g);  class = gg&255;  sstype = gg>>12&3-1
 1676    ->a1
 1677
 1678 act(194): ptype = type;  papp = app;  pformat = format;  ->more
 1679 act(196):k =g+1;  ->a610
 1680 act(188):k = ar(nmax)_sub+1
 1681 a610:     papp = glink(k)
 1682           k = gram(k)
 1683           ->more %IF k = 0;                        !%NAME
 1684           ptype = k&7;  pformat = k>>3
 1685 act(183):k = type;  gentype = k %IF gentype = 0 %OR k = real
 1686           %IF pformat < 0 %START;                  !general type
 1687              app = papp;  format = pformat
 1688              k = real %IF ptype = real %AND type = integer
 1689              k = force %AND force = 0 %IF force # 0
 1690           %FINISH
 1691           ->fail2 %UNLESS papp = app %AND (ptype = k %OR ptype = 0)
 1692           ->more %IF pformat=format %OR pformat = 0 %OR format = 0
 1693           ->fail2
 1694 act(197):arp == ar(nmin)
 1695          k = arp_sub
 1696          ->fail3 %UNLESS block form = k&15
 1697          arp_sub = k>>4
 1698
 1699          type = block type
 1700          ptype = block type;  pformat = block fm;  papp = app
 1701          pformat = -1 %IF ptype # record
 1702          ->more
 1703 act(195):->Fail2 %if Type # 0 %and Type # Integer %and %C
 1704                                    Type # Real
 1705          arp == ar(nmin)
 1706          k = arp_sub
 1707          arp_sub = k>>2
 1708          k = k&3
 1709                                                       !1 = check integer
 1710                                                       !2 = check real
 1711                                                       !3 = check real + int
 1712           ->more %IF k = 0;                           !0 = no action
 1713           %IF k = 1 %START
 1714              force = integer
 1715              ->more %IF type = integer %OR type = 0
 1716              ->fail2
 1717           %FINISH
 1718           ->fail2 %UNLESS ptype = real %or ptype = 0  {or added?}
 1719           force = integer %IF k = 3
 1720           ->more
 1721 act(198):!%OTHER
 1722          k = gg>>8&15
 1723          %IF k = 0 %START;                    !restore atom
 1724             atom1 = last1
 1725             ->more
 1726          %FINISH
 1727          %IF k = 1 %START;                    !test string
 1728             ->fail2 %UNLESS type = stringv
 1729             ->more
 1730          %FINISH
 1731          %if k = 2 %start                     {fault record comparisons}
 1732             ->fail2 %if type = record
 1733             ->more
 1734          %finish
 1735          %if k = 3 %start;                    !check OWN variable coming
 1736             code atom(0)
 1737             ->A7 %if atom flags&own bit = 0
 1738             ->more
 1739          %finish
 1740          for warn = pos1 %IF x <= local;      !%FORTEST
 1741          ->more
 1742 paction(1):%IF type = record %THEN g = phrase(242) %ELSE pformat = -1
 1743                                                ->a3
 1744 paction(2):ptype = real;     pformat = -1;     ->a3
 1745 paction(3):ptype = stringv;  pformat = -1;     ->a3
 1746 paction(4):ptype = integer;  pformat = -1;     ->a3
 1747 paction(5):->a3 %if ptype = integer
 1748            g = phrase(212) %AND pformat=-1 %IF ptype = real
 1749            g = phrase(213) %IF ptype = stringv
 1750            ->a3
 1751 paction(6):ptype = gram(ar(nmax)_sub+1)&7;  pformat = -1;  ->a3
 1752 paction(7):ptype=real %IF ptype = integer;  pformat = -1;  ->a3
 1753
 1754 a1:   last1 = class;  atom1 = 0;  s = subatom
				movl	CLASS.6077@GOTOFF(%ebx), %eax
				movl	%eax, LAST1.6110@GOTOFF(%ebx)
				movl	$0, ATOM1.6079@GOTOFF(%ebx)
				movl	SUBATOM.6081@GOTOFF(%ebx), %eax
				movl	%eax, -4708(%ebp)
				jmp	.L402
		.L435:
		.L521:
 1755
 1756 a2:   %IF gg&trans bit = 0 %START;                !insert into analysis record
				movl	GG.6117@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L510
				nop
		.L404:
 1757          z == node
				leal	-4710(%ebp), %eax
				movl	%eax, -4692(%ebp)
		.L405:
 1758          %CYCLE;                                  !insert cell in order
 1759             k = z
				movl	-4692(%ebp), %eax
				movzwl	(%eax), %eax
				cwtl
				movl	%eax, -4688(%ebp)
 1760             %EXIT %IF gg&order bits = 0 %OR k = 0
				cmpl	$0, -4688(%ebp)
				jne	.L511
				nop
		.L406:
				nop
		.L408:
				nop
		.L407:
 1761             gg = gg-order bit;  z == ar(k)_link
				movl	GG.6117@GOTOFF(%ebx), %eax
				subl	$4096, %eax
				movl	%eax, GG.6117@GOTOFF(%ebx)
				movl	-4688(%ebp), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				addl	$814, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$8, %eax
				movl	%eax, -4692(%ebp)
 1762          %REPEAT
				jmp	.L405
		.L409:
 1763          gg = map gg %IF map gg # 0 %AND gg&255 = var
				movl	MAPGG.6118@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L409
				jmp	.L410
		.L511:
				movl	GG.6117@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L512
				movl	MAPGG.6118@GOTOFF(%ebx), %eax
				movl	%eax, GG.6117@GOTOFF(%ebx)
				jmp	.L410
		.L512:
				nop
		.L410:
 1764          nmin = nmin-1;  ->fail0 %IF nmin = nmax
				movl	NMIN.6121@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, NMIN.6121@GOTOFF(%ebx)
				movl	NMIN.6121@GOTOFF(%ebx), %edx
				movl	NMAX.6122@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L513
				nop
		.L413:
				nop
				jmp	.L414
		.L524:
 1765          z = nmin
				movl	NMIN.6121@GOTOFF(%ebx), %eax
				movl	%eax, %edx
				movl	-4692(%ebp), %eax
				movw	%dx, (%eax)
 1766          arp == ar(nmin)
				movl	NMIN.6121@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				addl	$814, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -4684(%ebp)
 1767          arp_sub = s;  arp_class = (gg&255)!mark
				movl	-4708(%ebp), %eax
				movl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, 2(%eax)
				movl	GG.6117@GOTOFF(%ebx), %eax
				movzbl	%al, %eax
				movl	-4700(%ebp), %edx
				orl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, (%eax)
 1768          arp_link = k
				movl	-4688(%ebp), %eax
				movl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, 4(%eax)
				jmp	.L404
		.L510:
 1769       %FINISH
 1770       mark = 0;  map gg = 0
				movl	$0, -4700(%ebp)
				movl	$0, MAPGG.6118@GOTOFF(%ebx)
		.L397:
 1771
 1772 more: g = glink(g);                               !chain down the grammar
				movl	G.6116@GOTOFF(%ebx), %eax
				movzwl	GLINK.6183@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, G.6116@GOTOFF(%ebx)
		.L415:
		.L416:
 1773
 1774 paction(0):
 1775 a3:   gg = gram(g);  class = gg&255
				movl	G.6116@GOTOFF(%ebx), %eax
				movzwl	GRAM.6181@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, GG.6117@GOTOFF(%ebx)
				movl	GG.6117@GOTOFF(%ebx), %eax
				movzbl	%al, %eax
				movl	%eax, CLASS.6077@GOTOFF(%ebx)
 1776       trace analysis %IF diag&1 # 0
				leal	-4648(%ebp), %eax
				movl	%eax, %ecx
				call	TRACEANALYSIS.6583
		.L417:
 1777       ->a5 %IF class = 0;                         !end of phrase
				movl	CLASS.6077@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L514
				nop
		.L419:
				nop
		.L420:
 1778
 1779       %IF class < actions %START;                 !not a phrase or an action
				movl	CLASS.6077@GOTOFF(%ebx), %eax
				cmpl	$179, %eax
				jg	.L515
				nop
		.L422:
 1780          class = atomic(class) %IF class >= figurative
				movl	CLASS.6077@GOTOFF(%ebx), %eax
				cmpl	$129, %eax
				jle	.L516
				movl	CLASS.6077@GOTOFF(%ebx), %eax
				leal	-130(%eax), %edx
				movl	64(%esi), %eax
				movzbl	38852(%eax,%edx), %eax
				movzbl	%al, %eax
				movl	%eax, CLASS.6077@GOTOFF(%ebx)
				jmp	.L424
		.L516:
				nop
		.L424:
 1781          ->a2 %IF class >= manifest
				nop
		.L402:
				movl	CLASS.6077@GOTOFF(%ebx), %eax
				cmpl	$119, %eax
				jg	.L517
				nop
		.L426:
 1782          code atom(class) %IF atom1 = 0
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L518
				movl	CLASS.6077@GOTOFF(%ebx), %edx
				subl	$12, %esp
				leal	-4648(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	CODEATOM.6654
				addl	$16, %esp
				jmp	.L428
		.L518:
				nop
		.L428:
 1783          %IF escape class # 0 %START;             !escape to new grammar
				movl	ESCAPECLASS.6105@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L519
				nop
		.L430:
 1784             class = escape class;  escape class = 0
				movl	ESCAPECLASS.6105@GOTOFF(%ebx), %eax
				movl	%eax, CLASS.6077@GOTOFF(%ebx)
				movl	$0, ESCAPECLASS.6105@GOTOFF(%ebx)
 1785             g = g+escape
				movl	G.6116@GOTOFF(%ebx), %eax
				addl	$4096, %eax
				movl	%eax, G.6116@GOTOFF(%ebx)
		.L431:
 1786
 1787             !note that following an escape the next item is
 1788             !forced to be transparent!
 1789
 1790 esc:        gg = 0
				movl	$0, GG.6117@GOTOFF(%ebx)
 1791             arp == ar(nmax+1)
				movl	NMAX.6122@GOTOFF(%ebx), %edx
				movl	64(%esi), %eax
				addl	$814, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -4684(%ebp)
 1792             arp_papp = papp;  arp_x = x;  ->a4
				movl	PAPP.6113@GOTOFF(%ebx), %eax
				movl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, 8(%eax)
				movl	X.6078@GOTOFF(%ebx), %eax
				movl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, 12(%eax)
				jmp	.L432
		.L519:
 1793          %FINISH
 1794
 1795          ->a1 %IF class = atom1 %OR class = atom2
				movl	CLASS.6077@GOTOFF(%ebx), %edx
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L520
				movl	CLASS.6077@GOTOFF(%ebx), %edx
				movl	ATOM2.6080@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L521
				jmp	.L434
		.L520:
				nop
		.L434:
				nop
		.L401:
				nop
		.L436:
 1796
 1797 a7:      ->fail1 %IF gg >= 0;                     !no alternative
				movl	GG.6117@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L522
				nop
		.L438:
				nop
		.L400:
 1798          g = g+1
				movl	G.6116@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, G.6116@GOTOFF(%ebx)
 1799          ->a3
				jmp	.L415
		.L515:
 1800       %FINISH
 1801
 1802       %IF class >= phrasal %START;                !a phrase
				movl	CLASS.6077@GOTOFF(%ebx), %eax
				cmpl	$199, %eax
				jle	.L523
				nop
		.L439:
 1803 a4:      nmax = nmax+1;  ->fail0 %IF nmax = nmin
				nop
		.L432:
				movl	NMAX.6122@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, NMAX.6122@GOTOFF(%ebx)
				movl	NMAX.6122@GOTOFF(%ebx), %edx
				movl	NMIN.6121@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L524
				nop
		.L441:
				nop
		.L414:
 1804          arp == ar(nmax)
				movl	NMAX.6122@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				addl	$814, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -4684(%ebp)
 1805          arp_ptype = ptype
				movl	PTYPE.6112@GOTOFF(%ebx), %eax
				movl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, 6(%eax)
 1806          arp_pos = pos1
				movl	POS1.6144@GOTOFF(%ebx), %eax
				movl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, 14(%eax)
 1807          arp_pformat = pformat
				movl	PFORMAT.6114@GOTOFF(%ebx), %eax
				movl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, 10(%eax)
 1808          arp_link = gentype
				movl	GENTYPE.6111@GOTOFF(%ebx), %eax
				movl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, 4(%eax)
 1809          arp_class = node
				movzwl	-4710(%ebp), %edx
				movl	-4684(%ebp), %eax
				movw	%dx, (%eax)
 1810          arp_sub = g
				movl	G.6116@GOTOFF(%ebx), %eax
				movl	%eax, %edx
				movl	-4684(%ebp), %eax
				movw	%dx, 2(%eax)
 1811          node = 0
				movw	$0, -4710(%ebp)
 1812          g = phrase(class)
				movl	CLASS.6077@GOTOFF(%ebx), %eax
				subl	$200, %eax
				movzwl	PHRASE.6175@GOTOFF(%ebx,%eax,2), %eax
				cwtl
				movl	%eax, G.6116@GOTOFF(%ebx)
 1813          ptype = force %AND force = 0 %IF force # 0
				movl	FORCE.6115@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L525
				movl	FORCE.6115@GOTOFF(%ebx), %eax
				movl	%eax, PTYPE.6112@GOTOFF(%ebx)
				movl	$0, FORCE.6115@GOTOFF(%ebx)
				jmp	.L443
		.L525:
				nop
		.L443:
 1814          gentype = 0
				movl	$0, GENTYPE.6111@GOTOFF(%ebx)
 1815          ->paction(gg>>8&15)
				movl	$1815, -4660(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -4680(%ebp)
				movl	GG.6117@GOTOFF(%ebx), %eax
				shrl	$8, %eax
				andl	$15, %eax
				movl	%eax, -4664(%ebp)
				jmp	.L444
		.L523:
 1816       %FINISH
 1817
 1818       ->act(class);                               !only actions left
				movl	$1818, -4676(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -4672(%ebp)
				movl	CLASS.6077@GOTOFF(%ebx), %eax
				movl	%eax, -4668(%ebp)
				nop
		.L445:
 1819
 1820 a5:   !reverse links
 1821
 1822       s = 0
				movl	$0, -4708(%ebp)
		.L446:
 1823       %WHILE node # 0 %CYCLE
				movzwl	-4710(%ebp), %eax
				testw	%ax, %ax
				je	.L526
				nop
		.L448:
 1824          z == ar(node)_link
				movzwl	-4710(%ebp), %eax
				cwtl
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				addl	$814, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$8, %eax
				movl	%eax, -4692(%ebp)
 1825          k = z;  z = s;  s = node;  node = k
				movl	-4692(%ebp), %eax
				movzwl	(%eax), %eax
				cwtl
				movl	%eax, -4688(%ebp)
				movl	-4708(%ebp), %eax
				movl	%eax, %edx
				movl	-4692(%ebp), %eax
				movw	%dx, (%eax)
				movzwl	-4710(%ebp), %eax
				cwtl
				movl	%eax, -4708(%ebp)
				movl	-4688(%ebp), %eax
				movw	%ax, -4710(%ebp)
 1826       %REPEAT
				jmp	.L446
		.L526:
 1827       ss = s
				movl	-4708(%ebp), %eax
				movl	%eax, SS.6128@GOTOFF(%ebx)
		.L449:
 1828
 1829 a6:   %IF nmax # 0 %START
				movl	NMAX.6122@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L527
				nop
		.L451:
 1830          k = gentype;                             !type of phrase
				movl	GENTYPE.6111@GOTOFF(%ebx), %eax
				movl	%eax, -4688(%ebp)
 1831          arp == ar(nmax);  nmax = nmax-1
				movl	NMAX.6122@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				addl	$814, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -4684(%ebp)
				movl	NMAX.6122@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, NMAX.6122@GOTOFF(%ebx)
 1832          node = arp_class
				movl	-4684(%ebp), %eax
				movzwl	(%eax), %eax
				movw	%ax, -4710(%ebp)
 1833          gentype = arp_link
				movl	-4684(%ebp), %eax
				movzwl	4(%eax), %eax
				cwtl
				movl	%eax, GENTYPE.6111@GOTOFF(%ebx)
 1834          ptype = arp_ptype
				movl	-4684(%ebp), %eax
				movzwl	6(%eax), %eax
				cwtl
				movl	%eax, PTYPE.6112@GOTOFF(%ebx)
 1835          pformat = arp_pformat
				movl	-4684(%ebp), %eax
				movzwl	10(%eax), %eax
				cwtl
				movl	%eax, PFORMAT.6114@GOTOFF(%ebx)
 1836          g = arp_sub
				movl	-4684(%ebp), %eax
				movzwl	2(%eax), %eax
				cwtl
				movl	%eax, G.6116@GOTOFF(%ebx)
 1837          %IF g&escape # 0 %START
 1838             g = g-escape
				movl	G.6116@GOTOFF(%ebx), %eax
				subl	$4096, %eax
				movl	%eax, G.6116@GOTOFF(%ebx)
 1839             papp = arp_papp
				movl	-4684(%ebp), %eax
				movzwl	8(%eax), %eax
				cwtl
				movl	%eax, PAPP.6113@GOTOFF(%ebx)
 1840             mark = 255
				movl	$255, -4700(%ebp)
 1841             subatom = s
				movl	-4708(%ebp), %eax
				movl	%eax, SUBATOM.6081@GOTOFF(%ebx)
 1842             ->a3
				jmp	.L415
		.L527:
 1843          %FINISH
 1844          gentype = k %IF gentype = 0 %OR k = real
 1845          type = gen type
 1846
 1847          k = gg;                                  !exit-point code
 1848          %CYCLE
 1849             gg = gram(g)
 1850             ->a2 %IF k = 0
 1851             ->fail1 %IF gg >= 0;                  !no alternative phrase
 1852             k = k-order bit
 1853             g = g+1;                              !sideways step
 1854          %REPEAT
 1855
 1856       %FINISH
 1857
 1858       Fault(4)  %IF copy # 0
				movl	COPY.6139@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L528
				subl	$12, %esp
				pushl	$4
				movl	%esi, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L453
		.L528:
				nop
		.L453:
 1859       fault(13) %IF order = 0
				movl	ORDER.6140@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L529
				subl	$12, %esp
				pushl	$13
				movl	%esi, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L455
		.L529:
				nop
		.L455:
 1860       fault(-4) %IF for warn # 0
				movl	FORWARN.6141@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L530
				subl	$12, %esp
				pushl	$-4
				movl	%esi, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L457
		.L530:
				nop
		.L457:
 1861       pos1 = 0
				movl	$0, POS1.6144@GOTOFF(%ebx)
 1862       fault rate = fault rate-1
				movl	FAULTRATE.6087@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, FAULTRATE.6087@GOTOFF(%ebx)
				jmp	.L374
		.L513:
 1863       %RETURN
 1864
 1865 act(193):gg = 0 %AND ->a5 %UNLESS sym = '=' %or sym = '<';  !cdummy
 1866 act(181):atom1 = amap(decl&15);                             !dummy
 1867          ->more
 1868
 1869 act(182):class = escdec;  g = glink(g)!escape
 1870          decl = 0;  otype = 0;  ->esc;                      !decl
 1871
 1872 act(199):                                                   !compile
 1873
 1874          s = 0
 1875          %WHILE node # 0 %CYCLE
 1876             z == ar(node)_link
 1877             k = z;  z = s;  s = node;  node = k
 1878          %repeat
 1879          ss = s
 1880
 1881          code atom(28) %IF quote # 0;                       !expend
 1882          compile;  ->more %IF atom1&error = 0
 1883          ->fail1
 1884
 1885 act(184):->fail4 %UNLESS type = integer
 1886          %IF subatom < 0 %THEN lit = tag(-subatom)_format %C
 1887                          %ELSE lit = lit pool(subatom)
 1888          ->fail4 %IF lit # 0
 1889          ->more
 1890 act(185):                                                   !apply parameters
 1891          s = 0
 1892          %WHILE node # 0 %CYCLE
 1893             z == ar(node)_link
 1894             k = z;  z = s;  s = node;  node = k
 1895          %REPEAT
 1896          ss = s
 1897
 1898          atom1 = ar(s)_class;  atom2 = 0
 1899          atom1 = var %IF atom1 = 97 %OR atom1 = 98
 1900          arp == ar(nmax)
 1901          x = arp_x
 1902          pos1 = arp_pos
 1903          pos2 = 0
 1904          app = 0
 1905          format = tag(x)_format
 1906          flags = tag(x)_flags
 1907          type = flags>>4&7
 1908          protection = flags&prot
 1909          protection = 0 %IF flags&aname # 0
 1910
 1911          %IF flags&subname # 0 %AND format # 0 %START
 1912             ->fail1 %if format selected = 0
 1913          %FINISH
 1914
 1915          ->a6
 1916
 1917 act(187):protection = prot;  ->more;            !%SETPROT
 1918 act(186):->More %if protection&prot = 0
 1919          prot err = nmin
 1920          ->A7
 1921 act(191):k = protection;                        !%GUARD
 1922          code atom(0)
 1923          protection = k %IF atom flags&aname = 0
 1924          ->more
 1925
 1926 act(192):->fail1 %IF parsed machine code=0
 1927          ->more
 1928
 1929 act(189):k = gapp;                              !%GAPP
 1930          delete names(1)
 1931          tmax = tbase;  tbase = gram (gmin);    !restore tmax
 1932          local= tbase
 1933          gmin = gmin+1
 1934
 1935          x = ar(ar(nmax)_class)_sub
 1936          tag(x)_app = k;                        !update app
 1937          ->more
 1938
 1939 act(190):gmin = gmin-1;                         !%LOCAL
 1940          abandon(2) %IF gmin <= gmax
 1941          gram (gmin) = tbase;  tbase = tmax
 1942          local = tbase
 1943          ->more
 1944
 1945 ! errors
 1946
 1947 fail4:k = error+10;            ->failed;        !*size
 1948 fail3:k = error+7;             ->failed;        !*context
 1949 fail2:k = error+5;  pos2 = 0;  ->failed;        !*type
 1950 fail0:k = error+3;             ->failed;        !*too complex
				movl	$32771, -4688(%ebp)
				jmp	.L486
		.L522:
 1951 fail1:k = atom1;    pos2 = 0
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				movl	%eax, -4688(%ebp)
				movl	$0, POS2.6145@GOTOFF(%ebx)
		.L459:
		.L486:
		.LBB463:
 1952
 1953 failed:
 1954       %IF diag&32 # 0 %START
 1955          printstring("Atom1 =");       write(atom1, 3)
				leal	-284(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4636(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2332(%ebp), %eax
				leal	-4636(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE463:
		.LBB464:
		.LBB465:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2332(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE465:
		.LBE464:
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB466:
 1956          printstring("  Atom2 =");     write(atom2, 3)
				leal	-284(%ebp), %eax
				leal	.LC11@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4380(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2076(%ebp), %eax
				leal	-4380(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE466:
		.LBB467:
		.LBB468:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2076(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE468:
		.LBE467:
				movl	ATOM2.6080@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB469:
 1957          printstring("  subatom =");   write(subatom, 3);  newline
				leal	-284(%ebp), %eax
				leal	.LC12@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4124(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1820(%ebp), %eax
				leal	-4124(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE469:
		.LBB470:
		.LBB471:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1820(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE471:
		.LBE470:
				movl	SUBATOM.6081@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$3
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB472:
		.LBB473:
				call	_imp_newline@PLT
		.LBE473:
		.LBE472:
		.LBB474:
 1958          printstring("Type =");        write(type, 1)
				leal	-284(%ebp), %eax
				leal	.LC13@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3868(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1564(%ebp), %eax
				leal	-3868(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE474:
		.LBB475:
		.LBB476:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1564(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE476:
		.LBE475:
				movl	TYPE.6082@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB477:
 1959          printstring("   Ptype =");    write(ptype, 1);    newline
				leal	-284(%ebp), %eax
				leal	.LC14@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3612(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-3612(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE477:
		.LBB478:
		.LBB479:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1308(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE479:
		.LBE478:
				movl	PTYPE.6112@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB480:
		.LBB481:
				call	_imp_newline@PLT
		.LBE481:
		.LBE480:
		.LBB482:
 1960          printstring("App =");         write(app, 1)
				leal	-284(%ebp), %eax
				leal	.LC15@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3356(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-3356(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE482:
		.LBB483:
		.LBB484:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1052(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE484:
		.LBE483:
				movl	APP.6083@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB485:
 1961          printstring("   Papp =");     write(papp, 1);     newline
				leal	-284(%ebp), %eax
				leal	.LC16@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3100(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-3100(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE485:
		.LBB486:
		.LBB487:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE487:
		.LBE486:
				movl	PAPP.6113@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB488:
		.LBB489:
				call	_imp_newline@PLT
		.LBE489:
		.LBE488:
		.LBB490:
 1962          printstring("Format =");      write(format, 1)
				leal	-284(%ebp), %eax
				leal	.LC17@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2844(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-2844(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE490:
		.LBB491:
		.LBB492:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE492:
		.LBE491:
				movl	FORMAT.6084@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB493:
 1963          printstring("   Pformat =");  write(pformat, 1);  newline
				leal	-284(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2588(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-2588(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE493:
		.LBB494:
		.LBB495:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE495:
		.LBE494:
				movl	PFORMAT.6114@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB496:
		.LBB497:
				call	_imp_newline@PLT
				movl	$0, -4652(%ebp)
		.LBE497:
		.LBE496:
		.LBB498:
		.LBB499:
				subl	$12, %esp
				pushl	-4652(%ebp)
				call	exit@PLT
		.L496:
		.LBE499:
		.LBE498:
 1964 !IMP80 BUG???           %SIGNAL 13,15
 1965          %STOP
 1966        %FINISH
 1967
 1968        quote = 0 %AND readsym %WHILE sym # nl %AND sym # ';'
 1969        %IF k&error # 0 %START
 1970           fault(k&255)
 1971        %FINISH %ELSE %START
 1972          %IF prot err = nmin %THEN fault(14) %ELSE fault(0)
 1973        %FINISH
 1974        gg = 0;  ss = 0;  symtype = 0
 1975    %END;                                               !of analyse
				cmpl	$179, -4668(%ebp)
				jle	.L460
				jmp	.L496
		.L514:
				cmpl	$200, -4668(%ebp)
				jle	.L461
		.L460:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L462
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -4720(%ebp)
				jmp	.L463
		.L462:
				movl	$1975, -4720(%ebp)
		.L463:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L464
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-1052(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L465
		.L464:
		.LBB500:
				leal	-284(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2076(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE500:
				leal	-1052(%ebp), %eax
				leal	-2076(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L465:
				pushl	-4676(%ebp)
				pushl	-4672(%ebp)
				pushl	-4668(%ebp)
				leal	.LC76@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-4668(%ebp)
				pushl	$3
				pushl	$6
				pushl	-4720(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1052(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L461:
				movl	-4668(%ebp), %eax
				subl	$180, %eax
				movl	ACT.6575@GOTOFF(%ebx,%eax,4), %eax
				jmp	.L466
		.L467:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jne	.L468
				jmp	.L499
		.L466:
				jmp	*%eax
		.L468:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -4720(%ebp)
				jmp	.L470
		.L499:
				movl	$1975, -4720(%ebp)
		.L470:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L471
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-796(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L472
		.L471:
		.LBB501:
				leal	-284(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1820(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE501:
				leal	-796(%ebp), %eax
				leal	-1820(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L472:
				pushl	-4676(%ebp)
				pushl	-4672(%ebp)
				pushl	-4668(%ebp)
				leal	.LC77@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-4668(%ebp)
				pushl	$2
				pushl	$8
				pushl	-4720(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L444:
				cmpl	$0, -4664(%ebp)
				js	.L473
				cmpl	$15, -4664(%ebp)
				jle	.L474
		.L473:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L475
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -4720(%ebp)
				jmp	.L476
		.L475:
				movl	$1975, -4720(%ebp)
		.L476:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L477
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-540(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L478
		.L477:
		.LBB502:
				leal	-284(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1564(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE502:
				leal	-540(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L478:
				pushl	-4660(%ebp)
				pushl	-4680(%ebp)
				pushl	-4664(%ebp)
				leal	.LC78@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-4664(%ebp)
				pushl	$3
				pushl	$6
				pushl	-4720(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L474:
				movl	-4664(%ebp), %eax
				movl	PACTION.6580@GOTOFF(%ebx,%eax,4), %eax
				jmp	.L466
		.L479:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L480
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -4720(%ebp)
				jmp	.L481
		.L480:
				movl	$1975, -4720(%ebp)
		.L481:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L482
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L483
		.L482:
		.LBB503:
				leal	-284(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE503:
				leal	-284(%ebp), %eax
				leal	-1308(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L483:
				pushl	-4660(%ebp)
				pushl	-4680(%ebp)
				pushl	-4664(%ebp)
				leal	.LC79@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-4664(%ebp)
				pushl	$2
				pushl	$8
				pushl	-4720(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L374:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L484
				call	__stack_chk_fail_local
		.L484:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE202:
		GETSYM.6608:
		.LFB205:
 1976
 1977    %ROUTINE compile
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$4012, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ebx, -4000(%ebp)
				movl	%ecx, %esi
				movl	%esi, -4004(%ebp)
				movl	%ecx, -3996(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -3840(%ebp)
				movl	%esi, -3844(%ebp)
 1978
 1979       %CONSTINTEGER then = 4, else = 8, loop = 16
 1980
 1981       %SWITCH c(0:actions), litop(1:12)
 1982
 1983       %CONSTBYTEINTEGERARRAY operator(1:14) = %C
				movb	$91, -58(%ebp)
				movb	$93, -57(%ebp)
				movb	$88, -56(%ebp)
				movb	$47, -55(%ebp)
				movb	$38, -54(%ebp)
				movb	$33, -53(%ebp)
				movb	$37, -52(%ebp)
				movb	$43, -51(%ebp)
				movb	$45, -50(%ebp)
				movb	$42, -49(%ebp)
				movb	$81, -48(%ebp)
				movb	$120, -47(%ebp)
				movb	$46, -46(%ebp)
				movb	$118, -45(%ebp)
				leal	-3804(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-58(%ebp), %eax
				movl	%eax, -3804(%ebp)
				movl	$1, -3800(%ebp)
 1984                          '[',  ']',  'X',  '/', '&',  '!',  '%',  '+',
 1985                          '-',  '*',  'Q',  'x', '.',  'v'
 1986
 1987       %CONSTBYTEINTEGERARRAY cc(0 : 7) = '#','=',')','<','(','>', 'k','t'
				movb	$35, -66(%ebp)
				movb	$61, -65(%ebp)
				movb	$41, -64(%ebp)
				movb	$60, -63(%ebp)
				movb	$40, -62(%ebp)
				movb	$62, -61(%ebp)
				movb	$107, -60(%ebp)
				movb	$116, -59(%ebp)
				leal	-3736(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-66(%ebp), %eax
				movl	%eax, -3736(%ebp)
				movl	$1, -3732(%ebp)
 1988
 1989       %CONSTBYTEINTEGERARRAY anyform(0:15) = 1,0,1,1(4),1,0,1,1,0,1,1,1,1
				movb	$1, -44(%ebp)
				movb	$0, -43(%ebp)
				movb	$1, -42(%ebp)
				movb	$1, -41(%ebp)
				movb	$1, -40(%ebp)
				movb	$1, -39(%ebp)
				movb	$1, -38(%ebp)
				movb	$1, -37(%ebp)
				movb	$0, -36(%ebp)
				movb	$1, -35(%ebp)
				movb	$1, -34(%ebp)
				movb	$0, -33(%ebp)
				movb	$1, -32(%ebp)
				movb	$1, -31(%ebp)
				movb	$1, -30(%ebp)
				movb	$1, -29(%ebp)
				leal	-3668(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-44(%ebp), %eax
				movl	%eax, -3668(%ebp)
				movl	$1, -3664(%ebp)
 1990
 1991       %CONSTSHORTINTEGERARRAY decmap(0:15) = %C
				movw	$1, -3836(%ebp)
				movw	$2, -3834(%ebp)
				movw	$4107, -3832(%ebp)
				movw	$4109, -3830(%ebp)
				movw	$5132, -3828(%ebp)
				movw	$5134, -3826(%ebp)
				movw	$3, -3824(%ebp)
				movw	$4, -3822(%ebp)
				movw	$4103, -3820(%ebp)
				movw	$4104, -3818(%ebp)
				movw	$4105, -3816(%ebp)
				movw	$4106, -3814(%ebp)
				movw	$6, -3812(%ebp)
				movw	$0, -3810(%ebp)
				movw	$0, -3808(%ebp)
				movw	$0, -3806(%ebp)
				leal	-3600(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-3836(%ebp), %eax
				movl	%eax, -3600(%ebp)
				movl	$2, -3596(%ebp)
 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)
				leal	-3532(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	CNEST.7203@GOTOFF(%ebx), %eax
				movl	%eax, -3532(%ebp)
				movl	$1, -3528(%ebp)
 1998       %INTEGER lmode, clab, dupid
 1999       %INTEGER resln
 2000       %OWNINTEGER last def = 0
 2001       %OWNINTEGER lb, ub
 2002       %INTEGER cp, ord
 2003       %INTEGER next, link, j, k, n, done
 2004       %INTEGER class
 2005       %INTEGER lit2, defs, decs, cident
 2006       %INTEGER pending;  %OWNINTEGERARRAY pstack(1:40)
				leal	-3464(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	PSTACK.7226@GOTOFF(%ebx), %eax
				movl	%eax, -3464(%ebp)
				movl	$4, -3460(%ebp)
 2007       %OWNSTRING(8) name = ""
 2008       %OWNINTEGER count = 0
 2009
 2010       %ROUTINE def lab(%INTEGER l)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$20, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -12(%ebp)
 2011          op(':', l)
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	8(%ebp)
				pushl	$58
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2012          access = 1
				movl	32(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 24(%eax)
 2013       %END
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE214:
				.section	.rodata
				.align 4
		.LC80:
				.string	"Illegal cycle J = DICT[N - 1], 1, DICT[N + 1 - 1]"
				.align 4
		.LC81:
				.string	"->C(%d) out of bounds at %s line %d"
				.align 4
		.LC82:
				.string	"switch jump to undefined label C(%d): at %s line %d"
				.align 4
		.LC83:
				.string	"->LITOP(%d) out of bounds at %s line %d"
				.align 32
		.LC8:
				.byte	4
				.string	"ss ="
				.zero	250
		COMPILE.6313:
		.LFB213:
 2014
 2015       %ROUTINE get next
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$812, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -812(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
		.L1529:
 2016          %RECORD(arfm)%NAME p
 2017 gn:      %IF next = 0 %START;                        !end of phrase
				movl	28(%esi), %eax
				testl	%eax, %eax
				jne	.L1553
				nop
		.L1535:
		.L1543:
 2018             class = 0 %AND %RETURN %IF link = 0;     !end of statement
				movl	24(%esi), %eax
				testl	%eax, %eax
				jne	.L1554
				movl	$0, %eax
				movl	%eax, 20(%esi)
				jmp	.L1528
		.L1554:
				nop
		.L1533:
 2019             p == ar(link)
				movl	24(%esi), %eax
				leal	-1(%eax), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				addl	$814, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -808(%ebp)
 2020             next = p_link
				movl	-808(%ebp), %eax
				movzwl	4(%eax), %eax
				cwtl
				movl	%eax, 28(%esi)
 2021             link = p_sub
				movl	-808(%ebp), %eax
				movzwl	2(%eax), %eax
				cwtl
				movl	%eax, 24(%esi)
				jmp	.L1543
		.L1531:
		.L1553:
 2022          %FINISH
 2023          %CYCLE
 2024             p == ar(next)
				movl	28(%esi), %eax
				leal	-1(%eax), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				addl	$814, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -808(%ebp)
 2025             x = p_sub
				movl	-808(%ebp), %eax
				movzwl	2(%eax), %eax
				cwtl
				movl	%eax, X.6078@GOTOFF(%ebx)
 2026             class = p_class
				movl	-808(%ebp), %eax
				movzwl	(%eax), %eax
				cwtl
				movl	%eax, 20(%esi)
 2027             %EXIT %IF class < actions;               !an atom
				movl	20(%esi), %eax
				cmpl	$179, %eax
				jle	.L1555
				nop
		.L1537:
				nop
		.L1538:
 2028             %IF x = 0 %START;                        !null phrase
				movl	X.6078@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L1556
				nop
		.L1540:
 2029                next = p_link;  ->gn
				movl	-808(%ebp), %eax
				movzwl	4(%eax), %eax
				cwtl
				movl	%eax, 28(%esi)
				jmp	.L1529
		.L1556:
 2030             %FINISH
 2031             %IF p_link # 0 %START;                   !follow a phrase
				movl	-808(%ebp), %eax
				movzwl	4(%eax), %eax
				testw	%ax, %ax
				je	.L1557
				nop
		.L1542:
 2032                p_sub = link;  link = next
				movl	24(%esi), %eax
				movl	%eax, %edx
				movl	-808(%ebp), %eax
				movw	%dx, 2(%eax)
				movl	28(%esi), %eax
				movl	%eax, 24(%esi)
				jmp	.L1542
		.L1557:
 2033             %FINISH
 2034             next = x
				movl	X.6078@GOTOFF(%ebx), %eax
				movl	%eax, 28(%esi)
 2035          %REPEAT
				jmp	.L1543
		.L1555:
 2036          next = p_link
				movl	-808(%ebp), %eax
				movzwl	4(%eax), %eax
				cwtl
				movl	%eax, 28(%esi)
		.LBB621:
 2037          %IF diag&2 # 0 %START
 2038             spaces(8-length(name)) %UNLESS name = ""
				movb	$0, -284(%ebp)
				movl	$0, -283(%ebp)
				leal	-279(%ebp), %edx
				movl	$0, %eax
				movb	%al, (%edx)
				addl	$1, %edx
				movw	%ax, (%edx)
				addl	$2, %edx
				movl	$62, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-284(%ebp), %eax
		.LBE621:
				subl	$8, %esp
				pushl	%eax
				leal	NAME.7228@GOTOFF(%ebx), %eax
				pushl	%eax
				call	_imp_strcmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				je	.L1558
				leal	NAME.7228@GOTOFF(%ebx), %eax
				movl	%eax, -800(%ebp)
		.LBB622:
		.LBB623:
				movl	-800(%ebp), %eax
		.LBE623:
		.LBE622:
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				movl	$8, %edx
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, -804(%ebp)
		.LBB624:
		.LBB625:
				subl	$12, %esp
				pushl	-804(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
				jmp	.L1545
		.L1558:
		.LBE625:
		.LBE624:
				nop
		.L1545:
		.LBB626:
 2039             name = text(class)
				movl	20(%esi), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				addl	$152, %edx
				sall	$8, %edx
				addl	%eax, %edx
				leal	-284(%ebp), %eax
				addl	$6, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
		.LBE626:
				subl	$4, %esp
				pushl	$8
				pushl	%eax
				leal	NAME.7228@GOTOFF(%ebx), %eax
				pushl	%eax
				call	_imp_strncpy@PLT
				addl	$16, %esp
 2040             write(x, 2)
				movl	X.6078@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$2
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB627:
		.LBB628:
				call	_imp_space@PLT
		.LBE628:
		.LBE627:
		.LBB629:
 2041             space
 2042             printstring(name)
				leal	-284(%ebp), %eax
				leal	NAME.7228@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %edx
				leal	-284(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE629:
		.LBB630:
		.LBB631:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE631:
		.LBE630:
		.LBB632:
		.LBB633:
				call	_imp_space@PLT
		.LBE633:
		.LBE632:
 2043             space
 2044             count = count-1
				movl	COUNT.7229@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, COUNT.7229@GOTOFF(%ebx)
 2045             %IF count <= 0 %START
				movl	COUNT.7229@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jg	.L1559
				nop
		.L1549:
 2046                count = 5
				movl	$5, COUNT.7229@GOTOFF(%ebx)
		.LBB634:
		.LBB635:
 2047                name = ""
				movb	$0, -796(%ebp)
				movl	$0, -795(%ebp)
				leal	-791(%ebp), %edx
				movl	$0, %eax
				movb	%al, (%edx)
				addl	$1, %edx
				movw	%ax, (%edx)
				addl	$2, %edx
				movl	$62, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-540(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE635:
				leal	-796(%ebp), %eax
				leal	-540(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
		.LBE634:
				subl	$4, %esp
				pushl	$8
				pushl	%eax
				leal	NAME.7228@GOTOFF(%ebx), %eax
				pushl	%eax
				call	_imp_strncpy@PLT
				addl	$16, %esp
		.LBB636:
		.LBB637:
				call	_imp_newline@PLT
		.LBE637:
		.LBE636:
 2048                newline
 2049             %FINISH
 2050          %FINISH
 2051       %END
				jmp	.L1549
		.L1548:
		.L1559:
				nop
		.L1528:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1550
				call	__stack_chk_fail_local
		.L1550:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE215:
		SETSUBS.7259:
		.LFB216:
 2052
 2053       %ROUTINE set subs(%INTEGER n)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
				movl	%ecx, %eax
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %esi
				movl	%esi, -12(%ebp)
				xorl	%esi, %esi
 2054
 2055          !update the app field in n array descriptors
 2056
 2057          %INTEGER p
 2058          p = tmax
				movl	32(%eax), %ecx
				movl	52(%ecx), %ecx
				movl	%ecx, -20(%ebp)
		.L1561:
 2059          %WHILE n > 0 %CYCLE
				cmpl	$0, 8(%ebp)
				jle	.L1570
				nop
		.L1563:
 2060 !IMP80 BUG???              %SIGNAL 15,15 %IF p < tbase
 2061             %STOP %IF p < tbase
				movl	32(%eax), %ecx
				movl	56(%ecx), %ecx
				cmpl	%ecx, -20(%ebp)
				jge	.L1571
				movl	$0, -16(%ebp)
		.LBB638:
		.LBB639:
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%edx, %ebx
				call	exit@PLT
		.L1571:
		.LBE639:
		.LBE638:
				nop
		.L1565:
 2062             tag(p)_app = dimension
				movl	DIMENSION.6147@GOTOFF(%edx), %ecx
				movl	32(%eax), %ebx
				movl	64(%ebx), %ebx
				movl	-20(%ebp), %esi
				addl	$13, %esi
				sall	$4, %esi
				addl	%esi, %ebx
				addl	$4, %ebx
				movl	%ecx, (%ebx)
 2063             p = p-1;  n = n-1
				subl	$1, -20(%ebp)
				subl	$1, 8(%ebp)
 2064          %REPEAT
				jmp	.L1561
		.L1570:
 2065       %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1567
				call	__stack_chk_fail_local
		.L1567:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE216:
		SETBP.7266:
		.LFB217:
 2066
 2067       %ROUTINE set bp
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 2068
 2069          !define a constant bound pair from the last stacked constants
 2070
 2071          pending = pending-2
				movl	16(%esi), %eax
				subl	$2, %eax
				movl	%eax, 16(%esi)
 2072          lb = pstack(pending+1);  ub = pstack(pending+2)
				movl	16(%esi), %eax
				movl	PSTACK.7226@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, LB.7210@GOTOFF(%ebx)
				movl	16(%esi), %eax
				addl	$1, %eax
				movl	PSTACK.7226@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, UB.7211@GOTOFF(%ebx)
 2073          %IF ub-lb+1 < 0 %START
				movl	UB.7211@GOTOFF(%ebx), %edx
				movl	LB.7210@GOTOFF(%ebx), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				addl	$1, %eax
				testl	%eax, %eax
				jns	.L1579
				nop
		.L1574:
 2074             pos1 = 0;  next = link;  fault(11)
				movl	$0, POS1.6144@GOTOFF(%ebx)
				movl	24(%esi), %eax
				movl	%eax, 28(%esi)
				movl	32(%esi), %eax
				subl	$12, %esp
				pushl	$11
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
 2075             ub = lb
				movl	LB.7210@GOTOFF(%ebx), %eax
				movl	%eax, UB.7211@GOTOFF(%ebx)
				jmp	.L1574
		.L1579:
 2076          %FINISH
 2077          set const(lb);  set const(ub)
				movl	LB.7210@GOTOFF(%ebx), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6297
				addl	$16, %esp
				movl	UB.7211@GOTOFF(%ebx), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6297
				addl	$16, %esp
 2078          bp=bp+1 %AND buff(bp)='b' %UNLESS class = 146
				movl	20(%esi), %eax
				cmpl	$146, %eax
				je	.L1580
				movl	BP.6171@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ebx)
				movl	BP.6171@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				movb	$98, 104710(%eax,%edx)
				nop
		.L1576:
 2079       %END
				jmp	.L1576
		.L1580:
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1578
				call	__stack_chk_fail_local
		.L1578:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE217:
		COMPILEEND.7271:
		.LFB218:
 2080
 2081       %ROUTINE compile end(%INTEGER type)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 2082
 2083          ! type = 0:eof, 1:eop, 2:end
 2084
 2085          %IF access # 0 %START
				movl	32(%ebx), %eax
				movl	24(%eax), %eax
				testl	%eax, %eax
				je	.L1607
				nop
				jmp	.L1589
		.L1608:
 2086             open = 0
				movl	32(%ebx), %eax
				movl	$0, %edx
				movl	%edx, 20(%eax)
 2087             fault(19) %IF block form > proc;           !can reach end
				movl	32(%ebx), %eax
				movl	36(%eax), %eax
				cmpl	$7, %eax
				jle	.L1608
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$19
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1589
		.L1583:
		.L1585:
		.L1607:
				nop
		.L1586:
		.L1589:
 2088          %FINISH
 2089
 2090          %WHILE dict(dmin) >= 0 %CYCLE;                !finishes & repeats
				movl	32(%ebx), %eax
				movl	40(%eax), %eax
				leal	-1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				testw	%ax, %ax
				js	.L1609
				nop
		.L1588:
 2091             fault(17+dict(dmin)&1)
				movl	32(%ebx), %eax
				movl	40(%eax), %eax
				leal	-1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				andl	$1, %eax
				leal	17(%eax), %edx
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
 2092             dmin = dmin+1
				movl	32(%ebx), %eax
				movl	40(%eax), %edx
				movl	32(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 40(%eax)
 2093          %REPEAT
				jmp	.L1589
		.L1609:
 2094          {delete names(0)}
 2095          bp=bp+1 %AND buff(bp)=';'
				movl	BP.6171@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%esi)
				movl	BP.6171@GOTOFF(%esi), %eax
				leal	-1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				movb	$59, 104710(%eax,%edx)
 2096          bp=bp+1 %AND buff(bp)=';' %IF type = 1;       !endofprogram
				cmpl	$1, 8(%ebp)
				jne	.L1610
				movl	BP.6171@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%esi)
				movl	BP.6171@GOTOFF(%esi), %eax
				leal	-1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				movb	$59, 104710(%eax,%edx)
				jmp	.L1591
		.L1610:
				nop
		.L1591:
 2097
 2098          bflags = bflags!open;                         !show if it returns
				movl	32(%ebx), %eax
				movl	16(%eax), %eax
				movzwl	(%eax), %edx
				movl	32(%ebx), %eax
				movl	20(%eax), %eax
				orl	%eax, %edx
				movl	32(%ebx), %eax
				movl	16(%eax), %eax
				movw	%dx, (%eax)
 2099
 2100          def lab(0) %IF block tag # 0 %AND level # 1;  !for jump around
				movl	32(%ebx), %eax
				movl	12(%eax), %eax
				testl	%eax, %eax
				je	.L1611
				movl	32(%ebx), %eax
				movl	48(%eax), %eax
				cmpl	$1, %eax
				je	.L1612
				subl	$12, %esp
				pushl	$0
				movl	%ebx, %ecx
				call	DEFLAB.7231
				addl	$16, %esp
				jmp	.L1593
		.L1611:
				nop
				jmp	.L1593
		.L1612:
				nop
		.L1593:
 2101          %IF type # 2 %START;                          !eop, eof
				cmpl	$2, 8(%ebp)
				je	.L1613
				nop
		.L1596:
 2102             fault(16) %IF level # type;                !end missing
				movl	32(%ebx), %eax
				movl	48(%eax), %eax
				cmpl	8(%ebp), %eax
				je	.L1614
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$16
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
				nop
		.L1598:
 2103          %FINISH %ELSE %START
				jmp	.L1601
		.L1614:
				jmp	.L1601
		.L1613:
 2104             %IF level = 0 %START
				movl	32(%ebx), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				jne	.L1615
				nop
		.L1601:
 2105                fault(15);                              !spurious end
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$15
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1601
		.L1599:
		.L1615:
 2106             %FINISH
 2107          %FINISH
 2108
 2109          end mark = 11;               !******Mouses specific******
				movl	$11, ENDMARK.6099@GOTOFF(%esi)
 2110       %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1603
				call	__stack_chk_fail_local
		.L1603:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE218:
		DEF.7284:
		.LFB219:
 2111
 2112       %ROUTINE def(%INTEGER p)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$48, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 2113
 2114          !dump a descriptor
 2115
 2116          %INTEGER t, f, type
 2117          %RECORD(tagfm)%NAME v
 2118          flush buffer %if bp # 0
				movl	BP.6171@GOTOFF(%esi), %eax
				testl	%eax, %eax
				je	.L1646
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				movl	%eax, %ecx
				call	FLUSHBUFFER.6188
				jmp	.L1618
		.L1646:
				nop
		.L1618:
 2119          defs = defs+1
				movl	12(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 12(%ebx)
 2120          v == tag(p)
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				movl	8(%ebp), %edx
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -28(%ebp)
 2121          t = 0
				movl	$0, -36(%ebp)
 2122          %UNLESS v_index < 0 %START;                   !no index for subnames
				movl	-28(%ebp), %eax
				movzwl	10(%eax), %eax
				testw	%ax, %ax
				js	.L1647
				nop
		.L1620:
 2123             id = id+1 %AND v_index = id %IF v_index = 0
				movl	-28(%ebp), %eax
				movzwl	10(%eax), %eax
				testw	%ax, %ax
				jne	.L1648
				movl	32(%ebx), %eax
				movl	44(%eax), %edx
				movl	32(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 44(%eax)
				movl	32(%ebx), %eax
				movl	44(%eax), %eax
				movl	%eax, %edx
				movl	-28(%ebp), %eax
				movw	%dx, 10(%eax)
				jmp	.L1622
		.L1648:
				nop
		.L1622:
 2124             last def = v_index
				movl	-28(%ebp), %eax
				movzwl	10(%eax), %eax
				cwtl
				movl	%eax, LASTDEF.7209@GOTOFF(%esi)
 2125             t = last def
				movl	LASTDEF.7209@GOTOFF(%esi), %eax
				movl	%eax, -36(%ebp)
				jmp	.L1620
		.L1647:
 2126          %FINISH
 2127          op('$', t)
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-36(%ebp)
				pushl	$36
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2128          print ident(p, 1);                            !output the name
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	$1
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	PRINTIDENT.6201
				addl	$16, %esp
 2129          t = v_flags
				movl	-28(%ebp), %eax
				movzwl	8(%eax), %eax
				cwtl
				movl	%eax, -36(%ebp)
 2130          type = t
				movl	-36(%ebp), %eax
				movl	%eax, -24(%ebp)
 2131          type = type&(\(7<<4)) %IF type&(7<<4) >= 6<<4;!routine & pred
				andl	$-113, -24(%ebp)
		.L1623:
 2132          op(',', type&b'1111111');             !type & form
				movl	-24(%ebp), %eax
				andl	$127, %eax
				movl	%eax, %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$44
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2133          f = v_format
				movl	-28(%ebp), %eax
				movl	4(%eax), %eax
				movl	%eax, -32(%ebp)
 2134          f = tag(f)_index %IF t&x'70' = record<<4
				movl	-36(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1649
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				movl	-32(%ebp), %edx
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$14, %eax
				movzwl	(%eax), %eax
				cwtl
				movl	%eax, -32(%ebp)
				jmp	.L1625
		.L1649:
				nop
		.L1625:
 2135          f = v_index %IF f < 0
				cmpl	$0, -32(%ebp)
				jns	.L1650
				movl	-28(%ebp), %eax
				movzwl	10(%eax), %eax
				cwtl
				movl	%eax, -32(%ebp)
				jmp	.L1627
		.L1650:
				nop
		.L1627:
 2136          op(',', f);               !format
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-32(%ebp)
				pushl	$44
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2137          f = otype+t>>4&b'1111000'
				movl	-36(%ebp), %eax
				shrl	$4, %eax
				andl	$120, %eax
				movl	%eax, %edx
				movl	OTYPE.6108@GOTOFF(%esi), %eax
				addl	%edx, %eax
				movl	%eax, -32(%ebp)
 2138          f = f!8 %IF class = 125;              !add spec from %DUP
				movl	20(%ebx), %eax
				cmpl	$125, %eax
				jne	.L1651
				orl	$8, -32(%ebp)
				jmp	.L1629
		.L1651:
				nop
		.L1629:
 2139          dim = v_app;                          !dimension
				movl	-28(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, DIM.6103@GOTOFF(%esi)
		.LBB640:
 2140          dim = 0 %unless 0 < dim <= dim limit
				movl	DIM.6103@GOTOFF(%esi), %eax
				movl	%eax, -20(%ebp)
				cmpl	$0, -20(%ebp)
				jle	.L1652
				cmpl	$6, -20(%ebp)
				jle	.L1653
		.LBE640:
				jmp	.L1631
		.L1652:
		.LBB641:
				nop
		.L1631:
		.LBE641:
				movl	$0, DIM.6103@GOTOFF(%esi)
				jmp	.L1632
		.L1653:
		.LBB642:
				nop
		.L1632:
		.LBE642:
 2141          op(',', f+dim<<8);                    !otype & spec & prot
				movl	DIM.6103@GOTOFF(%esi), %eax
				sall	$8, %eax
				movl	%eax, %edx
				movl	-32(%ebp), %eax
				addl	%eax, %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$44
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2142          defs = 0 %IF t&parameters = 0
				movl	-36(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1654
				movl	$0, %eax
				movl	%eax, 12(%ebx)
				jmp	.L1634
		.L1654:
				nop
		.L1634:
 2143          f = t&15
				movl	-36(%ebp), %eax
				andl	$15, %eax
				movl	%eax, -32(%ebp)
		.LBB643:
 2144          %IF v_flags&spec # 0 %START
 2145             v_flags = v_flags&(\spec) %UNLESS 3 <= f <= 10
				movl	-32(%ebp), %eax
				movl	%eax, -16(%ebp)
				cmpl	$2, -16(%ebp)
				jle	.L1655
				cmpl	$10, -16(%ebp)
				jle	.L1656
		.LBE643:
				jmp	.L1636
		.L1655:
		.LBB644:
				nop
		.L1636:
		.LBE644:
				movl	-28(%ebp), %eax
				movzwl	8(%eax), %eax
				andb	$127, %al
				movl	%eax, %edx
				movl	-28(%ebp), %eax
				movw	%dx, 8(%eax)
				jmp	.L1637
		.L1656:
		.LBB645:
				nop
		.L1637:
		.LBE645:
 2146             ocount = -1;                       !external specs have no constants
				movl	$-1, OCOUNT.6137@GOTOFF(%esi)
		.L1638:
 2147          %FINISH
 2148          dimension = 0
				movl	$0, DIMENSION.6147@GOTOFF(%esi)
 2149          %if otype = 2 %and (f=2 %or f=12 %or f=14) %start
				movl	OTYPE.6108@GOTOFF(%esi), %eax
				cmpl	$2, %eax
				jne	.L1657
				cmpl	$2, -32(%ebp)
				je	.L1658
				cmpl	$12, -32(%ebp)
				je	.L1659
				cmpl	$14, -32(%ebp)
				jne	.L1660
				jmp	.L1642
		.L1658:
				nop
				jmp	.L1642
		.L1659:
				nop
		.L1642:
				nop
				jmp	.L1640
		.L1660:
				nop
		.L1640:
 2150             v_flags = v_flags-1;               !convert to simple
				movl	-28(%ebp), %eax
				movzwl	8(%eax), %eax
				subl	$1, %eax
				movl	%eax, %edx
				movl	-28(%ebp), %eax
				movw	%dx, 8(%eax)
 2151          %finish
 2152       %END
				jmp	.L1640
		.L1657:
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1645
				call	__stack_chk_fail_local
		.L1645:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE219:
		DEFSLAB.7308:
		.LFB220:
 2153
 2154       %ROUTINE def s lab(%INTEGER n)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$48, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 2155
 2156          !define a switch label, x defines the switch tag
 2157
 2158          %INTEGER p, l, b, w, bit
 2159          p = tag(x)_format;                               !pointer to table
				movl	X.6078@GOTOFF(%esi), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$8, %eax
				movl	(%eax), %eax
				movl	%eax, -36(%ebp)
 2160          l = dict(p);                                     !lower bound
				movl	-36(%ebp), %eax
				leal	-1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				movl	%eax, -32(%ebp)
		.LBB646:
 2161          %IF l <= n <= dict(p+1) %START
				movl	8(%ebp), %eax
				movl	%eax, -28(%ebp)
				movl	-28(%ebp), %eax
				cmpl	-32(%ebp), %eax
				jl	.L1676
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				movl	-36(%ebp), %edx
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				cmpl	%eax, -28(%ebp)
				jg	.L1677
		.LBE646:
				nop
				jmp	.L1663
		.L1677:
				nop
		.L1663:
		.LBE647:
 2162             b = n-l
				movl	8(%ebp), %eax
				subl	-32(%ebp), %eax
				movl	%eax, -24(%ebp)
 2163             w = b>>4+p
				movl	-24(%ebp), %eax
				shrl	$4, %eax
				movl	%eax, %edx
				movl	-36(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -20(%ebp)
 2164             bit = 1<<(b&15)
				movl	-24(%ebp), %eax
				andl	$15, %eax
				movl	$1, %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				movl	%eax, -16(%ebp)
 2165             %IF dict(w+2)&bit # 0 %START;                 !already set
				movl	-20(%ebp), %eax
				leal	1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				movswl	%ax, %edx
				cmpl	$0, -16(%ebp)
				sete	%al
				movzbl	%al, %eax
				andl	%edx, %eax
				testl	%eax, %eax
				jne	.L1678
				nop
		.L1666:
 2166                fault(4) %IF pending # 0
				movl	16(%ebx), %eax
				testl	%eax, %eax
				je	.L1679
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$4
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
				nop
		.L1668:
 2167                %RETURN
				jmp	.L1661
		.L1679:
				jmp	.L1661
		.L1678:
 2168             %FINISH
 2169             dict(w+2) <- dict(w+2)!bit %IF pending # 0
				movl	16(%ebx), %eax
				testl	%eax, %eax
				je	.L1680
				movl	-20(%ebp), %eax
				leal	1(%eax), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				movl	-16(%ebp), %edx
				movl	%edx, %ecx
				movl	-20(%ebp), %edx
				addl	$1, %edx
				orl	%eax, %ecx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movw	%cx, 4(%eax,%edx,2)
				jmp	.L1671
		.L1680:
				nop
		.L1671:
 2170             set const(n)
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	SETCONST.6297
				addl	$16, %esp
 2171             op('_', tag(x)_index)
				movl	X.6078@GOTOFF(%esi), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$14, %eax
				movzwl	(%eax), %eax
				movswl	%ax, %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$95
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2172          %FINISH %ELSE %START
				jmp	.L1672
		.L1676:
		.LBB647:
 2173             fault(12)
				movl	32(%ebx), %eax
				subl	$12, %esp
				pushl	$12
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
		.L1672:
 2174          %FINISH
 2175          access = 1
				movl	32(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 24(%eax)
 2176       %END
				nop
		.L1661:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1673
				call	__stack_chk_fail_local
		.L1673:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE220:
		CALL.7322:
		.LFB221:
 2177
 2178       %ROUTINE call
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 2179          %RECORD(tagfm)%NAME T
 2180          t == tag(x)
				movl	X.6078@GOTOFF(%ebx), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	%eax, -16(%ebp)
 2181          op('@', t_index)
				movl	-16(%ebp), %eax
				movzwl	10(%eax), %eax
				movswl	%ax, %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$64
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2182          access = 0 %IF t_flags&closed # 0;                !never comes back
				movl	32(%esi), %eax
				movl	$0, %edx
				movl	%edx, 24(%eax)
		.L1682:
 2183          bp=bp+1 %AND buff(bp)='E' %IF t_app = 0;          !no parameters
				movl	-16(%ebp), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jne	.L1687
				movl	BP.6171@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ebx)
				movl	BP.6171@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	32(%esi), %eax
				movl	64(%eax), %eax
				movb	$69, 104710(%eax,%edx)
				nop
		.L1684:
 2184       %END
				jmp	.L1684
		.L1687:
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1686
				call	__stack_chk_fail_local
		.L1686:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE221:
		POPDEF.7328:
		.LFB222:
 2185
 2186       %ROUTINE pop def
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$20, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -12(%ebp)
 2187          set const(pstack(pending));  pending = pending-1
				movl	16(%ebx), %edx
				subl	$1, %edx
				movl	PSTACK.7226@GOTOFF(%eax,%edx,4), %edx
				movl	32(%ebx), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6297
				addl	$16, %esp
				movl	16(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 16(%ebx)
 2188       %END
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE222:
		POPLIT.7331:
		.LFB223:
 2189
 2190       %ROUTINE pop lit
				pushl	%ebp
				movl	%esp, %ebp
				subl	$4, %esp
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
				movl	%ecx, %eax
				movl	%ecx, -4(%ebp)
 2191          %IF pending = 0 %THEN lit = 0 %ELSE %START
				movl	16(%eax), %ecx
				testl	%ecx, %ecx
				jne	.L1696
				movl	$0, LIT.6157@GOTOFF(%edx)
				jmp	.L1693
		.L1696:
				nop
		.L1692:
 2192             lit = pstack(pending);  pending = pending-1
				movl	16(%eax), %ecx
				subl	$1, %ecx
				movl	PSTACK.7226@GOTOFF(%edx,%ecx,4), %ecx
				movl	%ecx, LIT.6157@GOTOFF(%edx)
				movl	16(%eax), %edx
				subl	$1, %edx
				movl	%edx, 16(%eax)
		.L1693:
 2193          %FINISH
 2194       %END
				nop
				leave
				ret
		.LFE223:
		PUSH.7387:
		.LFB224:
 2195
 2196
 2197       %IF sstype < 0 %START;                       !executable statement
				movl	SSTYPE.6135@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L1441
				nop
				jmp	.L1410
		.L1443:
 2198          %IF level = 0 %START;                     !outermost level
				movl	-4004(%ebp), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				jne	.L1442
				nop
		.L1023:
 2199             fault(13);                             !*order
				subl	$12, %esp
				pushl	$13
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
 2200          %FINISH %ELSE %START
				jmp	.L1410
		.L1442:
 2201             %IF access = 0 %START
				movl	-4004(%ebp), %eax
				movl	24(%eax), %eax
				testl	%eax, %eax
				jne	.L1443
				nop
		.L1410:
 2202                access = 1;  fault(-1);             !only a warning
				movl	$1, %eax
				movl	-4004(%ebp), %esi
				movl	%eax, 24(%esi)
				subl	$12, %esp
				pushl	$-1
				movl	%esi, %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1410
		.L1021:
		.L1025:
		.L1026:
		.L1441:
 2203             %FINISH
 2204          %FINISH
 2205       %FINISH
 2206
 2207       %IF diag&2 # 0 %START
 2208          newline %IF sym # nl
				movl	-4000(%ebp), %eax
				movl	SYM.6096@GOTOFF(%eax), %eax
				cmpl	$10, %eax
				je	.L1444
		.LBB584:
		.LBB585:
				movl	-4000(%ebp), %ebx
				call	_imp_newline@PLT
				jmp	.L1028
		.L1444:
		.LBE585:
		.LBE584:
				nop
		.L1028:
		.LBB586:
 2209          printstring("ss =")
				leal	-322(%ebp), %eax
				movl	-4000(%ebp), %ebx
				leal	.LC8@GOTOFF(%ebx), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
				leal	-3396(%ebp), %eax
				leal	-322(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-322(%ebp), %eax
				leal	-3396(%ebp), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
		.LBE586:
		.LBB587:
		.LBB588:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-322(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	%ebx, %edi
				movl	%edi, %ebx
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE588:
		.LBE587:
 2210          write(ss, 1)
				movl	%edi, %ebx
				movl	SS.6128@GOTOFF(%ebx), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				movl	%edi, %ebx
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB589:
		.LBB590:
				movl	%edi, %ebx
				call	_imp_newline@PLT
		.LBE590:
		.LBE589:
 2211          newline
 2212          count = 5
				movl	%edi, %ebx
				movl	$5, COUNT.7229@GOTOFF(%ebx)
		.LBB591:
		.LBB592:
 2213          name = ""
				movb	$0, -578(%ebp)
				movl	$0, -577(%ebp)
				leal	-573(%ebp), %eax
				movl	$251, %ecx
				movl	$0, %esi
				movl	%esi, (%eax)
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edx
				andl	$-4, %edx
				subl	%edx, %eax
				addl	%eax, %ecx
				andl	$-4, %ecx
				shrl	$2, %ecx
				movl	%edx, %edi
				movl	%esi, %eax
				rep stosl
				leal	-3140(%ebp), %eax
				leal	-578(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE592:
				leal	-578(%ebp), %eax
				leal	-3140(%ebp), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
				leal	-578(%ebp), %eax
		.LBE591:
				subl	$4, %esp
				pushl	$8
				pushl	%eax
				leal	NAME.7228@GOTOFF(%ebx), %eax
				pushl	%eax
				movl	%ebx, %edi
				movl	%edi, %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
		.L1029:
 2214       %FINISH
 2215
 2216       next = ss
				movl	%edi, %ebx
				movl	SS.6128@GOTOFF(%ebx), %eax
				movl	%eax, -3848(%ebp)
 2217       pending = 0;  lmode = 0
				movl	$0, %eax
				movl	%eax, -3860(%ebp)
				movl	$0, %eax
				movl	%eax, -3876(%ebp)
 2218       link = 0;  decs = 0
				movl	$0, %eax
				movl	%eax, -3852(%ebp)
				movl	$0, -3948(%ebp)
 2219       defs = 0;  resln = 0;  done = 0
				movl	$0, %eax
				movl	%eax, -3864(%ebp)
				movl	$0, -3964(%ebp)
				movl	$0, -3936(%ebp)
 2220       ord = level
				movl	-4004(%ebp), %eax
				movl	48(%eax), %eax
				movl	%eax, -3960(%ebp)
 2221       ord = 1 %IF this >= 0;                       !recordformat declarations
				movl	%edi, %ebx
				movl	THIS.6120@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jns	.L1030
				jmp	.L1033
		.L1030:
				movl	$1, -3960(%ebp)
		.L1031:
		.L1032:
				jmp	.L1033
		.L1473:
 2222 c(0):
 2223 top:  %IF next # link %START
				movl	-3848(%ebp), %edx
				movl	-3852(%ebp), %eax
				cmpl	%eax, %edx
				je	.L1445
				jmp	.L1417
		.L1396:
				jmp	*%eax
		.L1417:
				nop
 2224          get next;  ->c(class)
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7234
				movl	$2224, -3932(%ebp)
				movl	-4000(%ebp), %eax
				leal	.LC71@GOTOFF(%eax), %eax
				movl	%eax, -3928(%ebp)
				movl	-3856(%ebp), %eax
				movl	%eax, -3924(%ebp)
				nop
		.L1037:
 2225       %FINISH
 2226
 2227       !all done, tidy up declarations and jumps
 2228
 2229       newline %IF diag&2 # 0 %AND count # 5
				movl	-4000(%ebp), %eax
				movl	COUNT.7229@GOTOFF(%eax), %eax
				cmpl	$5, %eax
				je	.L1446
		.LBB593:
		.LBB594:
				movl	-4000(%ebp), %ebx
				call	_imp_newline@PLT
				jmp	.L1412
		.L1039:
		.L1446:
		.LBE594:
		.LBE593:
				nop
		.L1412:
 2230
 2231       %IF lmode&(loop!then!else) # 0 %START;       !pending labels and jumps
 2232          op('B', label-1) %IF lmode&loop # 0;      !repeat
				movl	-4004(%ebp), %ebx
				movl	8(%ebx), %eax
				leal	-1(%eax), %edx
				movl	64(%ebx), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$66
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
		.L1040:
 2233          def lab(label)   %IF lmode&then # 0;      !entry from then
				movl	8(%ebx), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7231
				addl	$16, %esp
		.L1041:
 2234          def lab(label-1) %IF lmode&else # 0;      !entry from else
				movl	8(%ebx), %eax
				leal	-1(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7231
				addl	$16, %esp
		.L1042:
		.L1043:
 2235       %FINISH
 2236
 2237       %RETURN %IF decs = 0
				cmpl	$0, -3948(%ebp)
				je	.L1447
				nop
		.L1045:
				nop
				jmp	.L1019
		.L1502:
 2238       atom1 = error %AND %RETURN %IF atom1 # 0;    !%INTEGERROUTINE
				movl	-4000(%ebp), %eax
				movl	ATOM1.6079@GOTOFF(%eax), %eax
				testl	%eax, %eax
				je	.L1448
				movl	-4000(%ebp), %eax
				movl	$32768, ATOM1.6079@GOTOFF(%eax)
				jmp	.L1019
		.L1448:
				nop
		.L1048:
 2239       order = ord
				movl	-3960(%ebp), %eax
				movl	-4000(%ebp), %ebx
				movl	%eax, ORDER.6140@GOTOFF(%ebx)
 2240       decl = decl&(\15)+decmap(decl&15);           !construct declarator flags
				movl	DECL.6102@GOTOFF(%ebx), %eax
				andl	$-16, %eax
				movl	%eax, %edx
				movl	DECL.6102@GOTOFF(%ebx), %eax
				andl	$15, %eax
				movzwl	-3836(%ebp,%eax,2), %eax
				cwtl
				addl	%edx, %eax
				movl	%eax, DECL.6102@GOTOFF(%ebx)
 2241       atom1 = atoms(decl&15);                      !generate class
				movl	DECL.6102@GOTOFF(%ebx), %eax
				andl	$15, %eax
				movl	%eax, %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movzbl	38836(%eax,%edx), %eax
				movzbl	%al, %eax
				movl	%eax, ATOM1.6079@GOTOFF(%ebx)
 2242       %IF otype # 0 %START;                        !own, const etc.
				movl	OTYPE.6108@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L1449
				nop
		.L1058:
 2243          atom1 = atom1+1 %IF atom1 # proc
				movl	-4000(%ebp), %eax
				movl	ATOM1.6079@GOTOFF(%eax), %eax
				cmpl	$7, %eax
				je	.L1450
				movl	-4000(%ebp), %edx
				movl	ATOM1.6079@GOTOFF(%edx), %eax
				addl	$1, %eax
				movl	%eax, ATOM1.6079@GOTOFF(%edx)
				jmp	.L1052
		.L1450:
				nop
		.L1052:
 2244          %IF otype = 2 %START;                     !const
				movl	-4000(%ebp), %eax
				movl	OTYPE.6108@GOTOFF(%eax), %eax
				cmpl	$2, %eax
				jne	.L1451
				nop
		.L1054:
 2245             n = decl&15
				movl	-4000(%ebp), %ecx
				movl	DECL.6102@GOTOFF(%ecx), %eax
				andl	$15, %eax
				movl	%eax, -3984(%ebp)
 2246             %if n&1 # 0 %start
 2247                decl = decl!prot
				movl	DECL.6102@GOTOFF(%ecx), %eax
				orb	$1, %ah
				movl	%eax, DECL.6102@GOTOFF(%ecx)
 2248                decl = decl!const bit %IF decl&b'1111111' = iform
				movl	DECL.6102@GOTOFF(%ecx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1452
				movl	-4000(%ebp), %ecx
				movl	DECL.6102@GOTOFF(%ecx), %eax
				orb	$32, %ah
				movl	%eax, DECL.6102@GOTOFF(%ecx)
				nop
		.L1057:
 2249             %finish
 2250          %else
				jmp	.L1058
		.L1056:
		.L1452:
				jmp	.L1058
		.L1451:
 2251             decl = decl!own bit
				movl	-4000(%ebp), %ebx
				movl	DECL.6102@GOTOFF(%ebx), %eax
				orb	$2, %ah
				movl	%eax, DECL.6102@GOTOFF(%ebx)
				jmp	.L1058
		.L1050:
		.L1449:
 2252          %FINISH
 2253       %FINISH
 2254       sstype = 1 %IF sstype = 0 %AND atom1 = proc
				movl	-4000(%ebp), %eax
				movl	SSTYPE.6135@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1453
				movl	-4000(%ebp), %eax
				movl	ATOM1.6079@GOTOFF(%eax), %eax
				cmpl	$7, %eax
				jne	.L1454
				movl	-4000(%ebp), %eax
				movl	$1, SSTYPE.6135@GOTOFF(%eax)
				jmp	.L1413
		.L1060:
		.L1453:
				nop
				jmp	.L1413
		.L1454:
				nop
		.L1413:
 2255       atom1 = atom1+1 %IF decl&spec # 0;             !onto spec variant
				movl	-4000(%ebp), %edi
				movl	ATOM1.6079@GOTOFF(%edi), %eax
				addl	$1, %eax
				movl	%eax, ATOM1.6079@GOTOFF(%edi)
		.L1062:
 2256       ocount = 0 %AND cont = '+' %IF atom1 = 5;      !own array
				movl	ATOM1.6079@GOTOFF(%edi), %eax
				cmpl	$5, %eax
				jne	.L1455
				movl	-4000(%ebp), %eax
				movl	$0, OCOUNT.6137@GOTOFF(%eax)
				movl	$43, CONT.6100@GOTOFF(%eax)
				jmp	.L1064
		.L1455:
				nop
		.L1064:
 2257       %IF anyform(decl&15) = 0 %START;               !check meaningful
				movl	-4000(%ebp), %eax
				movl	DECL.6102@GOTOFF(%eax), %eax
				andl	$15, %eax
				movzbl	-44(%ebp,%eax), %eax
				testb	%al, %al
				jne	.L1456
				nop
				jmp	.L1019
		.L1459:
 2258          %IF decl>>4&7 = record %START
				movl	-4000(%ebp), %eax
				movl	DECL.6102@GOTOFF(%eax), %eax
				andl	$16, %eax
				testl	%eax, %eax
				jne	.L1457
				nop
				jmp	.L1071
		.L1458:
 2259             this = fdef %IF tag(fdef)_flags&spec # 0
				movl	-4000(%ebp), %edi
				movl	%edi, %eax
				movl	FDEF.6119@GOTOFF(%eax), %eax
				movl	%eax, THIS.6120@GOTOFF(%edi)
		.L1069:
 2260             atom1 = error+21 %IF fdef = this;        !*context for format
				movl	%edi, %eax
				movl	FDEF.6119@GOTOFF(%eax), %edx
				movl	%edi, %eax
				movl	THIS.6120@GOTOFF(%eax), %eax
				cmpl	%eax, %edx
				jne	.L1458
				movl	-4000(%ebp), %eax
				movl	$32789, ATOM1.6079@GOTOFF(%eax)
				jmp	.L1071
		.L1068:
		.L1457:
				nop
		.L1071:
 2261          %FINISH
 2262          atom1 = error+10 %IF fdef = 0;              !*size
				movl	-4000(%ebp), %eax
				movl	FDEF.6119@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1459
				movl	-4000(%ebp), %eax
				movl	$32778, ATOM1.6079@GOTOFF(%eax)
				nop
		.L1073:
 2263       %FINISH
 2264       %RETURN
				jmp	.L1019
		.L1066:
		.L1456:
				jmp	.L1019
		.L1074:
 2265
 2266 atop:   access = 0;  ->top
				movl	$0, %eax
				movl	-4004(%ebp), %edi
				movl	%eax, 24(%edi)
				jmp	.L1033
		.L1075:
		.L1076:
 2267
 2268 ! declarators
 2269
 2270 c(88):                                                !rtype
 2271 c(28): decl = x&(\7);                                 !stype
				movl	-4000(%ebp), %ecx
				movl	X.6078@GOTOFF(%ecx), %eax
				andl	$-8, %eax
				movl	%eax, DECL.6102@GOTOFF(%ecx)
 2272        fdef = x&7;                                    !precision
				movl	X.6078@GOTOFF(%ecx), %eax
				andl	$7, %eax
				movl	%eax, FDEF.6119@GOTOFF(%ecx)
 2273        fdef = reals ln %IF x&b'1110001' = real<<4+1;  !convert to long
				movl	X.6078@GOTOFF(%ecx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1460
				movl	-4000(%ebp), %edi
				movl	REALSLN.6109@GOTOFF(%edi), %eax
				movl	%eax, FDEF.6119@GOTOFF(%edi)
				jmp	.L1078
		.L1460:
				nop
		.L1078:
 2274        decs = 1;  ->top
				movl	$1, -3948(%ebp)
				jmp	.L1033
		.L1079:
		.L1080:
 2275 c(34):                                                !own
 2276 c(35): otype = x;  ord = 1;  ->top;                   !external
				movl	-4000(%ebp), %esi
				movl	X.6078@GOTOFF(%esi), %eax
				movl	%eax, OTYPE.6108@GOTOFF(%esi)
				movl	$1, -3960(%ebp)
				jmp	.L1033
		.L1081:
 2277 c(152):decl = decl+x<<1;  ->top;                      !xname
				movl	-4000(%ebp), %ecx
				movl	X.6078@GOTOFF(%ecx), %eax
				leal	(%eax,%eax), %edx
				movl	DECL.6102@GOTOFF(%ecx), %eax
				addl	%edx, %eax
				movl	%eax, DECL.6102@GOTOFF(%ecx)
				jmp	.L1033
		.L1082:
		.L1083:
 2278 c(31):                                                !proc
 2279 c(32): spec mode = level+1;                           !fn/map
				movl	-4004(%ebp), %eax
				movl	48(%eax), %eax
				addl	$1, %eax
				movl	-4000(%ebp), %ecx
				movl	%eax, SPECMODE.6136@GOTOFF(%ecx)
 2280        decl = decl!prot %IF x = 9;                    !function
				movl	%ecx, %eax
				movl	X.6078@GOTOFF(%eax), %eax
				cmpl	$9, %eax
				jne	.L1461
				movl	-4000(%ebp), %edx
				movl	DECL.6102@GOTOFF(%edx), %eax
				orb	$1, %ah
				movl	%eax, DECL.6102@GOTOFF(%edx)
				jmp	.L1086
		.L1085:
		.L1461:
				nop
		.L1086:
 2281 c(29): ord = 1;                                       !array
				movl	$1, -3960(%ebp)
 2282        dim = 0
				movl	-4000(%ebp), %eax
				movl	$0, DIM.6103@GOTOFF(%eax)
		.L1087:
 2283 c(30): decl = decl+x;                                 !name
				movl	-4000(%ebp), %esi
				movl	DECL.6102@GOTOFF(%esi), %edx
				movl	X.6078@GOTOFF(%esi), %eax
				addl	%edx, %eax
				movl	%eax, DECL.6102@GOTOFF(%esi)
 2284        decs = 1
				movl	$1, -3948(%ebp)
 2285        ->top
				jmp	.L1033
		.L1088:
 2286 c(27): lit = 0;                                       ! arrayd
				movl	-4000(%ebp), %eax
				movl	$0, LIT.6157@GOTOFF(%eax)
 2287        %IF pending # 0 %START
				movl	-3860(%ebp), %eax
				testl	%eax, %eax
				je	.L1462
				nop
				jmp	.L1093
		.L1464:
		.LBB597:
 2288           pop lit
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7331
		.LBB595:
 2289           %UNLESS 0<lit<=dim limit %START
				movl	-4000(%ebp), %eax
				movl	LIT.6157@GOTOFF(%eax), %eax
				movl	%eax, -3896(%ebp)
				cmpl	$0, -3896(%ebp)
				jle	.L1463
				cmpl	$6, -3896(%ebp)
				jle	.L1464
		.LBE595:
				jmp	.L1092
		.L1463:
		.LBB596:
				nop
		.L1092:
		.LBE596:
				nop
		.L1093:
		.LBE597:
 2290              atom1 = error + 11;  %RETURN
				movl	-4000(%ebp), %eax
				movl	$32779, ATOM1.6079@GOTOFF(%eax)
				jmp	.L1019
		.L1090:
		.L1462:
 2291           %FINISH
 2292        %FINISH
 2293        dim = lit
				movl	-4000(%ebp), %edi
				movl	LIT.6157@GOTOFF(%edi), %eax
				movl	%eax, DIM.6103@GOTOFF(%edi)
 2294        decl = decl + x;  decs = 1
				movl	DECL.6102@GOTOFF(%edi), %edx
				movl	X.6078@GOTOFF(%edi), %eax
				addl	%edx, %eax
				movl	%eax, DECL.6102@GOTOFF(%edi)
				movl	$1, -3948(%ebp)
 2295        -> top
				jmp	.L1033
		.L1094:
 2296 c(37): x = x!subname;                                 !record
				movl	-4000(%ebp), %ebx
				movl	X.6078@GOTOFF(%ebx), %eax
				orb	$8, %ah
				movl	%eax, X.6078@GOTOFF(%ebx)
		.L1095:
 2297 c(36): lit = 0;                                       !string
				movl	-4000(%ebp), %eax
				movl	$0, LIT.6157@GOTOFF(%eax)
 2298        %IF pending # 0 %START
				movl	-3860(%ebp), %eax
				testl	%eax, %eax
				je	.L1465
				nop
				jmp	.L1100
		.L1467:
		.LBB600:
 2299          pop lit
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7331
		.LBB598:
 2300           %UNLESS 0 < lit <= 255 %START;              !max length wrong
				movl	-4000(%ebp), %eax
				movl	LIT.6157@GOTOFF(%eax), %eax
				movl	%eax, -3900(%ebp)
				cmpl	$0, -3900(%ebp)
				jle	.L1466
				cmpl	$255, -3900(%ebp)
				jle	.L1467
		.LBE598:
				jmp	.L1099
		.L1466:
		.LBB599:
				nop
		.L1099:
		.LBE599:
				nop
		.L1100:
		.LBE600:
 2301              atom1 = error+10;  %RETURN
				movl	-4000(%ebp), %eax
				movl	$32778, ATOM1.6079@GOTOFF(%eax)
				jmp	.L1019
		.L1097:
		.L1465:
 2302           %FINISH
 2303        %FINISH
 2304        fdef = lit;                                    !format or length
				movl	-4000(%ebp), %edi
				movl	LIT.6157@GOTOFF(%edi), %eax
				movl	%eax, FDEF.6119@GOTOFF(%edi)
		.L1101:
 2305 c(33): decl = x;                                      !switch
				movl	-4000(%ebp), %esi
				movl	X.6078@GOTOFF(%esi), %eax
				movl	%eax, DECL.6102@GOTOFF(%esi)
 2306        decs = 1
				movl	$1, -3948(%ebp)
 2307        ->top
				jmp	.L1033
		.L1102:
 2308 c(39): decl = decl!spec;                              !spec
				movl	-4000(%ebp), %esi
				movl	DECL.6102@GOTOFF(%esi), %eax
				orb	$-128, %al
				movl	%eax, DECL.6102@GOTOFF(%esi)
 2309        ocount = -1;                                   !no initialisation
				movl	$-1, OCOUNT.6137@GOTOFF(%esi)
 2310        spec mode = -1
				movl	$-1, SPECMODE.6136@GOTOFF(%esi)
 2311        ->top
				jmp	.L1033
		.L1103:
 2312 c(38): decl = 64+4;                                   !recordformat (spec)
				movl	-4000(%ebp), %ebx
				movl	$68, DECL.6102@GOTOFF(%ebx)
 2313        order = 1
				movl	$1, ORDER.6140@GOTOFF(%ebx)
 2314        atom1 = x
				movl	X.6078@GOTOFF(%ebx), %eax
				movl	%eax, ATOM1.6079@GOTOFF(%ebx)
 2315        decl = decl!spec %if atom1 = 12;               !formatspec
				movl	ATOM1.6079@GOTOFF(%ebx), %eax
				cmpl	$12, %eax
				jne	.L1468
				movl	-4000(%ebp), %ecx
				movl	DECL.6102@GOTOFF(%ecx), %eax
				orb	$-128, %al
				movl	%eax, DECL.6102@GOTOFF(%ecx)
				jmp	.L1105
		.L1468:
				nop
		.L1105:
 2316        fdef = tmax+1;                                 !format tag
				movl	-4004(%ebp), %eax
				movl	52(%eax), %eax
				addl	$1, %eax
				movl	-4000(%ebp), %edi
				movl	%eax, FDEF.6119@GOTOFF(%edi)
 2317        %return
				jmp	.L1019
		.L1106:
 2318 c(175):id = id+1;  tag(x)_index = id;  %return;       !FSID
				movl	-4004(%ebp), %ebx
				movl	44(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 44(%ebx)
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				movl	44(%ebx), %eax
				movl	%eax, %ecx
				movl	64(%ebx), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$14, %eax
				movw	%cx, (%eax)
				jmp	.L1019
		.L1107:
 2319 c(41): decs = 1;  decl = x!spec!closed;  ->top;       !label
				movl	$1, -3948(%ebp)
				movl	-4000(%ebp), %edx
				movl	X.6078@GOTOFF(%edx), %eax
				orl	$16512, %eax
				movl	%eax, DECL.6102@GOTOFF(%edx)
				jmp	.L1033
		.L1108:
 2320 c(133):recid = 0;  rbase = tmin-1;                    !fname
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movl	$0, %edx
				movl	%edx, 204(%eax)
				movl	-4000(%ebp), %esi
				movl	TMIN.6127@GOTOFF(%esi), %eax
				subl	$1, %eax
				movl	%eax, RBASE.6123@GOTOFF(%esi)
 2321        this = x
				movl	X.6078@GOTOFF(%esi), %eax
				movl	%eax, THIS.6120@GOTOFF(%esi)
 2322        fm base = fdef;  format list = tmin
				movl	FDEF.6119@GOTOFF(%esi), %eax
				movl	%eax, FMBASE.6149@GOTOFF(%esi)
				movl	TMIN.6127@GOTOFF(%esi), %eax
				movl	%eax, FORMATLIST.6151@GOTOFF(%esi)
 2323        def(this);                      ->top
				movl	THIS.6120@GOTOFF(%esi), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7284
				addl	$16, %esp
				jmp	.L1033
		.L1109:
 2324 c(148):fdef = 0 %AND ->top %IF next = 0;              !reclb
				movl	-3848(%ebp), %eax
				testl	%eax, %eax
				jne	.L1469
				movl	-4000(%ebp), %eax
				movl	$0, FDEF.6119@GOTOFF(%eax)
				jmp	.L1033
		.L1469:
				nop
		.L1111:
 2325        get next;                                      !skip name
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7234
 2326        fdef = x
				movl	-4000(%ebp), %ebx
				movl	X.6078@GOTOFF(%ebx), %eax
				movl	%eax, FDEF.6119@GOTOFF(%ebx)
 2327        ->top
				jmp	.L1033
		.L1112:
 2328 c(127):bp=bp+1 %AND buff(bp)='}';  ->top;             !%POUT
				movl	-4000(%ebp), %ebx
				movl	BP.6171@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ebx)
				movl	BP.6171@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$125, 104710(%eax,%edx)
				jmp	.L1033
		.L1113:
 2329 c(126):bp=bp+1 %AND buff(bp)='{';  ->top;             !%PIN
				movl	-4000(%ebp), %edi
				movl	BP.6171@GOTOFF(%edi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%edi)
				movl	BP.6171@GOTOFF(%edi), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$123, 104710(%eax,%edx)
				jmp	.L1033
		.L1114:
 2330
 2331 c(174):set bp;                                        !rangerb
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	SETBP.7266
				jmp	.L1117
		.L1115:
				jmp	.L1117
		.L1116:
		.L1117:
 2332 c(171):                                               !fmlb
 2333 c(172):                                               !fmrb
 2334 c(173):bp=bp+1 %AND buff(bp)='~';  bp=bp+1 %AND buff(bp)=class-171+'A';  ->top;         !fmor
				movl	-4000(%ebp), %esi
				movl	BP.6171@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%esi)
				movl	BP.6171@GOTOFF(%esi), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %edi
				movl	64(%edi), %eax
				movb	$126, 104710(%eax,%edx)
				movl	BP.6171@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%esi)
				movl	-3856(%ebp), %eax
				movl	%eax, %ecx
				movl	BP.6171@GOTOFF(%esi), %eax
				leal	-1(%eax), %edx
				subl	$106, %ecx
				movl	64(%edi), %eax
				movb	%cl, 104710(%eax,%edx)
				jmp	.L1033
		.L1118:
 2335 c(168):rbase = -rbase;                                !orrb
				movl	-4000(%ebp), %ebx
				movl	RBASE.6123@GOTOFF(%ebx), %eax
				negl	%eax
				movl	%eax, RBASE.6123@GOTOFF(%ebx)
 2336        sstype = 0;  spec mode = 0
				movl	$0, SSTYPE.6135@GOTOFF(%ebx)
				movl	$0, SPECMODE.6136@GOTOFF(%ebx)
		.L1119:
 2337
 2338 c(147):search base = 0;                               !recrb
				movl	-4000(%ebp), %esi
				movl	$0, SEARCHBASE.6150@GOTOFF(%esi)
 2339        tag(this)_app = tmin
				movl	THIS.6120@GOTOFF(%esi), %ecx
				movl	TMIN.6127@GOTOFF(%esi), %eax
				movl	-4004(%ebp), %ebx
				movl	64(%ebx), %edx
				addl	$13, %ecx
				sall	$4, %ecx
				addl	%ecx, %edx
				addl	$4, %edx
				movl	%eax, (%edx)
 2340        tag(this)_format = rbase
				movl	THIS.6120@GOTOFF(%esi), %ecx
				movl	RBASE.6123@GOTOFF(%esi), %eax
				movl	64(%ebx), %edx
				addl	$13, %ecx
				sall	$4, %ecx
				addl	%ecx, %edx
				addl	$8, %edx
				movl	%eax, (%edx)
 2341        ->top
				jmp	.L1033
		.L1120:
 2342
 2343 c(45):bp=bp+1 %and buff(bp)='U' %IF x = 36;  ->top;   !sign
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				cmpl	$36, %eax
				jne	.L1470
				movl	-4000(%ebp), %ecx
				movl	BP.6171@GOTOFF(%ecx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ecx)
				movl	BP.6171@GOTOFF(%ecx), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$85, 104710(%eax,%edx)
				jmp	.L1033
		.L1470:
				nop
		.L1122:
				jmp	.L1033
		.L1123:
 2344 c(46):bp=bp+1;  buff(bp)='\';  ->top;                 !uop
				movl	-4000(%ebp), %esi
				movl	BP.6171@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%esi)
				movl	BP.6171@GOTOFF(%esi), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$92, 104710(%eax,%edx)
				jmp	.L1033
		.L1124:
				jmp	.L1128
		.L1125:
				jmp	.L1128
		.L1126:
				jmp	.L1128
		.L1127:
		.L1128:
 2345 c(47):                                                !mod
 2346 c(48):                                                !dot
 2347 c(42):                                                !op1
 2348 c(43):                                                !op2
 2349 c(44):bp=bp+1;  buff(bp)=operator(x);  ->top;         !op3
				movl	-4000(%ebp), %ecx
				movl	BP.6171@GOTOFF(%ecx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ecx)
				movl	X.6078@GOTOFF(%ecx), %eax
				subl	$1, %eax
				movl	BP.6171@GOTOFF(%ecx), %edx
				leal	-1(%edx), %ecx
				movzbl	-58(%ebp,%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	%dl, 104710(%eax,%ecx)
				jmp	.L1033
		.L1129:
		.L1130:
 2350
 2351 !conditions & jumps
 2352
 2353       %ROUTINE push(%INTEGER x)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
				movl	%ecx, %eax
				movl	%ecx, -8(%ebp)
 2354          %IF cnest(cp)&2 # x %START
				movl	8(%eax), %ecx
				movzbl	CNEST.7203@GOTOFF(%edx,%ecx), %ecx
				movzbl	%cl, %ebx
				cmpl	$2, 8(%ebp)
				sete	%cl
				movzbl	%cl, %ecx
				andl	%ebx, %ecx
				testl	%ecx, %ecx
				jne	.L1703
				nop
		.L1702:
 2355             cnest(cp) = cnest(cp)!1;  x = x+4
				movl	8(%eax), %ecx
				movzbl	CNEST.7203@GOTOFF(%edx,%ecx), %ecx
				movl	%ecx, %ebx
				orl	$1, %ebx
				movl	8(%eax), %ecx
				movb	%bl, CNEST.7203@GOTOFF(%edx,%ecx)
				addl	$4, 8(%ebp)
				jmp	.L1702
		.L1699:
		.L1703:
 2356          %FINISH
 2357          clab = clab+1 %IF cnest(cp)&1 # 0
				movl	4(%eax), %ecx
				addl	$1, %ecx
				movl	%ecx, 4(%eax)
		.L1700:
 2358          cnest(cp+1) = x;  cp = cp+1
				movl	8(%eax), %ecx
				addl	$1, %ecx
				movl	8(%ebp), %ebx
				movb	%bl, CNEST.7203@GOTOFF(%edx,%ecx)
				movl	8(%eax), %edx
				addl	$1, %edx
				movl	%edx, 8(%eax)
 2359       %END
				nop
				addl	$4, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE224:
		POPLABEL.7392:
		.LFB225:
 2360
 2361       %ROUTINE pop label(%INTEGER mode)
				pushl	%ebp
				movl	%esp, %ebp
				subl	$40, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %eax
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -12(%ebp)
				xorl	%ecx, %ecx
 2362          lmode = dict(dmin)
				movl	32(%eax), %edx
				movl	40(%edx), %edx
				leal	-1(%edx), %ecx
				movl	32(%eax), %edx
				movl	64(%edx), %edx
				addl	$13416, %ecx
				movzwl	4(%edx,%ecx,2), %edx
				movswl	%dx, %edx
				movl	%edx, (%eax)
 2363          %IF lmode < 0 %OR lmode&1 # mode %START
				movl	(%eax), %edx
				testl	%edx, %edx
				js	.L1712
				cmpl	$1, 8(%ebp)
				sete	%dl
				movzbl	%dl, %edx
				movl	(%eax), %ecx
				andl	%ecx, %edx
				testl	%edx, %edx
				jne	.L1713
				jmp	.L1706
		.L1712:
				nop
		.L1706:
				nop
		.L1707:
 2364             fault(mode+8)
				movl	8(%ebp), %edx
				addl	$8, %edx
				movl	32(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	FAULT.6330
				addl	$16, %esp
 2365          %FINISH %ELSE %START
				jmp	.L1708
		.L1713:
 2366             dmin = dmin+1;  label = label-3
				movl	32(%eax), %edx
				movl	40(%edx), %ecx
				movl	32(%eax), %edx
				addl	$1, %ecx
				movl	%ecx, 40(%edx)
				movl	32(%eax), %edx
				movl	8(%edx), %edx
				movl	32(%eax), %eax
				subl	$3, %edx
				movl	%edx, 8(%eax)
		.L1708:
 2367          %FINISH
 2368       %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1710
				call	__stack_chk_fail_local
		.L1710:
				leave
				ret
		.LFE225:
				.data
				.align 32
		CHAR.6153:
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.byte	10
				.align 32
		PHRASE.6175:
				.align 32
		GRAM.6181:
				.align 32
		GLINK.6183:
				.align 4
		LIST.6160:
				.long	1
				.comm	X.6078,4,4
				.comm	BP.6171,4,4
				.comm	STATS.6094,4,4
				.comm	FAULTY.6086,4,4
				.align 4
		GMAX.6174:
				.long	719
				.comm	DIAG.6162,4,4
				.comm	CONTROL.6161,4,4
				.comm	BLOCKX.6159,4,4
				.comm	LP.6158,4,4
				.comm	LIT.6157,4,4
				.comm	FORMATLIST.6151,4,4
				.comm	SEARCHBASE.6150,4,4
				.comm	FMBASE.6149,4,4
				.comm	LOCAL.6148,4,4
				.comm	DIMENSION.6147,4,4
				.comm	POS.6146,4,4
				.comm	POS2.6145,4,4
				.comm	POS1.6144,4,4
				.align 4
		DP.6143:
				.long	1
				.comm	DUBIOUS.6142,4,4
				.comm	FORWARN.6141,4,4
				.comm	ORDER.6140,4,4
				.comm	COPY.6139,4,4
				.comm	LIMIT.6138,4,4
				.align 4
		OCOUNT.6137:
				.long	-1
				.comm	SPECMODE.6136,4,4
				.comm	SSTYPE.6135,4,4
				.comm	PROGMODE.6134,4,4
				.align 4
		PERM.6133:
				.long	1
				.comm	INCLUDE.6132,4,4
				.comm	INCLUDELEVEL.6131,4,4
				.comm	INCLUDELIST.6130,4,4
				.comm	SS.6128,4,4
				.align 4
		TMIN.6127:
				.long	800
				.align 4
		DMAX.6126:
				.long	1
				.align 4
		GMIN.6125:
				.long	1720
				.comm	STBASE.6124,4,4
				.comm	RBASE.6123,4,4
				.comm	NMAX.6122,4,4
				.comm	NMIN.6121,4,4
				.align 4
		THIS.6120:
				.long	-1
				.comm	FDEF.6119,4,4
				.comm	MAPGG.6118,4,4
				.comm	GG.6117,4,4
				.comm	G.6116,4,4
				.comm	FORCE.6115,4,4
				.comm	PFORMAT.6114,4,4
				.comm	PAPP.6113,4,4
				.comm	PTYPE.6112,4,4
				.comm	GENTYPE.6111,4,4
				.comm	LAST1.6110,4,4
				.align 4
		REALSLN.6109:
				.long	1
				.comm	OTYPE.6108,4,4
				.comm	ATOMFLAGS.6107,4,4
				.comm	PROTECTION.6106,4,4
				.comm	ESCAPECLASS.6105,4,4
				.comm	SPECGIVEN.6104,4,4
				.comm	DIM.6103,4,4
				.comm	DECL.6102,4,4
				.align 4
		CSYM.6101:
				.long	32
				.align 4
		CONT.6100:
				.long	32
				.comm	ENDMARK.6099,4,4
				.comm	QUOTE.6098,4,4
				.comm	SYMTYPE.6097,4,4
				.align 4
		SYM.6096:
				.long	10
				.comm	MONPOS.6095,4,4
				.comm	COLUMN.6093,4,4
				.comm	ERRORSYM.6092,4,4
				.comm	ERRORMARGIN.6091,4,4
				.comm	MARGIN.6090,4,4
				.comm	TEXTLINE.6089,4,4
				.comm	LINES.6088,4,4
				.comm	FAULTRATE.6087,4,4
				.comm	FORMAT.6084,4,4
				.comm	APP.6083,4,4
				.comm	TYPE.6082,4,4
				.comm	SUBATOM.6081,4,4
				.comm	ATOM2.6080,4,4
				.comm	ATOM1.6079,4,4
				.comm	CLASS.6077,4,4
				.align 4
		SPARENAMES.6046:
				.long	2047
				.section	.rodata
				.align 32
		VERSION.6045:
				.byte	3
				.string	"8.4"
				.zero	251
				.section	.data.rel.local,"aw",@progbits
				.align 32
		REASON.6225:
				.long	.L83
				.long	.L83
				.long	.L83
				.long	.L83
				.long	.L83
				.long	.L83
				.long	.L83
				.long	.L83
				.long	.L83
				.long	.L83
				.section	.rodata
				.align 4
		__PRETTY_FUNCTION__.5621:
				.string	"_imp_SELECTINPUT"
				.align 4
		__PRETTY_FUNCTION__.5625:
				.string	"_imp_SELECTOUTPUT"
				.section	.data.rel.local
				.align 32
		ACT.6575:
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.long	.L467
				.align 32
		PACTION.6580:
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.long	.L479
				.comm	KEY.6568,4,4
				.comm	LA1.6594,4,4
				.comm	LA2.6595,4,4
				.comm	LSA.6596,4,4
				.comm	LT.6597,4,4
				.comm	LAST.6615,4,4
				.comm	CNEST.7203,16,4
				.comm	PSTACK.7226,160,32
				.comm	COUNT.7229,4,4
				.comm	NAME.7228,256,32
				.comm	UB.7211,4,4
				.comm	LB.7210,4,4
				.align 32
		C.7048:
				.long	.L1032
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1088
				.long	.L1076
				.long	.L1086
				.long	.L1087
				.long	.L1082
				.long	.L1083
				.long	.L1101
				.long	.L1079
				.long	.L1080
				.long	.L1095
				.long	.L1094
				.long	.L1103
				.long	.L1102
				.long	.L1397
				.long	.L1107
				.long	.L1126
				.long	.L1127
				.long	.L1128
				.long	.L1120
				.long	.L1123
				.long	.L1124
				.long	.L1125
				.long	.L1185
				.long	.L1183
				.long	.L1201
				.long	.L1203
				.long	.L1202
				.long	.L1397
				.long	.L1386
				.long	.L1129
				.long	.L1130
				.long	.L1131
				.long	.L1133
				.long	.L1134
				.long	.L1397
				.long	.L1139
				.long	.L1174
				.long	.L1159
				.long	.L1200
				.long	.L1397
				.long	.L1152
				.long	.L1146
				.long	.L1142
				.long	.L1144
				.long	.L1153
				.long	.L1140
				.long	.L1397
				.long	.L1204
				.long	.L1215
				.long	.L1211
				.long	.L1210
				.long	.L1194
				.long	.L1195
				.long	.L1196
				.long	.L1199
				.long	.L1197
				.long	.L1222
				.long	.L1223
				.long	.L1216
				.long	.L1224
				.long	.L1389
				.long	.L1075
				.long	.L1198
				.long	.L1256
				.long	.L1274
				.long	.L1275
				.long	.L1286
				.long	.L1397
				.long	.L1397
				.long	.L1268
				.long	.L1265
				.long	.L1266
				.long	.L1267
				.long	.L1270
				.long	.L1271
				.long	.L1272
				.long	.L1273
				.long	.L1172
				.long	.L1318
				.long	.L1276
				.long	.L1277
				.long	.L1278
				.long	.L1279
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1151
				.long	.L1283
				.long	.L1388
				.long	.L1397
				.long	.L1263
				.long	.L1253
				.long	.L1113
				.long	.L1112
				.long	.L1248
				.long	.L1397
				.long	.L1249
				.long	.L1257
				.long	.L1296
				.long	.L1108
				.long	.L1319
				.long	.L1384
				.long	.L1385
				.long	.L1294
				.long	.L1132
				.long	.L1308
				.long	.L1343
				.long	.L1295
				.long	.L1239
				.long	.L1304
				.long	.L1344
				.long	.L1237
				.long	.L1238
				.long	.L1119
				.long	.L1109
				.long	.L1173
				.long	.L1397
				.long	.L1325
				.long	.L1081
				.long	.L1309
				.long	.L1234
				.long	.L1345
				.long	.L1349
				.long	.L1352
				.long	.L1353
				.long	.L1354
				.long	.L1355
				.long	.L1356
				.long	.L1302
				.long	.L1143
				.long	.L1387
				.long	.L1269
				.long	.L1138
				.long	.L1284
				.long	.L1118
				.long	.L1397
				.long	.L1380
				.long	.L1115
				.long	.L1116
				.long	.L1117
				.long	.L1114
				.long	.L1106
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.long	.L1397
				.align 32
		LITOP.7182:
				.long	.L1368
				.long	.L1369
				.long	.L1361
				.long	.L1372
				.long	.L1370
				.long	.L1378
				.long	.L1379
				.long	.L1376
				.long	.L1377
				.long	.L1358
				.long	.L1371
				.long	.L1360
				.comm	LASTDEF.7209,4,4
				.align 32
		FM.6335:
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.long	.L172
				.section	.text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
				.globl	__x86.get_pc_thunk.ax
				.hidden	__x86.get_pc_thunk.ax
		__x86.get_pc_thunk.ax:
		.LFB226:
				movl	(%esp), %eax
				ret
		.LFE226:
				.section	.text.__x86.get_pc_thunk.dx,"axG",@progbits,__x86.get_pc_thunk.dx,comdat
				.globl	__x86.get_pc_thunk.dx
				.hidden	__x86.get_pc_thunk.dx
		__x86.get_pc_thunk.dx:
		.LFB227:
				movl	(%esp), %edx
				ret
		.LFE227:
				.section	.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
				.globl	__x86.get_pc_thunk.bx
				.hidden	__x86.get_pc_thunk.bx
		__x86.get_pc_thunk.bx:
		.LFB228:
				movl	(%esp), %ebx
				ret
		.LFE228:
				.section	.text.__x86.get_pc_thunk.si,"axG",@progbits,__x86.get_pc_thunk.si,comdat
				.globl	__x86.get_pc_thunk.si
				.hidden	__x86.get_pc_thunk.si
		__x86.get_pc_thunk.si:
		.LFB229:
				movl	(%esp), %esi
				ret
		.LFE229:
		.Letext0:
 2369
 2370 c(56):                                         !and
 2371 c(57):push(x);  ->top;                         !or
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	PUSH.7387
				addl	$16, %esp
				jmp	.L1033
		.L1131:
 2372 c(58):cnest(cp) = cnest(cp)!!2;  ->top;        !not
				movl	-3868(%ebp), %eax
				movl	-4000(%ebp), %edi
				movzbl	CNEST.7203@GOTOFF(%edi,%eax), %eax
				xorl	$2, %eax
				movl	%eax, %edx
				movl	-3868(%ebp), %eax
				movb	%dl, CNEST.7203@GOTOFF(%edi,%eax)
				jmp	.L1033
		.L1132:
 2373
 2374 c(138):x = 128+32+16+4;                        !csep: treat like %WHILE
				movl	-4000(%ebp), %eax
				movl	$180, X.6078@GOTOFF(%eax)
				jmp	.L1134
		.L1133:
		.L1134:
 2375 c(59):                                         !while
 2376 c(60):%IF class = 138 %THEN op('f', label-1) %C
				movl	-3856(%ebp), %eax
				cmpl	$138, %eax
				jne	.L1471
				movl	-4004(%ebp), %esi
				movl	8(%esi), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$102
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				jmp	.L1139
		.L1471:
				nop
		.L1136:
				movl	-4004(%ebp), %eax
				movl	8(%eax), %eax
				leal	-1(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7231
				addl	$16, %esp
				jmp	.L1139
		.L1137:
		.L1138:
		.L1139:
 2377                       %ELSE def lab(label-1);  !until
 2378 c(166):                                        !runtil
 2379 c(62):lmode = (lmode&(else!loop)) !(x>>3);     !cword
				movl	-3876(%ebp), %eax
				andl	$24, %eax
				movl	%eax, %edx
				movl	-4000(%ebp), %ebx
				movl	X.6078@GOTOFF(%ebx), %eax
				shrl	$3, %eax
				orl	%edx, %eax
				movl	%eax, -3876(%ebp)
 2380       clab = label;  cp = 1;  cnest(1) = x&7
				movl	-4004(%ebp), %eax
				movl	8(%eax), %eax
				movl	%eax, -3872(%ebp)
				movl	$1, %eax
				movl	%eax, -3868(%ebp)
				movl	X.6078@GOTOFF(%ebx), %eax
				andl	$7, %eax
				movb	%al, 1+CNEST.7203@GOTOFF(%ebx)
 2381       ->top
				jmp	.L1033
		.L1140:
 2382 c(72):pop label(0);                            !repeat
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	POPLABEL.7392
				addl	$16, %esp
 2383       def lab(label+1) %IF lmode&32 # 0;  ->atop
				movl	-4004(%ebp), %eax
				movl	8(%eax), %eax
				leal	1(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7231
				addl	$16, %esp
		.L1141:
				jmp	.L1074
		.L1142:
 2384 c(69):pop label(1);               ->top;       !finish
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	$1
				movl	%eax, %ecx
				call	POPLABEL.7392
				addl	$16, %esp
				jmp	.L1033
		.L1143:
		.L1144:
 2385 c(163):                                        !xelse
 2386 c(70):pop label(1);                            !finish else ...
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	$1
				movl	%eax, %ecx
				call	POPLABEL.7392
				addl	$16, %esp
 2387       fault(7) %IF lmode&3 = 3;                !dangling else
				subl	$12, %esp
				pushl	$7
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
		.L1145:
		.L1146:
 2388 c(68):lmode = (lmode&else)!3;                  !...else...
				movl	-3876(%ebp), %eax
				andl	$8, %eax
				orl	$3, %eax
				movl	%eax, -3876(%ebp)
 2389       %IF access # 0 %START
				movl	-4004(%ebp), %eax
				movl	24(%eax), %eax
				testl	%eax, %eax
				je	.L1472
				nop
		.L1148:
 2390          op('F', label-1);  lmode = else!3
				movl	-4004(%ebp), %edi
				movl	8(%edi), %eax
				leal	-1(%eax), %edx
				movl	64(%edi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$70
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				movl	$11, %eax
				movl	%eax, -3876(%ebp)
				jmp	.L1148
		.L1472:
 2391       %FINISH
 2392       def lab(label)
				movl	-4004(%ebp), %eax
				movl	8(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7231
				addl	$16, %esp
 2393       ->top %IF next # 0
				nop
				jmp	.L1033
		.L1507:
				movl	-3848(%ebp), %eax
				testl	%eax, %eax
				jne	.L1473
				jmp	.L1154
		.L1150:
		.L1151:
				jmp	.L1154
		.L1152:
				jmp	.L1154
		.L1153:
		.L1154:
 2394
 2395 c(120):                                        !%MSTART
 2396 c(67):                                         !start
 2397 c(71):                                         !cycle
 2398 stcy: def lab(label-1) %AND lmode = loop %IF lmode = 0;!cycle
				movl	-3876(%ebp), %eax
				testl	%eax, %eax
				jne	.L1474
				movl	-4004(%ebp), %eax
				movl	8(%eax), %eax
				leal	-1(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7231
				addl	$16, %esp
				movl	$16, %eax
				movl	%eax, -3876(%ebp)
				jmp	.L1156
		.L1474:
				nop
		.L1156:
 2399       dmin = dmin-1;  abandon(3) %IF dmin <= dmax
				movl	-4004(%ebp), %edi
				movl	40(%edi), %eax
				subl	$1, %eax
				movl	%eax, 40(%edi)
				movl	-4000(%ebp), %eax
				movl	DMAX.6126@GOTOFF(%eax), %eax
				movl	40(%edi), %edx
				cmpl	%eax, %edx
				jg	.L1475
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$3
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L1158
		.L1475:
				nop
		.L1158:
 2400       dict(dmin) = lmode
				movl	-4004(%ebp), %ebx
				movl	40(%ebx), %eax
				leal	-1(%eax), %edx
				movl	-3876(%ebp), %eax
				movl	%eax, %ecx
				movl	64(%ebx), %eax
				addl	$13416, %edx
				movw	%cx, 4(%eax,%edx,2)
 2401       label = label+3
				movl	8(%ebx), %eax
				addl	$3, %eax
				movl	%eax, 8(%ebx)
 2402       %RETURN
				jmp	.L1019
		.L1159:
 2403
 2404 c(64):fault(13) %IF dict(dmin) >= 0 %OR inhibit # 0;  !on event
				movl	-4004(%ebp), %ebx
				movl	40(%ebx), %eax
				leal	-1(%eax), %edx
				movl	64(%ebx), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				testw	%ax, %ax
				jns	.L1476
				movl	-4004(%ebp), %eax
				movl	4(%eax), %eax
				testl	%eax, %eax
				je	.L1477
				jmp	.L1161
		.L1476:
				nop
		.L1161:
				subl	$12, %esp
				pushl	$13
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1162
		.L1477:
				nop
		.L1162:
 2405       inhibit = 1
				movl	$1, %eax
				movl	-4004(%ebp), %edi
				movl	%eax, 4(%edi)
 2406       n = 0
				movl	$0, -3984(%ebp)
 2407       n = x'FFFF' %IF pending = 0;             !* = all events
				movl	-3860(%ebp), %eax
				testl	%eax, %eax
				jne	.L1478
				movl	$65535, -3984(%ebp)
				jmp	.L1171
		.L1164:
		.L1478:
				nop
		.L1165:
		.L1171:
 2408       %WHILE pending > 0 %CYCLE
				movl	-3860(%ebp), %eax
				testl	%eax, %eax
				jle	.L1479
				nop
		.L1167:
 2409          pop lit;  fault(10) %IF lit&(\15) # 0;!too big
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7331
				subl	$12, %esp
				pushl	$10
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
		.L1168:
 2410          j = 1<<lit
				movl	-4000(%ebp), %eax
				movl	LIT.6157@GOTOFF(%eax), %eax
				movl	$1, %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				movl	%eax, -3956(%ebp)
 2411          dubious = 1 %IF n&j # 0
				cmpl	$0, -3956(%ebp)
				sete	%al
				movzbl	%al, %eax
				andl	-3984(%ebp), %eax
				testl	%eax, %eax
				jne	.L1480
				movl	-4000(%ebp), %eax
				movl	$1, DUBIOUS.6142@GOTOFF(%eax)
				jmp	.L1170
		.L1480:
				nop
		.L1170:
 2412          n = n!j;                              !construct bit mask
				movl	-3956(%ebp), %eax
				orl	%eax, -3984(%ebp)
 2413       %REPEAT
				jmp	.L1171
		.L1479:
 2414       op('o', n);  op(',', label)
				movl	-4004(%ebp), %esi
				movl	%esi, %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-3984(%ebp)
				pushl	$111
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				movl	%esi, %eax
				movl	8(%eax), %edx
				movl	%esi, %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$44
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2415       lmode = then!1;  ->stcy
				movl	$5, %eax
				movl	%eax, -3876(%ebp)
				jmp	.L1154
		.L1172:
 2416
 2417
 2418 c(104):op('J', tag(x)_index);                   !l
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				movl	-4004(%ebp), %ebx
				movl	64(%ebx), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$14, %eax
				movzwl	(%eax), %eax
				movswl	%ax, %edx
				movl	64(%ebx), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$74
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2419        inhibit = 1;            ->atop
				movl	$1, %eax
				movl	%eax, 4(%ebx)
				jmp	.L1074
		.L1173:
 2420 c(149):stats = stats-1;                         !lab
				movl	-4000(%ebp), %edi
				movl	STATS.6094@GOTOFF(%edi), %eax
				subl	$1, %eax
				movl	%eax, STATS.6094@GOTOFF(%edi)
 2421        access = 1;  inhibit = 1
				movl	$1, %eax
				movl	-4004(%ebp), %ebx
				movl	%eax, 24(%ebx)
				movl	$1, %eax
				movl	%eax, 4(%ebx)
 2422        op('L', tag(x)_index);  ->top
				movl	X.6078@GOTOFF(%edi), %edx
				movl	64(%ebx), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$14, %eax
				movzwl	(%eax), %eax
				movswl	%ax, %edx
				movl	64(%ebx), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$76
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				jmp	.L1033
		.L1174:
 2423
 2424 c(63):j = dmin;  l = label-3;                   !exit, continue
				movl	-4004(%ebp), %esi
				movl	40(%esi), %eax
				movl	%eax, -3956(%ebp)
				movl	8(%esi), %eax
				subl	$3, %eax
				movl	%eax, (%esi)
		.L1175:
 2425       %CYCLE
 2426          fault(7) %AND ->top %IF dict(j) < 0
				movl	-3956(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				testw	%ax, %ax
				jns	.L1481
				subl	$12, %esp
				pushl	$7
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1033
		.L1481:
				nop
		.L1177:
 2427          %EXIT %IF dict(j)&1 = 0
				movl	-3956(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				andl	$1, %eax
				testl	%eax, %eax
				je	.L1482
				nop
		.L1179:
				nop
		.L1180:
 2428          j = j+1;  l = l-3
				addl	$1, -3956(%ebp)
				movl	-4004(%ebp), %esi
				movl	(%esi), %eax
				subl	$3, %eax
				movl	%eax, (%esi)
 2429       %REPEAT
				jmp	.L1175
		.L1482:
 2430       l = l+1 %IF x = 32;                       !continue
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				cmpl	$32, %eax
				jne	.L1483
				movl	-4004(%ebp), %edi
				movl	(%edi), %eax
				addl	$1, %eax
				movl	%eax, (%edi)
				jmp	.L1182
		.L1483:
				nop
		.L1182:
 2431       op('F', l)
				movl	-4004(%ebp), %edi
				movl	(%edi), %edx
				movl	64(%edi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$70
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2432       dict(j) = dict(j)!x;                      !show given
				movl	-3956(%ebp), %eax
				leal	-1(%eax), %edx
				movl	64(%edi), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				movl	-4000(%ebp), %edx
				movl	X.6078@GOTOFF(%edx), %edx
				movl	%edx, %ecx
				movl	-3956(%ebp), %edx
				subl	$1, %edx
				orl	%eax, %ecx
				movl	64(%edi), %eax
				addl	$13416, %edx
				movw	%cx, 4(%eax,%edx,2)
 2433       ->atop
				jmp	.L1074
		.L1183:
 2434
 2435 c(50):bp=bp+1 %AND buff(bp)='C';  ->cop;        !acomp
				movl	-4000(%ebp), %ecx
				movl	BP.6171@GOTOFF(%ecx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ecx)
				movl	BP.6171@GOTOFF(%ecx), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$67, 104710(%eax,%edx)
				jmp	.L1414
		.L1185:
 2436
 2437 c(49): bp = bp+1
				movl	-4000(%ebp), %ecx
				movl	BP.6171@GOTOFF(%ecx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ecx)
 2438        %IF next # 0 %START;                     !comparator
				movl	-3848(%ebp), %eax
				testl	%eax, %eax
				je	.L1484
				nop
		.L1187:
 2439           buff(bp)='"';  push(0);               !double sided
				movl	-4000(%ebp), %eax
				movl	BP.6171@GOTOFF(%eax), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$34, 104710(%eax,%edx)
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	PUSH.7387
				addl	$16, %esp
 2440        %FINISH %ELSE %START
				jmp	.L1414
		.L1484:
 2441           buff(bp)='?'
				movl	-4000(%ebp), %eax
				movl	BP.6171@GOTOFF(%eax), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$63, 104710(%eax,%edx)
		.L1184:
		.L1188:
		.L1414:
 2442        %FINISH
 2443
 2444 cop:   x = x!!1 %IF cnest(cp)&2 # 0;            !invert the condition
				movl	-4000(%ebp), %edx
				movl	X.6078@GOTOFF(%edx), %eax
				xorl	$1, %eax
				movl	%eax, X.6078@GOTOFF(%edx)
		.L1189:
 2445        j = cp;  l = clab
				movl	-3868(%ebp), %eax
				movl	%eax, -3956(%ebp)
				movl	-3872(%ebp), %eax
				movl	-4004(%ebp), %edi
				movl	%eax, (%edi)
		.L1190:
 2446        %WHILE cnest(j)&4 = 0 %CYCLE
				movl	-4000(%ebp), %eax
				leal	CNEST.7203@GOTOFF(%eax), %edx
				movl	-3956(%ebp), %eax
				addl	%edx, %eax
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1485
				nop
		.L1192:
 2447           j = j-1;  l = l-cnest(j)&1
				subl	$1, -3956(%ebp)
				movl	-4000(%ebp), %eax
				leal	CNEST.7203@GOTOFF(%eax), %edx
				movl	-3956(%ebp), %eax
				addl	%edx, %eax
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				andl	$1, %eax
				movl	%eax, %edx
				movl	-4004(%ebp), %ebx
				movl	(%ebx), %eax
				subl	%edx, %eax
				movl	%eax, (%ebx)
 2448        %REPEAT
				jmp	.L1190
		.L1485:
 2449        op(cc(x), l)
				movl	-4000(%ebp), %esi
				movl	X.6078@GOTOFF(%esi), %eax
				movzbl	-66(%ebp,%eax), %eax
				movzbl	%al, %edx
				movl	-4004(%ebp), %eax
				movl	(%eax), %ecx
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2450        def lab(clab+1) %IF cnest(cp)&1 # 0
				movl	-3872(%ebp), %eax
				leal	1(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFLAB.7231
				addl	$16, %esp
		.L1193:
 2451        cp = cp-1
				movl	-3868(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -3868(%ebp)
 2452        clab = clab-cnest(cp)&1
				movl	-3868(%ebp), %eax
				movzbl	CNEST.7203@GOTOFF(%esi,%eax), %eax
				movzbl	%al, %eax
				andl	$1, %eax
				movl	%eax, %edx
				movl	-3872(%ebp), %eax
				subl	%edx, %eax
				movl	%eax, -3872(%ebp)
 2453        ->top
				jmp	.L1033
		.L1194:
				jmp	.L1196
		.L1195:
		.L1196:
 2454
 2455 c(78):                                              !fresult
 2456 c(79):                                              !mresult
 2457 c(80):   open = 0;                                  !return, true, false
				movl	$0, %eax
				movl	-4004(%ebp), %ebx
				movl	%eax, 20(%ebx)
		.L1197:
 2458 c(82):   access = 0;                                !stop
				movl	$0, %eax
				movl	-4004(%ebp), %esi
				movl	%eax, 24(%esi)
				jmp	.L1199
		.L1198:
		.L1199:
 2459 c(89):                                              !addop
 2460 c(81):   bp=bp+1 %AND buff(bp)=x;  ->top;           !monitor
				movl	-4000(%ebp), %edi
				movl	BP.6171@GOTOFF(%edi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%edi)
				movl	X.6078@GOTOFF(%edi), %eax
				movl	BP.6171@GOTOFF(%edi), %edx
				subl	$1, %edx
				movl	%eax, %ecx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	%cl, 104710(%eax,%edx)
				jmp	.L1033
		.L1200:
 2461
 2462 c(65):   pop lit;  op('e', lit);  ->atop;           !signal
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7331
				movl	-4000(%ebp), %eax
				movl	LIT.6157@GOTOFF(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$101
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				jmp	.L1074
		.L1201:
 2463
 2464 c(51):   bp=bp+1 %AND buff(bp)='S';  ->top;         !eq
				movl	-4000(%ebp), %esi
				movl	BP.6171@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%esi)
				movl	BP.6171@GOTOFF(%esi), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$83, 104710(%eax,%edx)
				jmp	.L1033
		.L1202:
 2465 c(53):   bp=bp+1 %AND buff(bp)='j';  ->top;         !jam transfer
				movl	-4000(%ebp), %ebx
				movl	BP.6171@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ebx)
				movl	BP.6171@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$106, 104710(%eax,%edx)
				jmp	.L1033
		.L1203:
 2466 c(52):   bp=bp+1 %AND buff(bp)='Z';  ->top;         !eqeq
				movl	-4000(%ebp), %edi
				movl	BP.6171@GOTOFF(%edi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%edi)
				movl	BP.6171@GOTOFF(%edi), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$90, 104710(%eax,%edx)
				jmp	.L1033
		.L1204:
 2467
 2468 c(74):%IF level = 0 %START;                         !begin
				movl	-4004(%ebp), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				jne	.L1486
				nop
		.L1209:
 2469          %IF progmode <= 0 %THEN progmode = 1 %ELSE fault(7)
				movl	-4000(%ebp), %eax
				movl	PROGMODE.6134@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jg	.L1487
				movl	-4000(%ebp), %eax
				movl	$1, PROGMODE.6134@GOTOFF(%eax)
				jmp	.L1209
		.L1487:
				nop
		.L1208:
				subl	$12, %esp
				pushl	$7
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1209
		.L1206:
		.L1486:
 2470          {Permit BEGIN after external defs}
 2471       %FINISH
 2472       spec mode = level+1
				movl	-4004(%ebp), %esi
				movl	48(%esi), %eax
				addl	$1, %eax
				movl	-4000(%ebp), %ecx
				movl	%eax, SPECMODE.6136@GOTOFF(%ecx)
 2473       block x = 0
				movl	$0, BLOCKX.6159@GOTOFF(%ecx)
 2474       bp=bp+1 %AND buff(bp)='H';  %RETURN
				movl	BP.6171@GOTOFF(%ecx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ecx)
				movl	BP.6171@GOTOFF(%ecx), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				movb	$72, 104710(%eax,%edx)
				jmp	.L1019
		.L1210:
 2475 c(77):perm = 0;  lines = 0;  stats = 0;             !endofperm
				movl	-4000(%ebp), %edi
				movl	$0, PERM.6133@GOTOFF(%edi)
				movl	$0, LINES.6088@GOTOFF(%edi)
				movl	$0, STATS.6094@GOTOFF(%edi)
 2476       close input
				movl	%edi, %ebx
				call	CLOSEINPUT@PLT
 2477       select input(source)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTINPUT
				addl	$16, %esp
 2478       list = list-1
				movl	LIST.6160@GOTOFF(%edi), %eax
				subl	$1, %eax
				movl	%eax, LIST.6160@GOTOFF(%edi)
 2479       tbase = tmax;  tstart = tmax
				movl	-4004(%ebp), %esi
				movl	52(%esi), %eax
				movl	%eax, 56(%esi)
				movl	52(%esi), %eax
				movl	%eax, 60(%esi)
 2480       %RETURN
				jmp	.L1019
		.L1211:
 2481 c(76):%IF include # 0 %AND x = 0 %START;            !end of ...
				movl	-4000(%ebp), %eax
				movl	INCLUDE.6132@GOTOFF(%eax), %eax
				testl	%eax, %eax
				je	.L1488
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1489
				nop
				jmp	.L1213
		.L1489:
				nop
		.L1213:
 2482          lines = include;  sstype =  0;             !include
				movl	-4000(%ebp), %edi
				movl	%edi, %ebx
				movl	INCLUDE.6132@GOTOFF(%ebx), %eax
				movl	%edi, %ebx
				movl	%eax, LINES.6088@GOTOFF(%ebx)
				movl	%edi, %ebx
				movl	$0, SSTYPE.6135@GOTOFF(%ebx)
 2483          close input
				movl	%edi, %ebx
				call	CLOSEINPUT@PLT
 2484          list = include list
				movl	%edi, %ebx
				movl	INCLUDELIST.6130@GOTOFF(%ebx), %eax
				movl	%edi, %ebx
				movl	%eax, LIST.6160@GOTOFF(%ebx)
 2485          include level = 0
				movl	$0, INCLUDELEVEL.6131@GOTOFF(%ebx)
 2486          include = 0;  select input(source);  %RETURN
				movl	$0, INCLUDE.6132@GOTOFF(%ebx)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTINPUT
				addl	$16, %esp
				jmp	.L1019
		.L1488:
 2487       %FINISH
 2488       ss = -1;                                      !prog/file
				movl	-4000(%ebp), %eax
				movl	$-1, SS.6128@GOTOFF(%eax)
		.L1215:
 2489 c(75):compile end(x);  %RETURN;                     !%END
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	COMPILEEND.7271
				addl	$16, %esp
				jmp	.L1019
		.L1216:
 2490
 2491 c(85):%IF x=0 %THEN control=lit %ELSE %START;       !control
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1490
				movl	-4000(%ebp), %edi
				movl	LIT.6157@GOTOFF(%edi), %eax
				movl	%eax, CONTROL.6161@GOTOFF(%edi)
				jmp	.L1221
		.L1490:
				nop
		.L1218:
 2492          diag = lit&x'3FFF' %IF lit>>14&3 = 1
				movl	-4000(%ebp), %eax
				movl	LIT.6157@GOTOFF(%eax), %eax
				andl	$16384, %eax
				testl	%eax, %eax
				jne	.L1491
				movl	-4000(%ebp), %esi
				movl	LIT.6157@GOTOFF(%esi), %eax
				andl	$16383, %eax
				movl	%eax, DIAG.6162@GOTOFF(%esi)
				jmp	.L1221
		.L1219:
		.L1491:
				nop
		.L1221:
 2493       %FINISH
 2494       op('z'-x, lit)
				movl	-4000(%ebp), %eax
				movl	LIT.6157@GOTOFF(%eax), %edx
				movl	X.6078@GOTOFF(%eax), %eax
				movl	$122, %ecx
				subl	%eax, %ecx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%ecx
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2495       ->top
				jmp	.L1033
		.L1222:
 2496 c(83):list = list+x-2;   ->top;                     !%LIST/%ENDOFLIST
				movl	-4000(%ebp), %ecx
				movl	LIST.6160@GOTOFF(%ecx), %edx
				movl	X.6078@GOTOFF(%ecx), %eax
				addl	%edx, %eax
				subl	$2, %eax
				movl	%eax, LIST.6160@GOTOFF(%ecx)
				jmp	.L1033
		.L1223:
 2497 c(84):reals ln = x;      ->top;                     !%REALS long/normal
				movl	-4000(%ebp), %ecx
				movl	X.6078@GOTOFF(%ecx), %eax
				movl	%eax, REALSLN.6109@GOTOFF(%ecx)
				jmp	.L1033
		.L1224:
 2498 c(86):%IF include # 0 %START;                       !include "file"
				movl	-4000(%ebp), %eax
				movl	INCLUDE.6132@GOTOFF(%eax), %eax
				testl	%eax, %eax
				je	.L1492
				nop
		.L1226:
 2499          fault(7);  %RETURN
				subl	$12, %esp
				pushl	$7
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1019
		.L1492:
 2500       %FINISH
 2501       get next;                                     !sconst
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7234
		.LBB601:
 2502       include file = string(x-x'4000'+stbase)
				movl	-4000(%ebp), %ebx
				movl	X.6078@GOTOFF(%ebx), %eax
				leal	-16384(%eax), %edx
				movl	STBASE.6124@GOTOFF(%ebx), %eax
				addl	%edx, %eax
				movl	%eax, -3892(%ebp)
		.LBB602:
		.LBB603:
				movl	-3892(%ebp), %edx
		.LBE603:
		.LBE602:
				leal	-2116(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-2116(%ebp), %eax
		.LBE601:
				movl	-4004(%ebp), %edi
				movl	64(%edi), %edx
				addl	$104454, %edx
				subl	$4, %esp
				pushl	$63
				pushl	%eax
				pushl	%edx
				movl	%ebx, %edi
				movl	%edi, %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
 2503       %begin
 2504          %on 9 %start;  Abandon(9);  %finish
				subl	$8, %esp
				pushl	$1
				movl	%edi, %ebx
				movl	_imp_event@GOT(%ebx), %eax
				leal	532(%eax), %eax
				pushl	%eax
				movl	%edi, %ebx
				call	__sigsetjmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L1229
		.LBB604:
				movl	$9, -2116(%ebp)
				movl	$0, -3944(%ebp)
		.LBB605:
				movl	$0, -3940(%ebp)
				jmp	.L1230
		.L1231:
				movl	-3940(%ebp), %eax
				movl	-2116(%ebp,%eax,4), %eax
				movl	$1, %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				orl	%eax, -3944(%ebp)
				addl	$1, -3940(%ebp)
		.L1230:
				cmpl	$0, -3940(%ebp)
				je	.L1231
		.LBE605:
				movl	-3944(%ebp), %eax
		.LBE604:
				subl	$8, %esp
				pushl	%eax
				movl	-4000(%ebp), %ebx
				movl	_imp_event@GOT(%ebx), %eax
				pushl	%eax
				call	_imp_on_event_enter@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L1493
		.L1229:
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$9
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L1232
		.L1493:
				nop
		.L1232:
		.LBB606:
 2505          open input(3, include file)
				movl	-4004(%ebp), %eax
				movl	64(%eax), %edx
				leal	-2116(%ebp), %eax
				addl	$104454, %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2116(%ebp), %eax
		.LBE606:
				subl	$12, %esp
				subl	$256, %esp
				movl	%esp, %edx
				movl	%eax, %esi
				movl	$64, %eax
				movl	%edx, %edi
				movl	%eax, %ecx
				rep movsl
				pushl	$3
				movl	-4000(%ebp), %edi
				movl	%edi, %ebx
				call	OPENINPUT@PLT
				addl	$272, %esp
 2506       %end
				nop
		.L1233:
 2507       include = lines;  lines = 0
				movl	LINES.6088@GOTOFF(%edi), %eax
				movl	%eax, INCLUDE.6132@GOTOFF(%edi)
				movl	$0, LINES.6088@GOTOFF(%edi)
 2508       include list = list;  include level = level
				movl	LIST.6160@GOTOFF(%edi), %eax
				movl	%eax, INCLUDELIST.6130@GOTOFF(%edi)
				movl	-4004(%ebp), %eax
				movl	48(%eax), %eax
				movl	%eax, INCLUDELEVEL.6131@GOTOFF(%edi)
 2509       select input(3)
				subl	$12, %esp
				pushl	$3
				call	_imp_SELECTINPUT
				addl	$16, %esp
 2510       ->top
				jmp	.L1033
		.L1234:
 2511
 2512 c(154):dimension = dimension+1;                     !dbsep
				movl	-4000(%ebp), %esi
				movl	DIMENSION.6147@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, DIMENSION.6147@GOTOFF(%esi)
 2513        fault(11) %IF dimension = dim limit+1
				movl	DIMENSION.6147@GOTOFF(%esi), %eax
				cmpl	$7, %eax
				jne	.L1494
				subl	$12, %esp
				pushl	$11
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				nop
		.L1236:
 2514        ->top
				jmp	.L1033
		.L1494:
				jmp	.L1033
		.L1237:
 2515 c(145):set bp;                       ->top;         !crb
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	SETBP.7266
				jmp	.L1033
		.L1238:
 2516 c(146):set bp;                                      !rcrb
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	SETBP.7266
		.L1239:
 2517 c(142):                                             !bplrb
 2518        dimension = 1 %IF dimension = 0
				movl	-4000(%ebp), %eax
				movl	DIMENSION.6147@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1495
				movl	-4000(%ebp), %eax
				movl	$1, DIMENSION.6147@GOTOFF(%eax)
				jmp	.L1241
		.L1495:
				nop
		.L1241:
 2519        op('d', dimension);  op(',', defs)
				movl	-4000(%ebp), %eax
				movl	DIMENSION.6147@GOTOFF(%eax), %edx
				movl	-4004(%ebp), %edi
				movl	64(%edi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$100
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				movl	-3864(%ebp), %edx
				movl	64(%edi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$44
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2520        %IF class # 146 %START
				movl	-3856(%ebp), %eax
				cmpl	$146, %eax
				je	.L1496
				nop
				jmp	.L1247
		.L1499:
 2521           set subs(defs)
				movl	-3864(%ebp), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	SETSUBS.7259
				addl	$16, %esp
 2522           fault(13) %IF dict(dmin) >= 0 %OR inhibit # 0 %OR level=0
				movl	-4004(%ebp), %ebx
				movl	40(%ebx), %eax
				leal	-1(%eax), %edx
				movl	64(%ebx), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				testw	%ax, %ax
				jns	.L1497
				movl	-4004(%ebp), %eax
				movl	4(%eax), %eax
				testl	%eax, %eax
				jne	.L1498
				movl	-4004(%ebp), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				jne	.L1499
				jmp	.L1245
		.L1497:
				nop
				jmp	.L1245
		.L1498:
				nop
		.L1245:
				subl	$12, %esp
				pushl	$13
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1247
		.L1243:
		.L1496:
				nop
		.L1247:
 2523        %FINISH
 2524        dimension = 0;  defs = 0
				movl	-4000(%ebp), %eax
				movl	$0, DIMENSION.6147@GOTOFF(%eax)
				movl	$0, %eax
				movl	%eax, -3864(%ebp)
 2525        ->top
				jmp	.L1033
		.L1248:
 2526 c(128):id = dupid;  ->top;                          !EDUP
				movl	-3968(%ebp), %eax
				movl	-4004(%ebp), %ebx
				movl	%eax, 44(%ebx)
				jmp	.L1033
		.L1249:
 2527 c(130):block x = x
				movl	-4000(%ebp), %ebx
				movl	X.6078@GOTOFF(%ebx), %eax
				movl	%eax, BLOCKX.6159@GOTOFF(%ebx)
 2528        op('F', 0) %IF decl&spec = 0 %AND level # 0; !jump round proc
				movl	DECL.6102@GOTOFF(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1500
				movl	-4004(%ebp), %eax
				movl	48(%eax), %eax
				testl	%eax, %eax
				je	.L1501
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	$0
				pushl	$70
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				jmp	.L1253
		.L1251:
		.L1500:
				nop
				jmp	.L1253
		.L1501:
				nop
		.L1253:
 2529 c(125):dupid = id;                                  !%DUP
				movl	-4004(%ebp), %esi
				movl	44(%esi), %eax
				movl	%eax, -3968(%ebp)
 2530        %return %if Level < 0                        {spec about}
				movl	48(%esi), %eax
				testl	%eax, %eax
				js	.L1502
		.L1255:
				nop
		.L1256:
				nop
		.L1019:
 2531 c(90): def(x);  ->top;                              !ident
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7284
				addl	$16, %esp
				jmp	.L1033
		.L1257:
 2532 c(131):                                             !cident
 2533        %IF tag(x)_flags&(b'1111111'+const bit) = iform+const bit %START
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$12, %eax
				movzwl	(%eax), %eax
				cwtl
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1503
				nop
		.L1259:
 2534           tag(x)_format = lit
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %ecx
				movl	LIT.6157@GOTOFF(%eax), %eax
				movl	-4004(%ebp), %esi
				movl	64(%esi), %edx
				addl	$13, %ecx
				sall	$4, %ecx
				addl	%ecx, %edx
				addl	$8, %edx
				movl	%eax, (%edx)
 2535        %FINISH %ELSE %START
				jmp	.L1260
		.L1503:
 2536           set const(lit) %IF pending # 0
				movl	-3860(%ebp), %eax
				testl	%eax, %eax
				je	.L1504
				movl	-4000(%ebp), %eax
				movl	LIT.6157@GOTOFF(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6297
				addl	$16, %esp
				jmp	.L1262
		.L1504:
				nop
		.L1262:
 2537           def(x)
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7284
				addl	$16, %esp
 2538          op('A', 1)
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	$1
				pushl	$65
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
		.L1260:
 2539        %FINISH
 2540        cident = x
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				movl	%eax, -3904(%ebp)
 2541        ->top
				jmp	.L1033
		.L1263:
 2542 c(124):dubious = 1 %IF tag(cident)_flags&prot # 0; !%DUBIOUS
				movl	-4000(%ebp), %eax
				movl	$1, DUBIOUS.6142@GOTOFF(%eax)
		.L1264:
 2543        ->top
				jmp	.L1033
		.L1265:
				jmp	.L1268
		.L1266:
				jmp	.L1268
		.L1267:
		.L1268:
 2544 c(97):                                              !f
 2545 c(98):                                              !m
 2546 c(99):                                              !p
 2547 c(96): call;  ->top;                                !r
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	CALL.7322
				jmp	.L1033
		.L1269:
				jmp	.L1279
		.L1270:
				jmp	.L1279
		.L1271:
				jmp	.L1279
		.L1272:
				jmp	.L1279
		.L1273:
				jmp	.L1279
		.L1274:
				jmp	.L1279
		.L1275:
				jmp	.L1279
		.L1276:
				jmp	.L1279
		.L1277:
				jmp	.L1279
		.L1278:
		.L1279:
 2548
 2549 c(165):                                             !nlab
 2550 c(100):                                             !rp
 2551 c(101):                                             !fp
 2552 c(102):                                             !mp
 2553 c(103):                                             !pp
 2554 c(91):                                              !v
 2555 c(92):                                              !n
 2556 c(106):                                             !a
 2557 c(107):                                             !an
 2558 c(108):                                             !na
 2559 c(109):                                             !nan
 2560       k = tag(x)_index
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$14, %eax
				movzwl	(%eax), %eax
				cwtl
				movl	%eax, -3908(%ebp)
 2561       %IF k < 0 %THEN op('n', -k) %ELSE op('@', k)
				cmpl	$0, -3908(%ebp)
				jns	.L1505
				movl	-3908(%ebp), %eax
				negl	%eax
				movl	%eax, %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$110
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				jmp	.L1282
		.L1505:
				nop
		.L1281:
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-3908(%ebp)
				pushl	$64
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
		.L1282:
 2562       ->top
				jmp	.L1033
		.L1283:
 2563 c(121):set const(0);  ->top;                        !special for zero
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$0
				movl	%eax, %ecx
				call	SETCONST.6297
				addl	$16, %esp
				jmp	.L1033
		.L1284:
 2564 c(167):bp=bp+1;  buff(bp)='G';  ->pstr;             !aconst (alias)
				movl	-4000(%ebp), %edi
				movl	BP.6171@GOTOFF(%edi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%edi)
				movl	BP.6171@GOTOFF(%edi), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$71, 104710(%eax,%edx)
				jmp	.L1285
		.L1286:
 2565 c(const):                                           !const
 2566        %IF x < 0 %START;                            !constinteger
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jns	.L1506
				nop
 2567           set const(tag(-x)_format);  ->top
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				negl	%eax
				movl	%eax, %edx
				movl	-4004(%ebp), %edi
				movl	64(%edi), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$8, %eax
				movl	(%eax), %edx
				movl	64(%edi), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6297
				addl	$16, %esp
				jmp	.L1033
		.L1288:
		.L1506:
 2568        %FINISH
 2569        %IF x&x'4000' # 0 %START;                    !strings
 2570           bp=bp+1 %AND buff(bp)=''''
				movl	-4000(%ebp), %ecx
				movl	BP.6171@GOTOFF(%ecx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ecx)
				movl	BP.6171@GOTOFF(%ecx), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$39, 104710(%eax,%edx)
		.L1285:
 2571 pstr:     x = x-x'4000'+stbase
				movl	-4000(%ebp), %edi
				movl	X.6078@GOTOFF(%edi), %eax
				leal	-16384(%eax), %edx
				movl	STBASE.6124@GOTOFF(%edi), %eax
				addl	%edx, %eax
				movl	%eax, X.6078@GOTOFF(%edi)
 2572           k = byteinteger(x)
				movl	X.6078@GOTOFF(%edi), %eax
				movl	%eax, -3888(%ebp)
		.LBB607:
		.LBB608:
				movl	-3888(%ebp), %eax
		.LBE608:
		.LBE607:
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -3908(%ebp)
 2573           bp=bp+1 %AND buff(bp)=k
				movl	BP.6171@GOTOFF(%edi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%edi)
				movl	BP.6171@GOTOFF(%edi), %eax
				leal	-1(%eax), %edx
				movl	-3908(%ebp), %eax
				movl	%eax, %ecx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	%cl, 104710(%eax,%edx)
 2574           k = k+x
				movl	X.6078@GOTOFF(%edi), %eax
				addl	%eax, -3908(%ebp)
		.L1290:
 2575           %CYCLE
 2576              ->top %IF x = k
				nop
				jmp	.L1033
		.L1513:
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				cmpl	%eax, -3908(%ebp)
				je	.L1507
				nop
		.L1292:
 2577              x = x+1;  bp=bp+1 %AND buff(bp)=byteinteger(x)
				movl	-4000(%ebp), %esi
				movl	X.6078@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, X.6078@GOTOFF(%esi)
				movl	BP.6171@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%esi)
				movl	X.6078@GOTOFF(%esi), %eax
				movl	%eax, -3884(%ebp)
		.LBB609:
		.LBB610:
				movl	-3884(%ebp), %eax
		.LBE610:
		.LBE609:
				movl	-4000(%ebp), %esi
				movl	BP.6171@GOTOFF(%esi), %edx
				leal	-1(%edx), %ecx
				movzbl	(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	%dl, 104710(%eax,%ecx)
 2578           %REPEAT
				jmp	.L1290
		.L1294:
 2579        %FINISH
 2580        %IF x&x'2000' # 0 %START;                    !real
 2581           x = x-x'2000'+stbase
 2582           k = byteinteger(x)
 2583           op('D', k);  bp=bp+1 %AND buff(bp)=','
 2584           k = k+x
 2585           %CYCLE
 2586              ->top %IF x = k
 2587              x = x+1;  j = byteinteger(x)
 2588              %IF j = '@' %START
 2589                 op('@', litpool(byteinteger(x+1)));  ->top
 2590              %FINISH
 2591              bp=bp+1 %AND buff(bp)=j
 2592           %REPEAT
 2593        %FINISH
 2594        set const(lit pool(x))
 2595        ->top
 2596
 2597 c(137):bp=bp+1 %AND buff(bp)='i';               ->top;         !asep
				movl	-4000(%ebp), %esi
				movl	BP.6171@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%esi)
				movl	BP.6171@GOTOFF(%esi), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$105, 104710(%eax,%edx)
				jmp	.L1033
		.L1295:
 2598 c(141):bp=bp+1 %AND buff(bp)='a';               ->top;         !arb
				movl	-4000(%ebp), %ebx
				movl	BP.6171@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ebx)
				movl	BP.6171@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$97, 104710(%eax,%edx)
				jmp	.L1033
		.L1296:
 2599
 2600 !own arrays
 2601
 2602 c(132):ocount = ub-lb+1
				movl	-4000(%ebp), %edi
				movl	UB.7211@GOTOFF(%edi), %edx
				movl	LB.7210@GOTOFF(%edi), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				addl	$1, %eax
				movl	%eax, OCOUNT.6137@GOTOFF(%edi)
 2603        def(x);                               !oident
				movl	X.6078@GOTOFF(%edi), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7284
				addl	$16, %esp
 2604        dimension = 1;  set subs(1)
				movl	$1, DIMENSION.6147@GOTOFF(%edi)
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	$1
				movl	%eax, %ecx
				call	SETSUBS.7259
				addl	$16, %esp
 2605        %IF next = 0 %START;                  !no initialisation
				movl	-3848(%ebp), %eax
				testl	%eax, %eax
				jne	.L1508
				nop
		.L1298:
 2606           op('A', ocount) %IF ocount > 0
				movl	-4000(%ebp), %eax
				movl	OCOUNT.6137@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jle	.L1509
				movl	-4000(%ebp), %eax
				movl	OCOUNT.6137@GOTOFF(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$65
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				jmp	.L1300
		.L1509:
				nop
		.L1300:
 2607           ocount = -1
				movl	-4000(%ebp), %eax
				movl	$-1, OCOUNT.6137@GOTOFF(%eax)
 2608        %FINISH %ELSE %START;                 !initialisation given
				jmp	.L1301
		.L1508:
 2609           get next
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7234
		.L1301:
 2610        %FINISH
 2611        ->top
				jmp	.L1033
		.L1302:
 2612 c(162):lit = ocount;  ->ins;                 !indef
				movl	-4000(%ebp), %edi
				movl	OCOUNT.6137@GOTOFF(%edi), %eax
				movl	%eax, LIT.6157@GOTOFF(%edi)
				jmp	.L1303
		.L1304:
 2613 c(143):pop lit;                              !orb
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	POPLIT.7331
		.L1303:
 2614 ins:   fault(10) %AND lit = 0 %IF lit < 0
				movl	-4000(%ebp), %eax
				movl	LIT.6157@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jns	.L1510
				subl	$12, %esp
				pushl	$10
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				movl	-4000(%ebp), %eax
				movl	$0, LIT.6157@GOTOFF(%eax)
				jmp	.L1306
		.L1510:
				nop
		.L1306:
 2615        get next
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	GETNEXT.7234
 2616        ->inst
				jmp	.L1307
		.L1308:
		.L1309:
 2617 c(139):                                      !osep (x=19)
 2618 c(153):lit = 1
				movl	-4000(%ebp), %eax
				movl	$1, LIT.6157@GOTOFF(%eax)
		.L1307:
 2619 inst:  pop def %IF pending # 0;              !ownt (x=0)
				movl	-3860(%ebp), %eax
				testl	%eax, %eax
				je	.L1511
				leal	-3876(%ebp), %eax
				movl	%eax, %ecx
				call	POPDEF.7328
				jmp	.L1311
		.L1511:
				nop
		.L1311:
 2620        op('A', lit)
				movl	-4000(%ebp), %edi
				movl	%edi, %ecx
				movl	LIT.6157@GOTOFF(%ecx), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$65
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2621        ocount = ocount-lit
				movl	%edi, %ecx
				movl	OCOUNT.6137@GOTOFF(%ecx), %edx
				movl	%edi, %ecx
				movl	LIT.6157@GOTOFF(%ecx), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, OCOUNT.6137@GOTOFF(%ecx)
 2622        %IF ocount >= 0 %START
				movl	OCOUNT.6137@GOTOFF(%ecx), %eax
				testl	%eax, %eax
				js	.L1512
				nop
				jmp	.L1317
		.L1514:
 2623           ->top %IF x # 0;                          !more coming
				nop
				jmp	.L1033
		.L1516:
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1513
				nop
		.L1315:
 2624           ocount = -1 %AND %RETURN %IF ocount = 0;  !all done
				movl	-4000(%ebp), %eax
				movl	OCOUNT.6137@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jne	.L1514
				movl	-4000(%ebp), %eax
				movl	$-1, OCOUNT.6137@GOTOFF(%eax)
				jmp	.L1019
		.L1313:
		.L1512:
				nop
		.L1317:
 2625        %FINISH
 2626        fault(11);  %RETURN
				subl	$12, %esp
				pushl	$11
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1019
		.L1318:
 2627
 2628 c(swit):op('W', tag(x)_index);  inhibit = 1;  ->atop
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				movl	-4004(%ebp), %edi
				movl	64(%edi), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$14, %eax
				movzwl	(%eax), %eax
				movswl	%ax, %edx
				movl	64(%edi), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$87
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				movl	$1, %eax
				movl	%eax, 4(%edi)
				jmp	.L1074
		.L1319:
 2629 c(134):def(x);                               !swid
				movl	-4000(%ebp), %esi
				movl	X.6078@GOTOFF(%esi), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEF.7284
				addl	$16, %esp
 2630        n = ub-lb+1
				movl	UB.7211@GOTOFF(%esi), %edx
				movl	LB.7210@GOTOFF(%esi), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				addl	$1, %eax
				movl	%eax, -3984(%ebp)
 2631        n = (n+15)>>4;                        !slots needed (includes zero)
				movl	-3984(%ebp), %eax
				addl	$15, %eax
				shrl	$4, %eax
				movl	%eax, -3984(%ebp)
 2632        j = dmax;  dmax = dmax+n+2
				movl	DMAX.6126@GOTOFF(%esi), %eax
				movl	%eax, -3956(%ebp)
				movl	DMAX.6126@GOTOFF(%esi), %edx
				movl	-3984(%ebp), %eax
				addl	%edx, %eax
				addl	$2, %eax
				movl	%eax, DMAX.6126@GOTOFF(%esi)
 2633        abandon(1) %IF dmax >= dmin
				movl	DMAX.6126@GOTOFF(%esi), %eax
				movl	-4004(%ebp), %edi
				movl	40(%edi), %edx
				cmpl	%eax, %edx
				jg	.L1515
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$12, %esp
				pushl	$1
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L1321
		.L1515:
				nop
		.L1321:
 2634        tag(x)_format = j
				movl	-4000(%ebp), %edi
				movl	X.6078@GOTOFF(%edi), %edx
				movl	-4004(%ebp), %ebx
				movl	64(%ebx), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				leal	8(%eax), %edx
				movl	-3956(%ebp), %eax
				movl	%eax, (%edx)
 2635        dict(j) = lb;  dict(j+1) = ub
				movl	LB.7210@GOTOFF(%edi), %eax
				movl	-3956(%ebp), %edx
				subl	$1, %edx
				movl	%eax, %ecx
				movl	64(%ebx), %eax
				addl	$13416, %edx
				movw	%cx, 4(%eax,%edx,2)
				movl	UB.7211@GOTOFF(%edi), %eax
				movl	%eax, %ecx
				movl	64(%ebx), %eax
				movl	-3956(%ebp), %edx
				addl	$13416, %edx
				movw	%cx, 4(%eax,%edx,2)
		.L1322:
 2636        %CYCLE
 2637           n = n-1
				subl	$1, -3984(%ebp)
 2638           ->top %IF n < 0
				nop
		.L1033:
				cmpl	$0, -3984(%ebp)
				js	.L1516
				nop
		.L1324:
 2639           j = j+1;  dict(j+1) = 0
				addl	$1, -3956(%ebp)
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movl	-3956(%ebp), %edx
				addl	$13416, %edx
				movw	$0, 4(%eax,%edx,2)
 2640        %REPEAT
				jmp	.L1322
		.L1325:
 2641 c(151):stats = stats-1;                      !slab
				movl	-4000(%ebp), %ecx
				movl	STATS.6094@GOTOFF(%ecx), %eax
				subl	$1, %eax
				movl	%eax, STATS.6094@GOTOFF(%ecx)
 2642        fault(7) %AND %RETURN %IF x < tbase
				movl	X.6078@GOTOFF(%ecx), %eax
				movl	-4004(%ebp), %ebx
				movl	56(%ebx), %edx
				cmpl	%eax, %edx
				jle	.L1517
				subl	$12, %esp
				pushl	$7
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1019
		.L1517:
				nop
		.L1327:
 2643        %IF pending # 0 %START;               !explicit label
				movl	-3860(%ebp), %eax
				testl	%eax, %eax
				je	.L1518
				nop
		.L1329:
 2644           def s lab(pstack(1))
				movl	-4000(%ebp), %eax
				movl	PSTACK.7226@GOTOFF(%eax), %edx
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DEFSLAB.7308
				addl	$16, %esp
 2645        %FINISH %ELSE %START
				jmp	.L1342
		.L1518:
 2646           fault(4) %AND %RETURN %IF tag(x)_app # 0
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1519
				subl	$12, %esp
				pushl	$4
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1019
		.L1519:
				nop
		.L1332:
 2647           tag(x)_app = 1
				movl	-4000(%ebp), %esi
				movl	X.6078@GOTOFF(%esi), %edx
				movl	-4004(%ebp), %ebx
				movl	64(%ebx), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$4, %eax
				movl	$1, (%eax)
 2648           n = tag(x)_format
				movl	X.6078@GOTOFF(%esi), %edx
				movl	64(%ebx), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$8, %eax
				movl	(%eax), %eax
				movl	%eax, -3984(%ebp)
		.LBB611:
 2649           %FOR j = dict(n), 1, dict(n+1) %CYCLE
				movl	-3984(%ebp), %eax
				leal	-1(%eax), %edx
				movl	64(%ebx), %eax
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				movl	%eax, -3920(%ebp)
				movl	64(%ebx), %eax
				movl	-3984(%ebp), %edx
				addl	$13416, %edx
				movzwl	4(%eax,%edx,2), %eax
				cwtl
				movl	%eax, -3916(%ebp)
		.LBB612:
				movl	-3916(%ebp), %eax
				subl	-3920(%ebp), %eax
				movl	%eax, -3912(%ebp)
				movl	-3912(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE612:
				testl	%eax, %eax
				je	.L1333
				leal	-1602(%ebp), %eax
				subl	$8, %esp
				movl	-4000(%ebp), %esi
				leal	.LC80@GOTOFF(%esi), %edx
				pushl	%edx
				pushl	%eax
				movl	%esi, %ebx
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%esi), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1334
				movl	-4000(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				movl	%eax, -4008(%ebp)
				jmp	.L1335
		.L1334:
				movl	$2649, -4008(%ebp)
		.L1335:
				movl	-4000(%ebp), %eax
				movl	_imp_current_file@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1336
				movl	-4000(%ebp), %ebx
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-1346(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L1337
		.L1336:
		.LBB613:
				leal	-2116(%ebp), %eax
				movl	-4000(%ebp), %ebx
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2884(%ebp), %eax
				leal	-2116(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE613:
				leal	-1346(%ebp), %eax
				leal	-2884(%ebp), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
		.L1337:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1602(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-4008(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1346(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	-4000(%ebp), %ebx
				call	_signal_event@PLT
				addl	$528, %esp
		.L1333:
				movl	-3920(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -3956(%ebp)
		.L1338:
				movl	-3956(%ebp), %eax
				cmpl	-3916(%ebp), %eax
				je	.L1520
				addl	$1, -3956(%ebp)
				nop
		.L1342:
		.LBE611:
 2650              def s lab(j)
				subl	$12, %esp
				leal	-3876(%ebp), %eax
				pushl	-3956(%ebp)
				movl	%eax, %ecx
				call	DEFSLAB.7308
				addl	$16, %esp
 2651              flush buffer %IF bp >= 128
				movl	-4000(%ebp), %eax
				movl	BP.6171@GOTOFF(%eax), %eax
				cmpl	$127, %eax
				jle	.L1521
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movl	%eax, %ecx
				call	FLUSHBUFFER.6188
				jmp	.L1338
		.L1521:
				nop
		.L1341:
 2652           %REPEAT
				jmp	.L1338
		.L1330:
		.L1520:
 2653        %FINISH
 2654        inhibit = 1
				movl	$1, %eax
				movl	-4004(%ebp), %esi
				movl	%eax, 4(%esi)
 2655        %RETURN
				jmp	.L1019
		.L1343:
 2656
 2657 c(140):bp=bp+1 %AND buff(bp)='p';                  ->top;          !psep
				movl	-4000(%ebp), %ebx
				movl	BP.6171@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%ebx)
				movl	BP.6171@GOTOFF(%ebx), %eax
				leal	-1(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movb	$112, 104710(%eax,%edx)
				jmp	.L1033
		.L1344:
 2658 c(144):buff(bp+1)='p';  buff(bp+2)='E';  bp=bp+2;  ->top;          !prb
				movl	-4000(%ebp), %esi
				movl	BP.6171@GOTOFF(%esi), %eax
				movl	-4004(%ebp), %ebx
				movl	64(%ebx), %edx
				movb	$112, 104710(%edx,%eax)
				movl	BP.6171@GOTOFF(%esi), %eax
				leal	1(%eax), %edx
				movl	64(%ebx), %eax
				movb	$69, 104710(%eax,%edx)
				movl	BP.6171@GOTOFF(%esi), %eax
				addl	$2, %eax
				movl	%eax, BP.6171@GOTOFF(%esi)
				jmp	.L1033
		.L1345:
 2659
 2660 !constant expressions
 2661
 2662 c(155):                                      !pconst
 2663        %IF x < 0 %THEN lit = tag(-x)_format %c
				movl	-4000(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				testl	%eax, %eax
				jns	.L1522
				movl	-4000(%ebp), %ebx
				movl	X.6078@GOTOFF(%ebx), %eax
				negl	%eax
				movl	%eax, %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				addl	$13, %edx
				sall	$4, %edx
				addl	%edx, %eax
				addl	$8, %eax
				movl	(%eax), %eax
				movl	%eax, LIT.6157@GOTOFF(%ebx)
				jmp	.L1348
		.L1522:
				nop
		.L1347:
				movl	-4000(%ebp), %ecx
				movl	X.6078@GOTOFF(%ecx), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				movl	(%eax,%edx,4), %eax
				movl	%eax, LIT.6157@GOTOFF(%ecx)
		.L1348:
 2664                  %ELSE lit = lit pool(x)
 2665        pending = pending+1;     pstack(pending) = lit;  ->top
				movl	-3860(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -3860(%ebp)
				movl	-3860(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-4000(%ebp), %edi
				movl	LIT.6157@GOTOFF(%edi), %eax
				movl	%eax, PSTACK.7226@GOTOFF(%edi,%edx,4)
				jmp	.L1033
		.L1349:
 2666 c(156):lit = pstack(pending);  lit = -lit %IF lit < 0
				movl	-3860(%ebp), %eax
				subl	$1, %eax
				movl	-4000(%ebp), %edi
				movl	PSTACK.7226@GOTOFF(%edi,%eax,4), %eax
				movl	%eax, LIT.6157@GOTOFF(%edi)
				movl	LIT.6157@GOTOFF(%edi), %eax
				testl	%eax, %eax
				jns	.L1523
				movl	-4000(%ebp), %esi
				movl	LIT.6157@GOTOFF(%esi), %eax
				negl	%eax
				movl	%eax, LIT.6157@GOTOFF(%esi)
				jmp	.L1351
		.L1523:
				nop
		.L1351:
 2667                                 pstack(pending) = lit;  ->top;  !cmod
				movl	-3860(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-4000(%ebp), %ecx
				movl	LIT.6157@GOTOFF(%ecx), %eax
				movl	%eax, PSTACK.7226@GOTOFF(%ecx,%edx,4)
				jmp	.L1033
		.L1352:
 2668 c(157):lit = -pstack(pending);  pstack(pending) = lit;  ->top;  !csign
				movl	-3860(%ebp), %eax
				subl	$1, %eax
				movl	-4000(%ebp), %ecx
				movl	PSTACK.7226@GOTOFF(%ecx,%eax,4), %eax
				negl	%eax
				movl	%eax, LIT.6157@GOTOFF(%ecx)
				movl	-3860(%ebp), %eax
				leal	-1(%eax), %edx
				movl	LIT.6157@GOTOFF(%ecx), %eax
				movl	%eax, PSTACK.7226@GOTOFF(%ecx,%edx,4)
				jmp	.L1033
		.L1353:
 2669 c(158):lit = \pstack(pending);  pstack(pending) = lit;  ->top;  !cuop
				movl	-3860(%ebp), %eax
				subl	$1, %eax
				movl	-4000(%ebp), %esi
				movl	PSTACK.7226@GOTOFF(%esi,%eax,4), %eax
				notl	%eax
				movl	%eax, LIT.6157@GOTOFF(%esi)
				movl	-3860(%ebp), %eax
				leal	-1(%eax), %edx
				movl	LIT.6157@GOTOFF(%esi), %eax
				movl	%eax, PSTACK.7226@GOTOFF(%esi,%edx,4)
				jmp	.L1033
		.L1354:
				jmp	.L1356
		.L1355:
		.L1356:
 2670 c(159):                                      !cop1
 2671 c(160):                                      !cop2
 2672 c(161):pending = pending-1;                  !cop3
				movl	-3860(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -3860(%ebp)
 2673        lit2 = pstack(pending+1);  lit = pstack(pending)
				movl	-3860(%ebp), %eax
				movl	-4000(%ebp), %ebx
				movl	PSTACK.7226@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, -3952(%ebp)
				movl	-3860(%ebp), %eax
				subl	$1, %eax
				movl	PSTACK.7226@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, LIT.6157@GOTOFF(%ebx)
 2674        ->litop(x>>2)
				movl	$2674, -3976(%ebp)
				leal	.LC71@GOTOFF(%ebx), %eax
				movl	%eax, -3972(%ebp)
				movl	X.6078@GOTOFF(%ebx), %eax
				shrl	$2, %eax
				movl	%eax, -3980(%ebp)
				jmp	.L1357
		.L1358:
 2675 litop(10):lit = lit*lit2;   ->setl
				movl	-4000(%ebp), %ecx
				movl	LIT.6157@GOTOFF(%ecx), %eax
				imull	-3952(%ebp), %eax
				movl	%eax, LIT.6157@GOTOFF(%ecx)
				jmp	.L1359
		.L1360:
		.L1361:
 2676 litop(12):
 2677 litop(3):n = 1;                              !lit = lit\\lit2
				movl	$1, -3984(%ebp)
 2678          fault(10) %IF lit2 < 0
				cmpl	$0, -3952(%ebp)
				jns	.L1524
				subl	$12, %esp
				pushl	$10
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1367
		.L1363:
		.L1524:
				nop
		.L1364:
		.L1367:
 2679          %WHILE lit2 > 0 %CYCLE
				cmpl	$0, -3952(%ebp)
				jle	.L1525
				nop
		.L1366:
 2680             lit2 = lit2-1
				subl	$1, -3952(%ebp)
 2681             n = n*lit
				movl	-4000(%ebp), %eax
				movl	LIT.6157@GOTOFF(%eax), %eax
				movl	-3984(%ebp), %edx
				imull	%edx, %eax
				movl	%eax, -3984(%ebp)
 2682          %REPEAT
				jmp	.L1367
		.L1525:
 2683          lit = n;           ->setl
				movl	-3984(%ebp), %eax
				movl	-4000(%ebp), %ecx
				movl	%eax, LIT.6157@GOTOFF(%ecx)
				jmp	.L1359
		.L1368:
 2684 litop(1):lit = lit<<lit2;   ->setl
				movl	-4000(%ebp), %edi
				movl	LIT.6157@GOTOFF(%edi), %edx
				movl	-3952(%ebp), %eax
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				movl	%eax, LIT.6157@GOTOFF(%edi)
				jmp	.L1359
		.L1369:
 2685 litop(2):lit = lit>>lit2;   ->setl
				movl	-4000(%ebp), %esi
				movl	LIT.6157@GOTOFF(%esi), %eax
				movl	%eax, %edx
				movl	-3952(%ebp), %eax
				movl	%eax, %ecx
				shrl	%cl, %edx
				movl	%edx, %eax
				movl	%eax, LIT.6157@GOTOFF(%esi)
				jmp	.L1359
		.L1370:
 2686 litop(5):lit = lit&lit2;    ->setl
				movl	-4000(%ebp), %edi
				movl	LIT.6157@GOTOFF(%edi), %eax
				andl	-3952(%ebp), %eax
				movl	%eax, LIT.6157@GOTOFF(%edi)
				jmp	.L1359
		.L1371:
		.L1372:
 2687 litop(11):
 2688 litop(4):%IF lit2 = 0 %THEN fault(10) %ELSE lit = lit//lit2
				cmpl	$0, -3952(%ebp)
				jne	.L1526
				subl	$12, %esp
				pushl	$10
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				nop
		.L1375:
				nop
		.L1374:
				movl	-4000(%ebp), %esi
				movl	LIT.6157@GOTOFF(%esi), %eax
				cltd
				idivl	-3952(%ebp)
				movl	%eax, LIT.6157@GOTOFF(%esi)
 2689                             ->setl
				jmp	.L1359
		.L1526:
				jmp	.L1359
		.L1376:
 2690 litop(8):lit = lit+lit2;    ->setl
				movl	-4000(%ebp), %ecx
				movl	LIT.6157@GOTOFF(%ecx), %edx
				movl	-3952(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, LIT.6157@GOTOFF(%ecx)
				jmp	.L1359
		.L1377:
 2691 litop(9):lit = lit-lit2;    ->setl
				movl	-4000(%ebp), %edi
				movl	LIT.6157@GOTOFF(%edi), %eax
				subl	-3952(%ebp), %eax
				movl	%eax, LIT.6157@GOTOFF(%edi)
				jmp	.L1359
		.L1378:
 2692 litop(6):lit = lit!lit2;    ->setl
				movl	-4000(%ebp), %esi
				movl	LIT.6157@GOTOFF(%esi), %eax
				orl	-3952(%ebp), %eax
				movl	%eax, LIT.6157@GOTOFF(%esi)
				jmp	.L1359
		.L1379:
 2693 litop(7):lit = lit!!lit2
				movl	-4000(%ebp), %ecx
				movl	LIT.6157@GOTOFF(%ecx), %eax
				xorl	-3952(%ebp), %eax
				movl	%eax, LIT.6157@GOTOFF(%ecx)
		.L1359:
 2694
 2695 setl: pstack(pending) = lit;  ->top
				movl	-3860(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-4000(%ebp), %esi
				movl	LIT.6157@GOTOFF(%esi), %eax
				movl	%eax, PSTACK.7226@GOTOFF(%esi,%edx,4)
				jmp	.L1033
		.L1380:
		.LBB614:
 2696
 2697 c(170):Fault(4) %if IMPCOM_Option # ""
				movb	$0, -2116(%ebp)
				movl	$0, -2115(%ebp)
				leal	-2111(%ebp), %edx
				movl	$0, %eax
				movb	%al, (%edx)
				addl	$1, %edx
				movw	%ax, (%edx)
				addl	$2, %edx
				movl	$62, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-2116(%ebp), %eax
		.LBE614:
				subl	$8, %esp
				pushl	%eax
				movl	-4000(%ebp), %ebx
				movl	IMPCOM@GOT(%ebx), %eax
				leal	280(%eax), %eax
				pushl	%eax
				call	_imp_strcmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				je	.L1527
				subl	$12, %esp
				pushl	$4
				movl	-4004(%ebp), %ecx
				call	FAULT.6330
				addl	$16, %esp
				jmp	.L1382
		.L1527:
				nop
		.L1382:
		.LBB615:
 2698        IMPCOM_Option = String(x-x'4000'+Stbase);      !Option string
				movl	-4000(%ebp), %ebx
				movl	X.6078@GOTOFF(%ebx), %eax
				leal	-16384(%eax), %edx
				movl	STBASE.6124@GOTOFF(%ebx), %eax
				addl	%edx, %eax
				movl	%eax, -3880(%ebp)
		.LBB616:
		.LBB617:
				movl	-3880(%ebp), %edx
		.LBE617:
		.LBE616:
				leal	-2116(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-2116(%ebp), %eax
		.LBE615:
				subl	$4, %esp
				pushl	$255
				pushl	%eax
				movl	IMPCOM@GOT(%ebx), %eax
				leal	280(%eax), %eax
				pushl	%eax
				call	_imp_strncpy@PLT
				addl	$16, %esp
 2699        ->Top
				jmp	.L1033
		.L1384:
 2700
 2701 !string resolution
 2702
 2703 c(135):resln = 2;                    ->top;           !dotl
				movl	$2, -3964(%ebp)
				jmp	.L1033
		.L1385:
 2704 c(136):resln = resln+1;              ->top;           !dotr
				addl	$1, -3964(%ebp)
				jmp	.L1033
		.L1386:
 2705 c(55): op('r', resln);    resln = 0; ->top;           !resop
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	-3964(%ebp)
				pushl	$114
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				movl	$0, -3964(%ebp)
				jmp	.L1033
		.L1387:
 2706 c(164):op('r', resln+4);  resln = 0;                  !cresop
				movl	-3964(%ebp), %eax
				leal	4(%eax), %edx
				movl	-4004(%ebp), %eax
				movl	64(%eax), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	$114
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
				movl	$0, -3964(%ebp)
		.L1388:
 2707 c(122):x = 6;                        ->cop;           !%PRED
				movl	-4000(%ebp), %eax
				movl	$6, X.6078@GOTOFF(%eax)
				jmp	.L1414
		.L1389:
 2708 c(87): set const(pstack(1));                          !mass
				movl	-4000(%ebp), %edi
				movl	PSTACK.7226@GOTOFF(%edi), %edx
				movl	-4004(%ebp), %esi
				movl	64(%esi), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	SETCONST.6297
				addl	$16, %esp
 2709        bp=bp+1 %AND buff(bp)='P';    ->top
				movl	BP.6171@GOTOFF(%edi), %eax
				addl	$1, %eax
				movl	%eax, BP.6171@GOTOFF(%edi)
				movl	BP.6171@GOTOFF(%edi), %eax
				leal	-1(%eax), %edx
				movl	64(%esi), %eax
				movb	$80, 104710(%eax,%edx)
				jmp	.L1033
		.L1418:
 2710    %END
				cmpl	$0, -3924(%ebp)
				js	.L1390
				jmp	.L1418
		.L1036:
		.L1445:
				cmpl	$180, -3924(%ebp)
				jle	.L1391
		.L1390:
				movl	-4000(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1392
				movl	-4000(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				movl	%eax, -4012(%ebp)
				jmp	.L1393
		.L1392:
				movl	$2710, -4012(%ebp)
		.L1393:
				movl	-4000(%ebp), %eax
				movl	_imp_current_file@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1394
				movl	-4000(%ebp), %ebx
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-1090(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L1395
		.L1394:
		.LBB618:
				leal	-2116(%ebp), %eax
				movl	-4000(%ebp), %edi
				leal	.LC9@GOTOFF(%edi), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2628(%ebp), %eax
				leal	-2116(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE618:
				leal	-1090(%ebp), %eax
				leal	-2628(%ebp), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
		.L1395:
				pushl	-3932(%ebp)
				pushl	-3928(%ebp)
				pushl	-3924(%ebp)
				movl	-4000(%ebp), %ebx
				leal	.LC81@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-3924(%ebp)
				pushl	$3
				pushl	$6
				pushl	-4012(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1090(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L1391:
				movl	-3924(%ebp), %eax
				movl	-4000(%ebp), %esi
				movl	C.7048@GOTOFF(%esi,%eax,4), %eax
				jmp	.L1396
		.L1397:
				movl	-4000(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1398
				movl	-4000(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				movl	%eax, -4016(%ebp)
				jmp	.L1399
		.L1398:
				movl	$2710, -4016(%ebp)
		.L1399:
				movl	-4000(%ebp), %eax
				movl	_imp_current_file@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1400
				movl	-4000(%ebp), %ebx
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-834(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L1401
		.L1400:
		.LBB619:
				leal	-2116(%ebp), %eax
				movl	-4000(%ebp), %ebx
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2372(%ebp), %eax
				leal	-2116(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE619:
				leal	-834(%ebp), %eax
				leal	-2372(%ebp), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
		.L1401:
				pushl	-3932(%ebp)
				pushl	-3928(%ebp)
				pushl	-3924(%ebp)
				movl	-4000(%ebp), %ebx
				leal	.LC82@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-3924(%ebp)
				pushl	$2
				pushl	$8
				pushl	-4016(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-834(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L1357:
				cmpl	$0, -3980(%ebp)
				jle	.L1402
				cmpl	$12, -3980(%ebp)
				jle	.L1403
		.L1402:
				movl	-4000(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1404
				movl	-4000(%ebp), %eax
				movl	_imp_current_line@GOT(%eax), %eax
				movl	(%eax), %eax
				movl	%eax, -4020(%ebp)
				jmp	.L1405
		.L1404:
				movl	$2710, -4020(%ebp)
		.L1405:
				movl	-4000(%ebp), %eax
				movl	_imp_current_file@GOT(%eax), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L1406
				movl	-4000(%ebp), %ebx
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-578(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L1407
		.L1406:
		.LBB620:
				leal	-2116(%ebp), %eax
				movl	-4000(%ebp), %edi
				leal	.LC9@GOTOFF(%edi), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1858(%ebp), %eax
				leal	-2116(%ebp), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
		.LBE620:
				leal	-578(%ebp), %eax
				leal	-1858(%ebp), %edx
				movl	$256, %ecx
				movl	(%edx), %esi
				movl	%esi, (%eax)
				movl	-4(%edx,%ecx), %esi
				movl	%esi, -4(%eax,%ecx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %edx
				addl	%eax, %ecx
				andl	$-4, %ecx
				movl	%ecx, %eax
				shrl	$2, %eax
				movl	%edx, %esi
				movl	%eax, %ecx
				rep movsl
		.L1407:
				pushl	-3976(%ebp)
				pushl	-3972(%ebp)
				pushl	-3980(%ebp)
				movl	-4000(%ebp), %ebx
				leal	.LC83@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-3980(%ebp)
				pushl	$3
				pushl	$6
				pushl	-4020(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-578(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_eventf@PLT
				addl	$288, %esp
		.L1403:
				movl	-3980(%ebp), %eax
				subl	$1, %eax
				movl	-4000(%ebp), %esi
				movl	LITOP.7182@GOTOFF(%esi,%eax,4), %eax
				jmp	.L1396
		.L1447:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1409
				call	__stack_chk_fail_local
		.L1409:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE213:
		GETNEXT.7234:
		.LFB215:
 2711
 2712 %END;                                                 !of compile block
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L247
				call	__stack_chk_fail_local
		.L247:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE195:
		SETCELL.6510:
		.LFB199:
 2713
 2714    %ON 9 %START
				subl	$8, %esp
				pushl	$1
				movl	_imp_event@GOT(%ebx), %eax
				leal	532(%eax), %eax
				pushl	%eax
				call	__sigsetjmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L27
		.LBB344:
				movl	$9, -106536(%ebp)
				movl	$0, -108664(%ebp)
		.LBB345:
				movl	$0, -108660(%ebp)
				jmp	.L28
		.L29:
				movl	-108660(%ebp), %eax
				movl	-106536(%ebp,%eax,4), %eax
				movl	$1, %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				orl	%eax, -108664(%ebp)
				addl	$1, -108660(%ebp)
		.L28:
				cmpl	$0, -108660(%ebp)
				je	.L29
		.LBE345:
				movl	-108664(%ebp), %eax
		.LBE344:
				subl	$8, %esp
				pushl	%eax
				movl	-108672(%ebp), %ebx
				movl	_imp_event@GOT(%ebx), %eax
				pushl	%eax
				call	_imp_on_event_enter@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L39
		.L27:
				nop
		.L30:
 2715       abandon(5)
				subl	$12, %esp
				leal	-105768(%ebp), %eax
				pushl	$5
				movl	%eax, %ecx
				call	ABANDON.6220
				addl	$16, %esp
				jmp	.L30
		.L39:
 2716    %FINISH
 2717
 2718 impcom_flags = 0
				movl	-108672(%ebp), %ebx
				movl	IMPCOM@GOT(%ebx), %eax
				movl	$0, 4(%eax)
		.LBB346:
		.LBB347:
 2719 impcom_option = ""
				movb	$0, -106536(%ebp)
				movl	$0, -106535(%ebp)
				leal	-106531(%ebp), %edx
				movl	$0, %eax
				movb	%al, (%edx)
				addl	$1, %edx
				movw	%ax, (%edx)
				addl	$2, %edx
				movl	$62, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-107560(%ebp), %eax
				leal	-106536(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE347:
				leal	-106536(%ebp), %eax
				leal	-107560(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-106536(%ebp), %eax
		.LBE346:
				subl	$4, %esp
				pushl	$255
				pushl	%eax
				movl	IMPCOM@GOT(%ebx), %eax
				leal	280(%eax), %eax
				pushl	%eax
				movl	%ebx, %esi
				movl	%esi, %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
 2720
 2721    list = 15 %IF Impcom_Flags&x'1000' # 0
				movl	%esi, %ebx
				movl	$15, LIST.6160@GOTOFF(%ebx)
		.L31:
		.LBB348:
 2722
 2723    open output(2, "LISTING");
				leal	-106536(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC2@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-107304(%ebp), %eax
				leal	-106536(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE348:
				subl	$12, %esp
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-107304(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	$2
				movl	%ebx, %esi
				movl	%esi, %ebx
				call	OPENOUTPUT@PLT
				addl	$272, %esp
		.LBB349:
 2724    open input(2, "prims-null.inc");
				leal	-106536(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC3@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-107048(%ebp), %eax
				leal	-106536(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE349:
				subl	$12, %esp
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-107048(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	$2
				movl	%ebx, %esi
				movl	%esi, %ebx
				call	OPENINPUT@PLT
				addl	$272, %esp
 2725    select input(2);  selectoutput(listing)
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTINPUT
				addl	$16, %esp
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
 2726    tag(max tag) = 0;                       !%BEGIN defn
				movl	$0, -92756(%ebp)
				movl	$0, -92752(%ebp)
				movl	$0, -92748(%ebp)
				movl	$0, -92744(%ebp)
 2727    tag(0) = 0;  tag(0)_flags = 7;          !%BEGIN tag!
				movl	$0, -105556(%ebp)
				movl	$0, -105552(%ebp)
				movl	$0, -105548(%ebp)
				movl	$0, -105544(%ebp)
				movw	$7, -105548(%ebp)
 2728    Hash(x) = 0 %FOR x = 0, 1, max names
				movl	%esi, %ebx
				movl	$-1, X.6078@GOTOFF(%ebx)
		.L32:
				movl	-108672(%ebp), %eax
				movl	X.6078@GOTOFF(%eax), %eax
				cmpl	$2047, %eax
				je	.L40
				movl	-108672(%ebp), %esi
				movl	X.6078@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, X.6078@GOTOFF(%esi)
				movl	X.6078@GOTOFF(%esi), %eax
				addl	$10792, %eax
				movw	$0, -105764(%ebp,%eax,2)
				jmp	.L32
		.L40:
				nop
		.L34:
		.LBB350:
 2729    printstring("         Edinburgh IMP77 Compiler - Version ")
				leal	-106536(%ebp), %eax
				movl	-108672(%ebp), %ebx
				leal	.LC4@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-106792(%ebp), %eax
				leal	-106536(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-106280(%ebp), %eax
				leal	-106792(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE350:
		.LBB351:
		.LBB352:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-106280(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	%ebx, -108672(%ebp)
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE352:
		.LBE351:
		.LBB353:
 2730    printstring(version);  newlines(2)
				leal	-106536(%ebp), %edx
				movl	$0, %eax
				movl	$64, %ecx
				movl	%edx, %edi
				rep stosl
				movb	$3, -106536(%ebp)
				movl	$3419704, -106535(%ebp)
				leal	-106536(%ebp), %edx
				leal	-106024(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE353:
		.LBB354:
		.LBB355:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-106024(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	-108672(%ebp), %esi
				movl	%esi, %ebx
				call	_imp_printstring@PLT
				addl	$256, %esp
				movl	$2, -108656(%ebp)
		.LBE355:
		.LBE354:
		.LBB356:
		.LBB357:
				subl	$12, %esp
				pushl	-108656(%ebp)
				movl	%esi, %ebx
				call	_imp_newlines@PLT
				addl	$16, %esp
		.LBE357:
		.LBE356:
 2731    op('l', 0)
				subl	$8, %esp
				leal	-105768(%ebp), %eax
				pushl	$0
				pushl	$108
				movl	%eax, %ecx
				call	OP.6294
				addl	$16, %esp
 2732    compile block(0, 0, max dict, 0, 0)
				subl	$12, %esp
				leal	-105768(%ebp), %eax
				pushl	$0
				pushl	$0
				pushl	$6000
				pushl	$0
				pushl	$0
				movl	%eax, %ecx
				call	COMPILEBLOCK.6304
				addl	$32, %esp
 2733    bp=bp+1 %AND buff(bp)=nl                {for bouncing off}
				movl	%esi, %ebx
				movl	BP.6171@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%esi, %ebx
				movl	%eax, BP.6171@GOTOFF(%ebx)
				movl	BP.6171@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movb	$10, -1058(%ebp,%eax)
 2734    flush buffer
				leal	-105768(%ebp), %eax
				movl	%eax, %ecx
				call	FLUSHBUFFER.6188
 2735    Impcom_Statements = stats
				movl	STATS.6094@GOTOFF(%ebx), %edx
				movl	IMPCOM@GOT(%ebx), %eax
				movl	%edx, (%eax)
 2736    Impcom_Statements = -faulty %IF faulty # 0
				movl	FAULTY.6086@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				je	.L41
				movl	-108672(%ebp), %edi
				movl	FAULTY.6086@GOTOFF(%edi), %eax
				negl	%eax
				movl	%eax, %edx
				movl	IMPCOM@GOT(%edi), %eax
				movl	%edx, (%eax)
				jmp	.L36
		.L41:
				nop
		.L36:
				movl	$0, -108652(%ebp)
		.LBB358:
		.LBB359:
				subl	$12, %esp
				pushl	-108652(%ebp)
				movl	-108672(%ebp), %ebx
				call	exit@PLT
		.LBE359:
		.LBE358:
		.LFE189:
				.section	.rodata
				.align 4
		.LC70:
				.string	"Illegal cycle J = AD + 1, 1, AD + *_imp_BYTEINTEGER(AD)"
		PRINTIDENT.6201:
		.LFB191:
 2737 %ENDOFPROGRAM
 2310 Statements compiled
