         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin; ! LC (Low-level compiler) for 8086
		.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:
				.section	.rodata
		.LC9:
				.string	""
				.align 32
		.LC8:
				.byte	3
				.string	"** "
				.zero	251
				.align 32
		.LC5:
				.byte	14
				.string	"test-in/lc.imp"
				.zero	240
		FAULT.6069:
		.LFB190:
				leal	4(%esp), %ecx
				andl	$-16, %esp
				pushl	-4(%ecx)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				pushl	%ecx
				subl	$16504, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%esi, -16512(%ebp)
				movl	%ecx, %eax
				movl	4(%eax), %edx
				movl	%edx, -16508(%ebp)
				movl	%gs:20, %ebx
				movl	%ebx, -28(%ebp)
				xorl	%ebx, %ebx
				leal	8(%ebp), %edx
				movl	%edx, -3532(%ebp)
				subl	$8, %esp
				pushl	-16508(%ebp)
				pushl	(%eax)
				movl	%esi, %ebx
				call	_imp_initialise@PLT
				addl	$16, %esp
    2
    3 ! Statement -> CONST {tag = cexpr}+
    4 !              {WORD, BYTE} {tag { (cexpr:cexpr) }? {= {data}+ }? }*
    5 !              SPEC tag string
    6 !              PROC tag {string}? {tag}*
    7 !              END
    8 !              tag :
    9 !              {instruction, ELSE}? {IF expr comp expr}?
   10 !              CYCLE
   11 !              FINISH
   12 ! Instruction -> MOVE {string opd, cexpr opd opd}
   13 !                JUMP tag
   14 !                REPEAT
   15 !                RETURN {expr}?
   16 !                opd = expr
   17 !                tag {expr}*
   18 ! Data -> {string, cexpr { (cexpr) }? }
   19 ! Cexpr -> const {op const}*
   20 ! Expr -> {opd, const} {op {opd, const} }*
   21 ! Opd -> tag { ( {opd, const} ) }?
   22 ! Op -> + - & ! \ * / % << >>
   23 ! Comp -> = # < > <= >= [ ] [= ]=
   24 ! Comments are enclosed between { and } or | and NL.
   25
   26 ! Calling convention: Push parms, then XCALL or Push CS, CALL.
   27 !Entry: Push DS, Push BP, Mov BP,SP, {Sub SP,framesize}?,
   28 !        {Mov AX,Glaseg, Mov DS,AX}? Xor AX,AX, Push AX
   29 !Return: Mov SP,BP, Pop BP, Pop DS, Xret parmsize.
   30
   31 %constinteger source=1,diag=0,object=1,list=2;  !Streams
   32
   33 %constinteger linemax=80,atommax=50,tagmax=200,textmax=20
   34 %constinteger codemax=3499,glamax=499
   35 %byteintegerarray line(1:linemax)
				leal	-16424(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$8088, %eax
				movl	%eax, -16424(%ebp)
				movl	$1, -16420(%ebp)
   36 %byteintegerarray code(0:codemax)
				leal	-16356(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$4088, %eax
				movl	%eax, -16356(%ebp)
				movl	$1, -16352(%ebp)
   37 %byteintegerarray gla(0:glamax)
				leal	-16288(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$7588, %eax
				movl	%eax, -16288(%ebp)
				movl	$1, -16284(%ebp)
   38 %integerarray atomtype,atomval(1:atommax)
				leal	-16220(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$3624, %eax
				movl	%eax, -16220(%ebp)
				movl	$4, -16216(%ebp)
				leal	-16152(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$3424, %eax
				movl	%eax, -16152(%ebp)
				movl	$4, -16148(%ebp)
   39 %integerarray tag1,tag2,tagtype,tagval(1:tagmax)
				leal	-16084(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$2608, %eax
				movl	%eax, -16084(%ebp)
				movl	$4, -16080(%ebp)
				leal	-16016(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$1808, %eax
				movl	%eax, -16016(%ebp)
				movl	$4, -16012(%ebp)
				leal	-15948(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$1008, %eax
				movl	%eax, -15948(%ebp)
				movl	$4, -15944(%ebp)
				leal	-15880(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$208, %eax
				movl	%eax, -15880(%ebp)
				movl	$4, -15876(%ebp)
   40 %integerarray texttype,textval(1:textmax)
				leal	-15812(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$108, %eax
				movl	%eax, -15812(%ebp)
				movl	$4, -15808(%ebp)
				leal	-15744(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-11700(%ebp), %eax
				addl	$28, %eax
				movl	%eax, -15744(%ebp)
				movl	$4, -15740(%ebp)
   41 %integer type,val,t,v,atompos,ifpos,floc,parms
   42 %integer oldapos,oldcpos,oldtpos,access,textlevel
   43 %integer lineno=0,cloc=0,gloc=0,level=0,gpos=0,cpos=0,tagpos=1
				movl	$0, %eax
				movl	%eax, -7872(%ebp)
				movl	$0, %eax
				movl	%eax, -8280(%ebp)
				movl	$0, %eax
				movl	%eax, -8284(%ebp)
				movl	$0, %eax
				movl	%eax, -11684(%ebp)
				movl	$0, %eax
				movl	%eax, -11504(%ebp)
				movl	$0, %eax
				movl	%eax, -11508(%ebp)
				movl	$1, %eax
				movl	%eax, -8292(%ebp)
   44 %string(31)program
   45
   46 !Atom types
   47 %constinteger unknown=0,constant=1,string=2,label=3
   48 %constinteger var=4, wordbit=1, glabit=2, varmask=16_fc
   49 %constinteger proc=8,xproc=9,spec=10
   50 %constinteger op=11,comp=12,colon=13,sep=14,bracket=15,bx=16!wordbit
   51
   52 ! Keyword types
   53 %constinteger kconst=17,kword=18,kbyte=19,kspec=20,kproc=21
   54 %constinteger kend=22,kmove=23,kjump=24,kreturn=25,kprogram=26
   55 %constinteger kelse=27,kfinish=28,kcycle=29,krepeat=30
   56
   57 !Operator codes
   58 %constinteger load=1,add=2,sub=3,and=4,or=5,xor=6,cmp=7,
   59               mul=8,div=9,rem=10,left=11,right=12,store=13,lea=14
   60
   61 !Keyword tag codes (1:36 = A:Z,0:9) 1st {*37 + 2nd {*37 + 3rd}? }?
   62 %constinteger if=339
   63 %ownintegerarray n1(kconst:krepeat)=
				leal	-15676(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	N1.6064@GOTOFF(%esi), %eax
				movl	%eax, -15676(%ebp)
				movl	$4, -15672(%ebp)
   64   4676, 32060, 3683, 26608, 22585, 7367, 18374, 14480, 24847, 22585,
   65   7308,  8561, 5035, 24843
   66 %ownintegerarray n2(kconst:krepeat)=
				leal	-15608(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	N2.6066@GOTOFF(%esi), %eax
				movl	%eax, -15608(%ebp)
				movl	$4, -15604(%ebp)
   67    723,     4,    5,     3,     3,    0,     5,    16, 29429, 10250,
   68      5, 13032,  449,  6902
   69
   70 !Fault numbers
   71 %constinteger complex=1,atom=2,consterr=3,bfull=4,form=5,ambig=6,
   72      nested=7,declate=8,far=9,labund=10,level0=11,varund=12,dfull=13,
   73      repexp=14,finexp=15,context=16,maxfault=16
   74
   75 %routine fault(%integer n)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1916, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%esi, -1920(%ebp)
				movl	%ecx, -1916(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
   76 %ownstring(15)%array s(1:maxfault)=
				leal	-1888(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	S.6071@GOTOFF(%ebx), %eax
				movl	%eax, -1888(%ebp)
				movl	$256, -1884(%ebp)
   77 "Complex",
   78 "Atom",
   79 "Not constant",
   80 "Buffer full",
   81 "Form",
   82 "Ambiguous",
   83 "Nesting",
   84 "Too late",
   85 "Too far",
   86 "Label missing",
   87 "Code misplaced",
   88 "Name",
   89 "Dict full",
   90 "Repeat expected",
   91 "Finish expected",
   92 "Context"
   93 %integer i,sym
   94    selectoutput(diag); write(lineno,1); space
				subl	$12, %esp
				pushl	$0
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				movl	3828(%esi), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB202:
		.LBB203:
				call	_imp_space@PLT
		.LBE203:
		.LBE202:
   95    i=1
				movl	$1, -1896(%ebp)
		.L10:
   96    %cycle
   97       sym=line(i); printsymbol(sym); i=i+1
				movl	-1896(%ebp), %eax
				subl	$1, %eax
				movl	-1920(%ebp), %edi
				movzbl	8088(%edi,%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -1892(%ebp)
				movl	-1892(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -1897(%ebp)
		.LBB204:
		.LBB205:
				movsbl	-1897(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE205:
		.LBE204:
				addl	$1, -1896(%ebp)
   98    %repeatuntil sym=nl
				cmpl	$10, -1892(%ebp)
				je	.L20
				jmp	.L10
		.L20:
				nop
		.L12:
		.LBB206:
   99    printstring(s(n)); write(atompos-1,1); newline
				movl	8(%ebp), %eax
				leal	-1(%eax), %edx
				leal	S.6071@GOTOFF(%ebx), %eax
				sall	$8, %edx
				addl	%eax, %edx
				leal	-284(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-284(%ebp), %edx
				leal	-796(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE206:
		.LBB207:
		.LBB208:
				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
		.LBE208:
		.LBE207:
				movl	-1920(%ebp), %eax
				movl	3824(%eax), %eax
				subl	$1, %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB209:
		.LBB210:
				call	_imp_newline@PLT
		.LBE210:
		.LBE209:
  100    selectoutput(list)
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
		.LBB211:
  101    printstring("** "); printstring(s(n))
				leal	-284(%ebp), %eax
				leal	.LC8@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
				leal	-284(%ebp), %eax
				leal	-1820(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE211:
		.LBB212:
		.LBB213:
				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
		.LBE213:
		.LBE212:
		.LBB214:
				movl	8(%ebp), %eax
				leal	-1(%eax), %edx
				leal	S.6071@GOTOFF(%ebx), %eax
				sall	$8, %edx
				addl	%eax, %edx
				leal	-540(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-540(%ebp), %edx
				leal	-540(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE214:
		.LBB215:
		.LBB216:
				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
		.LBE216:
		.LBE215:
  102    write(atompos-1,1); newline
				movl	-1920(%ebp), %eax
				movl	3824(%eax), %eax
				subl	$1, %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB217:
		.LBB218:
				call	_imp_newline@PLT
		.LBE218:
		.LBE217:
  103    %signalevent 15
				leal	-1308(%ebp), %eax
				subl	$8, %esp
				leal	.LC9@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, -1920(%ebp)
				jmp	.L14
		.L13:
				movl	$103, -1920(%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	-1052(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L16
		.L15:
		.LBB219:
				leal	-1052(%ebp), %eax
				leal	.LC5@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
		.LBE219:
				leal	-1052(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L16:
				pushl	$0
				pushl	$0
				pushl	$15
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1308(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-1920(%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_event@PLT
				addl	$528, %esp
  104 %end
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L18
				call	__stack_chk_fail_local
		.L18:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE190:
				.section	.rodata
				.align 32
		.LC0:
				.byte	3
				.string	".lc"
				.zero	251
				.align 32
		.LC1:
				.byte	4
				.string	".iob"
				.zero	250
				.align 32
		.LC2:
				.byte	4
				.string	".lis"
				.zero	250
				.align 32
		.LC3:
				.byte	45
				.string	"                  LC Cross-compiler  06/01/81"
				.zero	209
				.align 32
		.LC4:
				.byte	1
				.string	"_"
				.zero	253
				.globl	main
		main:
		.LFB189:
  105
  106 %routine readline
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$2172, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %edi
				movl	%edi, -2176(%ebp)
				movl	%ecx, -2172(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -2080(%ebp)
				movl	%edi, -2084(%ebp)
  107 %owninteger semi=0
  108 %OWNINTEGER QUOTE=0
  109 %integer sym,n1,n2,radix,i,quoted,lpos
  110
  111   %routine phex(%integer x)
				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)
  112   %integer k,i
  113     %for i=12,-4,0 %cycle
				movl	$16, -12(%ebp)
		.L174:
				cmpl	$0, -12(%ebp)
				je	.L181
				subl	$4, -12(%ebp)
				nop
		.L176:
  114       k=x>>i&15; k=k+7 %if k>9
				movl	8(%ebp), %edx
				movl	-12(%ebp), %eax
				movl	%eax, %ecx
				shrl	%cl, %edx
				movl	%edx, %eax
				andl	$15, %eax
				movl	%eax, -16(%ebp)
				cmpl	$9, -16(%ebp)
				jle	.L182
				addl	$7, -16(%ebp)
				jmp	.L178
		.L182:
				nop
		.L178:
  115       printsymbol(k+'0')
				movl	-16(%ebp), %eax
				addl	$48, %eax
				movsbl	%al, %eax
				movb	%al, -17(%ebp)
		.LBB283:
		.LBB284:
				movsbl	-17(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE284:
		.LBE283:
  116     %repeat
				jmp	.L174
		.L181:
  117   %end
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE192:
				.section	.rodata
				.align 4
		.LC10:
				.string	"Illegal cycle I = TAGPOS - 1,  -1, 1"
				.align 32
		.LC6:
				.byte	2
				.string	" C"
				.zero	252
				.align 32
		.LC7:
				.byte	2
				.string	" D"
				.zero	252
		READLINE.6086:
		.LFB191:
  118
  119   %routine putatom(%integer t,v)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  120     fault(complex) %if atompos>atommax
				movl	(%ebx), %eax
				movl	3824(%eax), %eax
				cmpl	$50, %eax
				jle	.L450
				movl	(%ebx), %eax
				subl	$12, %esp
				pushl	$1
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L447
		.L450:
				nop
		.L447:
  121     atomtype(atompos)=t; atomval(atompos)=v
				movl	(%ebx), %eax
				movl	3824(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				leal	904(%edx), %ecx
				movl	8(%ebp), %edx
				movl	%edx, 8(%eax,%ecx,4)
				movl	(%ebx), %eax
				movl	3824(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				leal	856(%edx), %ecx
				movl	12(%ebp), %edx
				movl	%edx, (%eax,%ecx,4)
  122     atompos=atompos+1
				movl	(%ebx), %eax
				movl	3824(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 3824(%eax)
  123   %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L449
				call	__stack_chk_fail_local
		.L449:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE193:
		NEXTATOM.6216:
		.LFB194:
  124
  125    selectoutput(list)
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
		.L184:
  126    %cycle
  127       %if semi=0 %start
				movl	SEMI.6088@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L374
				nop
		.L186:
  128         write(lineno+1,4)
				movl	-2176(%ebp), %eax
				movl	3828(%eax), %eax
				addl	$1, %eax
				subl	$8, %esp
				pushl	$4
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB285:
  129         printstring(" C"); phex(cloc); printstring(" D"); phex(gloc)
				leal	-796(%ebp), %eax
				leal	.LC6@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2076(%ebp), %eax
				leal	-796(%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
		.LBE285:
		.LBB286:
		.LBB287:
				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
		.LBE287:
		.LBE286:
				movl	-2176(%ebp), %eax
				movl	3420(%eax), %edx
				subl	$12, %esp
				leal	-2084(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	PHEX.6098
				addl	$16, %esp
		.LBB288:
				leal	-796(%ebp), %eax
				leal	.LC7@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1820(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-1820(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE288:
		.LBB289:
		.LBB290:
				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
		.LBE290:
		.LBE289:
				movl	-2176(%ebp), %eax
				movl	3416(%eax), %edx
				subl	$12, %esp
				leal	-2084(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	PHEX.6098
				addl	$16, %esp
		.LBB291:
		.LBB292:
				call	_imp_space@PLT
				jmp	.L186
		.L374:
		.LBE292:
		.LBE291:
  130         space
  131       %finish
  132       lpos=1; quoted=0
				movl	$1, -2140(%ebp)
				movl	$0, -2144(%ebp)
		.L187:
		.L188:
  133       %cycle
  134 next:    %if lpos+quoted=linemax %start; ! line nearly too long: force end
				movl	-2140(%ebp), %edx
				movl	-2144(%ebp), %eax
				addl	%edx, %eax
				cmpl	$80, %eax
				jne	.L375
				nop
		.L190:
				leal	-2164(%ebp), %eax
				movl	%eax, -2100(%ebp)
		.LBB293:
		.LBB294:
				subl	$12, %esp
				pushl	-2100(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.L194:
		.LBE294:
		.LBE293:
  135             %if quoted=0 %then sym=nl %else sym=quote
				cmpl	$0, -2144(%ebp)
				jne	.L376
				movl	$10, -2164(%ebp)
				nop
		.L193:
				nop
		.L192:
				movl	QUOTE.6089@GOTOFF(%ebx), %eax
				movl	%eax, -2164(%ebp)
  136          %else
				jmp	.L194
		.L376:
				jmp	.L194
		.L375:
  137             readsymbol(sym)
  138          %finish
  139          printsymbol(sym)
				movl	-2164(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -2167(%ebp)
		.LBB295:
		.LBB296:
				movsbl	-2167(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE296:
		.LBE295:
  140          %if quoted=0 %start
				cmpl	$0, -2144(%ebp)
				jne	.L377
				nop
		.L196:
  141            quoted=1 %if sym='''' %or sym='"'
				movl	-2164(%ebp), %eax
				cmpl	$39, %eax
				je	.L378
				movl	-2164(%ebp), %eax
				cmpl	$34, %eax
				jne	.L379
				jmp	.L198
		.L378:
				nop
		.L198:
				movl	$1, -2144(%ebp)
				jmp	.L199
		.L379:
				nop
		.L199:
  142            quote=sym %if quoted#0
				cmpl	$0, -2144(%ebp)
				je	.L380
				movl	-2164(%ebp), %eax
				movl	%eax, QUOTE.6089@GOTOFF(%ebx)
				nop
		.L201:
  143          %else
				jmp	.L204
		.L380:
				jmp	.L204
		.L377:
  144            quoted=0 %if sym=quote
				movl	-2164(%ebp), %edx
				movl	QUOTE.6089@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L381
				movl	$0, -2144(%ebp)
				jmp	.L204
		.L202:
		.L381:
				nop
		.L204:
  145          %finish
  146          %if quoted=0 %start
				cmpl	$0, -2144(%ebp)
				jne	.L382
				nop
				jmp	.L221
		.L389:
  147             %if sym='{' %start; ! Comment
				movl	-2164(%ebp), %eax
				cmpl	$123, %eax
				jne	.L383
				nop
		.L208:
		.LBB303:
  148                %cycle
				nop
		.L207:
				leal	-2164(%ebp), %eax
				movl	%eax, -2096(%ebp)
		.LBB297:
		.LBB298:
				subl	$12, %esp
				pushl	-2096(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE298:
		.LBE297:
  149                   readsymbol(sym)
  150                   printsymbol(sym)
				movl	-2164(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -2166(%ebp)
		.LBB299:
		.LBB300:
				movsbl	-2166(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE300:
		.LBE299:
  151                   %if sym=nl %start
				movl	-2164(%ebp), %eax
				cmpl	$10, %eax
				jne	.L384
				nop
		.L210:
  152                      lineno=lineno+1; spaces(18)
				movl	-2176(%ebp), %edi
				movl	3828(%edi), %eax
				addl	$1, %eax
				movl	%eax, 3828(%edi)
				movl	$18, -2092(%ebp)
		.LBB301:
		.LBB302:
				subl	$12, %esp
				pushl	-2092(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
				jmp	.L210
		.L384:
		.LBE302:
		.LBE301:
  153                   %finish
  154                %repeatuntil sym='}'
				movl	-2164(%ebp), %eax
				cmpl	$125, %eax
				je	.L385
				jmp	.L207
		.L385:
				nop
		.L212:
  155                ->next
				jmp	.L187
		.L383:
  156             %finish
  157             sym=sym-32 %if 'a'<=sym<='z'; semi=0
				movl	-2164(%ebp), %eax
				movl	%eax, -2136(%ebp)
				cmpl	$96, -2136(%ebp)
				jle	.L386
				cmpl	$122, -2136(%ebp)
				jg	.L387
		.LBE303:
				movl	-2164(%ebp), %eax
				subl	$32, %eax
				movl	%eax, -2164(%ebp)
				jmp	.L214
		.L386:
		.LBB304:
				nop
				jmp	.L214
		.L387:
				nop
		.L214:
		.LBE304:
				movl	$0, SEMI.6088@GOTOFF(%ebx)
  158             %if sym=';' %start
				movl	-2164(%ebp), %eax
				cmpl	$59, %eax
				jne	.L388
				nop
		.L217:
  159               sym=nl; lineno=lineno-1; semi=1
				movl	$10, -2164(%ebp)
				movl	-2176(%ebp), %edi
				movl	3828(%edi), %eax
				subl	$1, %eax
				movl	%eax, 3828(%edi)
				movl	$1, SEMI.6088@GOTOFF(%ebx)
				jmp	.L217
		.L388:
  160             %finish
  161             %if sym='|' %start
				movl	-2164(%ebp), %eax
				cmpl	$124, %eax
				jne	.L389
				nop
				jmp	.L221
		.L390:
  162               readsymbol(sym) %and printsymbol(sym) %until sym=nl
				nop
		.L218:
				leal	-2164(%ebp), %eax
				movl	%eax, -2088(%ebp)
		.LBB305:
		.LBB306:
				subl	$12, %esp
				pushl	-2088(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE306:
		.LBE305:
				movl	-2164(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -2165(%ebp)
		.LBB307:
		.LBB308:
				movsbl	-2165(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE308:
		.LBE307:
				movl	-2164(%ebp), %eax
				cmpl	$10, %eax
				je	.L390
				jmp	.L218
		.L206:
		.L220:
		.L382:
				nop
		.L221:
  163             %finish
  164          %finish
  165          lineno=lineno+1 %if sym=nl
				movl	-2164(%ebp), %eax
				cmpl	$10, %eax
				jne	.L391
				movl	-2176(%ebp), %edi
				movl	3828(%edi), %eax
				addl	$1, %eax
				movl	%eax, 3828(%edi)
				jmp	.L223
		.L391:
				nop
		.L223:
  166          line(lpos)=sym; lpos=lpos+1
				movl	-2164(%ebp), %edx
				movl	-2140(%ebp), %eax
				subl	$1, %eax
				movl	-2176(%ebp), %edi
				movb	%dl, 8088(%edi,%eax)
				addl	$1, -2140(%ebp)
  167       %repeatuntil sym=nl %and quoted=0
				movl	-2164(%ebp), %eax
				cmpl	$10, %eax
				jne	.L392
				cmpl	$0, -2144(%ebp)
				je	.L393
				jmp	.L225
		.L392:
				nop
		.L225:
				jmp	.L187
		.L393:
				nop
		.L226:
  168    %repeatuntil lpos>2; ! non-empty line
				cmpl	$2, -2140(%ebp)
				jg	.L394
				jmp	.L184
		.L394:
				nop
		.L228:
  169
  170 ! Now decompose line into atoms
  171
  172    atompos=1; ifpos=0; lpos=1
				movl	$1, %eax
				movl	-2176(%ebp), %edi
				movl	%eax, 3824(%edi)
				movl	$0, %eax
				movl	%eax, 3412(%edi)
				movl	$1, -2140(%ebp)
		.L229:
		.L230:
  173 nextatom:
  174    %cycle
  175       sym=line(lpos); lpos=lpos+1
				movl	-2140(%ebp), %eax
				subl	$1, %eax
				movl	-2176(%ebp), %edi
				movzbl	8088(%edi,%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -2164(%ebp)
				addl	$1, -2140(%ebp)
		.LBB309:
  176       ->tag %if 'A'<=sym<='Z'
				movl	-2164(%ebp), %eax
				movl	%eax, -2132(%ebp)
				cmpl	$64, -2132(%ebp)
				jle	.L395
				cmpl	$90, -2132(%ebp)
				jle	.L396
				jmp	.L232
		.L395:
				nop
		.L232:
		.LBE309:
		.LBB310:
				nop
		.L234:
  177       ->num %if '0'<=sym<='9'
				movl	-2164(%ebp), %eax
				movl	%eax, -2112(%ebp)
				cmpl	$47, -2112(%ebp)
				jle	.L397
				cmpl	$57, -2112(%ebp)
				jle	.L398
				jmp	.L236
		.L397:
				nop
		.L236:
		.LBE310:
				nop
		.L238:
  178       %if sym=nl %start
				movl	-2164(%ebp), %eax
				cmpl	$10, %eax
				jne	.L399
				nop
		.L240:
  179         putatom(sep,0); atompos=1; %return
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$0
				pushl	$14
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
				movl	$1, %eax
				movl	-2176(%ebp), %ebx
				movl	%eax, 3824(%ebx)
				nop
  180       %finish
  181       %if sym=':' %start
				movl	-2164(%ebp), %eax
				cmpl	$58, %eax
				jne	.L400
				nop
		.L243:
  182          putatom(colon,0)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$0
				pushl	$13
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  183       %finishelseif sym='+' %start
				jmp	.L294
		.L400:
				movl	-2164(%ebp), %eax
				cmpl	$43, %eax
				jne	.L401
				nop
		.L246:
  184         putatom(op,add)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$2
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  185       %finishelseif sym='-' %start
				jmp	.L294
		.L401:
				movl	-2164(%ebp), %eax
				cmpl	$45, %eax
				jne	.L402
				nop
		.L248:
  186         putatom(op,sub)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$3
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  187       %finishelseif sym='&' %start
				jmp	.L294
		.L402:
				movl	-2164(%ebp), %eax
				cmpl	$38, %eax
				jne	.L403
				nop
		.L250:
  188         putatom(op,and)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$4
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  189       %finishelseif sym='!' %start
				jmp	.L294
		.L403:
				movl	-2164(%ebp), %eax
				cmpl	$33, %eax
				jne	.L404
				nop
		.L252:
  190         putatom(op,or)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$5
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  191       %finishelseif sym='\' %start
				jmp	.L294
		.L404:
				movl	-2164(%ebp), %eax
				cmpl	$92, %eax
				jne	.L405
				nop
		.L254:
  192         putatom(op,xor)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$6
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  193       %finishelseif sym='*' %start
				jmp	.L294
		.L405:
				movl	-2164(%ebp), %eax
				cmpl	$42, %eax
				jne	.L406
				nop
		.L256:
  194         putatom(op,mul)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$8
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  195       %finishelseif sym='%' %start
				jmp	.L294
		.L406:
				movl	-2164(%ebp), %eax
				cmpl	$37, %eax
				jne	.L407
				nop
		.L258:
  196         putatom(op,rem)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$10
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  197       %finishelseif sym='/' %start
				jmp	.L294
		.L407:
				movl	-2164(%ebp), %eax
				cmpl	$47, %eax
				jne	.L408
				nop
		.L260:
  198         putatom(op,div)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$9
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  199       %finishelseif sym='<' %or sym='>' %start
				jmp	.L294
		.L408:
				movl	-2164(%ebp), %eax
				cmpl	$60, %eax
				je	.L409
				movl	-2164(%ebp), %eax
				cmpl	$62, %eax
				jne	.L410
				jmp	.L262
		.L409:
				nop
		.L262:
				nop
		.L263:
  200          %if line(lpos)=sym %start; ! '<<', '>>'
				movl	-2140(%ebp), %eax
				subl	$1, %eax
				movl	-2176(%ebp), %ecx
				movzbl	8088(%ecx,%eax), %eax
				movzbl	%al, %edx
				movl	-2164(%ebp), %eax
				cmpl	%eax, %edx
				jne	.L411
				nop
		.L270:
  201             lpos=lpos+1
				addl	$1, -2140(%ebp)
  202             %if sym='<' %then putatom(op,left) %else putatom(op,right)
				movl	-2164(%ebp), %eax
				cmpl	$60, %eax
				jne	.L412
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$11
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
				nop
		.L268:
				nop
		.L267:
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$12
				pushl	$11
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  203          %else; ! '<', '>', '<=', '>='
				jmp	.L269
		.L412:
				jmp	.L269
		.L265:
		.L411:
  204 square:         !+'[', ']', '[=', ']='
  205             %if line(lpos)='=' %start
				movl	-2140(%ebp), %eax
				subl	$1, %eax
				movl	-2176(%ebp), %edi
				movzbl	8088(%edi,%eax), %eax
				cmpb	$61, %al
				jne	.L413
				nop
		.L272:
  206                lpos=lpos+1; sym=sym+128
				addl	$1, -2140(%ebp)
				movl	-2164(%ebp), %eax
				subl	$-128, %eax
				movl	%eax, -2164(%ebp)
				jmp	.L272
		.L413:
  207             %finish
  208             putatom(comp,sym)
				movl	-2164(%ebp), %edx
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	%edx
				pushl	$12
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  209          %finish
  210       %finishelseif sym='(' %or sym=')' %start
				jmp	.L294
		.L269:
				jmp	.L294
		.L410:
				movl	-2164(%ebp), %eax
				cmpl	$40, %eax
				je	.L414
				movl	-2164(%ebp), %eax
				cmpl	$41, %eax
				jne	.L415
				jmp	.L274
		.L414:
				nop
		.L274:
				nop
		.L275:
  211         putatom(bracket,sym)
				movl	-2164(%ebp), %edx
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	%edx
				pushl	$15
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  212       %finishelseif sym='[' %or sym=']' %start
				jmp	.L294
		.L415:
				movl	-2164(%ebp), %eax
				cmpl	$91, %eax
				je	.L416
				movl	-2164(%ebp), %eax
				cmpl	$93, %eax
				jne	.L417
				jmp	.L277
		.L416:
				nop
		.L277:
				nop
		.L278:
  213          ->square
				jmp	.L270
		.L417:
  214       %finishelseif sym='=' %or sym='#' %start
				movl	-2164(%ebp), %eax
				cmpl	$61, %eax
				je	.L418
				movl	-2164(%ebp), %eax
				cmpl	$35, %eax
				jne	.L419
				jmp	.L280
		.L418:
				nop
		.L280:
				nop
		.L281:
  215          putatom(comp,sym)
				movl	-2164(%ebp), %edx
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	%edx
				pushl	$12
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  216       %finishelseif sym='"' %start
				jmp	.L294
		.L419:
				movl	-2164(%ebp), %eax
				cmpl	$34, %eax
				jne	.L420
				nop
		.L283:
  217          putatom(string,lpos)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	-2140(%ebp)
				pushl	$2
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
		.L284:
  218          lpos=lpos+1 %while line(lpos)#'"'; ! we know it's there
				movl	-2140(%ebp), %eax
				subl	$1, %eax
				movl	-2176(%ebp), %ecx
				movzbl	8088(%ecx,%eax), %eax
				cmpb	$34, %al
				je	.L421
				addl	$1, -2140(%ebp)
				jmp	.L284
		.L421:
				nop
		.L286:
  219          lpos=lpos+1
				addl	$1, -2140(%ebp)
  220       %finishelseif sym='''' %start
				jmp	.L294
		.L420:
				movl	-2164(%ebp), %eax
				cmpl	$39, %eax
				jne	.L422
				nop
		.L288:
  221          sym=line(lpos); lpos=lpos+1 %if sym=''''
				movl	-2140(%ebp), %eax
				subl	$1, %eax
				movl	-2176(%ebp), %edx
				movzbl	8088(%edx,%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -2164(%ebp)
				movl	-2164(%ebp), %eax
				cmpl	$39, %eax
				jne	.L423
				addl	$1, -2140(%ebp)
				jmp	.L290
		.L423:
				nop
		.L290:
  222          fault(atom) %if line(lpos+1)#''''
				movl	-2140(%ebp), %eax
				addl	-2176(%ebp), %eax
				addl	$8088, %eax
				movzbl	(%eax), %eax
				cmpb	$39, %al
				je	.L424
				subl	$12, %esp
				pushl	$2
				movl	-2176(%ebp), %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L292
		.L424:
				nop
		.L292:
  223          putatom(constant,sym); lpos=lpos+2
				movl	-2164(%ebp), %edx
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	%edx
				pushl	$1
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
				addl	$2, -2140(%ebp)
  224       %else
				jmp	.L294
		.L422:
  225          fault(atom) %unless sym=' '
				movl	-2164(%ebp), %eax
				cmpl	$32, %eax
				je	.L425
				subl	$12, %esp
				pushl	$2
				movl	-2176(%ebp), %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L229
		.L244:
		.L425:
				nop
		.L294:
  226       %finish
  227    %repeat
				jmp	.L229
		.L398:
  228 num: i=0; radix=10; ! I accumulates number, default radix is ten
				movl	$0, -2148(%ebp)
				movl	$10, -2152(%ebp)
		.L295:
  229    %cycle
  230       %if sym='_' %start; ! change radix
				movl	-2164(%ebp), %eax
				cmpl	$95, %eax
				jne	.L426
				nop
		.L297:
		.LBB311:
  231          radix=i; i=0
				movl	-2148(%ebp), %eax
				movl	%eax, -2152(%ebp)
				movl	$0, -2148(%ebp)
  232       %finishelseif '9'<sym<'A' %start
				jmp	.L298
		.L426:
				movl	-2164(%ebp), %eax
				movl	%eax, -2108(%ebp)
				cmpl	$57, -2108(%ebp)
				jle	.L427
				cmpl	$64, -2108(%ebp)
				jg	.L428
		.LBE311:
				nop
				jmp	.L300
		.L428:
				nop
		.L300:
		.LBE312:
  233 endconst: putatom(constant,i); lpos=lpos-1; ->nextatom
				nop
		.L301:
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	-2148(%ebp)
				pushl	$1
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
				subl	$1, -2140(%ebp)
				jmp	.L229
		.L427:
		.LBB312:
  234       %else
  235          sym=sym-7 %if sym>'9'; sym=sym-'0'
				movl	-2164(%ebp), %eax
				cmpl	$57, %eax
				jle	.L429
				movl	-2164(%ebp), %eax
				subl	$7, %eax
				movl	%eax, -2164(%ebp)
				jmp	.L303
		.L429:
				nop
		.L303:
				movl	-2164(%ebp), %eax
				subl	$48, %eax
				movl	%eax, -2164(%ebp)
		.LBB313:
  236          ->endconst %unless 0<=sym<radix
				movl	-2164(%ebp), %eax
				movl	%eax, -2104(%ebp)
				cmpl	$0, -2104(%ebp)
				js	.L430
				movl	-2104(%ebp), %eax
				cmpl	-2152(%ebp), %eax
				jl	.L431
		.LBE313:
				jmp	.L305
		.L430:
		.LBB314:
				nop
		.L305:
		.LBE314:
				jmp	.L301
		.L431:
		.LBB315:
				nop
		.L306:
		.LBE315:
  237          i=i*radix+sym
				movl	-2148(%ebp), %eax
				imull	-2152(%ebp), %eax
				movl	%eax, %edx
				movl	-2164(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -2148(%ebp)
		.L298:
  238       %finish
  239       sym=line(lpos); lpos=lpos+1
				movl	-2140(%ebp), %eax
				subl	$1, %eax
				movl	-2176(%ebp), %ecx
				movzbl	8088(%ecx,%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -2164(%ebp)
				addl	$1, -2140(%ebp)
  240    %repeat
				jmp	.L295
		.L396:
  241 tag: n1=sym-'A'+1; n2=0; i=1; ! I counts name length
				movl	-2164(%ebp), %eax
				subl	$64, %eax
				movl	%eax, -2160(%ebp)
				movl	$0, -2156(%ebp)
				movl	$1, -2148(%ebp)
		.L307:
  242    %cycle
  243       sym=line(lpos)
				movl	-2140(%ebp), %eax
				subl	$1, %eax
				movl	-2176(%ebp), %esi
				movzbl	8088(%esi,%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -2164(%ebp)
		.LBB316:
  244       %if 'A'<=sym<='Z' %start
				movl	-2164(%ebp), %eax
				movl	%eax, -2128(%ebp)
				cmpl	$64, -2128(%ebp)
				jle	.L432
				cmpl	$90, -2128(%ebp)
				jg	.L433
		.LBE316:
				nop
				jmp	.L309
		.L433:
				nop
		.L309:
		.LBE317:
		.LBB318:
  245          sym=sym-'A'+1
				movl	-2164(%ebp), %eax
				subl	$64, %eax
				movl	%eax, -2164(%ebp)
  246       %finishelseif '0'<=sym<='9' %start
				jmp	.L311
		.L432:
		.LBB317:
				movl	-2164(%ebp), %eax
				movl	%eax, -2124(%ebp)
				cmpl	$47, -2124(%ebp)
				jle	.L434
				cmpl	$57, -2124(%ebp)
				jg	.L435
		.LBE318:
				nop
				jmp	.L313
		.L435:
				nop
		.L313:
		.LBE319:
  247          sym=sym-'0'+27
				movl	-2164(%ebp), %eax
				subl	$21, %eax
				movl	%eax, -2164(%ebp)
  248       %else
				jmp	.L311
		.L434:
		.LBB319:
  249          %if n1=if %start
				cmpl	$339, -2160(%ebp)
				jne	.L436
				nop
		.L316:
		.LBB320:
  250             fault(form) %unless ifpos=0
				movl	-2176(%ebp), %eax
				movl	3412(%eax), %eax
				testl	%eax, %eax
				je	.L437
				subl	$12, %esp
				pushl	$5
				movl	-2176(%ebp), %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L318
		.L437:
				nop
		.L318:
  251             ifpos=atompos; putatom(sep,0)
				movl	-2176(%ebp), %ecx
				movl	3824(%ecx), %eax
				movl	%eax, 3412(%ecx)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	$0
				pushl	$14
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  252          %else; ! Look up in dictionary
				jmp	.L319
		.L436:
  253             %for i=tagpos-1,-1,1 %cycle
				movl	-2176(%ebp), %eax
				movl	3408(%eax), %eax
				subl	$1, %eax
				movl	%eax, -2120(%ebp)
		.LBB321:
				movl	$1, %eax
				subl	-2120(%ebp), %eax
				movl	%eax, -2116(%ebp)
				movl	-2116(%ebp), %eax
				notl	%eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE321:
				testl	%eax, %eax
				je	.L320
				leal	-1052(%ebp), %eax
				subl	$8, %esp
				leal	.LC10@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	.L321
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -2180(%ebp)
				jmp	.L322
		.L321:
				movl	$253, -2180(%ebp)
		.L322:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L323
				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	.L324
		.L323:
		.LBB322:
				leal	-1564(%ebp), %eax
				leal	.LC5@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE322:
				leal	-796(%ebp), %eax
				leal	-1308(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L324:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1052(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-2180(%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_event@PLT
				addl	$528, %esp
		.L320:
				movl	-2120(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -2148(%ebp)
		.L325:
				cmpl	$1, -2148(%ebp)
				je	.L438
				subl	$1, -2148(%ebp)
				nop
		.L327:
		.LBE320:
  254                %if tag1(i)=n1 %and tag2(i)=n2 %start
				movl	-2148(%ebp), %eax
				subl	$1, %eax
				addl	$652, %eax
				movl	-2176(%ebp), %edx
				movl	(%edx,%eax,4), %eax
				cmpl	%eax, -2160(%ebp)
				jne	.L439
				movl	-2148(%ebp), %eax
				subl	$1, %eax
				addl	$452, %eax
				movl	-2176(%ebp), %edi
				movl	(%edi,%eax,4), %eax
				cmpl	%eax, -2156(%ebp)
				jne	.L440
				nop
				jmp	.L325
		.L440:
				nop
		.L329:
  255                   n1=tagtype(i); n2=tagval(i)
				movl	-2148(%ebp), %eax
				subl	$1, %eax
				addl	$252, %eax
				movl	-2176(%ebp), %edi
				movl	(%edi,%eax,4), %eax
				movl	%eax, -2160(%ebp)
				movl	-2148(%ebp), %eax
				subl	$1, %eax
				addl	$52, %eax
				movl	(%edi,%eax,4), %eax
				movl	%eax, -2156(%ebp)
  256                   n2=i %if n1=unknown
				cmpl	$0, -2160(%ebp)
				jne	.L441
				movl	-2148(%ebp), %eax
				movl	%eax, -2156(%ebp)
				jmp	.L332
		.L441:
				nop
		.L332:
  257                   putatom(n1,n2)
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	-2156(%ebp)
				pushl	-2160(%ebp)
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  258                   ->nextatom
				jmp	.L229
		.L439:
  259                %finish
  260             %repeat
				jmp	.L325
		.L438:
  261 ! Not found: enter name and details
  262             tag1(tagpos)=n1; tag2(tagpos)=n2
				movl	-2176(%ebp), %esi
				movl	3408(%esi), %eax
				subl	$1, %eax
				leal	652(%eax), %edx
				movl	-2160(%ebp), %eax
				movl	%eax, (%esi,%edx,4)
				movl	3408(%esi), %eax
				subl	$1, %eax
				leal	452(%eax), %edx
				movl	-2156(%ebp), %eax
				movl	%eax, (%esi,%edx,4)
  263             tagtype(tagpos)=unknown; tagval(tagpos)=0
				movl	3408(%esi), %eax
				subl	$1, %eax
				addl	$252, %eax
				movl	$0, (%esi,%eax,4)
				movl	3408(%esi), %eax
				subl	$1, %eax
				addl	$52, %eax
				movl	$0, (%esi,%eax,4)
  264             putatom(unknown,tagpos)
				movl	3408(%esi), %edx
				subl	$8, %esp
				leal	-2084(%ebp), %eax
				pushl	%edx
				pushl	$0
				movl	%eax, %ecx
				call	PUTATOM.6107
				addl	$16, %esp
  265             %if tagpos>tagmax %then fault(dfull) %else tagpos=tagpos+1
				movl	3408(%esi), %eax
				cmpl	$200, %eax
				jle	.L442
				subl	$12, %esp
				pushl	$13
				movl	-2176(%ebp), %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L334
		.L442:
				nop
		.L334:
				movl	-2176(%ebp), %ecx
				movl	3408(%ecx), %eax
				addl	$1, %eax
				movl	%eax, 3408(%ecx)
		.L319:
  266          %finish
  267          ->nextatom
				jmp	.L229
		.L311:
  268       %finish
  269       %if i<3 %start
				cmpl	$2, -2148(%ebp)
				jg	.L443
				nop
		.L336:
  270          n1=n1*37+sym
				movl	-2160(%ebp), %edx
				movl	%edx, %eax
				sall	$3, %eax
				addl	%edx, %eax
				sall	$2, %eax
				addl	%eax, %edx
				movl	-2164(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -2160(%ebp)
  271       %finishelseif i<6 %start
				jmp	.L339
		.L443:
				cmpl	$5, -2148(%ebp)
				jg	.L444
				nop
		.L339:
  272          n2=n2*37+sym
				movl	-2156(%ebp), %edx
				movl	%edx, %eax
				sall	$3, %eax
				addl	%edx, %eax
				sall	$2, %eax
				addl	%eax, %edx
				movl	-2164(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -2156(%ebp)
				jmp	.L339
		.L337:
		.L444:
  273       %finish
  274       i=i+1; lpos=lpos+1
				addl	$1, -2148(%ebp)
				addl	$1, -2140(%ebp)
  275    %repeat
				jmp	.L307
		.L351:
  276 %end
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L341
				jmp	.L351
		.L399:
				call	__stack_chk_fail_local
		.L341:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE191:
		PUTATOM.6107:
		.LFB193:
  277
  278 %routine nextatom
				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
  279    type=atomtype(atompos); val=atomval(atompos)
				movl	3824(%eax), %edx
				subl	$1, %edx
				addl	$904, %edx
				movl	8(%eax,%edx,4), %edx
				movl	%edx, 204(%eax)
				movl	3824(%eax), %edx
				subl	$1, %edx
				addl	$856, %edx
				movl	(%eax,%edx,4), %edx
				movl	%edx, 200(%eax)
  280    atompos=atompos+1 %unless type=sep
				movl	204(%eax), %edx
				cmpl	$14, %edx
				je	.L456
				movl	3824(%eax), %edx
				addl	$1, %edx
				movl	%edx, 3824(%eax)
				nop
		.L453:
  281 %end
				jmp	.L453
		.L456:
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L455
				call	__stack_chk_fail_local
		.L455:
				leave
				ret
		.LFE194:
		OPENBRACKET.6220:
		.LFB195:
  282
  283 %predicate open bracket
				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
  284   %falseunless atomtype(atompos)=bracket %and atomval(atompos)='('
				movl	3824(%eax), %edx
				subl	$1, %edx
				addl	$904, %edx
				movl	8(%eax,%edx,4), %edx
				cmpl	$15, %edx
				jne	.L464
				movl	3824(%eax), %edx
				subl	$1, %edx
				addl	$856, %edx
				movl	(%eax,%edx,4), %edx
				cmpl	$40, %edx
				je	.L465
				jmp	.L459
		.L464:
				nop
		.L459:
				movl	$0, %eax
				jmp	.L461
		.L465:
				nop
		.L460:
  285   atompos=atompos+1; %true
				movl	3824(%eax), %edx
				addl	$1, %edx
				movl	%edx, 3824(%eax)
				movl	$1, %eax
		.L461:
  286 %end
				movl	-12(%ebp), %ecx
				xorl	%gs:20, %ecx
				je	.L462
				call	__stack_chk_fail_local
		.L462:
				leave
				ret
		.LFE195:
		CLOSEBRACKET.6225:
		.LFB196:
  287
  288 %routine close bracket
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  289   fault(form) %unless atomtype(atompos)=bracket %and atomval(atompos)=')'
				movl	3824(%ebx), %eax
				subl	$1, %eax
				addl	$904, %eax
				movl	8(%ebx,%eax,4), %eax
				cmpl	$15, %eax
				jne	.L472
				movl	3824(%ebx), %eax
				subl	$1, %eax
				addl	$856, %eax
				movl	(%ebx,%eax,4), %eax
				cmpl	$41, %eax
				je	.L473
				jmp	.L468
		.L472:
				nop
		.L468:
				subl	$12, %esp
				pushl	$5
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L469
		.L473:
				nop
		.L469:
  290   atompos=atompos+1
				movl	3824(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 3824(%ebx)
  291 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L471
				call	__stack_chk_fail_local
		.L471:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE196:
		EQUALSIGN.6230:
		.LFB197:
  292
  293 %predicate equal sign
				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
  294   %falseunless atomtype(atompos)=comp %and atomval(atompos)='='
				movl	3824(%eax), %edx
				subl	$1, %edx
				addl	$904, %edx
				movl	8(%eax,%edx,4), %edx
				cmpl	$12, %edx
				jne	.L481
				movl	3824(%eax), %edx
				subl	$1, %edx
				addl	$856, %edx
				movl	(%eax,%edx,4), %edx
				cmpl	$61, %edx
				je	.L482
				jmp	.L476
		.L481:
				nop
		.L476:
				movl	$0, %eax
				jmp	.L478
		.L482:
				nop
		.L477:
  295   atompos=atompos+1; %true
				movl	3824(%eax), %edx
				addl	$1, %edx
				movl	%edx, 3824(%eax)
				movl	$1, %eax
		.L478:
  296 %end
				movl	-12(%ebp), %ecx
				xorl	%gs:20, %ecx
				je	.L479
				call	__stack_chk_fail_local
		.L479:
				leave
				ret
		.LFE197:
				.section	.rodata
		.LC11:
				.string	"test-in/lc.imp"
				.align 4
		.LC12:
				.string	"->S(%d) out of bounds at %s line %d"
				.align 4
		.LC13:
				.string	"switch jump to undefined label S(%d): at %s line %d"
		CEXPR.6237:
		.LFB198:
  297
  298 %routinespec unary
  299
  300 %integerfn cexpr(%integer must)
				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, %esi
				movl	%ecx, -1084(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  301 %integer value,oper
  302 %switch s(add:right)
  303    nextatom; unary
				movl	%esi, %ecx
				call	NEXTATOM.6216
				movl	%esi, %ecx
				call	UNARY.6235
  304    value=val; fault(consterr) %unless type=constant
				movl	200(%esi), %eax
				movl	%eax, -1072(%ebp)
				movl	204(%esi), %eax
				cmpl	$1, %eax
				je	.L513
				subl	$12, %esp
				pushl	$3
				movl	%esi, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L486
		.L485:
		.L513:
				nop
		.L486:
  305    %cycle
  306       %result=value %unless atomtype(atompos)=op
				movl	3824(%esi), %eax
				subl	$1, %eax
				addl	$904, %eax
				movl	8(%esi,%eax,4), %eax
				cmpl	$11, %eax
				je	.L514
				movl	-1072(%ebp), %eax
				jmp	.L483
		.L514:
				nop
		.L488:
  307       %if must=0 %start
				cmpl	$0, 8(%ebp)
				jne	.L515
				nop
				jmp	.L493
		.L516:
  308          %result=value %unless atomtype(atompos+1)=constant
				movl	3824(%esi), %eax
				addl	$904, %eax
				movl	8(%esi,%eax,4), %eax
				cmpl	$1, %eax
				je	.L516
				movl	-1072(%ebp), %eax
				jmp	.L483
		.L491:
		.L515:
				nop
		.L493:
  309       %finish
  310       oper=atomval(atompos); atompos=atompos+1
				movl	3824(%esi), %eax
				subl	$1, %eax
				addl	$856, %eax
				movl	(%esi,%eax,4), %eax
				movl	%eax, -1068(%ebp)
				movl	3824(%esi), %eax
				addl	$1, %eax
				movl	%eax, 3824(%esi)
  311       nextatom; fault(consterr) %unless type=constant
				movl	%esi, %ecx
				call	NEXTATOM.6216
				movl	204(%esi), %eax
				cmpl	$1, %eax
				je	.L517
				subl	$12, %esp
				pushl	$3
				movl	%esi, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L495
		.L517:
				nop
		.L495:
  312       ->s(oper)
				movl	$312, -1064(%ebp)
				leal	.LC11@GOTOFF(%ebx), %eax
				movl	%eax, -1060(%ebp)
				movl	-1068(%ebp), %eax
				movl	%eax, -1056(%ebp)
				nop
		.L496:
  313 s(add):  value=value+val; %continue
  314 s(sub):  value=value-val; %continue
  315 s(and):  value=value&val; %continue
  316 s(or):   value=value!val; %continue
  317 s(xor):  value=value!!val; %continue
  318 s(rem):  value=value-value//val*val; %continue
  319 s(div):  value=value//val; %continue
  320 s(mul):  value=value*val; %continue
  321 s(left): value=value<<val; %continue
  322 s(right):value=value>>val
  323    %repeat
  324 %end
				cmpl	$1, -1056(%ebp)
				jle	.L497
				cmpl	$12, -1056(%ebp)
				jle	.L498
		.L497:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L499
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1088(%ebp)
				jmp	.L500
		.L499:
				movl	$324, -1088(%ebp)
		.L500:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L501
				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	.L502
		.L501:
		.LBB323:
				leal	-284(%ebp), %eax
				leal	.LC5@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
		.LBE323:
				leal	-540(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L502:
				pushl	-1064(%ebp)
				pushl	-1060(%ebp)
				pushl	-1056(%ebp)
				leal	.LC12@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
		.L498:
				nop
		.L504:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L512
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1088(%ebp)
				jmp	.L507
		.L512:
				movl	$324, -1088(%ebp)
		.L507:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L508
				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	.L509
		.L508:
		.LBB324:
				leal	-284(%ebp), %eax
				leal	.LC5@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
		.LBE324:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L509:
				pushl	-1064(%ebp)
				pushl	-1060(%ebp)
				pushl	-1056(%ebp)
				leal	.LC13@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
		.L483:
				movl	-28(%ebp), %edi
				xorl	%gs:20, %edi
				je	.L510
				call	__stack_chk_fail_local
		.L510:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE198:
		UNARY.6235:
		.LFB199:
  325
  326 %routine unary
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  327 %integername v
  328   %returnunless type=op %and atomtype(atompos)=constant
				movl	204(%ebx), %eax
				cmpl	$11, %eax
				jne	.L530
				movl	3824(%ebx), %eax
				subl	$1, %eax
				addl	$904, %eax
				movl	8(%ebx,%eax,4), %eax
				cmpl	$1, %eax
				je	.L531
				jmp	.L520
		.L530:
				nop
		.L520:
				jmp	.L518
		.L531:
				nop
		.L521:
  329   %returnunless val=sub %or val=xor
				movl	200(%ebx), %eax
				cmpl	$3, %eax
				je	.L532
				movl	200(%ebx), %eax
				cmpl	$6, %eax
				jne	.L533
				jmp	.L524
		.L532:
				nop
		.L524:
				nop
		.L518:
  330   v==atomval(atompos)
				movl	3824(%ebx), %eax
				subl	$1, %eax
				addl	$856, %eax
				sall	$2, %eax
				addl	%ebx, %eax
				movl	%eax, -16(%ebp)
  331   v=\v; v=v+1 %if val=sub
				movl	-16(%ebp), %eax
				movl	(%eax), %eax
				notl	%eax
				movl	%eax, %edx
				movl	-16(%ebp), %eax
				movl	%edx, (%eax)
				movl	200(%ebx), %eax
				cmpl	$3, %eax
				jne	.L534
				movl	-16(%ebp), %eax
				movl	(%eax), %eax
				leal	1(%eax), %edx
				movl	-16(%ebp), %eax
				movl	%edx, (%eax)
				jmp	.L527
		.L534:
				nop
		.L527:
  332   val=cexpr(0); type=constant
				subl	$12, %esp
				pushl	$0
				movl	%ebx, %ecx
				call	CEXPR.6237
				addl	$16, %esp
				movl	%eax, 200(%ebx)
				movl	$1, %eax
				movl	%eax, 204(%ebx)
  333 %end
				nop
				jmp	.L518
		.L533:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L528
				call	__stack_chk_fail_local
		.L528:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE199:
		GBYTE.6277:
		.LFB200:
  334
  335 %routine gbyte(%integer b)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  336   fault(bfull) %if gpos>glamax
				movl	196(%ebx), %eax
				cmpl	$499, %eax
				jle	.L540
				subl	$12, %esp
				pushl	$4
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L537
		.L540:
				nop
		.L537:
  337   gla(gpos)=b&255; gpos=gpos+1; gloc=gloc+1
				movl	8(%ebp), %eax
				movl	%eax, %edx
				movl	196(%ebx), %eax
				movb	%dl, 7588(%ebx,%eax)
				movl	196(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 196(%ebx)
				movl	3416(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 3416(%ebx)
  338 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L539
				call	__stack_chk_fail_local
		.L539:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE200:
		GWORD.6281:
		.LFB201:
  339
  340 %routine gword(%integer x)
				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)
  341   gbyte(x); gbyte(x>>8)
				subl	$12, %esp
				pushl	8(%ebp)
				movl	%ebx, %ecx
				call	GBYTE.6277
				addl	$16, %esp
				movl	8(%ebp), %eax
				shrl	$8, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	GBYTE.6277
				addl	$16, %esp
  342 %end
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE201:
				.section	.rodata
				.align 4
		.LC14:
				.string	"Illegal cycle I = 0, 1, GPOS - 1"
		GFLUSH.6284:
		.LFB202:
  343
  344 %routine gflush
				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, %eax
				movl	%eax, -832(%ebp)
				movl	%ecx, -828(%ebp)
				movl	%gs:20, %edi
				movl	%edi, -28(%ebp)
				xorl	%edi, %edi
  345 %integer i
  346   %returnif gpos=0
				movl	196(%eax), %eax
				testl	%eax, %eax
				je	.L557
				nop
		.L545:
				nop
		.L543:
  347   selectoutput(object); printsymbol(2); printsymbol(4)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				movb	$2, -810(%ebp)
		.LBB325:
		.LBB326:
				movsbl	-810(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$4, -811(%ebp)
		.LBE326:
		.LBE325:
		.LBB327:
		.LBB328:
				movsbl	-811(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE328:
		.LBE327:
  348   printsymbol(gpos&255); printsymbol(gpos>>8&255)
				movl	-832(%ebp), %esi
				movl	196(%esi), %eax
				movsbl	%al, %eax
				movb	%al, -812(%ebp)
		.LBB329:
		.LBB330:
				movsbl	-812(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE330:
		.LBE329:
				movl	196(%esi), %eax
				shrl	$8, %eax
				movsbl	%al, %eax
				movb	%al, -813(%ebp)
		.LBB331:
		.LBB332:
				movsbl	-813(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE332:
		.LBE331:
		.LBB333:
  349   printsymbol(gla(i)) %for i=0,1,gpos-1
				movl	196(%esi), %eax
				subl	$1, %eax
				movl	%eax, -804(%ebp)
		.LBB334:
				movl	-804(%ebp), %eax
				movl	%eax, -800(%ebp)
				movl	-800(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE334:
				testl	%eax, %eax
				je	.L547
				leal	-540(%ebp), %eax
				subl	$8, %esp
				leal	.LC14@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	.L548
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -836(%ebp)
				jmp	.L549
		.L548:
				movl	$349, -836(%ebp)
		.L549:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L550
				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	.L551
		.L550:
		.LBB335:
				leal	-284(%ebp), %eax
				leal	.LC5@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
		.LBE335:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L551:
				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	-836(%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
		.L547:
				movl	$-1, -808(%ebp)
		.L552:
				movl	-808(%ebp), %eax
				cmpl	-804(%ebp), %eax
				je	.L558
				addl	$1, -808(%ebp)
				movl	-808(%ebp), %eax
				addl	-832(%ebp), %eax
				addl	$7588, %eax
				movzbl	(%eax), %eax
				movsbl	%al, %eax
				movb	%al, -809(%ebp)
		.LBB336:
		.LBB337:
				movsbl	-809(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE337:
		.LBE336:
				jmp	.L552
		.L558:
				nop
		.L554:
		.LBE333:
  350   gpos=0
				movl	$0, %eax
				movl	-832(%ebp), %ecx
				movl	%eax, 196(%ecx)
  351 %end
				nop
				jmp	.L543
		.L557:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L555
				call	__stack_chk_fail_local
		.L555:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE202:
		DUMPSTRING.6296:
		.LFB203:
  352
  353 %routine dumpstring(%integer p)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  354 %integer l
  355   l=0
				movl	$0, -16(%ebp)
		.L560:
  356   l=l+1 %and p=p+1 %while line(p)#'"'
				movl	8(%ebp), %eax
				subl	$1, %eax
				movzbl	8088(%ebx,%eax), %eax
				cmpb	$34, %al
				je	.L570
				addl	$1, -16(%ebp)
				addl	$1, 8(%ebp)
				jmp	.L560
		.L570:
				nop
		.L562:
  357   gbyte(l); p=p-l
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%ebx, %ecx
				call	GBYTE.6277
				addl	$16, %esp
				movl	-16(%ebp), %eax
				subl	%eax, 8(%ebp)
		.L563:
  358   gbyte(line(p)) %and p=p+1 %and l=l-1 %while l>0
				cmpl	$0, -16(%ebp)
				jle	.L571
				movl	8(%ebp), %eax
				subl	$1, %eax
				movzbl	8088(%ebx,%eax), %eax
				movzbl	%al, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	GBYTE.6277
				addl	$16, %esp
				addl	$1, 8(%ebp)
				subl	$1, -16(%ebp)
				jmp	.L563
		.L571:
				nop
		.L565:
  359 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L567
				call	__stack_chk_fail_local
		.L567:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE203:
		DUMP.6304:
		.LFB204:
  360
  361 %routine dump(%integer byte)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  362    fault(bfull) %if cpos>codemax
				movl	192(%ebx), %eax
				cmpl	$3499, %eax
				jle	.L577
				subl	$12, %esp
				pushl	$4
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L574
		.L577:
				nop
		.L574:
  363    code(cpos)=byte&255; cpos=cpos+1; cloc=cloc+1
				movl	8(%ebp), %eax
				movl	%eax, %edx
				movl	192(%ebx), %eax
				movb	%dl, 4088(%ebx,%eax)
				movl	192(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 192(%ebx)
				movl	3420(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 3420(%ebx)
  364 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L576
				call	__stack_chk_fail_local
		.L576:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE204:
				.section	.rodata
				.align 4
		.LC15:
				.string	"Illegal cycle I = 0, 1, CPOS - 1"
		FLUSH.6308:
		.LFB205:
  365
  366 %routine flush
				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, %eax
				movl	%eax, -832(%ebp)
				movl	%ecx, -828(%ebp)
				movl	%gs:20, %edi
				movl	%edi, -28(%ebp)
				xorl	%edi, %edi
  367 %integer i
  368    %returnif cpos=0
				movl	192(%eax), %eax
				testl	%eax, %eax
				je	.L592
				nop
		.L580:
				nop
		.L578:
  369    selectoutput(object); printsymbol(1); printsymbol(4)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				movb	$1, -810(%ebp)
		.LBB338:
		.LBB339:
				movsbl	-810(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$4, -811(%ebp)
		.LBE339:
		.LBE338:
		.LBB340:
		.LBB341:
				movsbl	-811(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE341:
		.LBE340:
  370    printsymbol(cpos&255); printsymbol(cpos>>8&255)
				movl	-832(%ebp), %esi
				movl	192(%esi), %eax
				movsbl	%al, %eax
				movb	%al, -812(%ebp)
		.LBB342:
		.LBB343:
				movsbl	-812(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE343:
		.LBE342:
				movl	192(%esi), %eax
				shrl	$8, %eax
				movsbl	%al, %eax
				movb	%al, -813(%ebp)
		.LBB344:
		.LBB345:
				movsbl	-813(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE345:
		.LBE344:
		.LBB346:
  371    printsymbol(code(i)) %for i=0,1,cpos-1
				movl	192(%esi), %eax
				subl	$1, %eax
				movl	%eax, -804(%ebp)
		.LBB347:
				movl	-804(%ebp), %eax
				movl	%eax, -800(%ebp)
				movl	-800(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE347:
				testl	%eax, %eax
				je	.L582
				leal	-540(%ebp), %eax
				subl	$8, %esp
				leal	.LC15@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	.L583
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -836(%ebp)
				jmp	.L584
		.L583:
				movl	$371, -836(%ebp)
		.L584:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L585
				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	.L586
		.L585:
		.LBB348:
				leal	-284(%ebp), %eax
				leal	.LC5@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
		.LBE348:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L586:
				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	-836(%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
		.L582:
				movl	$-1, -808(%ebp)
		.L587:
				movl	-808(%ebp), %eax
				cmpl	-804(%ebp), %eax
				je	.L593
				addl	$1, -808(%ebp)
				movl	-808(%ebp), %eax
				addl	-832(%ebp), %eax
				addl	$4088, %eax
				movzbl	(%eax), %eax
				movsbl	%al, %eax
				movb	%al, -809(%ebp)
		.LBB349:
		.LBB350:
				movsbl	-809(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE350:
		.LBE349:
				jmp	.L587
		.L593:
				nop
		.L589:
		.LBE346:
  372    cpos=0
				movl	$0, %eax
				movl	-832(%ebp), %ecx
				movl	%eax, 192(%ecx)
  373 %end
				nop
				jmp	.L578
		.L592:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L590
				call	__stack_chk_fail_local
		.L590:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE205:
		SATREFS.6321:
		.LFB206:
  374
  375 %routine satrefs(%integer ref,val)
				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
		.L595:
  376 %integer abs,rel,disp
  377    %while ref#0 %cycle
				cmpl	$0, 8(%ebp)
				je	.L601
				nop
		.L597:
  378      rel=ref; abs=rel-cloc+cpos; disp=val-rel-2
				movl	8(%ebp), %edx
				movl	%edx, -24(%ebp)
				movl	3420(%eax), %edx
				movl	-24(%ebp), %ecx
				subl	%edx, %ecx
				movl	192(%eax), %edx
				addl	%ecx, %edx
				movl	%edx, -20(%ebp)
				movl	12(%ebp), %edx
				subl	-24(%ebp), %edx
				subl	$2, %edx
				movl	%edx, -16(%ebp)
  379      ref=code(abs+1)<<8+code(abs)
				movl	-20(%ebp), %edx
				addl	$1, %edx
				movzbl	4088(%eax,%edx), %edx
				movzbl	%dl, %edx
				movl	%edx, %ecx
				sall	$8, %ecx
				movl	-20(%ebp), %edx
				addl	%eax, %edx
				addl	$4088, %edx
				movzbl	(%edx), %edx
				movzbl	%dl, %edx
				addl	%ecx, %edx
				movl	%edx, 8(%ebp)
  380      code(abs)=disp&255; code(abs+1)=disp>>8&255
				movl	-16(%ebp), %edx
				movl	%edx, %ecx
				movl	-20(%ebp), %edx
				addl	%eax, %edx
				addl	$4088, %edx
				movb	%cl, (%edx)
				movl	-16(%ebp), %edx
				movl	%edx, %ecx
				shrl	$8, %ecx
				movl	-20(%ebp), %edx
				addl	$1, %edx
				movb	%cl, 4088(%eax,%edx)
  381    %repeat
				jmp	.L595
		.L601:
  382 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L599
				call	__stack_chk_fail_local
		.L599:
				leave
				ret
		.LFE206:
		LABELREF.6330:
		.LFB207:
  383
  384 %routine labelref(%integer type,val)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  385 %integer tvv
  386    %if type=label %start
				cmpl	$3, 8(%ebp)
				jne	.L611
				nop
		.L604:
  387       val=val-(cloc+2)
				movl	3420(%ebx), %eax
				addl	$2, %eax
				subl	%eax, 12(%ebp)
  388       dump(val); dump(val>>8)
				subl	$12, %esp
				pushl	12(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	12(%ebp), %eax
				shrl	$8, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  389    %else
				jmp	.L605
		.L611:
  390       fault(form) %unless type=unknown
				cmpl	$0, 8(%ebp)
				je	.L612
				subl	$12, %esp
				pushl	$5
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L607
		.L612:
				nop
		.L607:
  391       tvv=tagval(val)
				movl	12(%ebp), %eax
				subl	$1, %eax
				addl	$52, %eax
				movl	(%ebx,%eax,4), %eax
				movl	%eax, -16(%ebp)
  392       dump(tvv); dump(tvv>>8)
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	-16(%ebp), %eax
				shrl	$8, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  393       tagval(val)=cloc-2
				movl	12(%ebp), %eax
				leal	-1(%eax), %ecx
				movl	3420(%ebx), %eax
				leal	-2(%eax), %edx
				leal	52(%ecx), %eax
				movl	%edx, (%ebx,%eax,4)
		.L605:
  394    %finish
  395 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L609
				call	__stack_chk_fail_local
		.L609:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE207:
		PUSHTEXT.6338:
		.LFB208:
  396
  397 %routine pushtext(%integer t,v)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  398   textlevel=textlevel+1
				movl	188(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 188(%ebx)
  399   fault(complex) %if textlevel>textmax
				movl	188(%ebx), %eax
				cmpl	$20, %eax
				jle	.L618
				subl	$12, %esp
				pushl	$1
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L615
		.L618:
				nop
		.L615:
  400   texttype(textlevel)=t; textval(textlevel)=v
				movl	188(%ebx), %eax
				subl	$1, %eax
				leal	24(%eax), %edx
				movl	8(%ebp), %eax
				movl	%eax, 12(%ebx,%edx,4)
				movl	188(%ebx), %eax
				subl	$1, %eax
				leal	4(%eax), %edx
				movl	12(%ebp), %eax
				movl	%eax, 12(%ebx,%edx,4)
  401 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L617
				call	__stack_chk_fail_local
		.L617:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE208:
		POPTEXT.6342:
		.LFB209:
  402
  403 %routine poptext
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  404   fault(context) %if textlevel=0
				movl	188(%ebx), %eax
				testl	%eax, %eax
				jne	.L624
				subl	$12, %esp
				pushl	$16
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L621
		.L624:
				nop
		.L621:
  405   type=texttype(textlevel); val=textval(textlevel)
				movl	188(%ebx), %eax
				subl	$1, %eax
				addl	$24, %eax
				movl	12(%ebx,%eax,4), %eax
				movl	%eax, 204(%ebx)
				movl	188(%ebx), %eax
				subl	$1, %eax
				addl	$4, %eax
				movl	12(%ebx,%eax,4), %eax
				movl	%eax, 200(%ebx)
  406   textlevel=textlevel-1
				movl	188(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 188(%ebx)
  407 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L623
				call	__stack_chk_fail_local
		.L623:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE209:
		CALL.6349:
		.LFB210:
  408
  409 %routinespec expr
  410
  411 %constinteger pushax=16_50,popax=16_58
  412
  413 %routine call(%integer t,v)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  414   type=atomtype(atompos)
				movl	3824(%ebx), %eax
				subl	$1, %eax
				addl	$904, %eax
				movl	8(%ebx,%eax,4), %eax
				movl	%eax, 204(%ebx)
  415   %if type#op %start
				movl	204(%ebx), %eax
				cmpl	$11, %eax
				je	.L639
				nop
		.L631:
  416     %cycle
				nop
		.L626:
  417       %exitif type=sep %or type=comp
				movl	204(%ebx), %eax
				cmpl	$14, %eax
				je	.L640
				movl	204(%ebx), %eax
				cmpl	$12, %eax
				jne	.L641
				jmp	.L629
		.L640:
				nop
		.L629:
				jmp	.L631
		.L641:
				nop
		.L630:
  418       expr; dump(pushax); type=atomtype(atompos)
				movl	%ebx, %ecx
				call	EXPR.6346
				subl	$12, %esp
				pushl	$80
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	3824(%ebx), %eax
				subl	$1, %eax
				addl	$904, %eax
				movl	8(%ebx,%eax,4), %eax
				movl	%eax, 204(%ebx)
  419     %repeat
				jmp	.L626
		.L627:
		.L639:
  420   %finish
  421   %if t=spec %start
				cmpl	$10, 8(%ebp)
				jne	.L642
				nop
		.L633:
  422     dump(16_FF); dump(16_1e); dump(v); dump(v>>8);  !Xcall
				subl	$12, %esp
				pushl	$255
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$30
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	12(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	12(%ebp), %eax
				shrl	$8, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  423   %else
				jmp	.L634
		.L642:
  424     dump(16_0e); dump(16_e8); labelref(label,v);    !PushCs, Call
				subl	$12, %esp
				pushl	$14
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$232
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$8, %esp
				pushl	12(%ebp)
				pushl	$3
				movl	%ebx, %ecx
				call	LABELREF.6330
				addl	$16, %esp
		.L634:
  425   %finish
  426 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L636
				call	__stack_chk_fail_local
		.L636:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE210:
		IMMEDIATE.6360:
		.LFB211:
  427
  428 %routine immediate(%integer op,val)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1068, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -1068(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  429 %switch s(load:right)
  430   ->s(op)
				movl	$430, -1064(%ebp)
				leal	.LC11@GOTOFF(%ebx), %eax
				movl	%eax, -1060(%ebp)
				movl	8(%ebp), %eax
				movl	%eax, -1056(%ebp)
				nop
		.L644:
  431 s(load): dump(16_b8); ->imm
  432 s(add):  dump(16_05); ->imm
  433 s(sub):  dump(16_2d); ->imm
  434 s(and):  dump(16_25); ->imm
  435 s(or):   dump(16_0d); ->imm
  436 s(xor):  dump(16_35); ->imm
  437 s(cmp):  dump(16_3d)
  438 imm: dump(val); dump(val>>8); %return
  439 s(left):
  440 s(right):
  441   %if val=1 %start
  442     val=16_d1
  443   %else
  444     dump(16_b1); dump(val&15);  !Mov CL,nn
  445     val=16_d3
  446   %finish
  447   dump(val)
  448   %if op=left %then dump(16_e0) %else dump(16_e8)
  449   %return
  450 s(mul):s(div):s(rem):
  451   dump(16_b9); dump(val); dump(val>>8);  !Mov CX,nn
  452   dump(16_99) %unless op=mul;            !Cwd
  453   dump(16_f7)
  454   %if op=mul %then dump(16_e9) %else dump(16_f9)
  455   %returnunless op=rem
  456   dump(16_8b); dump(16_c2);  !Mov ax,dx
  457 %end
				cmpl	$0, -1056(%ebp)
				jle	.L645
				cmpl	$12, -1056(%ebp)
				jle	.L646
		.L645:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L647
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1072(%ebp)
				jmp	.L648
		.L647:
				movl	$457, -1072(%ebp)
		.L648:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L649
				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	.L650
		.L649:
		.LBB351:
				leal	-284(%ebp), %eax
				leal	.LC5@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
		.LBE351:
				leal	-540(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L650:
				pushl	-1064(%ebp)
				pushl	-1060(%ebp)
				pushl	-1056(%ebp)
				leal	.LC12@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-1056(%ebp)
				pushl	$3
				pushl	$6
				pushl	-1072(%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
		.L646:
				nop
		.L652:
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L660
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1072(%ebp)
				jmp	.L655
		.L660:
				movl	$457, -1072(%ebp)
		.L655:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L656
				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	.L657
		.L656:
		.LBB352:
				leal	-284(%ebp), %eax
				leal	.LC5@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
		.LBE352:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L657:
				pushl	-1064(%ebp)
				pushl	-1060(%ebp)
				pushl	-1056(%ebp)
				leal	.LC13@GOTOFF(%ebx), %eax
				pushl	%eax
				pushl	-1056(%ebp)
				pushl	$2
				pushl	$8
				pushl	-1072(%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
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L659
				call	__stack_chk_fail_local
		.L659:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE211:
		DIRECT.6397:
		.LFB212:
  458
  459 %routine direct(%integer op,type,val,index)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$124, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -124(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  460 %ownintegerarray code(load:lea)=
				leal	-96(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	CODE.6399@GOTOFF(%esi), %eax
				movl	%eax, -96(%ebp)
				movl	$4, -92(%ebp)
  461   16_8a, 16_02, 16_2a, 16_22, 16_0a,
  462   16_32, 16_3a, 16_28, 16_38, 16_30,
  463   16_e0, 16_e8, 16_88, 16_8d
  464 %integer oper,extra
  465   immediate(op,val) %andreturnif type=constant
				cmpl	$1, 12(%ebp)
				jne	.L718
				subl	$8, %esp
				pushl	16(%ebp)
				pushl	8(%ebp)
				movl	%ebx, %ecx
				call	IMMEDIATE.6360
				addl	$16, %esp
				jmp	.L661
		.L718:
				nop
		.L663:
  466   oper=code(op)
				movl	8(%ebp), %eax
				subl	$1, %eax
				movl	CODE.6399@GOTOFF(%esi,%eax,4), %eax
				movl	%eax, -112(%ebp)
  467   ->shift %if op=left %or op=right
				cmpl	$11, 8(%ebp)
				je	.L719
				cmpl	$12, 8(%ebp)
				jne	.L720
				jmp	.L666
		.L719:
				nop
		.L666:
				nop
		.L668:
				nop
		.L667:
  468   extra=0; extra=oper %and oper=16_f6 %if op=mul
				movl	$0, -108(%ebp)
				cmpl	$8, 8(%ebp)
				jne	.L721
				movl	-112(%ebp), %eax
				movl	%eax, -108(%ebp)
				movl	$246, -112(%ebp)
				jmp	.L670
		.L721:
				nop
		.L670:
  469   %if op=div %or op=rem %start
				cmpl	$9, 8(%ebp)
				je	.L722
				cmpl	$10, 8(%ebp)
				jne	.L723
				jmp	.L708
		.L672:
		.L722:
				nop
		.L708:
				nop
		.L709:
  470     %if type&wordbit#0 %then dump(16_99) %else dump(16_98)
				subl	$12, %esp
				pushl	$153
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				nop
		.L674:
  471     extra=oper; oper=16_f6
				movl	-112(%ebp), %eax
				movl	%eax, -108(%ebp)
				movl	$246, -112(%ebp)
				jmp	.L709
		.L673:
		.L723:
  472   %finish
  473   oper=oper+1 %if type&wordbit#0
				addl	$1, -112(%ebp)
		.L675:
  474   dump(oper)
				subl	$12, %esp
				pushl	-112(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  475   %if type=bx %then dump(16_c3+extra) %andreturn
				cmpl	$17, 12(%ebp)
				jne	.L724
				movl	-108(%ebp), %eax
				addl	$195, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L661
		.L724:
				nop
		.L677:
  476   %if type=unknown %start
				cmpl	$0, 12(%ebp)
				jne	.L725
				nop
		.L710:
  477     tagtype(val)=var+wordbit
				movl	16(%ebp), %eax
				subl	$1, %eax
				addl	$252, %eax
				movl	$5, (%ebx,%eax,4)
  478     tagval(val)=-2
				movl	16(%ebp), %eax
				subl	$1, %eax
				addl	$52, %eax
				movl	$-2, (%ebx,%eax,4)
  479     fault(varund)
				subl	$12, %esp
				pushl	$12
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L710
		.L679:
		.L725:
  480   %finish
  481   fault(form) %unless type&varmask=var
				subl	$12, %esp
				pushl	$5
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
		.L680:
  482   %if type&glabit=0 %start
				movl	12(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L726
		.LBB353:
				nop
		.L682:
  483     %if -128<=val<=127 %then oper=16_42 %else oper=16_82
				movl	16(%ebp), %eax
				movl	%eax, -104(%ebp)
				cmpl	$-128, -104(%ebp)
				jl	.L727
				cmpl	$127, -104(%ebp)
				jg	.L728
		.LBE353:
				movl	$66, -112(%ebp)
				jmp	.L686
		.L727:
		.LBB354:
				nop
				jmp	.L684
		.L728:
				nop
		.L684:
		.LBE354:
				movl	$130, -112(%ebp)
		.L686:
  484     oper=oper+4 %if index=0
				cmpl	$0, 20(%ebp)
				jne	.L729
				addl	$4, -112(%ebp)
				nop
		.L688:
  485   %else
				jmp	.L695
		.L729:
				jmp	.L695
		.L726:
  486     %if index=0 %start
				cmpl	$0, 20(%ebp)
				jne	.L730
				nop
		.L691:
		.LBB355:
  487       oper=6
				movl	$6, -112(%ebp)
  488     %finishelseif -128<=val<=127 %start
				jmp	.L695
		.L730:
				movl	16(%ebp), %eax
				movl	%eax, -100(%ebp)
				cmpl	$-128, -100(%ebp)
				jl	.L731
				cmpl	$127, -100(%ebp)
				jg	.L732
		.LBE355:
				nop
				jmp	.L693
		.L732:
				nop
		.L693:
		.LBE356:
  489       oper=16_44
				movl	$68, -112(%ebp)
  490     %else
				jmp	.L695
		.L731:
		.LBB356:
  491       oper=16_84
				movl	$132, -112(%ebp)
		.L689:
		.L695:
  492     %finish
  493   %finish
  494   dump(oper+extra); dump(val)
				movl	-112(%ebp), %edx
				movl	-108(%ebp), %eax
				addl	%edx, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	16(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  495   dump(val>>8) %if oper&16_40=0
				movl	-112(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L733
				movl	16(%ebp), %eax
				shrl	$8, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L697
		.L733:
				nop
		.L697:
  496   dump(16_8B) %and dump(16_C2) %if op=rem
				cmpl	$10, 8(%ebp)
				jne	.L734
				subl	$12, %esp
				pushl	$139
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$194
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L699
		.L734:
				nop
		.L699:
  497   %if type&wordbit=0 %and op=load %then dump(16_32) %and dump(16_e4)
				movl	12(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L735
				cmpl	$1, 8(%ebp)
				jne	.L736
				subl	$12, %esp
				pushl	$50
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$228
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				nop
				jmp	.L661
		.L736:
				nop
		.L701:
  498   %return
				jmp	.L661
		.L735:
				jmp	.L661
		.L703:
  499 shift: dump(pushax)
				subl	$12, %esp
				pushl	$80
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  500   direct(load,type,val,index); dump(16_89); dump(16_c1); !Mov Cx,Ax
				pushl	20(%ebp)
				pushl	16(%ebp)
				pushl	12(%ebp)
				pushl	$1
				movl	%ebx, %ecx
				call	DIRECT.6397
				addl	$16, %esp
				subl	$12, %esp
				pushl	$137
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$193
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  501   dump(popax)
				subl	$12, %esp
				pushl	$88
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  502   %if type&wordbit=0 %then dump(16_d2) %else dump(16_d3)
				movl	12(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				je	.L703
				jmp	.L713
		.L720:
				subl	$12, %esp
				pushl	$210
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L705
		.L713:
		.L704:
				subl	$12, %esp
				pushl	$211
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
		.L705:
  503   dump(oper)
				subl	$12, %esp
				pushl	-112(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  504 %end
				nop
		.L661:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L707
				call	__stack_chk_fail_local
		.L707:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE212:
		DOUBLE.6432:
		.LFB213:
  505
  506 %routine double(%integer t); ! index for word arrays
				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)
  507   %returnif t&wordbit=0
				movl	8(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				je	.L741
				nop
		.L739:
				nop
		.L737:
  508   dump(16_03); dump(16_c0); !Add ax,ax
				subl	$12, %esp
				pushl	$3
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$192
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  509 %end
				nop
				jmp	.L737
		.L741:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE213:
		EXPR.6346:
		.LFB214:
  510
  511 %routine expr
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$52, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  512 %integer oper,t,v,index
  513   oper=load
				movl	$1, -28(%ebp)
		.L743:
  514   %cycle
  515     nextatom; unary
				movl	%ebx, %ecx
				call	NEXTATOM.6216
				movl	%ebx, %ecx
				call	UNARY.6235
  516     %if type=constant %start
				movl	204(%ebx), %eax
				cmpl	$1, %eax
				jne	.L774
				nop
		.L745:
  517       atompos=atompos-1 %and val=cexpr(0) %if oper=load
				cmpl	$1, -28(%ebp)
				jne	.L775
				movl	3824(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 3824(%ebx)
				subl	$12, %esp
				pushl	$0
				movl	%ebx, %ecx
				call	CEXPR.6237
				addl	$16, %esp
				movl	%eax, 200(%ebx)
				jmp	.L747
		.L775:
				nop
		.L747:
  518       immediate(oper,val)
				movl	200(%ebx), %eax
				subl	$8, %esp
				pushl	%eax
				pushl	-28(%ebp)
				movl	%ebx, %ecx
				call	IMMEDIATE.6360
				addl	$16, %esp
  519     %finishelseif type&varmask=var %start
				jmp	.L748
		.L774:
				movl	204(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L776
				nop
		.L750:
  520       t=type; v=val
				movl	204(%ebx), %eax
				movl	%eax, -20(%ebp)
				movl	200(%ebx), %eax
				movl	%eax, -16(%ebp)
  521       %if open bracket %start
				movl	%ebx, %ecx
				call	OPENBRACKET.6220
				testl	%eax, %eax
				je	.L777
				nop
		.L752:
  522         dump(pushax) %unless oper=load
				cmpl	$1, -28(%ebp)
				je	.L778
				subl	$12, %esp
				pushl	$80
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L754
		.L778:
				nop
		.L754:
  523         expr; double(t)
				movl	%ebx, %ecx
				call	EXPR.6346
				subl	$12, %esp
				pushl	-20(%ebp)
				movl	%ebx, %ecx
				call	DOUBLE.6432
				addl	$16, %esp
  524         dump(16_8b); dump(16_f0);  !Mov si,ax
				subl	$12, %esp
				pushl	$139
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$240
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  525         dump(popax) %unless oper=load
				cmpl	$1, -28(%ebp)
				je	.L779
				subl	$12, %esp
				pushl	$88
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L756
		.L779:
				nop
		.L756:
  526         close bracket
				movl	%ebx, %ecx
				call	CLOSEBRACKET.6225
  527         index=1
				movl	$1, -24(%ebp)
  528       %finishelse index=0
				jmp	.L757
		.L777:
				movl	$0, -24(%ebp)
		.L757:
  529       direct(oper,t,v,index)
				pushl	-24(%ebp)
				pushl	-16(%ebp)
				pushl	-20(%ebp)
				pushl	-28(%ebp)
				movl	%ebx, %ecx
				call	DIRECT.6397
				addl	$16, %esp
  530     %finishelseif type=proc %or type=xproc %or type=spec %start
				jmp	.L748
		.L776:
				movl	204(%ebx), %eax
				cmpl	$8, %eax
				je	.L780
				movl	204(%ebx), %eax
				cmpl	$9, %eax
				je	.L781
				movl	204(%ebx), %eax
				cmpl	$10, %eax
				jne	.L782
				jmp	.L759
		.L780:
				nop
				jmp	.L759
		.L781:
				nop
		.L759:
				nop
		.L761:
  531       %if oper=load %start
				cmpl	$1, -28(%ebp)
				jne	.L783
				nop
		.L763:
  532         call(type,val)
				movl	204(%ebx), %eax
				movl	200(%ebx), %edx
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				movl	%ebx, %ecx
				call	CALL.6349
				addl	$16, %esp
  533       %else
				nop
		.L764:
  534         dump(pushax); call(type,val); dump(16_8b); dump(16_d8);!mov bx,ax
				subl	$12, %esp
				pushl	$80
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	204(%ebx), %eax
				movl	200(%ebx), %edx
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				movl	%ebx, %ecx
				call	CALL.6349
				addl	$16, %esp
				subl	$12, %esp
				pushl	$139
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$216
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  535         dump(popax); direct(oper,bx,0,0)
				subl	$12, %esp
				pushl	$88
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				pushl	$0
				pushl	$0
				pushl	$17
				pushl	-28(%ebp)
				movl	%ebx, %ecx
				call	DIRECT.6397
				addl	$16, %esp
  536       %finish
  537     %else
				jmp	.L748
		.L783:
				jmp	.L748
		.L782:
  538       fault(form)
				subl	$12, %esp
				pushl	$5
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
		.L748:
  539     %finish
  540     %returnunless atomtype(atompos)=op
				movl	3824(%ebx), %eax
				subl	$1, %eax
				addl	$904, %eax
				movl	8(%ebx,%eax,4), %eax
				cmpl	$11, %eax
				jne	.L784
				nop
		.L766:
				nop
  541     nextatom
				movl	%ebx, %ecx
				call	NEXTATOM.6216
  542     oper=val
				movl	200(%ebx), %eax
				movl	%eax, -28(%ebp)
  543   %repeat
				jmp	.L743
		.L784:
  544 %end
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L768
				call	__stack_chk_fail_local
		.L768:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE214:
		RETURN.6457:
		.LFB215:
  545
  546 %routine return
				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)
  547   dump(16_8b); dump(16_e5); !Mov sp,bp
				subl	$12, %esp
				pushl	$139
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$229
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  548   dump(16_5d); dump(16_1f); !Pop bp, pop ds
				subl	$12, %esp
				pushl	$93
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$31
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  549   %if parms=0 %then dump(16_cb) %elsestart
				movl	24(%ebx), %eax
				testl	%eax, %eax
				jne	.L791
				subl	$12, %esp
				pushl	$203
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L788
		.L791:
				nop
		.L787:
  550     dump(16_ca)
				subl	$12, %esp
				pushl	$202
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  551     dump(parms); dump(parms>>8)
				movl	24(%ebx), %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	24(%ebx), %eax
				shrl	$8, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
		.L788:
  552   %finish
  553   access=0
				movl	$0, %eax
				movl	%eax, 20(%ebx)
  554 %end
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE215:
		TERMINATEDECLARATIONS.6462:
		.LFB216:
  555
  556 %routine terminate declarations
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
  557 %integer i
  558   fault(level0) %if level=0
				movl	16(%ebx), %eax
				testl	%eax, %eax
				jne	.L804
				subl	$12, %esp
				pushl	$11
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L794
		.L804:
				nop
		.L794:
  559   %if level=1 %start
				movl	16(%ebx), %eax
				cmpl	$1, %eax
				jne	.L805
				nop
		.L796:
  560     level=2; i=-floc
				movl	$2, %eax
				movl	%eax, 16(%ebx)
				movl	12(%ebx), %eax
				negl	%eax
				movl	%eax, -12(%ebp)
  561     %if i>127 %start
				cmpl	$127, -12(%ebp)
				jle	.L806
				nop
		.L798:
  562       dump(16_81); dump(16_ec); dump(i); dump(i>>8); !Sub sp,nn
				subl	$12, %esp
				pushl	$129
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$236
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	-12(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	-12(%ebp), %eax
				shrl	$8, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  563     %finishelseunless i=0 %start
				jmp	.L801
		.L806:
				cmpl	$0, -12(%ebp)
				je	.L807
				nop
		.L801:
  564       dump(16_83); dump(16_ec); dump(i); !sub sp,n
				subl	$12, %esp
				pushl	$131
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$236
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	-12(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L801
		.L799:
		.L807:
  565     %finish
  566     floc=floc-2
				movl	12(%ebx), %eax
				subl	$2, %eax
				movl	%eax, 12(%ebx)
  567   %finish
  568 %end
				jmp	.L796
		.L805:
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE216:
		CONSTDEF.6471:
		.LFB217:
  569
  570 %routine constdef
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
		.L809:
  571 %integer c
  572   %cycle
  573     nextatom; %returnif type=sep
				movl	%ebx, %ecx
				call	NEXTATOM.6216
				movl	204(%ebx), %eax
				cmpl	$14, %eax
				je	.L818
				nop
		.L811:
				nop
  574     fault(ambig) %unless type=unknown; c=val
				movl	204(%ebx), %eax
				testl	%eax, %eax
				je	.L819
				subl	$12, %esp
				pushl	$6
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L814
		.L819:
				nop
		.L814:
				movl	200(%ebx), %eax
				movl	%eax, -16(%ebp)
  575     fault(form) %unless equal sign
				movl	%ebx, %ecx
				call	EQUALSIGN.6230
				testl	%eax, %eax
				jne	.L820
				subl	$12, %esp
				pushl	$5
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L816
		.L820:
				nop
		.L816:
  576     tagtype(c)=constant; tagval(c)=cexpr(1)
				movl	-16(%ebp), %eax
				subl	$1, %eax
				addl	$252, %eax
				movl	$1, (%ebx,%eax,4)
				movl	-16(%ebp), %eax
				leal	-1(%eax), %esi
				subl	$12, %esp
				pushl	$1
				movl	%ebx, %ecx
				call	CEXPR.6237
				addl	$16, %esp
				movl	%eax, %edx
				leal	52(%esi), %eax
				movl	%edx, (%ebx,%eax,4)
  577   %repeat
				jmp	.L809
		.L818:
  578 %end
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L817
				call	__stack_chk_fail_local
		.L817:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE217:
		VARDEF.6479:
		.LFB218:
  579
  580 %routine vardef(%integer key)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$48, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
		.L822:
  581 %integer t,lb,ub,c,r
  582 %integername v
  583   %cycle
  584     nextatom
				movl	%esi, %ecx
				call	NEXTATOM.6216
		.L823:
  585 next: %returnif type=sep
				movl	204(%esi), %eax
				cmpl	$14, %eax
				je	.L871
				nop
		.L825:
				nop
  586     fault(ambig) %unless type=unknown
				movl	204(%esi), %eax
				testl	%eax, %eax
				je	.L872
				subl	$12, %esp
				pushl	$6
				movl	%esi, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L828
		.L872:
				nop
		.L828:
  587     t=var
				movl	$4, -36(%ebp)
  588     t=t+wordbit %if key=kword
				cmpl	$18, 8(%ebp)
				jne	.L873
				addl	$1, -36(%ebp)
				jmp	.L830
		.L873:
				nop
		.L830:
  589     t=t+glabit %if level=0
				movl	16(%esi), %eax
				testl	%eax, %eax
				jne	.L874
				addl	$2, -36(%ebp)
				jmp	.L832
		.L874:
				nop
		.L832:
  590     tagtype(val)=t; v==tagval(val)
				movl	200(%esi), %eax
				subl	$1, %eax
				leal	252(%eax), %edx
				movl	-36(%ebp), %eax
				movl	%eax, (%esi,%edx,4)
				movl	200(%esi), %eax
				subl	$1, %eax
				addl	$52, %eax
				sall	$2, %eax
				addl	%esi, %eax
				movl	%eax, -20(%ebp)
  591     %if open bracket %start
				movl	%esi, %ecx
				call	OPENBRACKET.6220
				testl	%eax, %eax
				je	.L875
				nop
		.L834:
  592       lb=cexpr(1); nextatom; fault(form) %unless type=colon
				subl	$12, %esp
				pushl	$1
				movl	%esi, %ecx
				call	CEXPR.6237
				addl	$16, %esp
				movl	%eax, -32(%ebp)
				movl	%esi, %ecx
				call	NEXTATOM.6216
				movl	204(%esi), %eax
				cmpl	$13, %eax
				je	.L876
				subl	$12, %esp
				pushl	$5
				movl	%esi, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L836
		.L876:
				nop
		.L836:
  593       ub=cexpr(1)+1; close bracket
				subl	$12, %esp
				pushl	$1
				movl	%esi, %ecx
				call	CEXPR.6237
				addl	$16, %esp
				addl	$1, %eax
				movl	%eax, -28(%ebp)
				movl	%esi, %ecx
				call	CLOSEBRACKET.6225
  594     %finishelse lb=0 %and ub=1
				jmp	.L837
		.L875:
				movl	$0, -32(%ebp)
				movl	$1, -28(%ebp)
		.L837:
  595     lb=lb+lb %and ub=ub+ub %if key=kword
				cmpl	$18, 8(%ebp)
				jne	.L877
				sall	-32(%ebp)
				sall	-28(%ebp)
				jmp	.L839
		.L877:
				nop
		.L839:
  596     %if level=0 %start
				movl	16(%esi), %eax
				testl	%eax, %eax
				jne	.L878
				nop
		.L841:
  597       v=gloc-lb; t=v+ub
				movl	3416(%esi), %eax
				subl	-32(%ebp), %eax
				movl	%eax, %edx
				movl	-20(%ebp), %eax
				movl	%edx, (%eax)
				movl	-20(%ebp), %eax
				movl	(%eax), %edx
				movl	-28(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -36(%ebp)
  598       %if equal sign %start
				movl	%esi, %ecx
				call	EQUALSIGN.6230
				testl	%eax, %eax
				je	.L879
				nop
		.L843:
  599         %cycle
				nop
		.L842:
  600           nextatom
				movl	%esi, %ecx
				call	NEXTATOM.6216
  601           %if gloc>=t %start
				movl	3416(%esi), %eax
				cmpl	-36(%ebp), %eax
				jl	.L880
				nop
		.L845:
  602             gflush; ->next
				movl	%esi, %ecx
				call	GFLUSH.6284
				jmp	.L823
		.L880:
  603           %finish
  604           %if type=string %start
				movl	204(%esi), %eax
				cmpl	$2, %eax
				jne	.L881
				nop
		.L847:
  605             dumpstring(val)
				movl	200(%esi), %eax
				subl	$12, %esp
				pushl	%eax
				movl	%esi, %ecx
				call	DUMPSTRING.6296
				addl	$16, %esp
  606           %finishelseif type=sep %start
				jmp	.L859
		.L881:
				movl	204(%esi), %eax
				cmpl	$14, %eax
				jne	.L882
				nop
		.L850:
  607             readline
				movl	%esi, %ecx
				call	READLINE.6086
  608           %finishelsestart
				jmp	.L859
		.L882:
  609             atompos=atompos-1; c=Cexpr(1); r=1
				movl	3824(%esi), %eax
				subl	$1, %eax
				movl	%eax, 3824(%esi)
				subl	$12, %esp
				pushl	$1
				movl	%esi, %ecx
				call	CEXPR.6237
				addl	$16, %esp
				movl	%eax, -16(%ebp)
				movl	$1, -24(%ebp)
  610             %if open bracket %start
				movl	%esi, %ecx
				call	OPENBRACKET.6220
				testl	%eax, %eax
				je	.L883
				nop
		.L853:
		.L858:
  611               r=cexpr(1); close bracket
				subl	$12, %esp
				pushl	$1
				movl	%esi, %ecx
				call	CEXPR.6237
				addl	$16, %esp
				movl	%eax, -24(%ebp)
				movl	%esi, %ecx
				call	CLOSEBRACKET.6225
				jmp	.L858
		.L852:
		.L883:
  612             %finish
  613             %while r>0 %cycle
				cmpl	$0, -24(%ebp)
				jle	.L884
				nop
		.L859:
  614               r=r-1; %if key=kword %then gword(c) %else gbyte(c)
				subl	$1, -24(%ebp)
				cmpl	$18, 8(%ebp)
				jne	.L885
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%esi, %ecx
				call	GWORD.6281
				addl	$16, %esp
				jmp	.L857
		.L885:
				nop
		.L856:
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%esi, %ecx
				call	GBYTE.6277
				addl	$16, %esp
		.L857:
  615             %repeat
				jmp	.L858
		.L848:
		.L884:
  616           %finish
  617         %repeat
				jmp	.L842
		.L879:
  618       %else
  619         selectoutput(object); printsymbol(2); printsymbol(3)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				movb	$2, -37(%ebp)
		.LBB357:
		.LBB358:
				movsbl	-37(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$3, -38(%ebp)
		.LBE358:
		.LBE357:
		.LBB359:
		.LBB360:
				movsbl	-38(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE360:
		.LBE359:
  620         printsymbol(t&255); printsymbol(t>>8&255); gloc=t
				movl	-36(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -39(%ebp)
		.LBB361:
		.LBB362:
				movsbl	-39(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE362:
		.LBE361:
				movl	-36(%ebp), %eax
				shrl	$8, %eax
				movsbl	%al, %eax
				movb	%al, -40(%ebp)
		.LBB363:
		.LBB364:
				movsbl	-40(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE364:
		.LBE363:
				movl	-36(%ebp), %eax
				movl	%eax, 3416(%esi)
  621       %finish
  622     %else
				jmp	.L860
		.L878:
  623       fault(declate) %if level=2
				movl	16(%esi), %eax
				cmpl	$2, %eax
				jne	.L886
				subl	$12, %esp
				pushl	$8
				movl	%esi, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L862
		.L886:
				nop
		.L862:
  624       floc=floc-ub+lb; v=floc-lb
				movl	12(%esi), %eax
				subl	-28(%ebp), %eax
				movl	%eax, %edx
				movl	-32(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, 12(%esi)
				movl	12(%esi), %eax
				subl	-32(%ebp), %eax
				movl	%eax, %edx
				movl	-20(%ebp), %eax
				movl	%edx, (%eax)
		.L860:
  625     %finish
  626   %repeat
				jmp	.L822
		.L871:
  627 %end
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L863
				call	__stack_chk_fail_local
		.L863:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE218:
		GETSTRING.6518:
		.LFB220:
  628
  629 %routine procdef(%integer key)
				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
				leal	8(%ebp), %eax
				movl	%eax, -32(%ebp)
				movl	%esi, %edx
				movl	%edx, -292(%ebp)
  630 %integer p,sym
  631 %string(31)s
  632
  633   %routine getstring
				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, -832(%ebp)
				movl	%ecx, -828(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -28(%ebp)
				xorl	%ecx, %ecx
		.LBB365:
		.LBB366:
  634     s=""
				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	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE366:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %edx
		.LBE365:
				movl	-832(%ebp), %eax
				addl	$8, %eax
				subl	$4, %esp
				pushl	$31
				pushl	%edx
				pushl	%eax
				call	_imp_strncpy@PLT
				addl	$16, %esp
		.L888:
  635     %cycle
  636       sym=line(val); %returnif sym='"'; val=val+1; s=s.tostring(sym)
				movl	-832(%ebp), %esi
				movl	4(%esi), %eax
				movl	200(%eax), %eax
				leal	-1(%eax), %edx
				movl	4(%esi), %eax
				movzbl	8088(%eax,%edx), %eax
				movzbl	%al, %eax
				movl	%eax, (%esi)
				movl	(%esi), %eax
				cmpl	$34, %eax
				je	.L896
				nop
		.L890:
				movl	-832(%ebp), %edi
				movl	4(%edi), %eax
				movl	200(%eax), %edx
				movl	4(%edi), %eax
				addl	$1, %edx
				movl	%edx, 200(%eax)
		.LBB367:
		.LBB368:
		.LBB369:
				movl	(%edi), %eax
				movl	%eax, -812(%ebp)
				leal	-540(%ebp), %eax
				movl	%eax, -808(%ebp)
		.LBB370:
		.LBB371:
		.LBB372:
		.LBB373:
				movl	-808(%ebp), %eax
		.LBE373:
		.LBE372:
				movb	$1, (%eax)
				leal	-540(%ebp), %eax
				movl	%eax, -804(%ebp)
				movl	$1, -800(%ebp)
		.LBB374:
		.LBB375:
				movl	-804(%ebp), %edx
				movl	-800(%ebp), %eax
				addl	%edx, %eax
		.LBE375:
		.LBE374:
				movl	-812(%ebp), %edx
				movb	%dl, (%eax)
				leal	-284(%ebp), %eax
				leal	-540(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE371:
		.LBE370:
				leal	-540(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %ecx
		.LBE369:
				movl	-832(%ebp), %eax
				leal	8(%eax), %edx
				leal	-540(%ebp), %eax
				subl	$4, %esp
				pushl	%ecx
				pushl	%edx
				pushl	%eax
				call	_imp_join@PLT
				addl	$12, %esp
				leal	-540(%ebp), %edx
		.LBE368:
				leal	-540(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-540(%ebp), %edx
		.LBE367:
				movl	-832(%ebp), %eax
				addl	$8, %eax
				subl	$4, %esp
				pushl	$31
				pushl	%edx
				pushl	%eax
				call	_imp_strncpy@PLT
				addl	$16, %esp
				nop
  637     %repeat
				jmp	.L888
		.L896:
  638   %end
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L895
				call	__stack_chk_fail_local
		.L895:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE220:
		PROCDEF.6512:
		.LFB219:
  639
  640   nextatom; fault(ambig) %unless type=unknown
				movl	%esi, %ecx
				call	NEXTATOM.6216
				movl	%esi, %edx
				movl	204(%edx), %eax
				testl	%eax, %eax
				je	.L929
				subl	$12, %esp
				pushl	$6
				movl	-1104(%ebp), %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L899
		.L929:
				nop
		.L899:
  641   %if key=kspec %start
				cmpl	$20, 8(%ebp)
				jne	.L930
				nop
		.L901:
  642     tagtype(val)=spec; tagval(val)=gloc
				movl	-1104(%ebp), %esi
				movl	%esi, %ecx
				movl	200(%ecx), %eax
				subl	$1, %eax
				addl	$252, %eax
				movl	%esi, %ecx
				movl	$10, (%ecx,%eax,4)
				movl	%esi, %ecx
				movl	200(%ecx), %eax
				leal	-1(%eax), %edx
				movl	%esi, %ecx
				movl	3416(%ecx), %eax
				addl	$52, %edx
				movl	%esi, %ecx
				movl	%eax, (%ecx,%edx,4)
  643     nextatom; fault(form) %unless type=string
				movl	%esi, %ecx
				call	NEXTATOM.6216
				movl	%esi, %ecx
				movl	204(%ecx), %eax
				cmpl	$2, %eax
				je	.L931
				subl	$12, %esp
				pushl	$5
				movl	-1104(%ebp), %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L903
		.L931:
				nop
		.L903:
  644     getstring; p=length(s)
				leal	-296(%ebp), %eax
				movl	%eax, %ecx
				call	GETSTRING.6518
				leal	-296(%ebp), %eax
				addl	$8, %eax
				movl	%eax, -1076(%ebp)
		.LBB376:
		.LBB377:
				movl	-1076(%ebp), %eax
		.LBE377:
		.LBE376:
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -1080(%ebp)
  645     selectoutput(object); printsymbol(2)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				movb	$2, -1086(%ebp)
		.LBB378:
		.LBB379:
				movsbl	-1086(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$8, -1087(%ebp)
		.LBE379:
		.LBE378:
		.LBB380:
		.LBB381:
				movsbl	-1087(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE381:
		.LBE380:
  646     printsymbol(8); printsymbol(p); printstring(s)
				movl	-1080(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -1088(%ebp)
		.LBB382:
		.LBB383:
				movsbl	-1088(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE383:
		.LBE382:
		.LBB384:
				leal	-552(%ebp), %eax
				leal	-288(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-552(%ebp), %edx
				leal	-1064(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE384:
		.LBB385:
		.LBB386:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1064(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
				movb	$7, -1089(%ebp)
		.LBE386:
		.LBE385:
		.LBB387:
		.LBB388:
				movsbl	-1089(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$0, -1090(%ebp)
		.LBE388:
		.LBE387:
		.LBB389:
		.LBB390:
				movsbl	-1090(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE390:
		.LBE389:
  647     printsymbol(7); printsymbol(0)
  648     gloc=gloc+4; %return
				movl	-1104(%ebp), %esi
				movl	3416(%esi), %eax
				addl	$4, %eax
				movl	%eax, 3416(%esi)
				jmp	.L897
		.L930:
  649   %finish
  650   fault(nested) %unless level=0; level=1; access=1; textlevel=0
				movl	-1104(%ebp), %eax
				movl	16(%eax), %eax
				testl	%eax, %eax
				je	.L932
				subl	$12, %esp
				pushl	$7
				movl	-1104(%ebp), %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L907
		.L932:
				nop
		.L907:
				movl	$1, %eax
				movl	-1104(%ebp), %edi
				movl	%eax, 16(%edi)
				movl	$1, %eax
				movl	%eax, 20(%edi)
				movl	$0, %eax
				movl	%eax, 188(%edi)
  651   v=val; t=proc; nextatom
				movl	200(%edi), %eax
				movl	%eax, 8(%edi)
				movl	$8, %eax
				movl	%eax, 4(%edi)
				movl	%edi, %ecx
				call	NEXTATOM.6216
  652   %if type=string %start
				movl	204(%edi), %eax
				cmpl	$2, %eax
				jne	.L933
				nop
		.L909:
  653     getstring
				leal	-296(%ebp), %eax
				movl	%eax, %ecx
				call	GETSTRING.6518
  654     selectoutput(object); printsymbol(1); printsymbol(6)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				movb	$1, -1083(%ebp)
		.LBB391:
		.LBB392:
				movsbl	-1083(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$6, -1084(%ebp)
		.LBE392:
		.LBE391:
		.LBB393:
		.LBB394:
				movsbl	-1084(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE394:
		.LBE393:
  655     printsymbol(length(s)); printstring(s)
				leal	-296(%ebp), %eax
				addl	$8, %eax
				movl	%eax, -1072(%ebp)
		.LBB395:
		.LBB396:
				movl	-1072(%ebp), %eax
		.LBE396:
		.LBE395:
				movzbl	(%eax), %eax
				movsbl	%al, %eax
				movb	%al, -1085(%ebp)
		.LBB397:
		.LBB398:
				movsbl	-1085(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE398:
		.LBE397:
		.LBB399:
				leal	-552(%ebp), %eax
				leal	-288(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-552(%ebp), %edx
				leal	-808(%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	-808(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE401:
		.LBE400:
  656     t=xproc; nextatom
				movl	$9, %eax
				movl	-1104(%ebp), %ecx
				movl	%ecx, %edx
				movl	%eax, 4(%edx)
				call	NEXTATOM.6216
				jmp	.L909
		.L933:
  657   %finish
  658   tagtype(v)=t; tagval(v)=cloc
				movl	-1104(%ebp), %edi
				movl	%edi, %esi
				movl	8(%esi), %eax
				leal	-1(%eax), %edx
				movl	%edi, %esi
				movl	4(%esi), %eax
				addl	$252, %edx
				movl	%edi, %esi
				movl	%eax, (%esi,%edx,4)
				movl	%edi, %esi
				movl	8(%esi), %eax
				leal	-1(%eax), %edx
				movl	%edi, %esi
				movl	3420(%esi), %eax
				addl	$52, %edx
				movl	%edi, %esi
				movl	%eax, (%esi,%edx,4)
  659   dump(16_1e); dump(16_55); !Push ds, push bp
				subl	$12, %esp
				pushl	$30
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$85
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
  660   dump(16_8b); dump(16_ec); !Mov BP,SP
				subl	$12, %esp
				pushl	$139
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$236
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
  661   dump(16_33); dump(16_C0); !Xor AX,AX
				subl	$12, %esp
				pushl	$51
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$192
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
  662   dump(pushax);             !For event mechanism
				subl	$12, %esp
				pushl	$80
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
  663   %if t=xproc %start
				movl	%edi, %eax
				movl	4(%eax), %eax
				cmpl	$9, %eax
				jne	.L934
		.LBB402:
				nop
		.L912:
  664     fault(labund) %if program=""
				movb	$0, -552(%ebp)
				movl	$0, -551(%ebp)
				leal	-547(%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	-552(%ebp), %edx
		.LBE402:
				movl	-1104(%ebp), %eax
				addl	$3832, %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_strcmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L935
				subl	$12, %esp
				pushl	$10
				movl	-1104(%ebp), %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L914
		.L935:
				nop
		.L914:
  665     dump(16_b8); flush; !Mov ax,nn=dseg
				subl	$12, %esp
				pushl	$184
				movl	-1104(%ebp), %edi
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	%edi, %ecx
				call	FLUSH.6308
				movb	$7, -1081(%ebp)
		.LBB403:
		.LBB404:
				movsbl	-1081(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE404:
		.LBE403:
  666     printsymbol(7); printsymbol(length(program)); printstring(program)
				leal	3832(%edi), %eax
				movl	%eax, -1068(%ebp)
		.LBB405:
		.LBB406:
				movl	-1068(%ebp), %eax
		.LBE406:
		.LBE405:
				movzbl	(%eax), %eax
				movsbl	%al, %eax
				movb	%al, -1082(%ebp)
		.LBB407:
		.LBB408:
				movsbl	-1082(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE408:
		.LBE407:
		.LBB409:
				leal	-552(%ebp), %eax
				movl	%edi, -1104(%ebp)
				leal	3832(%edi), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-552(%ebp), %edx
				leal	-552(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE409:
		.LBB410:
		.LBB411:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-552(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE411:
		.LBE410:
  667     cloc=cloc+2; dump(16_8E); dump(16_D8); !Mov ds,ax
				movl	-1104(%ebp), %edi
				movl	3420(%edi), %eax
				addl	$2, %eax
				movl	%eax, 3420(%edi)
				subl	$12, %esp
				pushl	$142
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$216
				movl	%edi, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L912
		.L934:
  668   %finish
  669   parms=0; oldtpos=v+1
				movl	$0, %eax
				movl	-1104(%ebp), %edx
				movl	%eax, 24(%edx)
				movl	8(%edx), %eax
				addl	$1, %eax
				movl	%eax, (%edx)
		.L916:
  670   %while type#sep %cycle
				movl	-1104(%ebp), %eax
				movl	204(%eax), %eax
				cmpl	$14, %eax
				je	.L936
				nop
		.L918:
  671     fault(ambig) %unless type=unknown
				movl	-1104(%ebp), %eax
				movl	204(%eax), %eax
				testl	%eax, %eax
				je	.L937
				subl	$12, %esp
				pushl	$6
				movl	-1104(%ebp), %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L920
		.L937:
				nop
		.L920:
  672     tagtype(val)=var+wordbit
				movl	-1104(%ebp), %ebx
				movl	200(%ebx), %eax
				subl	$1, %eax
				addl	$252, %eax
				movl	$5, (%ebx,%eax,4)
  673     parms=parms+1; nextatom
				movl	24(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 24(%ebx)
				movl	%ebx, %ecx
				call	NEXTATOM.6216
  674   %repeat
				jmp	.L916
		.L936:
  675   p=tagpos-parms; parms=parms+parms; sym=parms+6
				movl	-1104(%ebp), %ebx
				movl	3408(%ebx), %edx
				movl	24(%ebx), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, -1080(%ebp)
				movl	24(%ebx), %eax
				addl	%eax, %eax
				movl	%eax, 24(%ebx)
				movl	24(%ebx), %eax
				addl	$6, %eax
				movl	%eax, -296(%ebp)
		.L921:
  676   %while p<tagpos %cycle
				movl	-1104(%ebp), %eax
				movl	3408(%eax), %eax
				cmpl	%eax, -1080(%ebp)
				jge	.L938
				nop
		.L923:
  677     tagval(p)=sym; sym=sym-2; p=p+1
				movl	-1080(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-296(%ebp), %eax
				addl	$52, %edx
				movl	-1104(%ebp), %ebx
				movl	%eax, (%ebx,%edx,4)
				movl	-296(%ebp), %eax
				subl	$2, %eax
				movl	%eax, -296(%ebp)
				addl	$1, -1080(%ebp)
  678   %repeat
				jmp	.L921
		.L938:
  679   floc=0
				movl	$0, %eax
				movl	-1104(%ebp), %ebx
				movl	%eax, 12(%ebx)
  680 %end
				nop
		.L897:
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L925
				call	__stack_chk_fail_local
		.L925:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE219:
		INSTRUCTION.6553:
		.LFB221:
  681
  682 %routine instruction
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$68, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -60(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  683 %integer t,v,i,oper,st,sv,si,dt,dv
  684   nextatom
				movl	%ebx, %ecx
				call	NEXTATOM.6216
  685   %if type=kmove %start
				movl	204(%ebx), %eax
				cmpl	$23, %eax
				jne	.L1000
				nop
		.L941:
  686     nextatom; oper=16_a4; !Movb
				movl	%ebx, %ecx
				call	NEXTATOM.6216
				movl	$164, -44(%ebp)
  687     %if type=string %start
				movl	204(%ebx), %eax
				cmpl	$2, %eax
				jne	.L1001
				nop
		.L943:
  688       st=var+glabit; sv=gloc; si=0
				movl	$6, -40(%ebp)
				movl	3416(%ebx), %eax
				movl	%eax, -36(%ebp)
				movl	$0, -32(%ebp)
  689       dumpstring(val); val=gloc-sv; gflush
				movl	200(%ebx), %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMPSTRING.6296
				addl	$16, %esp
				movl	3416(%ebx), %eax
				subl	-36(%ebp), %eax
				movl	%eax, 200(%ebx)
				movl	%ebx, %ecx
				call	GFLUSH.6284
  690       %if val&1=0 %start
				movl	200(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1002
				nop
		.L945:
  691         val=val>>1; oper=16_a5; !Movw
				movl	200(%ebx), %eax
				shrl	%eax
				movl	%eax, 200(%ebx)
				movl	$165, -44(%ebp)
				jmp	.L945
		.L1002:
  692       %finish
  693       immediate(load,val); dump(pushax)
				movl	200(%ebx), %eax
				subl	$8, %esp
				pushl	%eax
				pushl	$1
				movl	%ebx, %ecx
				call	IMMEDIATE.6360
				addl	$16, %esp
				subl	$12, %esp
				pushl	$80
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  694     %else
				jmp	.L950
		.L1001:
  695       expr; dump(pushax)
				movl	%ebx, %ecx
				call	EXPR.6346
				subl	$12, %esp
				pushl	$80
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  696       nextatom; st=type; sv=val; si=0
				movl	%ebx, %ecx
				call	NEXTATOM.6216
				movl	204(%ebx), %eax
				movl	%eax, -40(%ebp)
				movl	200(%ebx), %eax
				movl	%eax, -36(%ebp)
				movl	$0, -32(%ebp)
  697       fault(form) %unless st&varmask=var
				subl	$12, %esp
				pushl	$5
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
		.L947:
  698       %if openbracket %start
				movl	%ebx, %ecx
				call	OPENBRACKET.6220
				testl	%eax, %eax
				je	.L1003
				nop
		.L989:
  699         expr; double(st); si=1; dump(pushax)
				movl	%ebx, %ecx
				call	EXPR.6346
				subl	$12, %esp
				pushl	-40(%ebp)
				movl	%ebx, %ecx
				call	DOUBLE.6432
				addl	$16, %esp
				movl	$1, -32(%ebp)
				subl	$12, %esp
				pushl	$80
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  700         closebracket
				movl	%ebx, %ecx
				call	CLOSEBRACKET.6225
				jmp	.L989
		.L949:
		.L1003:
  701       %finish
  702       oper=16_a5 %if st&wordbit#0; !Movw
				movl	$165, -44(%ebp)
		.L946:
		.L950:
  703     %finish
  704     nextatom; dt=type; dv=val
				movl	%ebx, %ecx
				call	NEXTATOM.6216
				movl	204(%ebx), %eax
				movl	%eax, -28(%ebp)
				movl	200(%ebx), %eax
				movl	%eax, -24(%ebp)
  705     fault(form) %unless dt&varmask=var
				subl	$12, %esp
				pushl	$5
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
		.L951:
  706     %if openbracket %start
				movl	%ebx, %ecx
				call	OPENBRACKET.6220
				testl	%eax, %eax
				je	.L1004
				nop
		.L953:
  707       expr; double(dt); dump(16_8b); dump(16_f8); !Mov di,ax
				movl	%ebx, %ecx
				call	EXPR.6346
				subl	$12, %esp
				pushl	-28(%ebp)
				movl	%ebx, %ecx
				call	DOUBLE.6432
				addl	$16, %esp
				subl	$12, %esp
				pushl	$139
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$248
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  708       direct(lea,dt,dv,0); dump(16_03); dump(16_f8); !add di,ax
				pushl	$0
				pushl	-24(%ebp)
				pushl	-28(%ebp)
				pushl	$14
				movl	%ebx, %ecx
				call	DIRECT.6397
				addl	$16, %esp
				subl	$12, %esp
				pushl	$3
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$248
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  709       closebracket
				movl	%ebx, %ecx
				call	CLOSEBRACKET.6225
  710     %else
				jmp	.L954
		.L1004:
  711       direct(lea,dt,dv,0); dump(16_8b); dump(16_f8); !Mov di,ax
				pushl	$0
				pushl	-24(%ebp)
				pushl	-28(%ebp)
				pushl	$14
				movl	%ebx, %ecx
				call	DIRECT.6397
				addl	$16, %esp
				subl	$12, %esp
				pushl	$139
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$248
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
		.L954:
  712     %finish
  713     direct(lea,st,sv,0); dump(16_8b); dump(16_f0); !Mov si,ax
				pushl	$0
				pushl	-36(%ebp)
				pushl	-40(%ebp)
				pushl	$14
				movl	%ebx, %ecx
				call	DIRECT.6397
				addl	$16, %esp
				subl	$12, %esp
				pushl	$139
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$240
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  714     %if si#0 %Start
				cmpl	$0, -32(%ebp)
				je	.L1005
				nop
		.L956:
  715       dump(popax); dump(16_03); dump(16_f0); !add,si,ax
				subl	$12, %esp
				pushl	$88
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$3
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$240
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L956
		.L1005:
  716     %finish
  717     %if dt&glabit=0 %then dump(16_16) %else dump(16_1e); !Push SS/DS
				movl	-28(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1006
				subl	$12, %esp
				pushl	$22
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L959
		.L1006:
				nop
		.L958:
				subl	$12, %esp
				pushl	$30
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
		.L959:
  718     dump(16_07);  !Pop ES
				subl	$12, %esp
				pushl	$7
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  719     %if st&glabit=0 %start
				movl	-40(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1007
				nop
		.L961:
  720       dump(16_1e); dump(16_16); dump(16_1f); !Push DS,SS, Pop DS
				subl	$12, %esp
				pushl	$30
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$22
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$31
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L961
		.L1007:
  721     %finish
  722     dump(16_59); dump(16_F2); dump(oper); !Pop cx, rep
				subl	$12, %esp
				pushl	$89
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$242
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	-44(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  723     dump(16_1f) %if st&glabit=0; !Pop DS
				movl	-40(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1008
				subl	$12, %esp
				pushl	$31
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				nop
		.L963:
  724   %finishelseif type=krepeat %start
				jmp	.L964
		.L1008:
				jmp	.L964
		.L1000:
				movl	204(%ebx), %eax
				cmpl	$30, %eax
				jne	.L1009
				nop
		.L966:
  725     poptext; fault(type) %unless type=repexp
				movl	%ebx, %ecx
				call	POPTEXT.6342
				movl	204(%ebx), %eax
				cmpl	$14, %eax
				je	.L1010
				movl	204(%ebx), %eax
				subl	$12, %esp
				pushl	%eax
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L968
		.L1010:
				nop
		.L968:
  726     dump(16_E9); labelref(label,val)
				subl	$12, %esp
				pushl	$233
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	200(%ebx), %eax
				subl	$8, %esp
				pushl	%eax
				pushl	$3
				movl	%ebx, %ecx
				call	LABELREF.6330
				addl	$16, %esp
  727   %finishelseif type=kjump %start
				jmp	.L964
		.L1009:
				movl	204(%ebx), %eax
				cmpl	$24, %eax
				jne	.L1011
				nop
		.L970:
  728     nextatom; dump(16_e9); labelref(type,val)
				movl	%ebx, %ecx
				call	NEXTATOM.6216
				subl	$12, %esp
				pushl	$233
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	204(%ebx), %eax
				movl	200(%ebx), %edx
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				movl	%ebx, %ecx
				call	LABELREF.6330
				addl	$16, %esp
  729   %finishelseif type=kreturn %start
				jmp	.L964
		.L1011:
				movl	204(%ebx), %eax
				cmpl	$25, %eax
				jne	.L1012
				nop
		.L972:
  730     expr %unless atomtype(atompos)=sep
				movl	3824(%ebx), %eax
				subl	$1, %eax
				addl	$904, %eax
				movl	8(%ebx,%eax,4), %eax
				cmpl	$14, %eax
				je	.L1013
				movl	%ebx, %ecx
				call	EXPR.6346
				jmp	.L974
		.L1013:
				nop
		.L974:
  731     return
				movl	%ebx, %ecx
				call	RETURN.6457
  732   %finishelseif type&varmask=var %start
				jmp	.L964
		.L1012:
				movl	204(%ebx), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L1014
				nop
		.L976:
  733     t=type; v=val; i=0
				movl	204(%ebx), %eax
				movl	%eax, -20(%ebp)
				movl	200(%ebx), %eax
				movl	%eax, -16(%ebp)
				movl	$0, -48(%ebp)
  734     %if open bracket %start
				movl	%ebx, %ecx
				call	OPENBRACKET.6220
				testl	%eax, %eax
				je	.L1015
				nop
		.L978:
  735       expr; double(t); dump(pushax)
				movl	%ebx, %ecx
				call	EXPR.6346
				subl	$12, %esp
				pushl	-20(%ebp)
				movl	%ebx, %ecx
				call	DOUBLE.6432
				addl	$16, %esp
				subl	$12, %esp
				pushl	$80
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  736       close bracket
				movl	%ebx, %ecx
				call	CLOSEBRACKET.6225
  737       i=1
				movl	$1, -48(%ebp)
				jmp	.L978
		.L1015:
  738     %finish
  739     fault(form) %unless equal sign
				movl	%ebx, %ecx
				call	EQUALSIGN.6230
				testl	%eax, %eax
				jne	.L1016
				subl	$12, %esp
				pushl	$5
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L980
		.L1016:
				nop
		.L980:
  740     expr; dump(16_5e) %unless i=0; !pop si
				movl	%ebx, %ecx
				call	EXPR.6346
				cmpl	$0, -48(%ebp)
				je	.L1017
				subl	$12, %esp
				pushl	$94
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				jmp	.L982
		.L1017:
				nop
		.L982:
  741     direct(store,t,v,i)
				pushl	-48(%ebp)
				pushl	-16(%ebp)
				pushl	-20(%ebp)
				pushl	$13
				movl	%ebx, %ecx
				call	DIRECT.6397
				addl	$16, %esp
  742   %finishelseif type=proc %or type=xproc %or type=spec %start
				jmp	.L964
		.L1014:
				movl	204(%ebx), %eax
				cmpl	$8, %eax
				je	.L1018
				movl	204(%ebx), %eax
				cmpl	$9, %eax
				je	.L1019
				movl	204(%ebx), %eax
				cmpl	$10, %eax
				jne	.L1020
				jmp	.L984
		.L1018:
				nop
				jmp	.L984
		.L1019:
				nop
		.L984:
				nop
		.L986:
  743     call(type,val)
				movl	204(%ebx), %eax
				movl	200(%ebx), %edx
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				movl	%ebx, %ecx
				call	CALL.6349
				addl	$16, %esp
  744   %else
				jmp	.L964
		.L1020:
  745     atompos=atompos-1
				movl	3824(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 3824(%ebx)
		.L964:
  746   %finish
  747 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L988
				call	__stack_chk_fail_local
		.L988:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE221:
		COND.6592:
		.LFB222:
  748
  749 %integerfn cond; !Evaluate condition, return value of jump opcode
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  750   expr; nextatom; fault(form) %unless type=comp
				movl	%ebx, %ecx
				call	EXPR.6346
				movl	%ebx, %ecx
				call	NEXTATOM.6216
				movl	204(%ebx), %eax
				cmpl	$12, %eax
				je	.L1057
				subl	$12, %esp
				pushl	$5
				movl	%ebx, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L1023
		.L1057:
				nop
		.L1023:
  751   v=val; nextatom; unary
				movl	200(%ebx), %eax
				movl	%eax, 8(%ebx)
				movl	%ebx, %ecx
				call	NEXTATOM.6216
				movl	%ebx, %ecx
				call	UNARY.6235
  752   %if atomtype(atompos)#sep %or (type#constant %and type&varmask#var) %start
				movl	3824(%ebx), %eax
				subl	$1, %eax
				addl	$904, %eax
				movl	8(%ebx,%eax,4), %eax
				cmpl	$14, %eax
				jne	.L1058
				movl	204(%ebx), %eax
				cmpl	$1, %eax
				je	.L1059
				jmp	.L1025
		.L1058:
				nop
		.L1025:
				nop
		.L1027:
  753     dump(pushax); atompos=atompos-1; expr
				subl	$12, %esp
				pushl	$80
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	3824(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 3824(%ebx)
				movl	%ebx, %ecx
				call	EXPR.6346
  754     dump(16_8B); dump(16_D8); dump(popax); !Mov bx,ax
				subl	$12, %esp
				pushl	$139
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$216
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				pushl	$88
				movl	%ebx, %ecx
				call	DUMP.6304
				addl	$16, %esp
  755     type=bx
				movl	$17, %eax
				movl	%eax, 204(%ebx)
				jmp	.L1027
		.L1059:
  756   %finish
  757   direct(cmp,type,val,0)
				movl	204(%ebx), %eax
				movl	200(%ebx), %edx
				pushl	$0
				pushl	%edx
				pushl	%eax
				pushl	$7
				movl	%ebx, %ecx
				call	DIRECT.6397
				addl	$16, %esp
  758   %result=16_72 %if v=']'+128
				movl	8(%ebx), %eax
				cmpl	$221, %eax
				jne	.L1060
				movl	$114, %eax
				jmp	.L1030
		.L1060:
				nop
		.L1029:
  759   %result=16_73 %if v='['
				movl	8(%ebx), %eax
				cmpl	$91, %eax
				jne	.L1061
				movl	$115, %eax
				jmp	.L1030
		.L1061:
				nop
		.L1032:
  760   %result=16_74 %if v='#'
				movl	8(%ebx), %eax
				cmpl	$35, %eax
				jne	.L1062
				movl	$116, %eax
				jmp	.L1030
		.L1062:
				nop
		.L1034:
  761   %result=16_75 %if v='='
				movl	8(%ebx), %eax
				cmpl	$61, %eax
				jne	.L1063
				movl	$117, %eax
				jmp	.L1030
		.L1063:
				nop
		.L1036:
  762   %result=16_76 %if v=']'
				movl	8(%ebx), %eax
				cmpl	$93, %eax
				jne	.L1064
				movl	$118, %eax
				jmp	.L1030
		.L1064:
				nop
		.L1038:
  763   %result=16_77 %if v='['+128
				movl	8(%ebx), %eax
				cmpl	$219, %eax
				jne	.L1065
				movl	$119, %eax
				jmp	.L1030
		.L1065:
				nop
		.L1040:
  764   %result=16_7c %if v='>'+128
				movl	8(%ebx), %eax
				cmpl	$190, %eax
				jne	.L1066
				movl	$124, %eax
				jmp	.L1030
		.L1066:
				nop
		.L1042:
  765   %result=16_7d %if v='<'
				movl	8(%ebx), %eax
				cmpl	$60, %eax
				jne	.L1067
				movl	$125, %eax
				jmp	.L1030
		.L1067:
				nop
		.L1044:
  766   %result=16_7e %if v='>'
				movl	8(%ebx), %eax
				cmpl	$62, %eax
				jne	.L1068
				movl	$126, %eax
				jmp	.L1030
		.L1068:
				nop
		.L1046:
  767   %result=16_7f; ! %if v='<'+128
				movl	$127, %eax
		.L1030:
  768 %end
				movl	-12(%ebp), %edx
				xorl	%gs:20, %edx
				je	.L1047
				call	__stack_chk_fail_local
		.L1047:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE222:
				.data
				.align 32
		N1.6064:
				.long	4676
				.long	32060
				.long	3683
				.long	26608
				.long	22585
				.long	7367
				.long	18374
				.long	14480
				.long	24847
				.long	22585
				.long	7308
				.long	8561
				.long	5035
				.long	24843
				.align 32
		N2.6066:
				.long	723
				.long	4
				.long	5
				.long	3
				.long	3
				.long	0
				.long	5
				.long	16
				.long	29429
				.long	10250
				.long	5
				.long	13032
				.long	449
				.long	6902
				.section	.rodata
				.align 4
		__PRETTY_FUNCTION__.5621:
				.string	"_imp_SELECTINPUT"
				.comm	SEMI.6088,4,4
				.comm	QUOTE.6089,4,4
				.section	.data.rel.local,"aw",@progbits
				.align 32
		S.6244:
				.long	.L504
				.long	.L504
				.long	.L504
				.long	.L504
				.long	.L504
				.long	.L504
				.long	.L504
				.long	.L504
				.long	.L504
				.long	.L504
				.long	.L504
				.align 32
		S.6365:
				.long	.L652
				.long	.L652
				.long	.L652
				.long	.L652
				.long	.L652
				.long	.L652
				.long	.L652
				.long	.L652
				.long	.L652
				.long	.L652
				.long	.L652
				.long	.L652
				.data
				.align 32
		CODE.6399:
				.long	138
				.long	2
				.long	42
				.long	34
				.long	10
				.long	50
				.long	58
				.long	40
				.long	56
				.long	48
				.long	224
				.long	232
				.long	136
				.long	141
				.align 32
		S.6071:
				.byte	7
				.string	"Complex"
				.zero	7
				.zero	240
				.byte	4
				.string	"Atom"
				.zero	10
				.zero	240
				.byte	12
				.string	"Not constant"
				.zero	2
				.zero	240
				.byte	11
				.string	"Buffer full"
				.zero	3
				.zero	240
				.byte	4
				.string	"Form"
				.zero	10
				.zero	240
				.byte	9
				.string	"Ambiguous"
				.zero	5
				.zero	240
				.byte	7
				.string	"Nesting"
				.zero	7
				.zero	240
				.byte	8
				.string	"Too late"
				.zero	6
				.zero	240
				.byte	7
				.string	"Too far"
				.zero	7
				.zero	240
				.byte	13
				.string	"Label missing"
				.zero	1
				.zero	240
				.byte	14
				.string	"Code misplaced"
				.zero	240
				.byte	4
				.string	"Name"
				.zero	10
				.zero	240
				.byte	9
				.string	"Dict full"
				.zero	5
				.zero	240
				.byte	15
				.ascii	"Repeat expected"
				.zero	240
				.byte	15
				.ascii	"Finish expected"
				.zero	240
				.byte	7
				.string	"Context"
				.zero	7
				.zero	240
				.section	.rodata
				.align 4
		__PRETTY_FUNCTION__.5625:
				.string	"_imp_SELECTOUTPUT"
				.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:
		.LFB223:
				movl	(%esp), %eax
				ret
		.LFE223:
				.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:
		.LFB224:
				movl	(%esp), %ebx
				ret
		.LFE224:
				.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:
		.LFB225:
				movl	(%esp), %esi
				ret
		.LFE225:
		.Letext0:
  769
  770 ! Main Program
  771
  772 %onevent 15 %start
				subl	$8, %esp
				pushl	$1
				movl	_imp_event@GOT(%esi), %eax
				leal	532(%eax), %eax
				pushl	%eax
				movl	%esi, %ebx
				call	__sigsetjmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				jne	.L134
		.LBB220:
				movl	$15, -12468(%ebp)
				movl	$0, -16488(%ebp)
		.LBB221:
				movl	$0, -16484(%ebp)
				jmp	.L24
		.L25:
				movl	-16484(%ebp), %eax
				movl	-12468(%ebp,%eax,4), %eax
				movl	$1, %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				orl	%eax, -16488(%ebp)
				addl	$1, -16484(%ebp)
		.L24:
				cmpl	$0, -16484(%ebp)
				je	.L25
		.LBE221:
				movl	-16488(%ebp), %eax
		.LBE220:
				subl	$8, %esp
				pushl	%eax
				movl	-16512(%ebp), %ebx
				movl	_imp_event@GOT(%ebx), %eax
				pushl	%eax
				call	_imp_on_event_enter@PLT
				addl	$16, %esp
				testl	%eax, %eax
		.L134:
  773 %finish
				nop
		.L23:
  774
  775 %if tagpos=1 %start; ! (not via event: first time)
				movl	-8292(%ebp), %eax
				cmpl	$1, %eax
				jne	.L135
		.LBB222:
		.LBB223:
		.LBB224:
				leal	-13748(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				movl	-16512(%ebp), %ebx
				call	_imp_cliparam@PLT
				addl	$12, %esp
		.LBE224:
		.LBE223:
				nop
		.L32:
		.L116:
  776 program = cliparam
				leal	-12468(%ebp), %eax
				leal	-13748(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12468(%ebp), %eax
		.LBE222:
				subl	$4, %esp
				pushl	$31
				pushl	%eax
				leal	-11700(%ebp), %eax
				addl	$3832, %eax
				pushl	%eax
				movl	-16512(%ebp), %esi
				movl	%esi, %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
		.LBB225:
		.LBB226:
		.LBB227:
  777 openinput(source,program.".lc")
				leal	-12468(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC0@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12468(%ebp), %edx
		.LBE227:
				leal	-15540(%ebp), %eax
				subl	$4, %esp
				pushl	%edx
				leal	-11700(%ebp), %edx
				addl	$3832, %edx
				pushl	%edx
				pushl	%eax
				movl	%ebx, -16512(%ebp)
				call	_imp_join@PLT
				addl	$12, %esp
				leal	-15540(%ebp), %edx
		.LBE226:
				leal	-12468(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-12468(%ebp), %edx
				movl	$1, -16472(%ebp)
				leal	-13492(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE225:
		.LBB228:
		.LBB229:
				subl	$12, %esp
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-13492(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-16472(%ebp)
				movl	-16512(%ebp), %esi
				movl	%esi, %ebx
				call	_imp_openinput@PLT
				addl	$272, %esp
		.LBE229:
		.LBE228:
		.LBB230:
		.LBB231:
		.LBB232:
  778 openoutput(object,program.".iob")
				leal	-12468(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC1@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12468(%ebp), %edx
		.LBE232:
				leal	-15284(%ebp), %eax
				subl	$4, %esp
				pushl	%edx
				leal	-11700(%ebp), %edx
				addl	$3832, %edx
				pushl	%edx
				pushl	%eax
				movl	%ebx, -16512(%ebp)
				call	_imp_join@PLT
				addl	$12, %esp
				leal	-15284(%ebp), %edx
		.LBE231:
				leal	-12468(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-12468(%ebp), %edx
				movl	$1, -16468(%ebp)
				leal	-13236(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE230:
		.LBB233:
		.LBB234:
				subl	$12, %esp
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-13236(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-16468(%ebp)
				movl	-16512(%ebp), %esi
				movl	%esi, %ebx
				call	_imp_openoutput@PLT
				addl	$272, %esp
		.LBE234:
		.LBE233:
		.LBB235:
		.LBB236:
		.LBB237:
  779 openoutput(list,program.".lis")
				leal	-12468(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC2@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12468(%ebp), %edx
		.LBE237:
				leal	-15028(%ebp), %eax
				subl	$4, %esp
				pushl	%edx
				leal	-11700(%ebp), %edx
				addl	$3832, %edx
				pushl	%edx
				pushl	%eax
				movl	%ebx, -16512(%ebp)
				call	_imp_join@PLT
				addl	$12, %esp
				leal	-15028(%ebp), %edx
		.LBE236:
				leal	-12468(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-12468(%ebp), %edx
				movl	$2, -16464(%ebp)
				leal	-12980(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE235:
		.LBB238:
		.LBB239:
				subl	$12, %esp
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-12980(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-16464(%ebp)
				movl	-16512(%ebp), %esi
				movl	%esi, %ebx
				call	_imp_openoutput@PLT
				addl	$272, %esp
		.LBE239:
		.LBE238:
  780 selectoutput(list)
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
		.LBB240:
  781 printstring("                  LC Cross-compiler  06/01/81"); newline; newline
				leal	-12468(%ebp), %eax
				movl	%esi, %ebx
				leal	.LC3@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-14772(%ebp), %eax
				leal	-12468(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12724(%ebp), %eax
				leal	-14772(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE240:
		.LBB241:
		.LBB242:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-12724(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	%ebx, %esi
				movl	%esi, %ebx
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE242:
		.LBE241:
		.LBB243:
		.LBB244:
				movl	%esi, %ebx
				call	_imp_newline@PLT
		.LBE244:
		.LBE243:
		.LBB245:
		.LBB246:
				movl	%esi, %ebx
				call	_imp_newline@PLT
		.LBE246:
		.LBE245:
  782   %for type=kconst,1,krepeat %cycle
				movl	$16, %eax
				movl	%eax, -11496(%ebp)
		.L29:
				movl	-11496(%ebp), %eax
				cmpl	$30, %eax
				je	.L136
				movl	-11496(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -11496(%ebp)
				nop
		.L31:
  783     tag1(tagpos)=n1(type); tag2(tagpos)=n2(type)
				movl	-11496(%ebp), %eax
				subl	$17, %eax
				movl	-8292(%ebp), %edx
				subl	$1, %edx
				movl	-16512(%ebp), %ebx
				movl	N1.6064@GOTOFF(%ebx,%eax,4), %eax
				addl	$652, %edx
				movl	%eax, -11700(%ebp,%edx,4)
				movl	-11496(%ebp), %eax
				subl	$17, %eax
				movl	-8292(%ebp), %edx
				subl	$1, %edx
				movl	N2.6066@GOTOFF(%ebx,%eax,4), %eax
				addl	$452, %edx
				movl	%eax, -11700(%ebp,%edx,4)
  784     tagtype(tagpos)=type; tagval(tagpos)=-1
				movl	-8292(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-11496(%ebp), %eax
				addl	$252, %edx
				movl	%eax, -11700(%ebp,%edx,4)
				movl	-8292(%ebp), %eax
				subl	$1, %eax
				addl	$52, %eax
				movl	$-1, -11700(%ebp,%eax,4)
  785     tagpos=tagpos+1
				movl	-8292(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -8292(%ebp)
  786   %repeat
				jmp	.L29
		.L136:
  787   selectinput(source); program=""
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTINPUT
				addl	$16, %esp
		.LBB247:
		.LBB248:
				movb	$0, -12468(%ebp)
				movl	$0, -12467(%ebp)
				leal	-12463(%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	-14516(%ebp), %eax
				leal	-12468(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE248:
				leal	-12468(%ebp), %eax
				leal	-14516(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12468(%ebp), %eax
		.LBE247:
				subl	$4, %esp
				pushl	$31
				pushl	%eax
				leal	-11700(%ebp), %eax
				addl	$3832, %eax
				pushl	%eax
				movl	-16512(%ebp), %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
				jmp	.L116
		.L27:
		.L135:
  788 %finish
  789
  790 %cycle
  791    readline
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	READLINE.6086
		.L33:
  792    %cycle;  !Deal with labels
  793       nextatom
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	NEXTATOM.6216
  794       %exitunless type=unknown %and atomtype(atompos)=colon
				movl	-11496(%ebp), %eax
				testl	%eax, %eax
				jne	.L137
				movl	-7876(%ebp), %eax
				subl	$1, %eax
				addl	$904, %eax
				movl	-11692(%ebp,%eax,4), %eax
				cmpl	$13, %eax
				je	.L138
				jmp	.L35
		.L137:
				nop
		.L35:
				nop
		.L37:
				nop
		.L36:
  795       tagtype(val)=label; satrefs(tagval(val),cloc)
				movl	-11500(%ebp), %eax
				subl	$1, %eax
				addl	$252, %eax
				movl	$3, -11700(%ebp,%eax,4)
				movl	-11500(%ebp), %eax
				subl	$1, %eax
				addl	$52, %eax
				movl	-11700(%ebp,%eax,4), %edx
				movl	-8280(%ebp), %ecx
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	SATREFS.6321
				addl	$16, %esp
  796       tagval(val)=cloc; atompos=atompos+1
				movl	-11500(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-8280(%ebp), %eax
				addl	$52, %edx
				movl	%eax, -11700(%ebp,%edx,4)
				movl	-7876(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -7876(%ebp)
  797       access=1
				movl	$1, %eax
				movl	%eax, -11680(%ebp)
  798    %repeat
				jmp	.L33
		.L38:
				movl	-8288(%ebp), %eax
				testl	%eax, %eax
				je	.L139
				nop
		.L39:
  799    %continueif type=sep %and ifpos=0
				movl	-11496(%ebp), %eax
				cmpl	$14, %eax
				je	.L38
				jmp	.L39
		.L138:
				nop
				jmp	.L116
		.L172:
				nop
		.L115:
  800    %if type=kconst %start
				movl	-11496(%ebp), %eax
				cmpl	$17, %eax
				jne	.L140
				nop
		.L43:
				movl	-11496(%ebp), %eax
				cmpl	$19, %eax
				je	.L141
				movl	-11496(%ebp), %eax
				cmpl	$18, %eax
				jne	.L142
				jmp	.L46
		.L141:
				nop
		.L46:
  801       constdef
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	CONSTDEF.6471
  802    %finishelseif type=kbyte %or type=kword %start
				jmp	.L44
		.L140:
				nop
		.L47:
				movl	-11496(%ebp), %eax
				cmpl	$20, %eax
				je	.L143
				movl	-11496(%ebp), %eax
				cmpl	$21, %eax
				jne	.L144
				jmp	.L49
		.L143:
				nop
		.L49:
  803       vardef(type)
				movl	-11496(%ebp), %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	VARDEF.6479
				addl	$16, %esp
  804    %finishelseif type=kspec %or type=kproc %start
				jmp	.L44
		.L142:
				nop
		.L50:
				movl	-11496(%ebp), %eax
				cmpl	$22, %eax
				jne	.L145
  805       procdef(type)
				movl	-11496(%ebp), %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	PROCDEF.6512
				addl	$16, %esp
  806    %finishelseif type=kend %start
				jmp	.L44
		.L144:
				nop
		.L52:
				movl	-11496(%ebp), %eax
				cmpl	$26, %eax
				jne	.L151
		.LBB249:
  807       %exitif level=0; level=0
				movl	-11684(%ebp), %eax
				testl	%eax, %eax
				je	.L146
				nop
		.L54:
				movl	$0, %eax
				movl	%eax, -11684(%ebp)
				nop
		.L55:
  808       return %unless access=0; flush
				movl	-11680(%ebp), %eax
				testl	%eax, %eax
				je	.L147
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	RETURN.6457
				jmp	.L57
		.L147:
				nop
		.L57:
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	FLUSH.6308
  809       val=oldtpos; oldtpos=tagpos; tagpos=val; ! Reset tagpos before moaning
				movl	-11700(%ebp), %eax
				movl	%eax, -11500(%ebp)
				movl	-8292(%ebp), %eax
				movl	%eax, -11700(%ebp)
				movl	-11500(%ebp), %eax
				movl	%eax, -8292(%ebp)
		.L58:
  810       %while oldtpos>tagpos %cycle
				movl	-11700(%ebp), %edx
				movl	-8292(%ebp), %eax
				cmpl	%eax, %edx
				jle	.L148
				nop
		.L60:
  811          oldtpos=oldtpos-1; fault(labund) %if tagtype(oldtpos)=unknown
				movl	-11700(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -11700(%ebp)
				movl	-11700(%ebp), %eax
				subl	$1, %eax
				addl	$252, %eax
				movl	-11700(%ebp,%eax,4), %eax
				testl	%eax, %eax
				jne	.L149
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$10
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L58
		.L149:
				nop
		.L62:
  812       %repeat
				jmp	.L58
		.L148:
  813       %unless textlevel=0 %start
				movl	-11512(%ebp), %eax
				testl	%eax, %eax
				je	.L150
				nop
		.L64:
				jmp	.L44
		.L145:
  814          poptext; textlevel=0; fault(type)
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	POPTEXT.6342
				movl	$0, %eax
				movl	%eax, -11512(%ebp)
				movl	-11496(%ebp), %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
  815       %finish
  816    %finishelseif type=kprogram %start
				jmp	.L44
		.L150:
				nop
		.L66:
				movl	-11496(%ebp), %eax
				cmpl	$29, %eax
				jne	.L157
  817       fault(ambig) %unless program=""
				movb	$0, -12468(%ebp)
				movl	$0, -12467(%ebp)
				leal	-12463(%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	-12468(%ebp), %eax
		.LBE249:
				subl	$8, %esp
				pushl	%eax
				leal	-11700(%ebp), %eax
				addl	$3832, %eax
				pushl	%eax
				movl	-16512(%ebp), %ebx
				call	_imp_strcmp@PLT
				addl	$16, %esp
				testl	%eax, %eax
				je	.L152
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$6
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L68
		.L152:
				nop
		.L68:
  818       nextatom; fault(form) %unless type=string
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	NEXTATOM.6216
				movl	-11496(%ebp), %eax
				cmpl	$2, %eax
				je	.L153
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$5
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L70
		.L153:
				nop
		.L70:
  819       fault(form) %if val='"'; !Null name not allowed
				movl	-11500(%ebp), %eax
				cmpl	$34, %eax
				jne	.L154
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$5
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L72
		.L154:
				nop
		.L72:
  820       v=line(val)
				movl	-11500(%ebp), %eax
				subl	$1, %eax
				movzbl	-3612(%ebp,%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -11692(%ebp)
		.L73:
  821       %cycle
  822          val=val+1; program=program.tostring(v); v=line(val)
				movl	-11500(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -11500(%ebp)
		.LBB250:
		.LBB251:
		.LBB252:
				movl	-11692(%ebp), %eax
				movl	%eax, -16460(%ebp)
				leal	-12468(%ebp), %eax
				movl	%eax, -16456(%ebp)
		.LBB253:
		.LBB254:
		.LBB255:
		.LBB256:
				movl	-16456(%ebp), %eax
		.LBE256:
		.LBE255:
				movb	$1, (%eax)
				leal	-12468(%ebp), %eax
				movl	%eax, -16452(%ebp)
				movl	$1, -16448(%ebp)
		.LBB257:
		.LBB258:
				movl	-16452(%ebp), %edx
				movl	-16448(%ebp), %eax
				addl	%edx, %eax
		.LBE258:
		.LBE257:
				movl	-16460(%ebp), %edx
				movb	%dl, (%eax)
				leal	-12212(%ebp), %eax
				leal	-12468(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE254:
		.LBE253:
				leal	-12468(%ebp), %eax
				leal	-12212(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12468(%ebp), %edx
		.LBE252:
				leal	-14260(%ebp), %eax
				subl	$4, %esp
				pushl	%edx
				leal	-11700(%ebp), %edx
				addl	$3832, %edx
				pushl	%edx
				pushl	%eax
				movl	-16512(%ebp), %ebx
				call	_imp_join@PLT
				addl	$12, %esp
				leal	-14260(%ebp), %edx
		.LBE251:
				leal	-12468(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-12468(%ebp), %eax
		.LBE250:
				subl	$4, %esp
				pushl	$31
				pushl	%eax
				leal	-11700(%ebp), %eax
				addl	$3832, %eax
				pushl	%eax
				movl	-16512(%ebp), %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
				movl	-11500(%ebp), %eax
				subl	$1, %eax
				movzbl	-3612(%ebp,%eax), %eax
				movzbl	%al, %eax
				movl	%eax, -11692(%ebp)
  823       %repeatuntil v='"'
				movl	-11692(%ebp), %eax
				cmpl	$34, %eax
				je	.L155
				jmp	.L73
		.L155:
				nop
		.L78:
				leal	-11700(%ebp), %eax
				addl	$3832, %eax
				movl	%eax, -16444(%ebp)
		.LBB259:
		.LBB260:
				movl	-16444(%ebp), %eax
		.LBE260:
		.LBE259:
  824       program=program."_" %unless charno(program,length(program))='_'
				movzbl	(%eax), %eax
				movzbl	%al, %eax
				leal	-11700(%ebp), %edx
				addl	$3832, %edx
				movl	%edx, -16440(%ebp)
				movl	%eax, -16436(%ebp)
		.LBB261:
		.LBB262:
				movl	-16440(%ebp), %edx
				movl	-16436(%ebp), %eax
				addl	%edx, %eax
		.LBE262:
		.LBE261:
				movzbl	(%eax), %eax
				cmpb	$95, %al
				je	.L156
		.LBB263:
		.LBB264:
		.LBB265:
				leal	-12468(%ebp), %eax
				movl	-16512(%ebp), %ebx
				leal	.LC4@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12468(%ebp), %edx
		.LBE265:
				leal	-14004(%ebp), %eax
				subl	$4, %esp
				pushl	%edx
				leal	-11700(%ebp), %edx
				addl	$3832, %edx
				pushl	%edx
				pushl	%eax
				movl	%ebx, -16512(%ebp)
				call	_imp_join@PLT
				addl	$12, %esp
				leal	-14004(%ebp), %edx
		.LBE264:
				leal	-12468(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
				leal	-12468(%ebp), %eax
		.LBE263:
				subl	$4, %esp
				pushl	$31
				pushl	%eax
				leal	-11700(%ebp), %eax
				addl	$3832, %eax
				pushl	%eax
				movl	-16512(%ebp), %ebx
				call	_imp_strncpy@PLT
				addl	$16, %esp
				jmp	.L82
		.L156:
				nop
		.L82:
  825       selectoutput(object); printsymbol(2); printsymbol(6)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				movb	$2, -16492(%ebp)
		.LBB266:
		.LBB267:
				movsbl	-16492(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				movl	-16512(%ebp), %edi
				movl	%edi, %ebx
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$6, -16491(%ebp)
		.LBE267:
		.LBE266:
		.LBB268:
		.LBB269:
				movsbl	-16491(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				movl	%edi, %ebx
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				leal	-11700(%ebp), %eax
				addl	$3832, %eax
				movl	%eax, -16432(%ebp)
		.LBE269:
		.LBE268:
		.LBB270:
		.LBB271:
				movl	-16432(%ebp), %eax
		.LBE271:
		.LBE270:
  826       printsymbol(length(program)); printstring(program)
				movzbl	(%eax), %eax
				movsbl	%al, %eax
				movb	%al, -16490(%ebp)
		.LBB272:
		.LBB273:
				movsbl	-16490(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				movl	%edi, -16512(%ebp)
				movl	%edi, %ebx
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE273:
		.LBE272:
		.LBB274:
				leal	-12468(%ebp), %eax
				leal	-7868(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12468(%ebp), %edx
				leal	-11956(%ebp), %eax
				movl	%edx, %esi
				movl	$64, %edx
				movl	%eax, %edi
				movl	%edx, %ecx
				rep movsl
		.LBE274:
		.LBB275:
		.LBB276:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-11956(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	-16512(%ebp), %ebx
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE276:
		.LBE275:
  827    %finishelseif type=kcycle %start
				jmp	.L44
		.L151:
				nop
		.L85:
				movl	-11496(%ebp), %eax
				cmpl	$27, %eax
				jne	.L158
  828       pushtext(repexp,cloc)
				movl	-8280(%ebp), %edx
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				pushl	$14
				movl	%eax, %ecx
				call	PUSHTEXT.6338
				addl	$16, %esp
  829    %finishelseif type=kelse %start
				jmp	.L44
		.L157:
				nop
		.L87:
				movl	-11496(%ebp), %eax
				cmpl	$28, %eax
				jne	.L163
  830       poptext; fault(type) %unless type=finexp
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	POPTEXT.6342
				movl	-11496(%ebp), %eax
				cmpl	$15, %eax
				je	.L159
				movl	-11496(%ebp), %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L89
		.L159:
				nop
		.L89:
  831       satrefs(val,cloc+3)
				movl	-8280(%ebp), %eax
				leal	3(%eax), %ecx
				movl	-11500(%ebp), %edx
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	SATREFS.6321
				addl	$16, %esp
  832       poptext;  fault(type) %unless type=finexp
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	POPTEXT.6342
				movl	-11496(%ebp), %eax
				cmpl	$15, %eax
				je	.L160
				movl	-11496(%ebp), %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L91
		.L160:
				nop
		.L91:
  833       dump(16_e9); dump(val); dump(val>>8)
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$233
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	-11500(%ebp), %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
				movl	-11500(%ebp), %eax
				shrl	$8, %eax
				movl	%eax, %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
  834       %if ifpos=0 %start
				movl	-8288(%ebp), %eax
				testl	%eax, %eax
				jne	.L161
				nop
		.L93:
  835         pushtext(context,0)
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	$0
				pushl	$16
				movl	%eax, %ecx
				call	PUSHTEXT.6338
				addl	$16, %esp
  836       %else
				jmp	.L94
		.L161:
  837         pushtext(finexp,cloc-2)
				movl	-8280(%ebp), %eax
				leal	-2(%eax), %edx
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				pushl	$15
				movl	%eax, %ecx
				call	PUSHTEXT.6338
				addl	$16, %esp
  838         atompos=ifpos+1; dump(cond!!1); dump(3)
				movl	-8288(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -7876(%ebp)
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	COND.6592
				xorl	$1, %eax
				movl	%eax, %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$3
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
  839         dump(16_E9); dump(0); dump(0)
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$233
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
  840         atompos=ifpos %and fault(form) %unless ifpos=2
				movl	-8288(%ebp), %eax
				cmpl	$2, %eax
				je	.L162
				movl	-8288(%ebp), %eax
				movl	%eax, -7876(%ebp)
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$5
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L96
		.L162:
				nop
		.L96:
  841         IFPOS=0
				movl	$0, %eax
				movl	%eax, -8288(%ebp)
		.L94:
  842       %finish
  843       pushtext(finexp,cloc-2)
				movl	-8280(%ebp), %eax
				leal	-2(%eax), %edx
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				pushl	$15
				movl	%eax, %ecx
				call	PUSHTEXT.6338
				addl	$16, %esp
  844    %finishelseif type=kfinish %start
				jmp	.L44
		.L158:
				nop
		.L98:
  845       poptext; fault(type) %unless type=finexp %or type=context
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	POPTEXT.6342
				movl	-11496(%ebp), %eax
				cmpl	$15, %eax
				je	.L164
				movl	-11496(%ebp), %eax
				cmpl	$16, %eax
				je	.L165
				movl	-11496(%ebp), %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L100
		.L164:
				nop
				jmp	.L100
		.L165:
				nop
		.L100:
  846       satrefs(val,cloc)
				movl	-11500(%ebp), %edx
				movl	-8280(%ebp), %ecx
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	SATREFS.6321
				addl	$16, %esp
  847       poptext; satrefs(val,cloc); access=1
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	POPTEXT.6342
				movl	-11500(%ebp), %edx
				movl	-8280(%ebp), %ecx
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	SATREFS.6321
				addl	$16, %esp
				movl	$1, %eax
				movl	%eax, -11680(%ebp)
  848    %else
				jmp	.L44
		.L163:
  849       fault(varund) %if type=unknown
				movl	-11496(%ebp), %eax
				testl	%eax, %eax
				jne	.L166
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$12
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L103
		.L166:
				nop
		.L103:
  850       terminate declarations
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	TERMINATEDECLARATIONS.6462
  851       %if ifpos=0 %start;  !  Statement
				movl	-8288(%ebp), %eax
				testl	%eax, %eax
				jne	.L167
				nop
		.L105:
				movl	-11496(%ebp), %eax
				cmpl	$14, %eax
				jne	.L168
  852          atompos=atompos-1; instruction
				movl	-7876(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -7876(%ebp)
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	INSTRUCTION.6553
  853       %finishelseif type=sep %start;  ! IF condition
				jmp	.L106
		.L167:
				nop
		.L108:
  854          fault(form) %unless ifpos=atompos
				movl	-8288(%ebp), %edx
				movl	-7876(%ebp), %eax
				cmpl	%eax, %edx
				je	.L169
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$5
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L110
		.L169:
				nop
		.L110:
  855          atompos=ifpos+1
				movl	-8288(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -7876(%ebp)
  856          dump(cond!!1); dump(3); dump(16_E9); dump(0); dump(0)
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	COND.6592
				xorl	$1, %eax
				movl	%eax, %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$3
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$233
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
  857          pushtext(finexp,0); pushtext(finexp,cloc-2)
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	$0
				pushl	$15
				movl	%eax, %ecx
				call	PUSHTEXT.6338
				addl	$16, %esp
				movl	-8280(%ebp), %eax
				leal	-2(%eax), %edx
				subl	$8, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				pushl	$15
				movl	%eax, %ecx
				call	PUSHTEXT.6338
				addl	$16, %esp
  858       %else;   ! Statement IF condition
				jmp	.L106
		.L168:
  859          oldapos=atompos-1; atompos=ifpos+1
				movl	-7876(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -16480(%ebp)
				movl	-8288(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -7876(%ebp)
  860          dump(cond)
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	COND.6592
				movl	%eax, %edx
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
  861          oldcpos=cpos; dump(0)
				movl	-11508(%ebp), %eax
				movl	%eax, -16476(%ebp)
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$0
				movl	%eax, %ecx
				call	DUMP.6304
				addl	$16, %esp
  862          atompos=oldapos; instruction
				movl	-16480(%ebp), %eax
				movl	%eax, -7876(%ebp)
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	INSTRUCTION.6553
  863          v=cpos-oldcpos-1; fault(far) %if v>127
				movl	-11508(%ebp), %eax
				subl	-16476(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -11692(%ebp)
				movl	-11692(%ebp), %eax
				cmpl	$127, %eax
				jle	.L170
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$9
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L112
		.L170:
				nop
		.L112:
  864          code(oldcpos)=v
				movl	-11692(%ebp), %eax
				movl	%eax, %ecx
				leal	-7612(%ebp), %edx
				movl	-16476(%ebp), %eax
				addl	%edx, %eax
				movb	%cl, (%eax)
  865          access=1
				movl	$1, %eax
				movl	%eax, -11680(%ebp)
		.L106:
  866       %finish
  867       ifpos=0
				movl	$0, %eax
				movl	%eax, -8288(%ebp)
		.L44:
  868    %finish
  869   nextatom; fault(form) %unless type=sep %and ifpos=0
				leal	-11700(%ebp), %eax
				movl	%eax, %ecx
				call	NEXTATOM.6216
				movl	-11496(%ebp), %eax
				cmpl	$14, %eax
				jne	.L171
				movl	-8288(%ebp), %eax
				testl	%eax, %eax
				je	.L172
				jmp	.L114
		.L171:
				nop
		.L114:
				subl	$12, %esp
				leal	-11700(%ebp), %eax
				pushl	$5
				movl	%eax, %ecx
				call	FAULT.6069
				addl	$16, %esp
				jmp	.L116
		.L41:
		.L139:
  870 %repeat
				jmp	.L116
		.L146:
  871 selectoutput(object); printsymbol(10)
				subl	$12, %esp
				pushl	$1
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
				movb	$10, -16489(%ebp)
		.LBB277:
		.LBB278:
				movsbl	-16489(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				movl	-16512(%ebp), %edi
				movl	%edi, %ebx
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE278:
		.LBE277:
  872 selectoutput(list); newline
				subl	$12, %esp
				pushl	$2
				call	_imp_SELECTOUTPUT
				addl	$16, %esp
		.LBB279:
		.LBB280:
				movl	%edi, %ebx
				call	_imp_newline@PLT
				movl	$0, -16428(%ebp)
		.LBE280:
		.LBE279:
		.LBB281:
		.LBB282:
				subl	$12, %esp
				pushl	-16428(%ebp)
				movl	%edi, %ebx
				call	exit@PLT
		.LBE282:
		.LBE281:
		.LFE189:
		PHEX.6098:
		.LFB192:
  873 %endofprogram
 1020 Statements compiled
