         Edinburgh IMP77 Compiler - Version 8.4
    1 %BEGIN
		.Ltext0:
		INSERTLIT.6131:
		.LFB191:
				leal	4(%esp), %ecx
				andl	$-16, %esp
				pushl	-4(%ecx)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%ebx
				pushl	%ecx
				subl	$24780, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %eax
				movl	4(%eax), %edx
				movl	%edx, -24780(%ebp)
				movl	%gs:20, %edi
				movl	%edi, -28(%ebp)
				xorl	%edi, %edi
				leal	8(%ebp), %edx
				movl	%edx, -32(%ebp)
				subl	$8, %esp
				pushl	-24780(%ebp)
				pushl	(%eax)
				call	_imp_initialise@PLT
				addl	$16, %esp
    2
    3 %ROUTINESPEC READ PS
    4 %ROUTINESPEC READ LINE
    5 %INTEGERFNSPEC COMPARE
    6 %ROUTINESPEC SS
    7 %ROUTINESPEC FAULT(%INTEGER A,B,C,D)
    8 %INTEGERFNSPEC CHNEXT
    9 %INTEGERFNSPEC NEWCELL
   10 %INTEGERFNSPEC RETURN CELL(%INTEGER I)
   11 %ROUTINESPEC PRINT NAME(%INTEGER I)
   12 %INTEGER AP,APP,TP,PSP,ASL,BTN,CTN,CHP,FAULTS,LEVEL,CA,COMP,SCF
   13 %INTEGERARRAY PS(-1000:-600)                 ;! REDUCED PHRASE STRUCTURE
				leal	-24772(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$21436, %eax
				movl	%eax, -24772(%ebp)
				movl	$4, -24768(%ebp)
   14 %INTEGERARRAY TAG,LINK(0:1023)               ;! TAGS LISTS
				leal	-24704(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$14084, %eax
				movl	%eax, -24704(%ebp)
				movl	$4, -24700(%ebp)
				leal	-24636(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$9180, %eax
				movl	%eax, -24636(%ebp)
				movl	$4, -24632(%ebp)
   15 %INTEGERARRAY A(1:200)                       ;! ANALYSIS RECORD
				leal	-24568(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$13280, %eax
				movl	%eax, -24568(%ebp)
				movl	$4, -24564(%ebp)
   16 %INTEGERARRAY T(1:300)                       ;! SOURCE TEXT
				leal	-24500(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$20232, %eax
				movl	%eax, -24500(%ebp)
				movl	$4, -24496(%ebp)
   17 %INTEGERARRAY BAT,COT(0:1023)                ;! BRANCH, CONST TABLES
				leal	-24432(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$648, %eax
				movl	%eax, -24432(%ebp)
				movl	$4, -24428(%ebp)
				leal	-24364(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$4852, %eax
				movl	%eax, -24364(%ebp)
				movl	$4, -24360(%ebp)
   18 %INTEGERARRAY CH(1:512)                      ;! NAME CHAR TABLE
				leal	-24296(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$18180, %eax
				movl	%eax, -24296(%ebp)
				movl	$4, -24292(%ebp)
   19 %INTEGERARRAY JUMP,STAR,BRT,NAME,RTP,BR,CHPP,START,RAD(0:15)  ;! LEVEL INFORMATION
				leal	-24228(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$584, %eax
				movl	%eax, -24228(%ebp)
				movl	$4, -24224(%ebp)
				leal	-24160(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$392, %eax
				movl	%eax, -24160(%ebp)
				movl	$4, -24156(%ebp)
				leal	-24092(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$8, %eax
				movl	%eax, -24092(%ebp)
				movl	$4, -24088(%ebp)
				leal	-24024(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$456, %eax
				movl	%eax, -24024(%ebp)
				movl	$4, -24020(%ebp)
				leal	-23956(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$9048, %eax
				movl	%eax, -23956(%ebp)
				movl	$4, -23952(%ebp)
				leal	-23888(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$9112, %eax
				movl	%eax, -23888(%ebp)
				movl	$4, -23884(%ebp)
				leal	-23820(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$328, %eax
				movl	%eax, -23820(%ebp)
				movl	$4, -23816(%ebp)
				leal	-23752(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$520, %eax
				movl	%eax, -23752(%ebp)
				movl	$4, -23748(%ebp)
				leal	-23684(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$264, %eax
				movl	%eax, -23684(%ebp)
				movl	$4, -23680(%ebp)
   20 %INTEGERARRAY TRUE,FALSE(1:6)                ;! CONDITIONAL BRANCH INSTRUCTIONS
				leal	-23616(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$4748, %eax
				movl	%eax, -23616(%ebp)
				movl	$4, -23612(%ebp)
				leal	-23548(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$4772, %eax
				movl	%eax, -23548(%ebp)
				movl	$4, -23544(%ebp)
   21 %INTEGERARRAY PREC,UCN(1:12)                 ;! OPERATOR PRECEDENCES, TYPES
				leal	-23480(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$9000, %eax
				movl	%eax, -23480(%ebp)
				movl	$4, -23476(%ebp)
				leal	-23412(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$4804, %eax
				movl	%eax, -23412(%ebp)
				movl	$4, -23408(%ebp)
   22 %INTEGERARRAY OPR(0:12)                      ;! MACHINE OPERATIONS
				leal	-23344(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$8948, %eax
				movl	%eax, -23344(%ebp)
				movl	$4, -23340(%ebp)
   23 %INTEGERARRAY PT,PN,PTC(1:15)                ;! FOR RT SPECS, HEADINGS
				leal	-23276(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$192, %eax
				movl	%eax, -23276(%ebp)
				movl	$4, -23272(%ebp)
				leal	-23208(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$132, %eax
				movl	%eax, -23208(%ebp)
				movl	$4, -23204(%ebp)
				leal	-23140(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-23072(%ebp), %eax
				addl	$72, %eax
				movl	%eax, -23140(%ebp)
				movl	$4, -23136(%ebp)
   24      READ PS                             ;! READ IN AND REDUCE PHRASE STRUCTURE
				leal	-23072(%ebp), %eax
				movl	%eax, %ecx
				call	READPS.6022
   25      ASL=0                               ;! CLEAR HASHING AREA &
				movl	$0, %eax
				movl	%eax, -23072(%ebp)
		.L83:
   26 L10:  TAG(ASL)=0                          ;!  CREATE AVAILABLE SPACE LIST
				movl	-23072(%ebp), %eax
				addl	$3520, %eax
				movl	$0, -23068(%ebp,%eax,4)
   27      LINK(ASL)=0                         ;!  IN REMAINDER
				movl	-23072(%ebp), %eax
				addl	$2292, %eax
				movl	$0, -23060(%ebp,%eax,4)
   28      %IF ASL>=256 %AND ASL<1023 %THEN LINK(ASL)=ASL+1
				movl	-23072(%ebp), %eax
				cmpl	$255, %eax
				jle	.L108
				movl	-23072(%ebp), %eax
				cmpl	$1022, %eax
				jg	.L109
				movl	-23072(%ebp), %eax
				leal	1(%eax), %edx
				movl	-23072(%ebp), %eax
				addl	$2292, %eax
				movl	%edx, -23060(%ebp,%eax,4)
				jmp	.L85
		.L108:
				nop
				jmp	.L85
		.L109:
				nop
		.L85:
   29      ASL=ASL+1
				movl	-23072(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -23072(%ebp)
   30      %IF ASL<=1023 %THEN ->L10
				movl	-23072(%ebp), %eax
				cmpl	$1023, %eax
				jg	.L110
				jmp	.L83
		.L110:
				nop
		.L88:
   31      ASL=256                             ;! AVAILABLE SPACE LIST POINTER
				movl	$256, %eax
				movl	%eax, -23072(%ebp)
   32      BR(0)=M'BR0'                        ;! BASE REGISTER MNEMONICS
				movl	$4346416, -13960(%ebp)
   33      BR(1)=M'BR1'
				movl	$4346417, -13956(%ebp)
   34      BR(2)=M'BR2'
				movl	$4346418, -13952(%ebp)
   35      BR(3)=M'BR3'
				movl	$4346419, -13948(%ebp)
   36      BR(4)=M'BR4'
				movl	$4346420, -13944(%ebp)
   37      BR(5)=M'BR5'
				movl	$4346421, -13940(%ebp)
   38      BR(6)=M'BR6'
				movl	$4346422, -13936(%ebp)
   39      BR(7)=M'BR7'
				movl	$4346423, -13932(%ebp)
   40      BR(8)=M'BR8'
				movl	$4346424, -13928(%ebp)
   41      BR(9)=M'BR9'
				movl	$4346425, -13924(%ebp)
   42      BR(10)=M'BR10'
				movl	$1112682800, -13920(%ebp)
   43      BR(11)=M'BR11'
				movl	$1112682801, -13916(%ebp)
   44      BR(12)=M'BR12'
				movl	$1112682802, -13912(%ebp)
   45      BR(13)=M'BR13'
				movl	$1112682803, -13908(%ebp)
   46      BR(14)=M'BR14'
				movl	$1112682804, -13904(%ebp)
   47      BR(15)=M'BR15'
				movl	$1112682805, -13900(%ebp)
   48      TRUE(1)=M'BZ'                       ;! CONDITIONAL BRANCH MNEMONICS
				movl	$16986, -18324(%ebp)
   49      FALSE(1)=M'BNZ'
				movl	$4345434, -18300(%ebp)
   50      TRUE(2)=M'BNZ'
				movl	$4345434, -18320(%ebp)
   51      FALSE(2)=M'BZ'
				movl	$16986, -18296(%ebp)
   52      TRUE(3)=M'BNG'
				movl	$4345415, -18316(%ebp)
   53      FALSE(3)=M'BG'
				movl	$16967, -18292(%ebp)
   54      TRUE(4)=M'BL'
				movl	$16972, -18312(%ebp)
   55      FALSE(4)=M'BNL'
				movl	$4345420, -18288(%ebp)
   56      TRUE(5)=M'BNL'
				movl	$4345420, -18308(%ebp)
   57      FALSE(5)=M'BL'
				movl	$16972, -18284(%ebp)
   58      TRUE(6)=M'BG'
				movl	$16967, -18304(%ebp)
   59      FALSE(6)=M'BNG'
				movl	$4345415, -18280(%ebp)
   60      PREC(1)=3                           ;! OPERATOR PRECEDENCES
				movl	$3, -14072(%ebp)
   61      PREC(2)=3                           ;! 4 : HIGHEST
				movl	$3, -14068(%ebp)
   62      PREC(3)=2                           ;! 1 : LOWEST
				movl	$2, -14064(%ebp)
   63      PREC(4)=1
				movl	$1, -14060(%ebp)
   64      PREC(5)=1
				movl	$1, -14056(%ebp)
   65      PREC(6)=3
				movl	$3, -14052(%ebp)
   66      PREC(7)=2
				movl	$2, -14048(%ebp)
   67      PREC(8)=2
				movl	$2, -14044(%ebp)
   68      PREC(9)=1
				movl	$1, -14040(%ebp)
   69      PREC(10)=1
				movl	$1, -14036(%ebp)
   70      PREC(11)=1
				movl	$1, -14032(%ebp)
   71      PREC(12)=4
				movl	$4, -14028(%ebp)
   72      OPR(0)=M'LOAD'                      ;! MACHINE INSTRUCTION MNEMONICS
				movl	$1280262468, -14124(%ebp)
   73      OPR(1)=M'SHL'
				movl	$5457996, -14120(%ebp)
   74      OPR(2)=M'SHR'
				movl	$5458002, -14116(%ebp)
   75      OPR(3)=M'AND'
				movl	$4279876, -14112(%ebp)
   76      OPR(4)=M'XOR'
				movl	$5787474, -14108(%ebp)
   77      OPR(5)=M'OR'
				movl	$20306, -14104(%ebp)
   78      OPR(6)=M'EXP'
				movl	$4544592, -14100(%ebp)
   79      OPR(7)=M'DIV'
				movl	$4475222, -14096(%ebp)
   80      OPR(8)=M'MLT'
				movl	$5065812, -14092(%ebp)
   81      OPR(9)=M'ADD'
				movl	$4277316, -14088(%ebp)
   82      OPR(10)=M'SUB'
				movl	$5461314, -14084(%ebp)
   83      OPR(11)=M'NEG'
				movl	$5129543, -14080(%ebp)
   84      OPR(12)=M'NOT'
				movl	$5132116, -14076(%ebp)
   85      UCN(1)=3                            ;! OPERATOR TYPES
				movl	$3, -18268(%ebp)
   86      UCN(2)=3                            ;! 1 : UNARY
				movl	$3, -18264(%ebp)
   87      UCN(3)=2                            ;! 2 : BINARY COMMUTATIVE
				movl	$2, -18260(%ebp)
   88      UCN(3)=2                            ;! 3 : BINARY NON-COMMUTATIVE
				movl	$2, -18260(%ebp)
   89      UCN(4)=2
				movl	$2, -18256(%ebp)
   90      UCN(5)=2
				movl	$2, -18252(%ebp)
   91      UCN(6)=3
				movl	$3, -18248(%ebp)
   92      UCN(7)=3
				movl	$3, -18244(%ebp)
   93      UCN(8)=2
				movl	$2, -18240(%ebp)
   94      UCN(9)=2
				movl	$2, -18236(%ebp)
   95      UCN(10)=3
				movl	$3, -18232(%ebp)
   96      UCN(11)=1
				movl	$1, -18228(%ebp)
   97      UCN(12)=1
				movl	$1, -18224(%ebp)
   98      BTN=0                               ;! BRANCH TABLE POINTER
				movl	$0, %eax
				movl	%eax, -22812(%ebp)
   99      CTN=0                               ;! CONSTANT TABLE POINTER
				movl	$0, %eax
				movl	%eax, -22816(%ebp)
  100      CHP=1                               ;! NAME CHARACTER TABLE POINTER
				movl	$1, %eax
				movl	%eax, -2844(%ebp)
  101      FAULTS=0                            ;! FAULT COUNT
				movl	$0, %eax
				movl	%eax, -23068(%ebp)
  102      LEVEL=0                             ;! TEXTUAL LEVEL
				movl	$0, %eax
				movl	%eax, -13896(%ebp)
  103      SCF=0                               ;! CONDITION FLAG
				movl	$0, %eax
				movl	%eax, -18272(%ebp)
  104      JUMP(0)=0                           ;! JUMP LIST POINTER
				movl	$0, -22488(%ebp)
  105      STAR(0)=0                           ;! STORAGE ALLOCATION POSITION IN COT
				movl	$0, -22680(%ebp)
  106      NAME(0)=0                           ;! NAME LIST POINTER
				movl	$0, -22616(%ebp)
  107      RTP(0)=-1                           ;! ROUTINE TYPE
				movl	$-1, -14024(%ebp)
  108      CHPP(0)=0                           ;! NAME CHARACTER TABLE POSITION
				movl	$0, -22744(%ebp)
  109      START(0)=0                          ;! START/FINISH LIST
				movl	$0, -22552(%ebp)
  110      RAD(0)=10                           ;! NEXT RELATIVE ADDRESS TO BE ALLOCATED
				movl	$10, -22808(%ebp)
  111      CA=0                                ;! CURRENT CODE DUMPING ADDRESS
				movl	$0, %eax
				movl	%eax, -18328(%ebp)
				movb	$80, -24773(%ebp)
		.LBB131:
		.LBB132:
				movsbl	-24773(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$82, -24774(%ebp)
		.LBE132:
		.LBE131:
		.LBB133:
		.LBB134:
				movsbl	-24774(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$71, -24775(%ebp)
		.LBE134:
		.LBE133:
		.LBB135:
		.LBB136:
				movsbl	-24775(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$58, -24776(%ebp)
		.LBE136:
		.LBE135:
		.LBB137:
		.LBB138:
				movsbl	-24776(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.L89:
		.LBE138:
		.LBE137:
  112      PRINT SYMBOL('P')
  113      PRINT SYMBOL('R')
  114      PRINT SYMBOL('G')
  115      PRINT SYMBOL(':')
  116 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  117 L1:   READ LINE
				leal	-23072(%ebp), %eax
				movl	%eax, %ecx
				call	READLINE.6024
  118      TP=1                                      ;! TEXT POINTER
				movl	$1, %eax
				movl	%eax, -1640(%ebp)
		.L90:
  119 L2:   %IF T(TP)='!' %THEN ->L3                   ;! COMMENT - SKIP TO END
				movl	-1640(%ebp), %eax
				subl	$1, %eax
				addl	$5056, %eax
				movl	-23064(%ebp,%eax,4), %eax
				cmpl	$33, %eax
				je	.L111
				nop
		.L92:
				nop
				jmp	.L102
		.L115:
  120      PSP=-1000                                 ;! START OF <SS> IN PHRASE STRUCTURE TABLES
				movl	$-1000, %eax
				movl	%eax, -9796(%ebp)
  121      AP=1
				movl	$1, %eax
				movl	%eax, -8992(%ebp)
  122      %IF COMPARE=1 %THEN %START                ;! SUCCESSFUL ANALYSIS
				leal	-23072(%ebp), %eax
				movl	%eax, %ecx
				call	COMPARE.6026
				cmpl	$1, %eax
				jne	.L112
				nop
		.L95:
  123         AP=1                                   ;! ANALYSIS RECORD POINTER
				movl	$1, %eax
				movl	%eax, -8992(%ebp)
  124         SS                                     ;! PROCESS SOURCE STATEMENT
				leal	-23072(%ebp), %eax
				movl	%eax, %ecx
				call	SS.6028
  125         %IF T(TP-1)=';' %THEN ->L2              ;! FURTHER STATEMENT ON THIS LINE
				movl	-1640(%ebp), %eax
				subl	$2, %eax
				addl	$5056, %eax
				movl	-23064(%ebp,%eax,4), %eax
				cmpl	$59, %eax
				jne	.L113
				jmp	.L90
		.L113:
				nop
		.L97:
  126         ->L1 ; %FINISH                          ;! GO TO READ NEXT LINE
				jmp	.L89
		.L112:
  127      FAULT(M'SYNT',M'AX ?',M'    ',M'    ')    ;! UNSUCCESSFUL ANALYSIS
				leal	-23072(%ebp), %eax
				pushl	$538976288
				pushl	$538976288
				pushl	$1096294463
				pushl	$1398361684
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
		.L98:
  128 L5:   %IF T(TP)=10 %THEN ->L1                    ;! NEWLINE - READ NEXT LINE
				movl	-1640(%ebp), %eax
				subl	$1, %eax
				addl	$5056, %eax
				movl	-23064(%ebp,%eax,4), %eax
				cmpl	$10, %eax
				jne	.L114
				jmp	.L89
		.L114:
				nop
		.L100:
  129      %IF T(TP)=';' %THEN %START                ;! END OF STATEMENT
				movl	-1640(%ebp), %eax
				subl	$1, %eax
				addl	$5056, %eax
				movl	-23064(%ebp,%eax,4), %eax
				cmpl	$59, %eax
				jne	.L115
				nop
		.L102:
  130         TP=TP+1                                ;! TP TO START OF NEXT STATEMENT
				movl	-1640(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -1640(%ebp)
  131         ->L2 ; %FINISH                          ;! GO TO EXAMINE NEXT STATEMENT
				jmp	.L90
		.L93:
		.L111:
  132 L3:   TP=TP+1                                   ;! SKIP TO NEXT CHARACTER OF STATEMENT
				movl	-1640(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -1640(%ebp)
  133      ->L5
				jmp	.L98
		.LFE189:
		GETPN.6133:
		.LFB192:
  134 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  135 %ROUTINE READ PS
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$588, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -588(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -32(%ebp)
				movl	%esi, -40(%ebp)
  136 ! READ IN AND REDUCE PHRASE STRUCTURE
  137 %INTEGER PNP,ALT,P,I,J,K
  138 %INTEGERARRAY PN,PSP(256:300)    ;! PHRASE NAME CHARS & POINTERS TO START OF PHRASES IN PS
				leal	-540(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-404(%ebp), %eax
				addl	$180, %eax
				movl	%eax, -540(%ebp)
				movl	$4, -536(%ebp)
				leal	-472(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-404(%ebp), %eax
				movl	%eax, -472(%ebp)
				movl	$4, -468(%ebp)
  139 %ROUTINESPEC INSERT LIT
  140 %INTEGERFNSPEC GET PN
  141      PNP=256                               ;! PN POINTER
				movl	$256, %eax
				movl	%eax, -44(%ebp)
  142      P=-1000                               ;! PS POINTER
				movl	$-1000, %eax
				movl	%eax, -36(%ebp)
		.L24:
				leal	-576(%ebp), %eax
				movl	%eax, -560(%ebp)
		.LBB121:
		.LBB122:
				subl	$12, %esp
				pushl	-560(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE122:
		.LBE121:
  143 L1:   READ SYMBOL(I)
  144      %IF I='B' %THEN %START                ;! BUILT-IN PHRASE
				movl	-576(%ebp), %eax
				cmpl	$66, %eax
				jne	.L70
				nop
		.L26:
  145 L2:      READ SYMBOL(I)                        ;! SKIP TO <
				nop
		.L25:
				leal	-576(%ebp), %eax
				movl	%eax, -556(%ebp)
		.LBB123:
		.LBB124:
				subl	$12, %esp
				pushl	-556(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE124:
		.LBE123:
  146         %IF I\='<' %THEN ->L2
				movl	-576(%ebp), %eax
				cmpl	$60, %eax
				je	.L71
				jmp	.L25
		.L71:
				nop
		.L28:
  147         J=GET PN                           ;! READ PHRASE NAME & GET POSITION IN PSP
				leal	-404(%ebp), %eax
				movl	%eax, %ecx
				call	GETPN.6133
				movl	%eax, -568(%ebp)
		.L29:
				leal	-576(%ebp), %eax
				movl	%eax, -552(%ebp)
		.LBB125:
		.LBB126:
				subl	$12, %esp
				pushl	-552(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE126:
		.LBE125:
  148 L3:      READ SYMBOL(I)                        ;! SKIP TO =
  149         %IF I\='=' %THEN ->L3
				movl	-576(%ebp), %eax
				cmpl	$61, %eax
				je	.L72
				jmp	.L29
		.L31:
		.L72:
				nop
  150         READ(K)                            ;! READ PHRASE NUMBER
				subl	$12, %esp
				leal	-572(%ebp), %eax
				pushl	%eax
				call	_imp_readint@PLT
				addl	$16, %esp
  151         PSP(J)=K                           ;! FILL IN PHRASE NUMBER
				movl	-568(%ebp), %eax
				leal	-256(%eax), %edx
				movl	-572(%ebp), %eax
				movl	%eax, -404(%ebp,%edx,4)
  152         ->L1 ; %FINISH                      ;! GO TO DEAL WITH NEXT PHRASE
				jmp	.L24
		.L70:
  153      %IF I='P' %THEN %START                ;! PHRASE
				movl	-576(%ebp), %eax
				cmpl	$80, %eax
				jne	.L73
				nop
		.L33:
  154 L4:      READ SYMBOL(I)                        ;! SKIP TO <
				nop
		.L32:
				leal	-576(%ebp), %eax
				movl	%eax, -548(%ebp)
		.LBB127:
		.LBB128:
				subl	$12, %esp
				pushl	-548(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE128:
		.LBE127:
  155         %IF I\='<' %THEN ->L4
				movl	-576(%ebp), %eax
				cmpl	$60, %eax
				je	.L74
				jmp	.L32
		.L74:
				nop
		.L35:
  156         PSP(GET PN)=P                      ;! READ PHRASE NAME & FILL IN PS POSITION
				leal	-404(%ebp), %eax
				movl	%eax, %ecx
				call	GETPN.6133
				leal	-256(%eax), %edx
				movl	-36(%ebp), %eax
				movl	%eax, -404(%ebp,%edx,4)
		.L36:
  157 L7:      ALT=P                              ;! REMEMBER START POSITION IN PS OF THIS ALTERNATIVE
				movl	-36(%ebp), %eax
				movl	%eax, -564(%ebp)
		.L37:
  158 L6:      P=P+1                              ;! NEXT PS POSITION
				movl	-36(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
		.L38:
				leal	-576(%ebp), %eax
				movl	%eax, -544(%ebp)
		.LBB129:
		.LBB130:
				subl	$12, %esp
				pushl	-544(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE130:
		.LBE129:
  159 L5:      READ SYMBOL(I)                        ;! START OF NEXT ITEM IN THIS ALTERNATIVE
  160         %IF I='''' %THEN %START            ;! LITERAL TEXT
				movl	-576(%ebp), %eax
				cmpl	$39, %eax
				jne	.L75
				nop
		.L40:
  161            INSERT LIT                      ;! READ LITERAL & INSERT IN PS
				leal	-404(%ebp), %eax
				movl	%eax, %ecx
				call	INSERTLIT.6131
  162            ->L5 ; %FINISH                   ;! GO FOR NEXT ITEM
				jmp	.L38
		.L75:
  163         %IF I='<' %THEN %START             ;! ITEM IS A PHRASE NAME
				movl	-576(%ebp), %eax
				cmpl	$60, %eax
				jne	.L76
				nop
		.L42:
  164            PS(P)=GET PN                    ;! READ PHRASE NAME & FILL IN PS WITH PSP POSITION
				movl	-36(%ebp), %eax
				leal	1000(%eax), %edi
				leal	-404(%ebp), %eax
				movl	%eax, %ecx
				call	GETPN.6133
				movl	%eax, %edx
				leal	5356(%edi), %eax
				movl	%edx, 12(%esi,%eax,4)
  165            ->L6 ; %FINISH                   ;! GO FOR NEXT ITEM
				jmp	.L37
		.L76:
  166         %IF I=',' %THEN %START             ;! END OF THIS ALTERNATIVE
				movl	-576(%ebp), %eax
				cmpl	$44, %eax
				jne	.L77
				nop
		.L44:
  167            PS(ALT)=P                       ;! FILL IN POINTER TO END OF ALTERNATIVE
				movl	-564(%ebp), %eax
				leal	1000(%eax), %edx
				movl	-36(%ebp), %eax
				addl	$5356, %edx
				movl	%eax, 12(%esi,%edx,4)
  168            ->L7 ; %FINISH                   ;! GO FOR START OF NEXT ALTERNATIVE
				jmp	.L36
		.L77:
  169         %IF I=';' %THEN %START             ;! END OF PHRASE DEFINITION
				movl	-576(%ebp), %eax
				cmpl	$59, %eax
				jne	.L78
				nop
		.L46:
  170            PS(ALT)=P                       ;! FILL IN POINTER TO END OF ALTERNATIVE
				movl	-564(%ebp), %eax
				leal	1000(%eax), %edx
				movl	-36(%ebp), %eax
				addl	$5356, %edx
				movl	%eax, 12(%esi,%edx,4)
  171            PS(P)=0                         ;! FILL IN END OF PHRASE MARKER
				movl	-36(%ebp), %eax
				addl	$1000, %eax
				addl	$5356, %eax
				movl	$0, 12(%esi,%eax,4)
  172            P=P+1                           ;! NEXT PS POSITION FOR START OF NEXT PHRASE DEFINITION
				movl	-36(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
  173            ->L1 ; %FINISH                   ;! GO FOR NEXT PHRASE
				jmp	.L24
		.L78:
  174         ->L5 ; %FINISH                      ;! SKIP TO SOMETHING SIGNIFICANT
				jmp	.L38
		.L73:
  175      %IF I='E' %THEN %START                ;! END OF PHRASE STRUCTURE DEFINITIONS
				movl	-576(%ebp), %eax
				cmpl	$69, %eax
				jne	.L79
				nop
		.L48:
  176         I=-1000                            ;! REPLACE ALL POINTERS TO PSP WITH CORRECT PS POINTERS
				movl	$-1000, -576(%ebp)
		.L49:
  177 L8:      %IF PS(I)>=256 %THEN PS(I)=PSP(PS(I))
				movl	-576(%ebp), %eax
				addl	$1000, %eax
				addl	$5356, %eax
				movl	12(%esi,%eax,4), %eax
				cmpl	$255, %eax
				jle	.L80
				movl	-576(%ebp), %eax
				addl	$1000, %eax
				addl	$5356, %eax
				movl	12(%esi,%eax,4), %eax
				subl	$256, %eax
				movl	-576(%ebp), %edx
				addl	$1000, %edx
				movl	-404(%ebp,%eax,4), %eax
				addl	$5356, %edx
				movl	%eax, 12(%esi,%edx,4)
				jmp	.L51
		.L80:
				nop
		.L51:
  178         I=I+1
				movl	-576(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -576(%ebp)
  179         %IF I\=P %THEN ->L8
				movl	-576(%ebp), %eax
				movl	-36(%ebp), %edx
				cmpl	%eax, %edx
				je	.L81
				jmp	.L49
		.L81:
				nop
		.L53:
  180         %RETURN ; %FINISH
				nop
  181      ->L1                                   ;! SKIP TO SOMETHING SIGNIFICANT
				jmp	.L24
		.L69:
				call	__stack_chk_fail_local
		.L56:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE190:
				.globl	main
		main:
		.LFB189:
  182 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  183 %ROUTINE INSERT LIT
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$60, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -60(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  184 ! INSERT LITERAL TEXT INTO 'PS'
  185 %INTEGER SH,I
  186      SH=0                                  ;! % SHIFT VALUE TO 0
				movl	$0, -40(%ebp)
		.L2:
				leal	-44(%ebp), %eax
				movl	%eax, -36(%ebp)
		.LBB115:
		.LBB116:
				subl	$12, %esp
				pushl	-36(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE116:
		.LBE115:
  187 L1:   READ SYMBOL(I)
  188      %IF I='''' %THEN %START
				movl	-44(%ebp), %eax
				cmpl	$39, %eax
				jne	.L18
		.LBB117:
		.LBB118:
				call	_imp_nextsymbol@PLT
		.LBE118:
		.LBE117:
				nop
		.L4:
  189         %IF NEXT SYMBOL\='''' %THEN %RETURN    ;! END OF LITERAL
				cmpl	$39, %eax
				jne	.L19
				nop
		.L7:
				leal	-44(%ebp), %eax
				movl	%eax, -32(%ebp)
		.LBB119:
		.LBB120:
				subl	$12, %esp
				pushl	-32(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
				jmp	.L4
		.L18:
		.LBE120:
		.LBE119:
				nop
  190         READ SYMBOL(I)                    ;! QUOTE INSIDE LITERAL - IGNORE ONE
  191         %FINISH
  192      %IF I='%' %THEN SH=128 %ELSE %START   ;! SHIFT VALUE TO 128 FOR %
				movl	-44(%ebp), %eax
				cmpl	$37, %eax
				jne	.L20
				movl	$128, -40(%ebp)
				jmp	.L11
		.L20:
				nop
		.L10:
  193         %IF I<'A' %OR I>'Z' %THEN SH=0     ;! END OF KEYWORD - SHIFT VALUE TO 0
				movl	-44(%ebp), %eax
				cmpl	$64, %eax
				jle	.L21
				movl	-44(%ebp), %eax
				cmpl	$90, %eax
				jle	.L22
				jmp	.L13
		.L21:
				nop
		.L13:
				movl	$0, -40(%ebp)
				jmp	.L14
		.L22:
				nop
		.L14:
  194         PS(P)=I+SH                     ;! STORE SHIFTED (POSSIBLY) CHAR IN PS
				movl	-44(%ebp), %edx
				movl	368(%esi), %eax
				leal	1000(%eax), %edi
				movl	-40(%ebp), %eax
				leal	(%edx,%eax), %ecx
				movl	364(%esi), %eax
				leal	5356(%edi), %edx
				movl	%ecx, 12(%eax,%edx,4)
  195         P=P+1                          ;! MOVE TO NEXT POSITION IN PS
				movl	368(%esi), %eax
				addl	$1, %eax
				movl	%eax, 368(%esi)
		.L11:
  196         %FINISH
  197      ->L1
				jmp	.L2
		.L19:
  198 %END
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L16
				call	__stack_chk_fail_local
		.L16:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE191:
		READPS.6022:
		.LFB190:
  199 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  200 %INTEGERFN GET PN
				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
  201 ! READ IN PHRASE NAME AND GET INDEX IN 'PSP'
  202 %INTEGER NP,S,I
  203      NP=0                            ;! TO ACCUMULATE PHRASE NAME CHARS
				movl	$0, -24(%ebp)
  204      S=24                            ;! INITIAL SHIFT VALUE TO PACK CHARS
				movl	$24, -20(%ebp)
		.L117:
				leal	-28(%ebp), %eax
				movl	%eax, -16(%ebp)
		.LBB139:
		.LBB140:
				subl	$12, %esp
				pushl	-16(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE140:
		.LBE139:
  205 L1:   READ SYMBOL(I)
  206      %IF I\='>' %THEN %START         ;! NOT END OF NAME YET
				movl	-28(%ebp), %eax
				cmpl	$62, %eax
				je	.L132
				nop
		.L119:
  207         NP=NP!I<<S                   ;! PACK NEXT CHAR OF PHRASE NAME
				movl	-28(%ebp), %edx
				movl	-20(%ebp), %eax
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				orl	%eax, -24(%ebp)
  208         S=S-8                        ;! REDUCE SHIFT VALUE FOR NEXT CHAR
				subl	$8, -20(%ebp)
  209         ->L1 ; %FINISH
				jmp	.L117
		.L132:
  210      %IF PNP\=256 %THEN %START       ;! NOT FIRST PHRASE NAME
				movl	360(%esi), %eax
				cmpl	$256, %eax
				je	.L133
				nop
				jmp	.L127
		.L135:
  211         I=256                        ;! SCAN NAMES TO FIND IF ALREADY IN
				movl	$256, -28(%ebp)
		.L122:
  212 L2:      %IF NP=PN(I) %THEN %RESULT=I
				movl	-28(%ebp), %eax
				subl	$256, %eax
				addl	$44, %eax
				movl	4(%esi,%eax,4), %eax
				cmpl	%eax, -24(%ebp)
				jne	.L134
				movl	-28(%ebp), %eax
				jmp	.L128
		.L134:
				nop
		.L124:
  213         I=I+1
				movl	-28(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -28(%ebp)
  214         %IF I\=PNP %THEN ->L2
				movl	-28(%ebp), %eax
				movl	360(%esi), %edx
				cmpl	%eax, %edx
				je	.L135
				jmp	.L122
		.L121:
		.L133:
				nop
		.L127:
  215         %FINISH
  216      PN(PNP)=NP                      ;! INSERT NEW NAME IN DICTIONARY
				movl	360(%esi), %eax
				subl	$256, %eax
				leal	44(%eax), %edx
				movl	-24(%ebp), %eax
				movl	%eax, 4(%esi,%edx,4)
  217      PSP(PNP)=99999                  ;! UNDEFINED PHRASE MARKER
				movl	360(%esi), %eax
				subl	$256, %eax
				movl	$99999, (%esi,%eax,4)
  218      PNP=PNP+1                       ;! MOVE TO NEXT DICTIONARY POSITION
				movl	360(%esi), %eax
				addl	$1, %eax
				movl	%eax, 360(%esi)
  219      %RESULT=PNP-1
				movl	360(%esi), %eax
				subl	$1, %eax
		.L128:
  220 %END
				movl	-12(%ebp), %ebx
				xorl	%gs:20, %ebx
				je	.L129
				call	__stack_chk_fail_local
		.L129:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE192:
		STORE.6184:
		.LFB194:
  221 %END
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L56
				jmp	.L69
		.L79:
  222 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  223 %ROUTINE READ LINE
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$64, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -60(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -16(%ebp)
				movl	%esi, -20(%ebp)
				movl	$2, -40(%ebp)
		.LBB141:
		.LBB142:
				subl	$12, %esp
				pushl	-40(%ebp)
				call	_imp_newlines@PLT
				addl	$16, %esp
				movb	$59, -50(%ebp)
		.LBE142:
		.LBE141:
		.LBB143:
		.LBB144:
				movsbl	-50(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE144:
		.LBE143:
  224 ! LEXICAL PHASE - READ & CLEAN UP NEXT LINE OF TEXT
  225 %ROUTINESPEC STORE(%INTEGER I)
  226 %INTEGER SH,I
  227      NEWLINES(2)
  228      PRINT SYMBOL(';')
  229      SH=0                                ;! % & LITERAL SHIFT VALUE TO 0
				movl	$0, %eax
				movl	%eax, -24(%ebp)
  230      TP=1                                ;! POINTER TO TEXT ARRAY T
				movl	$1, %eax
				movl	%eax, 21432(%esi)
		.L143:
				leal	-44(%ebp), %eax
				movl	%eax, -36(%ebp)
		.LBB145:
		.LBB146:
				subl	$12, %esp
				pushl	-36(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE146:
		.LBE145:
  231 L1:   READ SYMBOL(I)
  232      %IF I=10 %AND TP=1 %THEN ->L1
				movl	-44(%ebp), %eax
				cmpl	$10, %eax
				jne	.L177
				movl	21432(%esi), %eax
				cmpl	$1, %eax
				jne	.L178
				jmp	.L143
		.L177:
				nop
				jmp	.L145
		.L178:
				nop
		.L145:
  233      PRINT SYMBOL(I)
				movl	-44(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -49(%ebp)
		.LBB147:
		.LBB148:
				movsbl	-49(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE148:
		.LBE147:
  234      %IF I='''' %THEN %START
				movl	-44(%ebp), %eax
				cmpl	$39, %eax
				jne	.L179
				nop
		.L148:
  235         SH=128                           ;! SHIFT VALUE FOR LITERAL
				movl	$128, %eax
				movl	%eax, -24(%ebp)
		.L149:
  236 L2:      STORE(I)                         ;! STORE SHIFTED CHAR IN TEXT ARRAY
				movl	-44(%ebp), %edx
				subl	$12, %esp
				leal	-24(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	STORE.6184
				addl	$16, %esp
				leal	-44(%ebp), %eax
				movl	%eax, -32(%ebp)
		.LBB149:
		.LBB150:
				subl	$12, %esp
				pushl	-32(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE150:
		.LBE149:
  237         READ SYMBOL(I)
  238         PRINT SYMBOL(I)
				movl	-44(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -48(%ebp)
		.LBB151:
		.LBB152:
				movsbl	-48(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE152:
		.LBE151:
  239         %IF I=10 %THEN PRINT SYMBOL(';')
				movl	-44(%ebp), %eax
				cmpl	$10, %eax
				jne	.L180
				movb	$59, -47(%ebp)
		.LBB153:
		.LBB154:
				movsbl	-47(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L151
		.L180:
		.LBE154:
		.LBE153:
				nop
		.L151:
  240         %IF I\='''' %THEN ->L2            ;! NOT END OF LITERAL YET
				movl	-44(%ebp), %eax
				cmpl	$39, %eax
				je	.L181
				jmp	.L149
		.L181:
				nop
		.L153:
				leal	-44(%ebp), %eax
				movl	%eax, -28(%ebp)
		.LBB155:
		.LBB156:
				subl	$12, %esp
				pushl	-28(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE156:
		.LBE155:
  241         READ SYMBOL(I)
  242         PRINT SYMBOL(I)
				movl	-44(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -46(%ebp)
		.LBB157:
		.LBB158:
				movsbl	-46(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE158:
		.LBE157:
  243         %IF I='''' %THEN ->L2             ;! QUOTE IN LITERAL - IGNORE ONE
				movl	-44(%ebp), %eax
				cmpl	$39, %eax
				jne	.L182
				jmp	.L149
		.L182:
				nop
		.L155:
  244         SH=0                             ;! SHIFT VALUE TO 0 FOR END OF LITERAL
				movl	$0, %eax
				movl	%eax, -24(%ebp)
  245         STORE('''')                      ;! STORE UNSHIFTED VALUE TO MARK END
				subl	$12, %esp
				leal	-24(%ebp), %eax
				pushl	$39
				movl	%eax, %ecx
				call	STORE.6184
				addl	$16, %esp
				jmp	.L148
		.L179:
  246         %FINISH
  247      %IF I='%' %THEN SH=128 %ELSE %START ;! SHIFT VALUE TO 128 FOR KEYWORD
				movl	-44(%ebp), %eax
				cmpl	$37, %eax
				jne	.L183
				movl	$128, %eax
				movl	%eax, -24(%ebp)
				jmp	.L169
		.L183:
				nop
		.L157:
  248         %IF I<'A' %OR I>'Z' %THEN SH=0   ;! SHIFT VALUE TO 0 FOR END OF KEYWORD
				movl	-44(%ebp), %eax
				cmpl	$64, %eax
				jle	.L184
				movl	-44(%ebp), %eax
				cmpl	$90, %eax
				jle	.L185
				jmp	.L160
		.L184:
				nop
		.L160:
				movl	$0, %eax
				movl	%eax, -24(%ebp)
				jmp	.L161
		.L185:
				nop
		.L161:
  249         %IF I\=' ' %THEN %START          ;! IGNORE SPACES
				movl	-44(%ebp), %eax
				cmpl	$32, %eax
				je	.L186
				nop
				jmp	.L143
		.L187:
  250            STORE(I)
				movl	-44(%ebp), %edx
				subl	$12, %esp
				leal	-24(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	STORE.6184
				addl	$16, %esp
  251            %IF I=10 %THEN %START         ;! NEWLINE CHAR
				movl	-44(%ebp), %eax
				cmpl	$10, %eax
				jne	.L187
				nop
		.L169:
  252               %IF T(TP-2)='C'+128 %THEN %START
				movl	21432(%esi), %eax
				subl	$3, %eax
				addl	$5056, %eax
				movl	8(%esi,%eax,4), %eax
				cmpl	$195, %eax
				jne	.L188
				nop
		.L165:
  253                  TP=TP-2
				movl	21432(%esi), %eax
				subl	$2, %eax
				movl	%eax, 21432(%esi)
				movb	$59, -45(%ebp)
		.LBB159:
		.LBB160:
				movsbl	-45(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE160:
		.LBE159:
  254                  PRINT SYMBOL(';')
  255                  %FINISH %ELSE %RETURN
				jmp	.L169
		.L188:
				nop
  256               %FINISH
  257            %FINISH
  258         %FINISH
  259      ->L1
				jmp	.L143
		.L176:
				call	__stack_chk_fail_local
		.L171:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE193:
		NAME.6210:
		.LFB196:
  260 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  261 %ROUTINE STORE(%INTEGER I)
				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
  262 ! STORE (POSSIBLY) SHIFTED CHARACTER IN TEXT ARRAY & CHECK LINE NOT TOO LONG
  263      %IF TP>300 %THEN %START
				movl	4(%ebx), %eax
				movl	21432(%eax), %eax
				cmpl	$300, %eax
				jle	.L141
				nop
		.L138:
  264         FAULT(M'STAT',M'MNT ',M'TOO ',M'LONG')
				movl	4(%ebx), %eax
				pushl	$1280265799
				pushl	$1414483744
				pushl	$1296978976
				pushl	$1398030676
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
  265         TP=1
				movl	4(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 21432(%eax)
				jmp	.L138
		.L141:
  266         %FINISH
  267      T(TP)=I+SH                      ;! STORE CHAR IN TEXT ARRAY
				movl	4(%ebx), %eax
				movl	21432(%eax), %eax
				leal	-1(%eax), %esi
				movl	(%ebx), %edx
				movl	8(%ebp), %eax
				leal	(%edx,%eax), %ecx
				movl	4(%ebx), %eax
				leal	5056(%esi), %edx
				movl	%ecx, 8(%eax,%edx,4)
  268      TP=TP+1                         ;! MOVE TO NEXT POSITION
				movl	4(%ebx), %eax
				movl	21432(%eax), %edx
				movl	4(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  269 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L140
				call	__stack_chk_fail_local
		.L140:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE194:
		READLINE.6024:
		.LFB193:
  270 %END
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L171
				jmp	.L176
		.L158:
		.L167:
		.L168:
		.L186:
  271 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  272 %INTEGERFN COMPARE
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$308, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -300(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -272(%ebp)
				movl	%ebx, -276(%ebp)
  273 ! ANALYSE PHRASE
  274 %INTEGERFNSPEC NAME            ;! BUILT-IN PHRASE NAME
  275 %INTEGERFNSPEC CNST            ;! BUILT-IN PHRASE <CNST>
  276 %INTEGER APP,TPP,PSPP,AE,N
  277      TPP=TP                              ;! PRESERVE INITIAL TEXT POINTER
				movl	21432(%ebx), %eax
				movl	%eax, -296(%ebp)
  278      APP=AP                              ;! PRESERVE INITIAL ANALYSIS RECORD
				movl	14080(%ebx), %eax
				movl	%eax, -292(%ebp)
  279      A(AP)=1                             ;! ALTERNATIVE 1 FIRST
				movl	14080(%ebx), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	$1, (%ebx,%eax,4)
		.L237:
  280 L11:  AE=PS(PSP)                          ;! POINTER TO END OF ALTERNATIVE
				movl	13276(%ebx), %eax
				addl	$1000, %eax
				addl	$5356, %eax
				movl	12(%ebx,%eax,4), %eax
				movl	%eax, -288(%ebp)
  281      PSP=PSP+1                           ;! FIRST ITEM OF ALTERNATIVE DEFN
				movl	13276(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 13276(%ebx)
		.L238:
  282 L12:  %IF PSP=AE %THEN %RESULT=1          ;! END OF ALT REACHED - SUCCESS
				movl	13276(%ebx), %eax
				cmpl	-288(%ebp), %eax
				jne	.L268
				movl	$1, %eax
				jmp	.L241
		.L268:
				nop
		.L240:
  283      N=PS(PSP)                           ;! NEXT ITEM OF ALT DEFN
				movl	13276(%ebx), %eax
				addl	$1000, %eax
				addl	$5356, %eax
				movl	12(%ebx,%eax,4), %eax
				movl	%eax, -284(%ebp)
  284      PSP=PSP+1                           ;! FOR FOLLOWING ITEM
				movl	13276(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 13276(%ebx)
  285      %IF N<0 %THEN %START                ;! SUB-PHRASE
				cmpl	$0, -284(%ebp)
				jns	.L269
				nop
		.L243:
  286         PSPP=PSP                         ;! PRESERVE PS POINTER
				movl	13276(%ebx), %eax
				movl	%eax, -280(%ebp)
  287         PSP=N                            ;! POINTER TO DEFN OF SUB-PHRASE
				movl	-284(%ebp), %eax
				movl	%eax, 13276(%ebx)
  288         AP=AP+1                          ;! NEXT ANALYSIS RECORD POSITION
				movl	14080(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 14080(%ebx)
  289         N=COMPARE                        ;! RECURSIVE COMPARISON FOR SUB-PHRASE
				movl	%ebx, %ecx
				call	COMPARE.6026
				movl	%eax, -284(%ebp)
  290         PSP=PSPP                         ;! RESTORE PS POINTER
				movl	-280(%ebp), %eax
				movl	%eax, 13276(%ebx)
  291         %IF N=1 %THEN ->L12               ;! SUCCESSFUL COMPARISON - GO FOR NEXT ITEM
				cmpl	$1, -284(%ebp)
				jne	.L270
				jmp	.L238
		.L270:
				nop
		.L245:
  292         ->L13 ; %FINISH                   ;! UNSUCCESSFUL - GO FOR NEXT ALTERNATIVE
				jmp	.L256
		.L269:
  293      %IF N=1 %THEN %START                ;! BUILT-IN PHRASE <NAME>
				cmpl	$1, -284(%ebp)
				jne	.L271
				nop
		.L248:
  294         %IF NAME=1 %THEN ->L12            ;! SUCCESS
				leal	-276(%ebp), %eax
				movl	%eax, %ecx
				call	NAME.6210
				cmpl	$1, %eax
				jne	.L272
				jmp	.L238
		.L272:
				nop
		.L250:
  295         ->L13 ; %FINISH                   ;! FAILURE
				jmp	.L256
		.L271:
  296      %IF N=2 %THEN %START                ;! BUILT-IN PHRASE CNST
				cmpl	$2, -284(%ebp)
				jne	.L273
				nop
		.L252:
  297         %IF CNST=1 %THEN ->L12            ;! SUCCESS
				leal	-276(%ebp), %eax
				movl	%eax, %ecx
				call	CNST.6212
				cmpl	$1, %eax
				jne	.L274
				jmp	.L238
		.L274:
				nop
		.L254:
  298         ->L13 ; %FINISH                   ;! FAILURE
				jmp	.L256
		.L273:
  299      %IF N=T(TP) %THEN %START            ;! LITERAL - MATCHES SOURCE CHAR
				movl	21432(%ebx), %eax
				subl	$1, %eax
				addl	$5056, %eax
				movl	8(%ebx,%eax,4), %eax
				cmpl	%eax, -284(%ebp)
				jne	.L275
				nop
		.L256:
  300         TP=TP+1                          ;! MOVE TO NEXT SOURCE CHAR
				movl	21432(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 21432(%ebx)
  301         ->L12 ; %FINISH                   ;! GO FOR NEXT ITEM
				jmp	.L238
		.L246:
		.L275:
  302 L13:  %IF PS(AE)=0 %THEN %RESULT=0        ;! END OF PHRASE
				movl	-288(%ebp), %eax
				addl	$1000, %eax
				addl	$5356, %eax
				movl	12(%ebx,%eax,4), %eax
				testl	%eax, %eax
				jne	.L276
				movl	$0, %eax
				jmp	.L241
		.L276:
				nop
		.L258:
  303      PSP=AE                              ;! START OF DEFN OF NEXT ALTERNATIVE
				movl	-288(%ebp), %eax
				movl	%eax, 13276(%ebx)
  304      TP=TPP                              ;! BACKTRACK SOURCE TEXT
				movl	-296(%ebp), %eax
				movl	%eax, 21432(%ebx)
  305      AP=APP                              ;!  AND ANALYSIS RECORD POINTERS
				movl	-292(%ebp), %eax
				movl	%eax, 14080(%ebx)
  306      A(AP)=A(AP)+1                       ;! COUNT ALTERNATIVE NUMBER ON ONE
				movl	14080(%ebx), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%ebx,%eax,4), %eax
				movl	14080(%ebx), %edx
				leal	-1(%edx), %ecx
				leal	1(%eax), %edx
				leal	3320(%ecx), %eax
				movl	%edx, (%ebx,%eax,4)
  307      ->L11                                ;! GO TO ANALYSE NEW ALTERNATIVE
				jmp	.L237
		.L241:
  308 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  309 %INTEGERFN NAME
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$48, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  310 ! RECOGNISE AND INSERT NAME IN HASHING AREA OF TAG/LINK ARRAYS
  311 %INTEGER I,J,K,L,M,N
  312      I=T(TP)                             ;! FIRST SOURCE CHAR
				movl	(%ebx), %eax
				movl	21432(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				addl	$5056, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
  313      %IF I<'A' %OR I>'Z' %OR (I='M' %AND T(TP+1)=''''+128) %THENRESULT=0
				cmpl	$64, -24(%ebp)
				jle	.L222
				cmpl	$90, -24(%ebp)
				jg	.L223
				cmpl	$77, -24(%ebp)
				jne	.L224
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$5056, %edx
				movl	8(%eax,%edx,4), %eax
				cmpl	$167, %eax
				jne	.L225
				jmp	.L191
		.L222:
				nop
				jmp	.L191
		.L223:
				nop
		.L191:
				movl	$0, %eax
				jmp	.L195
		.L224:
				nop
				jmp	.L194
		.L225:
				nop
		.L194:
  314                                          ;! FAILURE - NOT A LETTER OR AN M-TYPE CONSTANT
  315      J=CHP                               ;! NEXT POSITION IN CHARACTER ARRAY
				movl	(%ebx), %eax
				movl	20228(%eax), %eax
				movl	%eax, -20(%ebp)
  316      K=I<<16                             ;! LEAVE HOLE FOR LENGTH & PACK FIRST CHAR
				movl	-24(%ebp), %eax
				sall	$16, %eax
				movl	%eax, -40(%ebp)
  317      L=1                                 ;! NO OF CHARS
				movl	$1, -36(%ebp)
  318      M=8                                 ;! NEXT SHIFT VALUE FOR PACKING
				movl	$8, -32(%ebp)
  319      N=I                                 ;! SUM VALUE OF CHARS FOR HASHING
				movl	-24(%ebp), %eax
				movl	%eax, -28(%ebp)
		.L196:
  320 L1:   TP=TP+1
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  321      I=T(TP)                             ;! NEXT CHAR FROM TEXT ARRAY
				movl	(%ebx), %eax
				movl	21432(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				addl	$5056, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
  322      %IF ('0'<=I %AND I<='9') %OR ('A'<=I %AND I<='Z') %THEN %START
				cmpl	$47, -24(%ebp)
				jle	.L226
				cmpl	$57, -24(%ebp)
				jle	.L227
				jmp	.L198
		.L226:
				nop
		.L198:
				cmpl	$64, -24(%ebp)
				jle	.L228
				cmpl	$90, -24(%ebp)
				jg	.L229
				jmp	.L199
		.L227:
				nop
		.L199:
				nop
				jmp	.L201
		.L229:
				nop
		.L201:
  323                                          ;! A DIGIT OR A LETTER
  324         K=K!I<<M                         ;! PACK NEXT LETTER
				movl	-32(%ebp), %eax
				movl	-24(%ebp), %edx
				movl	%eax, %ecx
				sall	%cl, %edx
				movl	%edx, %eax
				orl	%eax, -40(%ebp)
  325         L=L+1                            ;! CHARACTER COUNT
				addl	$1, -36(%ebp)
  326         M=M-8                            ;! NEXT SHIFT
				subl	$8, -32(%ebp)
  327         N=N+I                            ;! SUM OF LETTERS
				movl	-24(%ebp), %eax
				addl	%eax, -28(%ebp)
  328         %IF M<0 %THEN %START             ;! PACKED WORD OF CHARS FULL
				cmpl	$0, -32(%ebp)
				jns	.L230
				nop
		.L203:
  329            CH(CH NEXT)=K                 ;! STORE WORD IN CHAR ARRAY
				movl	(%ebx), %eax
				movl	%eax, %ecx
				call	CHNEXT.6035
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				leal	4544(%edx), %ecx
				movl	-40(%ebp), %edx
				movl	%edx, 4(%eax,%ecx,4)
  330            K=0                           ;! PACKING WORD TO ZERO
				movl	$0, -40(%ebp)
  331            M=24                          ;! NEW SHIFT VALUE
				movl	$24, -32(%ebp)
				jmp	.L196
		.L230:
  332            %FINISH
  333         ->L1 ; %FINISH                    ;! GO FOR NEXT CHAR
				jmp	.L196
		.L228:
  334      %IF K\=0 %THEN CH(CH NEXT)=K        ;! STORE ANY REMAINING CHARS IN CHAR ARRAY
				cmpl	$0, -40(%ebp)
				je	.L231
				movl	(%ebx), %eax
				movl	%eax, %ecx
				call	CHNEXT.6035
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				leal	4544(%edx), %ecx
				movl	-40(%ebp), %edx
				movl	%edx, 4(%eax,%ecx,4)
				jmp	.L205
		.L231:
				nop
		.L205:
  335      CH(J)=CH(J)!L<<24                   ;! FILL IN LENGTH IN HOLE LEFT IN FIRST WORD
				movl	-20(%ebp), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				addl	$4544, %edx
				movl	4(%eax,%edx,4), %eax
				movl	-36(%ebp), %edx
				movl	%edx, %ecx
				sall	$24, %ecx
				movl	-20(%ebp), %edx
				subl	$1, %edx
				orl	%eax, %ecx
				movl	(%ebx), %eax
				addl	$4544, %edx
				movl	%ecx, 4(%eax,%edx,4)
  336      I=(N&15)<<4!N>>4&15                 ;! HASH VALUE
				movl	-28(%ebp), %eax
				sall	$4, %eax
				movzbl	%al, %eax
				movl	-28(%ebp), %edx
				shrl	$4, %edx
				andl	$15, %edx
				orl	%edx, %eax
				movl	%eax, -24(%ebp)
  337      K=I                                 ;! SCAN DICTIONARY FOR NAME
				movl	-24(%ebp), %eax
				movl	%eax, -40(%ebp)
		.L206:
  338 L2:   %IF TAG(K)\=0 %THEN %START          ;! A NAME IN THIS POSITION
				movl	(%ebx), %eax
				movl	-40(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				testl	%eax, %eax
				je	.L232
				nop
		.L208:
  339         L=TAG(K)                         ;! CHAR ARRAY POSITION
				movl	(%ebx), %eax
				movl	-40(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -36(%ebp)
  340         M=J                              ;! CHAR ARRAY POSITION OF NEW NAME
				movl	-20(%ebp), %eax
				movl	%eax, -32(%ebp)
		.L209:
  341 L4:      %IF CH(L)=CH(M) %THEN %START     ;! PACKED WORDS MATCH
				movl	-36(%ebp), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				addl	$4544, %edx
				movl	4(%eax,%edx,4), %edx
				movl	-32(%ebp), %eax
				leal	-1(%eax), %ecx
				movl	(%ebx), %eax
				addl	$4544, %ecx
				movl	4(%eax,%ecx,4), %eax
				cmpl	%eax, %edx
				jne	.L233
				nop
		.L211:
  342            M=M+1                         ;! NEXT WORD OF NEW NAME
				addl	$1, -32(%ebp)
  343            %IF M=CHP %THEN %START        ;! NAMES MATCH
				movl	(%ebx), %eax
				movl	20228(%eax), %eax
				cmpl	%eax, -32(%ebp)
				jne	.L234
				nop
		.L213:
  344               CHP=J                      ;! MOVE CHP BACK SINCE NAME ALREADY IN
				movl	(%ebx), %eax
				movl	-20(%ebp), %edx
				movl	%edx, 20228(%eax)
  345               ->L3 ; %FINISH
				jmp	.L214
		.L234:
  346            L=L+1                         ;! NEXT WORD OF OLD NAME
				addl	$1, -36(%ebp)
  347            ->L4 ; %FINISH                 ;! GO FOR NEXT WORD
				jmp	.L209
		.L233:
  348         K=(K+1)&255                      ;! NO MATCH SO TRY NEXT DICTIONARY POSITION
				movl	-40(%ebp), %eax
				addl	$1, %eax
				andl	$255, %eax
				movl	%eax, -40(%ebp)
  349         %IF K=I %THEN %START             ;! STARTING POSITION REACHED AGAIN
				movl	-40(%ebp), %eax
				cmpl	-24(%ebp), %eax
				jne	.L235
				nop
		.L216:
  350            FAULT(M'DICT',M'IONA',M'RY F',M'ULL ')
				movl	(%ebx), %eax
				pushl	$1431063584
				pushl	$1381572678
				pushl	$1229934145
				pushl	$1145652052
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				movl	$0, -16(%ebp)
		.LBB161:
		.LBB162:
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%esi, %ebx
				call	exit@PLT
		.L235:
		.LBE162:
		.LBE161:
  351            %STOP ; %FINISH
  352         ->L2 ; %FINISH
				jmp	.L206
		.L232:
  353      TAG(K)=J                            ;! STORE CHAR ARRAY POSITION OF NAME
				movl	(%ebx), %eax
				movl	-40(%ebp), %edx
				leal	3520(%edx), %ecx
				movl	-20(%ebp), %edx
				movl	%edx, 4(%eax,%ecx,4)
		.L214:
  354 L3:   AP=AP+1                             ;! NEXT ANALYSIS RECORD POSITION
				movl	(%ebx), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  355      A(AP)=K                             ;! STORE IDENTIFICATION NO OF NAME
				movl	(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				leal	3320(%edx), %ecx
				movl	-40(%ebp), %edx
				movl	%edx, (%eax,%ecx,4)
  356      %RESULT=1                           ;! SUCCESS
				movl	$1, %eax
		.L195:
  357 %END
				movl	-12(%ebp), %esi
				xorl	%gs:20, %esi
				je	.L217
				call	__stack_chk_fail_local
		.L217:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE196:
		COMPARE.6026:
		.LFB195:
  358 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  359 %INTEGERFN CNST
				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
  360 ! RECOGNISE INTEGER AND LITERAL TEXT CONSTANTS
  361 %INTEGER I,J,K
  362      I=T(TP)                             ;! FIRST CHAR
				movl	(%ebx), %eax
				movl	21432(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				addl	$5056, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
  363      %IF I='M' %AND T(TP+1)=''''+128 %THEN %START  ;! M-TYPE CONSTANT
				cmpl	$77, -24(%ebp)
				jne	.L302
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$5056, %edx
				movl	8(%eax,%edx,4), %eax
				cmpl	$167, %eax
				jne	.L303
				nop
				jmp	.L279
		.L303:
				nop
		.L279:
  364         TP=TP+1                          ;! IGNORE THE M
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  365         I=T(TP)
				movl	(%ebx), %eax
				movl	21432(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				addl	$5056, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
				jmp	.L279
		.L302:
  366         %FINISH
  367      %IF I=''''+128 %THEN %START         ;! START OF A LITERAL
				cmpl	$167, -24(%ebp)
				jne	.L304
				nop
		.L282:
  368         J=0                              ;! TO ACCUMULATE LITERAL VALUE
				movl	$0, -20(%ebp)
  369         K=0                              ;! CHARACTER COUNT
				movl	$0, -16(%ebp)
		.L283:
  370 L1:      TP=TP+1
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  371         I=T(TP)                          ;! NEXT CHAR
				movl	(%ebx), %eax
				movl	21432(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				addl	$5056, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
  372         %IF I\='''' %THEN %START         ;! NOT END OF LITERAL
				cmpl	$39, -24(%ebp)
				je	.L305
				nop
		.L285:
  373            J=J<<8!I&127                  ;! PACK CHAR
				movl	-20(%ebp), %eax
				sall	$8, %eax
				movl	%eax, %edx
				movl	-24(%ebp), %eax
				andl	$127, %eax
				orl	%edx, %eax
				movl	%eax, -20(%ebp)
  374            K=K+1                         ;! COUNT CHAR
				addl	$1, -16(%ebp)
  375            ->L1 ; %FINISH
				jmp	.L283
		.L305:
  376         TP=TP+1                          ;! POINTER AFTER QUOTE
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  377         %IF K>4 %THEN FAULT(M'STRI',M'NG T',M'OO L',M'ONG ')
				cmpl	$4, -16(%ebp)
				jle	.L306
				movl	(%ebx), %eax
				pushl	$1330530080
				pushl	$1330585676
				pushl	$1313284180
				pushl	$1398035017
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				nop
		.L287:
  378         ->L2 ; %FINISH
				jmp	.L296
		.L306:
				jmp	.L296
		.L304:
  379      %IF I<'0' %OR I>'9' %THEN %RESULT=0 ;! NOT A CONSTANT
				cmpl	$47, -24(%ebp)
				jle	.L307
				cmpl	$57, -24(%ebp)
				jle	.L308
				jmp	.L290
		.L307:
				nop
		.L290:
				movl	$0, %eax
				jmp	.L292
		.L308:
				nop
		.L291:
  380      J=0
				movl	$0, -20(%ebp)
		.L293:
  381 L3:   J=10*J+I-'0'                        ;! ACCUMULATE DECIMAL VALUE
				movl	-20(%ebp), %edx
				movl	%edx, %eax
				sall	$2, %eax
				addl	%edx, %eax
				addl	%eax, %eax
				movl	%eax, %edx
				movl	-24(%ebp), %eax
				addl	%edx, %eax
				subl	$48, %eax
				movl	%eax, -20(%ebp)
  382      TP=TP+1
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  383      I=T(TP)                             ;! NEXT CHAR
				movl	(%ebx), %eax
				movl	21432(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				addl	$5056, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
  384      %IF '0'<=I %AND I<='9' %THEN ->L3    ;! A DIGIT - STILL PART OF CONSTANT
				cmpl	$47, -24(%ebp)
				jle	.L309
				cmpl	$57, -24(%ebp)
				jg	.L310
				jmp	.L293
		.L288:
		.L309:
				nop
				jmp	.L296
		.L310:
				nop
		.L296:
  385 L2:   AP=AP+1                             ;! NEXT ANALYSIS RECORD POSITION
				movl	(%ebx), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  386      A(AP)=J                             ;! FILL IN VALUE OF CONSTANT
				movl	(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				leal	3320(%edx), %ecx
				movl	-20(%ebp), %edx
				movl	%edx, (%eax,%ecx,4)
  387      %RESULT=1                           ;! SUCCESS
				movl	$1, %eax
		.L292:
  388 %END
				movl	-12(%ebp), %ecx
				xorl	%gs:20, %ecx
				je	.L297
				call	__stack_chk_fail_local
		.L297:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE197:
		UI.6276:
		.LFB199:
  389 %END
				movl	-12(%ebp), %edx
				xorl	%gs:20, %edx
				je	.L259
				call	__stack_chk_fail_local
		.L259:
				addl	$308, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE195:
		CNST.6212:
		.LFB197:
  390 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  391 %ROUTINE SS
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$108, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -108(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -32(%ebp)
				movl	%esi, -36(%ebp)
  392 ! COMPILE SOURCE STATEMENT
  393 %ROUTINESPEC UI
  394 %ROUTINESPEC SCCOND(%INTEGERNAME LABEL)
  395 %ROUTINESPEC SEXPR
  396 %INTEGERFNSPEC FIND LABEL
  397 %ROUTINESPEC CHECK
  398 %ROUTINESPEC UNSET
  399 %ROUTINESPEC PUSH START(%INTEGER FLAG,LABEL)
  400 %INTEGERFNSPEC BT NEXT
  401 %INTEGERFNSPEC CT NEXT
  402 %INTEGERFNSPEC WS NEXT
  403 %ROUTINESPEC STORE TAG(%INTEGER NAME,FORM,TYPE,DIM,LEV,AD)
  404 %ROUTINESPEC DUMP(%INTEGER OP,REG,BASE,DISP)
  405 %ROUTINESPEC SKIP SEXPR
  406 %ROUTINESPEC SKIP APP
  407 %ROUTINESPEC RT
  408 %ROUTINESPEC ARRAD
  409 %ROUTINESPEC ENTER(%INTEGER TYPE,ALLOC)
  410 %ROUTINESPEC RETURN
  411 %INTEGER I,J,K,L,M,N,P,Q,R,WS,LABEL
  412      I=A(AP)                             ;! ANALYSIS RECORD ENTRY
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				movl	%eax, -88(%ebp)
  413      AP=AP+1                             ;! FOR FOLLOWING ENTRY
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  414      WS=2                                ;! SET WORKSPACE POINTER
				movl	$2, %eax
				movl	%eax, -40(%ebp)
  415      %IF I=1 %THEN ->L10                  ;! UNCONDITIONAL INSTRUCTION
				movl	-88(%ebp), %eax
				cmpl	$1, %eax
				je	.L562
				nop
		.L378:
				nop
		.L379:
  416      %IF I=2 %THEN ->L20                  ;! CONDITIONAL STATEMENT
				movl	-88(%ebp), %eax
				cmpl	$2, %eax
				je	.L563
				nop
		.L381:
				nop
		.L382:
  417      %IF I=3 %THEN ->L30                  ;! LABEL
				movl	-88(%ebp), %eax
				cmpl	$3, %eax
				je	.L564
				nop
		.L384:
				nop
		.L385:
  418      %IF I=4 %THEN ->L40                  ;! %FINISH
				movl	-88(%ebp), %eax
				cmpl	$4, %eax
				je	.L565
				nop
		.L387:
				nop
		.L388:
  419      %IF I=5 %THEN ->L50                  ;! DECLARATIONS
				movl	-88(%ebp), %eax
				cmpl	$5, %eax
				je	.L566
				nop
		.L390:
				nop
		.L391:
  420      %IF I=6 %THEN ->L60                  ;! ROUTINE/FN SPEC
				movl	-88(%ebp), %eax
				cmpl	$6, %eax
				je	.L567
				nop
		.L393:
				nop
		.L394:
  421      %IF I=7 %THEN ->L70                  ;! %END
				movl	-88(%ebp), %eax
				cmpl	$7, %eax
				je	.L568
				nop
		.L396:
				nop
		.L397:
  422      %IF I=8 %THEN ->L80                  ;! %BEGIN
				movl	-88(%ebp), %eax
				cmpl	$8, %eax
				je	.L569
				nop
		.L399:
				nop
		.L400:
  423      %IF I=9 %THEN ->L90                  ;! %ENDOFPROGRAM
				movl	-88(%ebp), %eax
				cmpl	$9, %eax
				je	.L570
				nop
		.L402:
				nop
		.L403:
  424      %RETURN                             ;! <SEP>
				jmp	.L376
		.L562:
  425 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  426 ! UI
  427 L10:  UI                                  ;! COMPILE UNCONDITIONAL INSTRUCTION
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UI.6276
  428      %RETURN
				jmp	.L376
		.L563:
  429 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  430 ! %IF . . . %THEN . . .  %ELSE
  431 L20:  SCCOND(I)                           ;! COMPILE CONDITION
				subl	$12, %esp
				leal	-44(%ebp), %eax
				leal	-88(%ebp), %edx
				pushl	%edx
				movl	%eax, %ecx
				call	SCCOND.6278
				addl	$16, %esp
  432      %IF A(AP)=2 %THEN %START            ;! AP ON <UI> - JUMP INSTRUCTION
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$2, %eax
				jne	.L571
				nop
		.L406:
  433         AP=AP+2                          ;! AP ON <ELSE>
				movl	14080(%esi), %eax
				addl	$2, %eax
				movl	%eax, 14080(%esi)
  434         J=-1                             ;! MARKER FOR 'JUMP'
				movl	$-1, -80(%ebp)
  435         %FINISH %ELSE %START             ;! NOT A JUMP
				jmp	.L407
		.L571:
  436         %IF A(AP)=3 %THEN %START         ;! %START
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$3, %eax
				jne	.L572
				nop
		.L409:
  437            %IF A(AP+1)=1 %THEN FAULT(M'%STA',M'RT %',M'ELSE',M' ?  ')
				movl	14080(%esi), %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L573
				pushl	$541007904
				pushl	$1162629957
				pushl	$1381244965
				pushl	$626218049
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L411
		.L573:
				nop
		.L411:
  438            PUSH START(0,I)
				movl	-88(%ebp), %edx
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	%edx
				pushl	$0
				movl	%eax, %ecx
				call	PUSHSTART.6289
				addl	$16, %esp
  439            %RETURN ; %FINISH
				jmp	.L376
		.L572:
  440         UI                               ;! COMPILE REMAINING UNCOND. INSTNS.
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UI.6276
  441         J=0                              ;! 'NOT JUMP' MARKER
				movl	$0, -80(%ebp)
		.L407:
  442         %FINISH
  443      %IF A(AP)=1 %THEN %START            ;! <ELSE>-CLAUSE PRESENT
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L574
				nop
		.L413:
  444         %IF J=0 %THEN %START             ;! <UI> WAS NOT A JUMP
				cmpl	$0, -80(%ebp)
				jne	.L575
				nop
		.L415:
  445            J=BT NEXT                     ;! JUMP ROUND <ELSE>-CLAUSE <UI>
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	BTNEXT.6291
				movl	%eax, -80(%ebp)
  446            DUMP('B',0,M'BT',J)
				leal	-44(%ebp), %eax
				pushl	-80(%ebp)
				pushl	$16980
				pushl	$0
				pushl	$66
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
				jmp	.L415
		.L575:
  447            %FINISH
  448         %IF I>=0 %THEN BAT(I)=CA         ;! FILL IN LABEL ON <ELSE>-CLAUSE <UI>
				movl	-88(%ebp), %eax
				testl	%eax, %eax
				js	.L576
				movl	-88(%ebp), %edx
				movl	4744(%esi), %eax
				addl	$160, %edx
				movl	%eax, 8(%esi,%edx,4)
				jmp	.L417
		.L576:
				nop
		.L417:
  449         AP=AP+1                          ;! AP ON <UI>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  450         %IF A(AP)=3 %THEN %START         ;! %START
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$3, %eax
				jne	.L577
				nop
		.L419:
  451            PUSH START(1,J)
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	-80(%ebp)
				pushl	$1
				movl	%eax, %ecx
				call	PUSHSTART.6289
				addl	$16, %esp
  452            %RETURN ; %FINISH
				jmp	.L376
		.L577:
  453         UI                               ;! COMPILE REMAINING <UI>S
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UI.6276
  454         I=J                              ;! JUMP AROUND LABEL
				movl	-80(%ebp), %eax
				movl	%eax, -88(%ebp)
				jmp	.L413
		.L574:
  455         %FINISH
  456      %IF I>=0 %THEN BAT(I)=CA            ;! TO BRANCH ROUND THE UI
				movl	-88(%ebp), %eax
				testl	%eax, %eax
				js	.L578
				movl	-88(%ebp), %edx
				movl	4744(%esi), %eax
				addl	$160, %edx
				movl	%eax, 8(%esi,%edx,4)
				nop
		.L421:
  457      %RETURN
				jmp	.L376
		.L578:
				jmp	.L376
		.L564:
  458 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  459 ! CONST: . . .
  460 L30:  I=FIND LABEL                        ;! LOCATE/INSERT LABEL IN JUMP LIST
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	FINDLABEL.6282
				movl	%eax, -88(%ebp)
  461      %IF I>=0 %THEN %START               ;! VALID LABEL
				movl	-88(%ebp), %eax
				testl	%eax, %eax
				js	.L579
				nop
		.L423:
  462         %IF BAT(I)>=0 %THEN %START
				movl	-88(%ebp), %eax
				addl	$160, %eax
				movl	8(%esi,%eax,4), %eax
				testl	%eax, %eax
				js	.L580
				nop
		.L425:
  463            WRITE(LABEL,1)
				movl	-44(%ebp), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movl	$2, -52(%ebp)
		.LBB163:
		.LBB164:
				subl	$12, %esp
				pushl	-52(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE164:
		.LBE163:
  464            SPACES(2)
  465            FAULT(M'LABE',M'L SE',M'T TW',M'ICE ')
				pushl	$1229145376
				pushl	$1411404887
				pushl	$1277186885
				pushl	$1279345221
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L425
		.L580:
  466            %FINISH
  467         BAT(I)=CA                        ;! FILL IN LABEL ADDRESS
				movl	-88(%ebp), %edx
				movl	4744(%esi), %eax
				addl	$160, %edx
				movl	%eax, 8(%esi,%edx,4)
				jmp	.L423
		.L579:
  468         %FINISH
  469      SS                                  ;! COMPILE STATEMENT AFTER LABEL
				movl	%esi, %ecx
				call	SS.6028
  470      %RETURN
				jmp	.L376
		.L565:
  471 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  472 ! %FINISH . . .
  473 L40:  I=START(LEVEL)                           ;! LINK TO FIRST CELL IN START LIST
				movl	9176(%esi), %eax
				subl	$-128, %eax
				movl	8(%esi,%eax,4), %eax
				movl	%eax, -88(%ebp)
  474      %IF I=0 %THEN %START                     ;! NO CELLS IN LIST
				movl	-88(%ebp), %eax
				testl	%eax, %eax
				jne	.L581
				nop
		.L427:
  475         FAULT(M'SPUR',M'IOUS',M' %FI',M'NISH')
				pushl	$1313428296
				pushl	$539313737
				pushl	$1229935955
				pushl	$1397773650
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
  476         %RETURN ; %FINISH
				jmp	.L376
		.L581:
  477      J=TAG(I)&65535                           ;! JUMP AROUND LABEL
				movl	-88(%ebp), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				andl	$65535, %eax
				movl	%eax, -80(%ebp)
  478      K=TAG(I)>>16                             ;! BEFORE OR AFTER %ELSE MARKER
				movl	-88(%ebp), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				shrl	$16, %eax
				movl	%eax, -60(%ebp)
  479      START(LEVEL)=RETURN CELL(I)              ;! POP UP CELL
				movl	-88(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				movl	%esi, %ecx
				call	RETURNCELL.6039
				addl	$16, %esp
				movl	%eax, %edx
				movl	9176(%esi), %eax
				subl	$-128, %eax
				movl	%edx, 8(%esi,%eax,4)
  480      %IF A(AP)=1 %THEN %START                 ;! %ELSE PRESENT
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L582
				nop
		.L429:
  481         %IF K=1 %THEN FAULT(M'TWO ',M'%ELS',M'ES !',M'    ')
				cmpl	$1, -60(%ebp)
				jne	.L583
				pushl	$538976288
				pushl	$1163075617
				pushl	$625298515
				pushl	$1415008032
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L431
		.L583:
				nop
		.L431:
  482         K=BT NEXT                             ;! JUMP AROUND <UI>
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	BTNEXT.6291
				movl	%eax, -60(%ebp)
  483         DUMP('B',0,M'BT',K)
				leal	-44(%ebp), %eax
				pushl	-60(%ebp)
				pushl	$16980
				pushl	$0
				pushl	$66
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  484         %IF J\=65535 %THEN BAT(J)=CA          ;! FILL IN LABEL ON <UI> IF NECESSARY
				cmpl	$65535, -80(%ebp)
				je	.L584
				movl	4744(%esi), %eax
				movl	-80(%ebp), %edx
				addl	$160, %edx
				movl	%eax, 8(%esi,%edx,4)
				jmp	.L433
		.L584:
				nop
		.L433:
  485         AP=AP+1                               ;! AP ON <UI>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  486         %IF A(AP)=3 %THEN %START              ;! %START
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$3, %eax
				jne	.L585
				nop
		.L435:
  487            PUSH START(1,K)
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	-60(%ebp)
				pushl	$1
				movl	%eax, %ecx
				call	PUSHSTART.6289
				addl	$16, %esp
  488            %RETURN ; %FINISH
				jmp	.L376
		.L585:
  489         UI                                    ;! COMPILE REMAINING <UI>S
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UI.6276
  490         J=K                                   ;! JUMP AROUND LABEL
				movl	-60(%ebp), %eax
				movl	%eax, -80(%ebp)
				jmp	.L429
		.L582:
  491         %FINISH
  492      %IF J\=65535 %THEN BAT(J)=CA             ;! FILL IN JUMP AROUND LABEL IF NECESSARY
				cmpl	$65535, -80(%ebp)
				je	.L586
				movl	4744(%esi), %eax
				movl	-80(%ebp), %edx
				addl	$160, %edx
				movl	%eax, 8(%esi,%edx,4)
				nop
		.L437:
  493      %RETURN
				jmp	.L376
		.L586:
				jmp	.L376
		.L566:
  494 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  495 ! DECLARATIONS
  496 L50:  %IF A(AP)=1 %THEN %START                        ;! <ARR> = %ARRAY
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L587
				nop
		.L439:
  497         APP=AP                                       ;! SAVE AP
				movl	14080(%esi), %eax
				movl	%eax, 252(%esi)
		.L440:
  498 L51:     AP=AP+2                                      ;! AP ON <NAMS>
				movl	14080(%esi), %eax
				addl	$2, %eax
				movl	%eax, 14080(%esi)
  499         %IF A(AP)=1 %THEN ->L51                       ;! SKIP DOWN TO END OF LIST OF NAMES
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L588
				jmp	.L440
		.L588:
				nop
		.L442:
  500         AP=AP+1                                      ;! AP ON <+-\>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  501         SEXPR                                        ;! COMPILE EXPRESSION - LOWER BOUND
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	SEXPR.6280
  502         DUMP(M'STR',M'ACC',BR(LEVEL),WS NEXT)        ;! STORE VALUE IN WORKSPACE
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	WSNEXT.6295
				movl	%eax, %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  503         SEXPR                                        ;! COMPILE EXPRESSION - UPPER BOUND
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	SEXPR.6280
  504         DUMP(M'LDA',M'ACC',M'ACC',1)                 ;! INCREMENT VALUE BY 1
				leal	-44(%ebp), %eax
				pushl	$1
				pushl	$4277059
				pushl	$4277059
				pushl	$4998209
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  505         %IF A(AP)=1 %THEN %START                     ;! 2-DIM ARRAYS
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L589
				nop
		.L444:
  506            DUMP(M'SUB',M'ACC',BR(LEVEL),WS-1)        ;! PERFORM 2-DIM ARRAY DECLARATION CALCULATIONS
				movl	-40(%ebp), %eax
				leal	-1(%eax), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461314
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  507            DUMP(M'STR',M'ACC',BR(LEVEL),WS NEXT)
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	WSNEXT.6295
				movl	%eax, %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  508            AP=AP+1
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  509            SEXPR                                     ;! LOWER BOUND EXPR FOR 2ND DIM
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	SEXPR.6280
  510            DUMP(M'MLT',M'ACC',BR(LEVEL),WS-1)
				movl	-40(%ebp), %eax
				leal	-1(%eax), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5065812
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  511            DUMP(M'STR',M'ACC',BR(LEVEL),WS NEXT)
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	WSNEXT.6295
				movl	%eax, %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  512            SEXPR                                     ;! UPPER BOUND EXPR FOR 2ND DIM
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	SEXPR.6280
  513            DUMP(M'LDA',M'ACC',M'ACC',1)
				leal	-44(%ebp), %eax
				pushl	$1
				pushl	$4277059
				pushl	$4277059
				pushl	$4998209
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  514            DUMP(M'MLT',M'ACC',BR(LEVEL),WS-2)
				movl	-40(%ebp), %eax
				leal	-2(%eax), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5065812
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  515            DUMP(M'STR',M'ACC',BR(LEVEL),WS NEXT)
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	WSNEXT.6295
				movl	%eax, %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  516            WS=WS-4                                   ;! RESTORE WORKSPACE POINTER
				movl	-40(%ebp), %eax
				subl	$4, %eax
				movl	%eax, -40(%ebp)
  517            I=2                                       ;! NO OF DIMS
				movl	$2, -88(%ebp)
  518            %FINISH %ELSE %START                      ;! 1-DIM ARRAYS
				jmp	.L445
		.L589:
  519            DUMP(M'STR',M'ACC',BR(LEVEL),WS NEXT)
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	WSNEXT.6295
				movl	%eax, %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  520            WS=WS-2                                   ;! RESTORE WORKSPACE POINTER
				movl	-40(%ebp), %eax
				subl	$2, %eax
				movl	%eax, -40(%ebp)
  521            I=1                                       ;! NO OF DIMS
				movl	$1, -88(%ebp)
		.L445:
  522            %FINISH
  523         J=2                                          ;! TAG FOR 'ARRAY'
				movl	$2, -80(%ebp)
  524         AP=APP                                       ;! RESTORE AP TO BEFORE LIST OF NAMES
				movl	252(%esi), %eax
				movl	%eax, 14080(%esi)
  525         %FINISH %ELSE %START                         ;! SCALAR DECLARATIONS
				jmp	.L456
		.L587:
  526         I=0                                          ;! DIMS=0 FOR SCALARS
				movl	$0, -88(%ebp)
  527         J=0                                          ;! TAG FOR SCALAR
				movl	$0, -80(%ebp)
		.L446:
		.L447:
		.L456:
  528         %FINISH
  529 L52:  STORE TAG(A(AP+1),J,1,I,LEVEL,RAD(LEVEL))       ;! PUSHDOWN TAG FOR THIS NAME
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	8(%esi,%eax,4), %edi
				movl	-88(%ebp), %ecx
				movl	14080(%esi), %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %edx
				movl	9176(%esi), %ebx
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	%edi
				pushl	%ebx
				pushl	%ecx
				pushl	$1
				pushl	-80(%ebp)
				pushl	%edx
				movl	%eax, %ecx
				call	STORETAG.6302
				addl	$32, %esp
  530      %IF I=0 %THEN RAD(LEVEL)=RAD(LEVEL)+1 %ELSE %START;! ONE RELATIVE LOCATION FOR SCALARS
				movl	-88(%ebp), %eax
				testl	%eax, %eax
				jne	.L590
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	8(%esi,%eax,4), %eax
				leal	1(%eax), %edx
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	%edx, 8(%esi,%eax,4)
				jmp	.L450
		.L590:
				nop
		.L449:
  531         %IF I=1 %THEN %START                         ;! 1-DIM ARRAYS
				movl	-88(%ebp), %eax
				cmpl	$1, %eax
				jne	.L591
				nop
		.L452:
  532            DUMP(M'SUB',M'STP',BR(LEVEL),WS)
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				movl	-40(%ebp), %ecx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$5461072
				pushl	$5461314
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  533            DUMP(M'STR',M'STP',BR(LEVEL),RAD(LEVEL))
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	8(%esi,%eax,4), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$5461072
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  534            DUMP(M'ADD',M'STP',BR(LEVEL),WS+1)
				movl	-40(%ebp), %eax
				leal	1(%eax), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$5461072
				pushl	$4277316
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  535            %FINISH %ELSE %START                      ;! 2-DIM ARRAYS
				jmp	.L453
		.L591:
  536            DUMP(M'LOAD',M'ACC',BR(LEVEL),WS+1)
				movl	-40(%ebp), %eax
				leal	1(%eax), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$1280262468
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  537            DUMP(M'STR',M'ACC',BR(LEVEL),RAD(LEVEL))
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	8(%esi,%eax,4), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  538            DUMP(M'SUB',M'STP',BR(LEVEL),WS+2)
				movl	-40(%ebp), %eax
				leal	2(%eax), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$5461072
				pushl	$5461314
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  539            DUMP(M'LDA',M'ACC',M'STP',0)
				leal	-44(%ebp), %eax
				pushl	$0
				pushl	$5461072
				pushl	$4277059
				pushl	$4998209
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  540            DUMP(M'SUB',M'ACC',BR(LEVEL),WS)
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				movl	-40(%ebp), %ecx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461314
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  541            DUMP(M'STR',M'ACC',BR(LEVEL),RAD(LEVEL)+1)
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	8(%esi,%eax,4), %eax
				leal	1(%eax), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  542            DUMP(M'ADD',M'STP',BR(LEVEL),WS+3)
				movl	-40(%ebp), %eax
				leal	3(%eax), %ecx
				movl	9176(%esi), %eax
				addl	$2276, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$5461072
				pushl	$4277316
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
		.L453:
  543            %FINISH
  544         RAD(LEVEL)=RAD(LEVEL)+2                      ;! 2 RELATIVE LOCATIONS FOR ARRAYS
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	8(%esi,%eax,4), %eax
				leal	2(%eax), %edx
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	%edx, 8(%esi,%eax,4)
		.L450:
  545         %FINISH
  546      AP=AP+2                                         ;! AP ON <NAMS>
				movl	14080(%esi), %eax
				addl	$2, %eax
				movl	%eax, 14080(%esi)
  547      %IF A(AP)=1 %THEN ->L52                          ;! MORE NAMES IN LIST OF NAMES
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L592
				jmp	.L456
		.L592:
				nop
		.L455:
  548      %RETURN
				jmp	.L376
		.L567:
  549 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  550 ! RT SPEC? . . .
  551 L60:  I=A(AP)-1                                          ;! ROUTINE/FN
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				subl	$1, %eax
				movl	%eax, -88(%ebp)
  552      J=A(AP+1)                                          ;! SPEC ?
				movl	14080(%esi), %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				movl	%eax, -80(%ebp)
  553      K=A(AP+2)                                          ;! NAME OF ROUTIINE OR FN
				movl	14080(%esi), %eax
				addl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				movl	%eax, -60(%ebp)
  554      AP=AP+3                                            ;! AP ON <FPP>
				movl	14080(%esi), %eax
				addl	$3, %eax
				movl	%eax, 14080(%esi)
  555      L=0                                                ;! PARAMETER COUNT
				movl	$0, -84(%ebp)
  556      M=10                                               ;! FIRST RELATIVE ADDRESS TO BE ALLOCATED
				movl	$10, -76(%ebp)
		.L457:
  557 L63:  %IF A(AP)=1 %THEN %START                           ;! PARAMETERS PRESENT
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L593
				nop
		.L471:
  558         AP=AP+1                                         ;! AP ON <ARRN>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  559         %IF A(AP)=1 %THEN N=3 %ELSE N=3-A(AP)           ;! SET TAG FOR PARAMETER FORM
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L594
				movl	$3, -72(%ebp)
				jmp	.L462
		.L594:
				nop
		.L461:
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				movl	$3, %edx
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, -72(%ebp)
		.L462:
  560         P=N<<28!1<<24!(LEVEL+1)<<16                     ;! SET UP PATTERN FOR WHOLE TAG
				movl	-72(%ebp), %eax
				sall	$28, %eax
				orl	$16777216, %eax
				movl	%eax, %edx
				movl	9176(%esi), %eax
				addl	$1, %eax
				sall	$16, %eax
				orl	%edx, %eax
				movl	%eax, -68(%ebp)
		.L463:
  561 L62:     L=L+1                                           ;! PARAMETER COUNT
				addl	$1, -84(%ebp)
  562         %IF L>15 %THEN %START
				cmpl	$15, -84(%ebp)
				jle	.L595
				nop
		.L465:
  563            FAULT(M'TOO ',M'MANY',M' PAR',M'AMS ')
				pushl	$1095586592
				pushl	$542130514
				pushl	$1296125529
				pushl	$1414483744
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
  564            ->L61 ; %FINISH                               ;! IGNORE SUPERFLUOUS PARAMS
				jmp	.L471
		.L595:
  565         PT(L)=P!M                                       ;! STORE TAG FOR THIS PARAM
				movl	-84(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-68(%ebp), %eax
				orl	-76(%ebp), %eax
				addl	$48, %edx
				movl	%eax, (%esi,%edx,4)
  566         PN(L)=A(AP+1)                                   ;! STORE THE NAMES IDENT. NO
				movl	-84(%ebp), %eax
				leal	-1(%eax), %edx
				movl	14080(%esi), %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				addl	$32, %edx
				movl	%eax, 4(%esi,%edx,4)
  567         %IF N=3 %THEN M=M+2 %ELSE M=M+1                 ;! NEXT RELATIVE ADDRESS
				cmpl	$3, -72(%ebp)
				jne	.L596
				addl	$2, -76(%ebp)
				jmp	.L468
		.L596:
				nop
		.L467:
				addl	$1, -76(%ebp)
		.L468:
  568         AP=AP+2                                         ;! AP ON <NAMS>
				movl	14080(%esi), %eax
				addl	$2, %eax
				movl	%eax, 14080(%esi)
  569         %IF A(AP)=1 %THEN ->L62                          ;! MORE NAMES IN LIST
				movl	14080(%esi), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L597
				jmp	.L463
		.L597:
				nop
		.L470:
  570         AP=AP+1                                         ;! AP ON <FPS>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  571         ->L63 ; %FINISH
				jmp	.L457
		.L459:
		.L593:
  572 L61:  N=LINK(K)                                          ;! LINK TO TAG FOR NAME OF ROUTINE OR FN
				movl	-60(%ebp), %eax
				addl	$2292, %eax
				movl	12(%esi,%eax,4), %eax
				movl	%eax, -72(%ebp)
  573      %IF N=0 %OR TAG(N)>>16&15<LEVEL %THEN %START       ;! NAME NOT SET OR SET AT LOWER LEVEL
				cmpl	$0, -72(%ebp)
				je	.L598
				movl	-72(%ebp), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				shrl	$16, %eax
				movl	%eax, %edx
				movl	9176(%esi), %eax
				cmpl	$15, %eax
				setle	%al
				movzbl	%al, %eax
				andl	%edx, %eax
				testl	%eax, %eax
				jne	.L599
				jmp	.L473
		.L598:
				nop
		.L473:
				nop
		.L474:
  574         %IF L>0 %THEN %START                            ;! PARAMETERS PRESENT
				cmpl	$0, -84(%ebp)
				jle	.L600
				nop
				jmp	.L479
		.L601:
  575            P=1                                          ;! PARAMETER COUNT
				movl	$1, -68(%ebp)
  576            Q=K                                          ;! 'INSERT AFTER' POINTER
				movl	-60(%ebp), %eax
				movl	%eax, -64(%ebp)
		.L477:
  577 L64:        R=NEWCELL                                    ;! PUSHDOWN TAG FOR PARAMETER
				movl	%esi, %ecx
				call	NEWCELL.6037
				movl	%eax, -56(%ebp)
  578            TAG(R)=PT(P)
				movl	-68(%ebp), %eax
				subl	$1, %eax
				addl	$48, %eax
				movl	(%esi,%eax,4), %eax
				movl	-56(%ebp), %edx
				addl	$3520, %edx
				movl	%eax, 4(%esi,%edx,4)
  579            LINK(R)=LINK(Q)
				movl	-64(%ebp), %eax
				addl	$2292, %eax
				movl	12(%esi,%eax,4), %eax
				movl	-56(%ebp), %edx
				addl	$2292, %edx
				movl	%eax, 12(%esi,%edx,4)
  580            PTC(P)=R                                     ;! SAVE POINTER TO TAG CELL
				movl	-68(%ebp), %eax
				subl	$1, %eax
				leal	16(%eax), %edx
				movl	-56(%ebp), %eax
				movl	%eax, 8(%esi,%edx,4)
  581            LINK(Q)=R
				movl	-64(%ebp), %eax
				leal	2292(%eax), %edx
				movl	-56(%ebp), %eax
				movl	%eax, 12(%esi,%edx,4)
  582            Q=R                                          ;! NEW VALUE FOR 'INSERT AFTER' POINTER
				movl	-56(%ebp), %eax
				movl	%eax, -64(%ebp)
  583            P=P+1                                        ;! PARAMETER COUNT
				addl	$1, -68(%ebp)
  584            %IF P<=L %THEN ->L64                          ;! MORE PARAMETERS YET
				movl	-68(%ebp), %eax
				cmpl	-84(%ebp), %eax
				jg	.L601
				jmp	.L477
		.L476:
		.L600:
				nop
		.L479:
  585            %FINISH
  586         STORE TAG(K,4,I,L,LEVEL,BT NEXT)                ;! PUSHDOWN TAG FOR NAME OF ROUTINE OR FN
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	BTNEXT.6291
				movl	%eax, %ebx
				movl	-88(%ebp), %edx
				movl	9176(%esi), %ecx
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	%ebx
				pushl	%ecx
				pushl	-84(%ebp)
				pushl	%edx
				pushl	$4
				pushl	-60(%ebp)
				movl	%eax, %ecx
				call	STORETAG.6302
				addl	$32, %esp
  587         %IF LEVEL=0 %THEN BAT(BTN-1)=K+65536            ;! FLAG FOR EXTERNAL SPECS
				movl	9176(%esi), %eax
				testl	%eax, %eax
				jne	.L602
				movl	260(%esi), %eax
				leal	-1(%eax), %ecx
				movl	-60(%ebp), %eax
				leal	65536(%eax), %edx
				leal	160(%ecx), %eax
				movl	%edx, 8(%esi,%eax,4)
				nop
		.L481:
  588         %FINISH %ELSE %START                            ;! NAME ALREADY SET AT THIS LEVEL
				jmp	.L502
		.L602:
				jmp	.L502
		.L599:
  589         %IF J=2 %AND TAG(N)>>28=4 %THEN %START          ;! STATEMENT NOT A SPEC & FORM OF NAME IS RT
				cmpl	$2, -80(%ebp)
				jne	.L603
				movl	-72(%ebp), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				shrl	$28, %eax
				cmpl	$4, %eax
				jne	.L604
				nop
				jmp	.L484
		.L604:
				nop
		.L484:
  590            %IF TAG(N)>>24&15\=I %THEN %START
				movl	-72(%ebp), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				shrl	$24, %eax
				movl	%eax, %edx
				movl	-88(%ebp), %eax
				cmpl	$15, %eax
				sete	%al
				movzbl	%al, %eax
				andl	%edx, %eax
				testl	%eax, %eax
				jne	.L605
				nop
		.L487:
  591               PRINT NAME(K)
				subl	$12, %esp
				pushl	-60(%ebp)
				movl	%esi, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  592               FAULT(M'RT N',M'OT A',M'S SP',M'EC  ')
				pushl	$1162027040
				pushl	$1394627408
				pushl	$1330913345
				pushl	$1381245006
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L487
		.L605:
  593               %FINISH
  594            %IF BAT(TAG(N)&65535)>=0 %THEN %START
				movl	-72(%ebp), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				movzwl	%ax, %eax
				addl	$160, %eax
				movl	8(%esi,%eax,4), %eax
				testl	%eax, %eax
				js	.L606
				nop
		.L489:
  595               PRINT NAME(K)
				subl	$12, %esp
				pushl	-60(%ebp)
				movl	%esi, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  596               FAULT(M'RT A',M'PPEA',M'RS T',M'WICE')
				pushl	$1464419141
				pushl	$1381179476
				pushl	$1347437889
				pushl	$1381244993
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L489
		.L606:
  597               %FINISH
  598            P=TAG(N)>>20&15                              ;! NO OF PARAMS IN SPEC
				movl	-72(%ebp), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				shrl	$20, %eax
				andl	$15, %eax
				movl	%eax, -68(%ebp)
  599            %IF L\=P %THEN %START
				movl	-84(%ebp), %eax
				cmpl	-68(%ebp), %eax
				je	.L607
				nop
				jmp	.L493
		.L608:
  600               FAULT(M'PARS',M' NOT',M' AS ',M'SPEC')
				pushl	$1397769539
				pushl	$541152032
				pushl	$542003028
				pushl	$1346458195
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
  601               %IF L>P %THEN L=P                         ;! IGNORE SUPERFLUOUS PARAMS
				movl	-84(%ebp), %eax
				cmpl	-68(%ebp), %eax
				jle	.L608
				movl	-68(%ebp), %eax
				movl	%eax, -84(%ebp)
				jmp	.L493
		.L491:
		.L607:
				nop
		.L493:
  602               %FINISH
  603            %IF L>0 %THEN %START                         ;! PARAMS PRESENT
				cmpl	$0, -84(%ebp)
				jle	.L609
				nop
				jmp	.L502
		.L611:
  604               P=1                                       ;! PARAM COUNT
				movl	$1, -68(%ebp)
  605               Q=LINK(N)                                 ;! LINK TO TAG OF FIRST PARAM
				movl	-72(%ebp), %eax
				addl	$2292, %eax
				movl	12(%esi,%eax,4), %eax
				movl	%eax, -64(%ebp)
		.L496:
  606 L67:           %IF PT(P)!TAG(Q)&15<<20\=TAG(Q) %THEN %START
				movl	-68(%ebp), %eax
				subl	$1, %eax
				addl	$48, %eax
				movl	(%esi,%eax,4), %eax
				movl	-64(%ebp), %edx
				addl	$3520, %edx
				movl	4(%esi,%edx,4), %ecx
				movl	-64(%ebp), %edx
				addl	$3520, %edx
				movl	4(%esi,%edx,4), %edx
				cmpl	$15728640, %edx
				sete	%dl
				movzbl	%dl, %edx
				andl	%ecx, %edx
				orl	%edx, %eax
				testl	%eax, %eax
				jne	.L610
				nop
		.L498:
  607                  PRINT NAME(PN(P))
				movl	-68(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	4(%esi,%eax,4), %eax
				subl	$12, %esp
				pushl	%eax
				movl	%esi, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  608                  FAULT(M'PAR ',M'NOT ',M'AS S',M'PEC ')
				pushl	$1346716448
				pushl	$1095966803
				pushl	$1313821728
				pushl	$1346458144
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L498
		.L610:
  609                  %FINISH
  610               PTC(P)=Q                                  ;! SAVE POINTER TO TAG CELL
				movl	-68(%ebp), %eax
				subl	$1, %eax
				leal	16(%eax), %edx
				movl	-64(%ebp), %eax
				movl	%eax, 8(%esi,%edx,4)
  611               P=P+1                                     ;! PARAM COUNT
				addl	$1, -68(%ebp)
  612               Q=LINK(Q)                                 ;! NEXT TAG CELL
				movl	-64(%ebp), %eax
				addl	$2292, %eax
				movl	12(%esi,%eax,4), %eax
				movl	%eax, -64(%ebp)
  613               %IF P<=L %THEN ->L67                       ;! MORE PARAMS
				movl	-68(%ebp), %eax
				cmpl	-84(%ebp), %eax
				jg	.L611
				jmp	.L496
		.L495:
		.L609:
				nop
		.L500:
  614               %FINISH
  615            %FINISH %ELSE %START
				jmp	.L502
		.L603:
  616            PRINT NAME(K)
				subl	$12, %esp
				pushl	-60(%ebp)
				movl	%esi, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  617            FAULT(M'NAME',M' SET',M' TWI',M'CE  ')
				pushl	$1128603680
				pushl	$542398281
				pushl	$542328148
				pushl	$1312902469
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
		.L482:
		.L501:
		.L502:
  618            %FINISH
  619         %FINISH
  620 L68:  %IF J=2 %THEN %START                               ;! STATEMENT NOT A SPEC
				cmpl	$2, -80(%ebp)
				jne	.L612
				nop
				jmp	.L376
		.L614:
  621         BRT(LEVEL)=BT NEXT                              ;! BRANCH ROUND ROUTINE OR FN
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	BTNEXT.6291
				movl	%eax, %edx
				movl	9176(%esi), %eax
				movl	%edx, 8(%esi,%eax,4)
  622         DUMP('B',0,M'BT',BRT(LEVEL))
				movl	9176(%esi), %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%edx
				pushl	$16980
				pushl	$0
				pushl	$66
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  623         BAT(TAG(LINK(K))&65535)=CA                      ;! FILL IN ADDRESS OF THIS ROUTINE OR FN
				movl	-60(%ebp), %eax
				addl	$2292, %eax
				movl	12(%esi,%eax,4), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				movzwl	%ax, %edx
				movl	4744(%esi), %eax
				addl	$160, %edx
				movl	%eax, 8(%esi,%edx,4)
  624         %IF LEVEL=15 %THEN FAULT(M'TOO ',M'MANY',M' LEV',M'ELS ') %C
				movl	9176(%esi), %eax
				cmpl	$15, %eax
				jne	.L613
				pushl	$1162629920
				pushl	$541869398
				pushl	$1296125529
				pushl	$1414483744
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L507
		.L613:
				nop
		.L506:
				movl	9176(%esi), %eax
				addl	$1, %eax
				movl	%eax, 9176(%esi)
		.L507:
  625                               %ELSE LEVEL=LEVEL+1       ;! NEXT TEXTUAL LEVEL
  626         ENTER(I,M)
				movl	-88(%ebp), %edx
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	-76(%ebp)
				pushl	%edx
				movl	%eax, %ecx
				call	ENTER.6318
				addl	$16, %esp
  627         %IF L>0 %THEN %START                            ;! PARAMS PRESENT
				cmpl	$0, -84(%ebp)
				jle	.L614
				nop
				jmp	.L376
		.L616:
  628            P=1                                          ;! PARAM COUNT
				movl	$1, -68(%ebp)
		.L509:
  629 L69:        I=PT(P)                                      ;! PUSHDOWN TAGS FOR PARAMS
				movl	-68(%ebp), %eax
				subl	$1, %eax
				addl	$48, %eax
				movl	(%esi,%eax,4), %eax
				movl	%eax, -88(%ebp)
  630            %IF I>>28=3 %THEN STORE TAG(PN(P),3,1,0,LEVEL,PTC(P)) %C
				movl	-88(%ebp), %eax
				shrl	$28, %eax
				cmpl	$3, %eax
				jne	.L615
				movl	-68(%ebp), %eax
				subl	$1, %eax
				addl	$16, %eax
				movl	8(%esi,%eax,4), %ebx
				movl	-68(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	4(%esi,%eax,4), %edx
				movl	9176(%esi), %ecx
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	%ebx
				pushl	%ecx
				pushl	$0
				pushl	$1
				pushl	$3
				pushl	%edx
				movl	%eax, %ecx
				call	STORETAG.6302
				addl	$32, %esp
				jmp	.L512
		.L615:
				nop
		.L511:
				movl	-88(%ebp), %eax
				movzwl	%ax, %ebx
				movl	-88(%ebp), %eax
				shrl	$28, %eax
				movl	%eax, %edi
				movl	-68(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	4(%esi,%eax,4), %edx
				movl	9176(%esi), %ecx
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	%ebx
				pushl	%ecx
				pushl	$0
				pushl	$1
				pushl	%edi
				pushl	%edx
				movl	%eax, %ecx
				call	STORETAG.6302
				addl	$32, %esp
		.L512:
  631               %ELSE STORE TAG(PN(P),I>>28,1,0,LEVEL,I&65535) ;! TREAT ARRAYNAMES SPECIALLY
  632            P=P+1
				addl	$1, -68(%ebp)
  633            %IF P<=L %THEN ->L69                          ;! MORE PARAMS YET
				movl	-68(%ebp), %eax
				cmpl	-84(%ebp), %eax
				jg	.L616
				jmp	.L509
		.L504:
		.L514:
		.L612:
				nop
		.L515:
  634            %FINISH
  635         %FINISH
  636      %RETURN
				jmp	.L376
		.L568:
  637 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  638 ! %END
  639 L70:  CHECK                                       ;! CHECK LABELS & START/FINISH BLOCKS
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	CHECK.6284
  640      COT(STAR(LEVEL))=RAD(LEVEL)                 ;! STORE STATIC ALLOCATION FOR THIS LEVEL
				movl	9176(%esi), %eax
				addl	$96, %eax
				movl	8(%esi,%eax,4), %edx
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	8(%esi,%eax,4), %eax
				addl	$1212, %edx
				movl	%eax, 4(%esi,%edx,4)
  641      UNSET                                       ;! UNSET NAMES DECLARED AT THIS LEVEL
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UNSET.6286
  642      CHP=CHPP(LEVEL)
				movl	9176(%esi), %eax
				addl	$80, %eax
				movl	8(%esi,%eax,4), %eax
				movl	%eax, 20228(%esi)
  643      %IF RTP(LEVEL)\=0 %THEN DUMP(M'STOP',0,0,0) ;! %STOP FOR FNS
				movl	9176(%esi), %eax
				addl	$2260, %eax
				movl	8(%esi,%eax,4), %eax
				testl	%eax, %eax
				je	.L617
				leal	-44(%ebp), %eax
				pushl	$0
				pushl	$0
				pushl	$0
				pushl	$1398034256
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
				jmp	.L517
		.L617:
				nop
		.L517:
  644      RETURN                                      ;! DUMP %RETURN CODE
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	RETURN.6320
  645      LEVEL=LEVEL-1                               ;! DECREMENT TEXTUAL LEVEL COUNT
				movl	9176(%esi), %eax
				subl	$1, %eax
				movl	%eax, 9176(%esi)
  646      %IF LEVEL<1 %THEN %START                    ;! NOT BACK AT OUTER LEVEL YET
				movl	9176(%esi), %eax
				testl	%eax, %eax
				jg	.L618
				nop
		.L519:
  647         FAULT(M'EXCE',M'SS %',M'END ',M'    ')
				pushl	$538976288
				pushl	$1162757152
				pushl	$1397956645
				pushl	$1163412293
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
  648         ->L71 ; %FINISH                           ;! TREAT AS %ENDOFPROGRAM
				jmp	.L527
		.L618:
  649      BAT(BRT(LEVEL))=CA                          ;! FILL ADDR FOR BRANCH ROUND ROUTINE/FN
				movl	9176(%esi), %eax
				movl	8(%esi,%eax,4), %edx
				movl	4744(%esi), %eax
				addl	$160, %edx
				movl	%eax, 8(%esi,%edx,4)
  650      %RETURN
				jmp	.L376
		.L569:
  651 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  652 ! %BEGIN
  653 L80:  %IF LEVEL\=0 %THEN %START
				movl	9176(%esi), %eax
				testl	%eax, %eax
				je	.L619
				nop
		.L522:
  654         FAULT(M'%BEG',M'IN E',M'XTRA',M'    ')   ;! NO INTERNAL BLOCKS ALLOWED
				pushl	$538976288
				pushl	$1481921089
				pushl	$1229856837
				pushl	$625100103
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
  655         %RETURN ; %FINISH
				jmp	.L376
		.L619:
  656      %IF CA\=0 %OR RAD(0)\=10 %THEN %START
				movl	4744(%esi), %eax
				testl	%eax, %eax
				jne	.L620
				movl	264(%esi), %eax
				cmpl	$10, %eax
				je	.L621
				jmp	.L524
		.L620:
				nop
		.L524:
				nop
		.L525:
  657         FAULT(M'%BEG',M'IN N',M'OT F',M'IRST')
				pushl	$1230132052
				pushl	$1330913350
				pushl	$1229856846
				pushl	$625100103
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
  658         %RETURN ; %FINISH
				jmp	.L376
		.L621:
  659      LEVEL=1                                ;! TEXTUAL LEVEL COUNT TO 1
				movl	$1, %eax
				movl	%eax, 9176(%esi)
  660      ENTER(-1,10)
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	$10
				pushl	$-1
				movl	%eax, %ecx
				call	ENTER.6318
				addl	$16, %esp
  661      %RETURN
				jmp	.L376
		.L570:
  662 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  663 ! %ENDOFPROGRAM
  664 L90:  CHECK                                  ;! CHECK LABELS & START/FINISHES
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	CHECK.6284
  665      COT(STAR(LEVEL))=RAD(LEVEL)            ;! FILL IN STATIC ALLOCATION FOR OUTER BLOCK
				movl	9176(%esi), %eax
				addl	$96, %eax
				movl	8(%esi,%eax,4), %edx
				movl	9176(%esi), %eax
				addl	$64, %eax
				movl	8(%esi,%eax,4), %eax
				addl	$1212, %edx
				movl	%eax, 4(%esi,%edx,4)
  666      UNSET                                  ;! UNSET NAMES DECLARED AT THIS LEVEL
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UNSET.6286
  667      %IF LEVEL\=1 %THEN FAULT(M'TOO ',M'FEW ',M'%END',M'S   ')
				movl	9176(%esi), %eax
				cmpl	$1, %eax
				je	.L622
				pushl	$1394614304
				pushl	$625299012
				pushl	$1178949408
				pushl	$1414483744
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L527
		.L520:
		.L622:
				nop
		.L527:
  668 L71:  DUMP(M'STOP',0,0,0)                    ;! %STOP
				leal	-44(%ebp), %eax
				pushl	$0
				pushl	$0
				pushl	$0
				pushl	$1398034256
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
				movb	$66, -93(%ebp)
		.LBB165:
		.LBB166:
				movsbl	-93(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$84, -94(%ebp)
		.LBE166:
		.LBE165:
		.LBB167:
		.LBB168:
				movsbl	-94(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$58, -95(%ebp)
		.LBE168:
		.LBE167:
		.LBB169:
		.LBB170:
				movsbl	-95(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE170:
		.LBE169:
		.LBB171:
		.LBB172:
				call	_imp_newline@PLT
		.LBE172:
		.LBE171:
  669      PRINT SYMBOL('B')                      ;! PRINT OUT BRANCH TABLE
  670      PRINT SYMBOL('T')
  671      PRINT SYMBOL(':')
  672      NEWLINE
  673      CA=0
				movl	$0, %eax
				movl	%eax, 4744(%esi)
		.L528:
  674 L93:  %IF CA\=BTN %THEN %START
				movl	4744(%esi), %edx
				movl	260(%esi), %eax
				cmpl	%eax, %edx
				je	.L623
				nop
		.L530:
				movb	$67, -90(%ebp)
		.LBB173:
		.LBB174:
				movsbl	-90(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$84, -91(%ebp)
		.LBE174:
		.LBE173:
		.LBB175:
		.LBB176:
				movsbl	-91(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$58, -92(%ebp)
		.LBE176:
		.LBE175:
		.LBB177:
		.LBB178:
				movsbl	-92(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE178:
		.LBE177:
		.LBB179:
		.LBB180:
				call	_imp_newline@PLT
		.LBE180:
		.LBE179:
  675         DUMP('B',0,M'PRG',BAT(CA))          ;! BRANCH RELATIVE TO START OF PROGRAM
				movl	4744(%esi), %eax
				addl	$160, %eax
				movl	8(%esi,%eax,4), %edx
				leal	-44(%ebp), %eax
				pushl	%edx
				pushl	$5263943
				pushl	$0
				pushl	$66
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  676         ->L93 ; %FINISH
				jmp	.L528
		.L623:
  677      PRINT SYMBOL('C')                      ;! PRINT OUT CONSTANT TABLE
  678      PRINT SYMBOL('T')
  679      PRINT SYMBOL(':')
  680      NEWLINE
  681      I=0
				movl	$0, -88(%ebp)
		.L531:
  682 L91:  %IF I\=CTN %THEN %START
				movl	-88(%ebp), %eax
				movl	256(%esi), %edx
				cmpl	%eax, %edx
				je	.L624
				nop
		.L533:
				movb	$59, -89(%ebp)
		.LBB183:
		.LBB184:
				movsbl	-89(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE184:
		.LBE183:
  683         WRITE(COT(I),10)
				movl	-88(%ebp), %eax
				addl	$1212, %eax
				movl	4(%esi,%eax,4), %eax
				subl	$8, %esp
				pushl	$10
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB181:
		.LBB182:
				call	_imp_newline@PLT
		.LBE182:
		.LBE181:
  684         NEWLINE
  685         I=I+1
				movl	-88(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -88(%ebp)
  686         ->L91 ; %FINISH
				jmp	.L531
		.L624:
  687      PRINT SYMBOL(';')
  688      WRITE(FAULTS,1)                        ;! NUMBER OF PROGRAM FAULTS
				movl	4(%esi), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
  689      FAULT(M' FAU',M'LTS ',M'IN P',M'ROGM')
				pushl	$1380927309
				pushl	$1229856848
				pushl	$1280594720
				pushl	$541475157
				movl	%esi, %ecx
				call	FAULT.6033
				addl	$16, %esp
				movl	$0, -48(%ebp)
		.LBB185:
		.LBB186:
				subl	$12, %esp
				pushl	-48(%ebp)
				call	exit@PLT
		.L376:
		.LBE186:
		.LBE185:
  690      %STOP
  691 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  692 %ROUTINE UI
				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
  693 ! COMPILE UNCONDITIONAL INSTRUCTION
  694 %INTEGER I,J,K,L
  695      I=A(AP)                            ;! NEXT ANALYSIS RECORD ENTRY
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
  696      AP=AP+1
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  697      %IF I=1 %THEN ->L10                 ;! ROUTINE CALL OR ASSIGNMENT STATEMENT
				cmpl	$1, -24(%ebp)
				je	.L360
				nop
		.L313:
				nop
		.L314:
  698      %IF I=2 %THEN ->L20                 ;! JUMP INSTRUCTION
				cmpl	$2, -24(%ebp)
				je	.L361
				nop
		.L316:
				nop
		.L317:
  699      %IF I=3 %THEN ->L30                 ;! %START
				cmpl	$3, -24(%ebp)
				je	.L362
				nop
		.L319:
				nop
		.L320:
  700      %IF I=4 %THEN ->L40                 ;! %RETURN
				cmpl	$4, -24(%ebp)
				je	.L363
				nop
		.L322:
				nop
		.L323:
  701      %IF I=5 %THEN ->L50                 ;! %RESULT=
				cmpl	$5, -24(%ebp)
				je	.L364
				nop
		.L325:
				nop
		.L326:
  702      DUMP(M'STOP',0,0,0)                ;! %STOP
				pushl	$0
				pushl	$0
				pushl	$0
				pushl	$1398034256
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
  703      %RETURN
				jmp	.L311
		.L360:
  704 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  705 ! NAME APP ASS
  706 L10:  I=LINK(A(AP))                             ;! POINTER TO NAME TAGS
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
  707      %IF I=0 %THEN %START
				cmpl	$0, -24(%ebp)
				jne	.L365
				nop
		.L329:
				movl	8(%ebx), %eax
				movl	-24(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
		.L330:
  708         PRINT NAME(A(AP))
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  709         FAULT(M'NAME',M' NOT',M' SET',0)
				movl	8(%ebx), %eax
				pushl	$0
				pushl	$542328148
				pushl	$542003028
				pushl	$1312902469
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
  710         %FINISH %ELSE I=TAG(I)                ;! NAME TAGS OR ZERO TO AVOID DIAGNOSTICS
				jmp	.L330
		.L365:
  711      J=AP                                      ;! PRESERVE ANALYSIS RECORD POINTER
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				movl	%eax, -20(%ebp)
  712      AP=AP+1                                   ;! AP ON <APP>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  713      SKIP APP                                  ;! SKIP TO <ASS>
				movl	%ebx, %ecx
				call	SKIPAPP.6311
  714      %IF A(AP)=2 %THEN %START                  ;! ROUTINE CALL
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$2, %eax
				jne	.L366
				nop
		.L332:
  715         %IF I>>24=64 %THEN %START              ;! 'FORM/TYPE' IS ROUTINE
				movl	-24(%ebp), %eax
				shrl	$24, %eax
				cmpl	$64, %eax
				jne	.L367
				nop
		.L334:
  716            AP=J                                ;! RESTORE AP TO <NAME>
				movl	8(%ebx), %eax
				movl	-20(%ebp), %edx
				movl	%edx, 14080(%eax)
  717            RT                                  ;! CALL ROUTINE
				movl	%ebx, %ecx
				call	RT.6313
  718            %FINISH %ELSE %START
				jmp	.L337
		.L367:
  719            %IF I\=0 %THEN %START
				cmpl	$0, -24(%ebp)
				je	.L368
				nop
		.L337:
  720               PRINT NAME(A(J))
				movl	-20(%ebp), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  721               FAULT(M'NOT ',M'ROUT',M'INE ',M'NAME')
				movl	8(%ebx), %eax
				pushl	$1312902469
				pushl	$1229866272
				pushl	$1380930900
				pushl	$1313821728
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L337
		.L335:
		.L368:
  722               %FINISH
  723            %FINISH
  724         AP=AP+1                                ;! AP AFTER <UI>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  725         %RETURN ; %FINISH
				jmp	.L311
		.L366:
  726      K=I>>28                                   ;! 'FORM' OF NAME
				movl	-24(%ebp), %eax
				shrl	$28, %eax
				movl	%eax, -16(%ebp)
  727      %IF K=4 %THEN %START
				cmpl	$4, -16(%ebp)
				jne	.L369
				nop
		.L339:
  728         PRINT NAME(A(J))
				movl	-20(%ebp), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  729         FAULT(M'NAME',M' NOT',M' A D',M'ESTN') ;! ROUTINE/FN FORM
				movl	8(%ebx), %eax
				pushl	$1163088974
				pushl	$541139012
				pushl	$542003028
				pushl	$1312902469
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
  730         I=0                                    ;! CLEAR TAGS TO AVOID FURTHER DIAGNOSTIC
				movl	$0, -24(%ebp)
				jmp	.L339
		.L369:
  731         %FINISH
  732      AP=AP+1                                   ;! AP ON <+-\>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  733      SEXPR
				movl	%ebx, %ecx
				call	SEXPR.6280
  734      %IF I=0 %THEN %RETURN                     ;! LHS NAME NOT SET
				cmpl	$0, -24(%ebp)
				je	.L370
				nop
		.L341:
				nop
		.L311:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L353
				call	__stack_chk_fail_local
		.L353:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE199:
		SS.6028:
		.LFB198:
  735      %IF K>=2 %THEN %START                     ;! LHS AN ARRAY TYPE
				cmpl	$1, -16(%ebp)
				jle	.L371
				nop
		.L343:
  736         DUMP(M'STR',M'ACC',BR(LEVEL),WS NEXT)  ;! PRESERVE ACCUMMULATOR
				movl	%ebx, %ecx
				call	WSNEXT.6295
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %eax
				pushl	%ecx
				pushl	%eax
				pushl	$4277059
				pushl	$5461074
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
  737         K=AP                                   ;! PRESERVE AP
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				movl	%eax, -16(%ebp)
  738         AP=J                                    ;! RESTORE INITIALANAL REC POINTER
				movl	8(%ebx), %eax
				movl	-20(%ebp), %edx
				movl	%edx, 14080(%eax)
  739         ARRAD                                  ;! CALCULATE ARRAY ELEMENT ADDRESS
				movl	%ebx, %ecx
				call	ARRAD.6315
  740         WS=WS-1                                ;! RESTORE WORKSPACE POINTER
				movl	4(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 4(%ebx)
  741         DUMP(M'LOAD',M'WK',BR(LEVEL),WS)       ;! RESTORE ACCUMMULATOR
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %eax
				movl	4(%ebx), %edx
				pushl	%edx
				pushl	%eax
				pushl	$22347
				pushl	$1280262468
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
  742         DUMP(M'STR',M'WK',M'ACC',0)            ;! DUMP ASSIGNMENT
				pushl	$0
				pushl	$4277059
				pushl	$22347
				pushl	$5461074
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
  743         AP=K                                   ;! RESTORE AP TO AFTER <UI>
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				movl	%edx, 14080(%eax)
  744         %RETURN ; %FINISH
				jmp	.L311
		.L371:
  745      %IF K=1 %THEN %START
				cmpl	$1, -16(%ebp)
				jne	.L372
				nop
		.L345:
				movl	-24(%ebp), %eax
				movzwl	%ax, %edx
				movl	-24(%ebp), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				addl	$2276, %ecx
				movl	8(%eax,%ecx,4), %eax
				pushl	%edx
				pushl	%eax
				pushl	$4277059
				pushl	$5461074
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
		.L346:
  746         DUMP(M'LOAD',M'WK',BR(I>>16&15),I&65535);! INDIRECT ASSIGMENT
				movl	-24(%ebp), %eax
				movzwl	%ax, %edx
				movl	-24(%ebp), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				addl	$2276, %ecx
				movl	8(%eax,%ecx,4), %eax
				pushl	%edx
				pushl	%eax
				pushl	$22347
				pushl	$1280262468
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
  747         DUMP(M'STR',M'ACC',M'WK',0)
				pushl	$0
				pushl	$22347
				pushl	$4277059
				pushl	$5461074
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
  748         %FINISH %ELSE DUMP(M'STR',M'ACC',BR(I>>16&15),I&65535)
				jmp	.L346
		.L372:
  749      %IF A(J+1)=1 %THEN %START
				movl	8(%ebx), %eax
				movl	-20(%ebp), %edx
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L373
				nop
		.L348:
				jmp	.L311
		.L361:
  750         PRINT NAME(A(J))
				movl	-20(%ebp), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  751         FAULT(M'SCAL',M'AR H',M'AS P',M'ARAM')
				movl	8(%ebx), %eax
				pushl	$1095909709
				pushl	$1095966800
				pushl	$1095901256
				pushl	$1396916556
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
  752         %FINISH
  753      %RETURN
				jmp	.L311
		.L373:
  754 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  755 ! ->L CONST
  756 L20:  DUMP('B',0,M'BT',FIND LABEL)              ;! SCAN/INSERT JUMP LIST AND DUMP JUMP
				movl	%ebx, %ecx
				call	FINDLABEL.6282
				pushl	%eax
				pushl	$16980
				pushl	$0
				pushl	$66
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
  757      %RETURN
				jmp	.L311
		.L362:
  758 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  759 ! %START
  760 L30:  FAULT(M'%STA',M'RT ?',M'    ',M'    ')    ;! %START ALONE SHOULD NOT BE A SOURCE STATEMENT
				movl	8(%ebx), %eax
				pushl	$538976288
				pushl	$538976288
				pushl	$1381244991
				pushl	$626218049
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
  761      %RETURN
				jmp	.L311
		.L363:
  762 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  763 ! %RETURN
  764 L40:  %IF RTP(LEVEL)\=0 %THEN FAULT(M'%RET',M'URN ',M'CONT',M'EXT ')
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2260, %edx
				movl	8(%eax,%edx,4), %eax
				testl	%eax, %eax
				je	.L374
				movl	8(%ebx), %eax
				pushl	$1163416608
				pushl	$1129270868
				pushl	$1431457312
				pushl	$626148692
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L350
		.L374:
				nop
		.L350:
  765      RETURN                                    ;! DUMP %RETURN CODE  -  INCORRECT FOR FN
				movl	%ebx, %ecx
				call	RETURN.6320
  766      %RETURN
				jmp	.L311
		.L364:
  767 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  768 ! %RESULT=
  769 L50:  I=RTP(LEVEL)                              ;! ROUTINE/FN TYPE
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2260, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
  770      %IF I<=0 %THEN FAULT(M'%RES',M'ULT ',M'CONT',M'EXT ') ;! %BEGIN/%ROUTINE
				cmpl	$0, -24(%ebp)
				jg	.L375
				movl	8(%ebx), %eax
				pushl	$1163416608
				pushl	$1129270868
				pushl	$1431065632
				pushl	$626148691
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L352
		.L375:
				nop
		.L352:
  771      SEXPR                                     ;! COMPILE RESULT EXPRESSION
				movl	%ebx, %ecx
				call	SEXPR.6280
  772      RETURN                                    ;! LEAVE RESULT IN ACC & DUMP RETURN CODE
				movl	%ebx, %ecx
				call	RETURN.6320
  773 %END
				nop
				jmp	.L311
		.L370:
?L unused
  774 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  775 %ROUTINE SEXPR
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%ebx
				subl	$432, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -428(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -16(%ebp)
				movl	%ebx, -280(%ebp)
  776 ! COMPILE ARITHMETIC EXPRESSION
  777 %ROUTINESPEC TORP
  778 %ROUTINESPEC PSEVAL
  779 %ROUTINESPEC EVAL(%INTEGER P)
  780 %INTEGER RPP,APP
  781 %INTEGERARRAY RP,PT(1:32)                   ;! REVERSE POLISH, POINTER/TYPE ARRAYS
				leal	-416(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-280(%ebp), %eax
				addl	$132, %eax
				movl	%eax, -416(%ebp)
				movl	$4, -412(%ebp)
				leal	-348(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-280(%ebp), %eax
				addl	$4, %eax
				movl	%eax, -348(%ebp)
				movl	$4, -344(%ebp)
  782      RPP=1                                  ;! RP POINTER
				movl	$1, %eax
				movl	%eax, -20(%ebp)
  783      TORP                                   ;! EXPR TO REV POLISH
				leal	-280(%ebp), %eax
				movl	%eax, %ecx
				call	TORP.6461
  784      %IF SCF=1 %THEN %START                 ;! PART OF A SIMPLE CONDITION
				movl	8(%ebx), %eax
				movl	4800(%eax), %eax
				cmpl	$1, %eax
				jne	.L675
				nop
		.L672:
  785         SCF=0                               ;! RESET FLAG
				movl	8(%ebx), %eax
				movl	$0, %edx
				movl	%edx, 4800(%eax)
  786         COMP=A(AP)                          ;! COMPARATOR NUMBER
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %ecx
				movl	8(%ebx), %edx
				movl	8(%ebx), %eax
				addl	$3320, %ecx
				movl	(%edx,%ecx,4), %edx
				movl	%edx, 4796(%eax)
  787         %IF A(AP+3)=0 %AND A(AP+4)=2 %THEN AP=AP+5 %ELSE %START
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				testl	%eax, %eax
				jne	.L676
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	3(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$2, %eax
				jne	.L677
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$5, %edx
				movl	%edx, 14080(%eax)
				jmp	.L672
		.L676:
				nop
				jmp	.L670
		.L677:
				nop
		.L670:
  788            AP=AP+1                          ;! 2ND EXPR NON-ZERO
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  789            TORP                             ;! 2ND EXPRESSION TO REVERSE POLISH
				leal	-280(%ebp), %eax
				movl	%eax, %ecx
				call	TORP.6461
  790            RP(RPP)=10                       ;! CODE FOR '-' I.E. (1ST-2ND)
				movl	-20(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	$10, -276(%ebp,%eax,4)
  791            PT(RPP)=1                        ;! FLAG=OPERATOR
				movl	-20(%ebp), %eax
				subl	$1, %eax
				movl	$1, -276(%ebp,%eax,4)
  792            RPP=RPP+1                        ;! INCREMENT RP POINTER
				movl	-20(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -20(%ebp)
				jmp	.L672
		.L668:
		.L675:
  793            %FINISH
  794         %FINISH
  795      APP=AP                                 ;! SAVE FINAL ANAL REC POINTER
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				movl	%eax, -420(%ebp)
  796      PSEVAL                                 ;! PSEUDO-EVALUATE EXPRESSION
				leal	-280(%ebp), %eax
				movl	%eax, %ecx
				call	PSEVAL.6463
  797      EVAL(RPP-1)                            ;! DUMP CODE FOR EXPR EVALUATION
				movl	-20(%ebp), %eax
				leal	-1(%eax), %edx
				subl	$12, %esp
				leal	-280(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	EVAL.6465
				addl	$16, %esp
  798      AP=APP                                 ;! RESTORE FINAL ANAL REC POINTER
				movl	8(%ebx), %eax
				movl	-420(%ebp), %edx
				movl	%edx, 14080(%eax)
  799 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  800 %ROUTINE TORP
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%ebx
				addl	$-128, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -124(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -100(%ebp)
				movl	%ebx, -104(%ebp)
  801 ! TRANSFORM EXPRESSION TO REVERSE POLISH
  802 %ROUTINESPEC STORE(%INTEGER I,J)
  803 %INTEGERARRAY OP(1:4)
				leal	-80(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-96(%ebp), %eax
				movl	%eax, -80(%ebp)
				movl	$4, -76(%ebp)
  804 %INTEGER OPP,I
  805      OPP=0                              ;! OPERATOR STACK POINTER
				movl	$0, -112(%ebp)
  806      I=A(AP)                            ;! <+-\>
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				movl	%eax, -108(%ebp)
  807      AP=AP+1
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  808      %IF I=1 %OR I=4 %THEN ->L1          ;! + OR NULL
				cmpl	$1, -108(%ebp)
				je	.L658
				cmpl	$4, -108(%ebp)
				jne	.L659
				jmp	.L633
		.L658:
				nop
		.L633:
				jmp	.L635
		.L659:
				nop
		.L634:
  809      I=I+9                              ;! CODES FOR - & \
				addl	$9, -108(%ebp)
		.L636:
  810 L3:   OPP=OPP+1                          ;! STACK OPERATOR
				addl	$1, -112(%ebp)
  811      OP(OPP)=I
				movl	-112(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-108(%ebp), %eax
				movl	%eax, -96(%ebp,%edx,4)
		.L635:
  812 L1:   I=A(AP)                            ;! <OPD>
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				movl	%eax, -108(%ebp)
  813      %IF I=3 %THEN %START               ;! SUB-EXPRESSION
				cmpl	$3, -108(%ebp)
				jne	.L660
				nop
		.L638:
  814         AP=AP+1                         ;! AP TO <+-\>
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  815         TORP                            ;! TRANSFORM SUB-EXPR TO REV POL
				movl	%ebx, %ecx
				call	TORP.6461
  816         %FINISH %ELSE %START
				jmp	.L641
		.L660:
  817         STORE(AP,0)                     ;! STORE ANAL REC POSITION OF OPERAND
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				subl	$8, %esp
				leal	-104(%ebp), %eax
				pushl	$0
				pushl	%edx
				movl	%eax, %ecx
				call	STORE.6480
				addl	$16, %esp
  818         AP=AP+2                         ;! AP ON <APP> OR AFTER <CNST>
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$2, %edx
				movl	%edx, 14080(%eax)
  819         %IF I=1 %THEN SKIP APP          ;! OPERAND A NAME
				cmpl	$1, -108(%ebp)
				jne	.L661
				movl	(%ebx), %eax
				movl	%eax, %ecx
				call	SKIPAPP.6311
				jmp	.L641
		.L639:
		.L661:
				nop
		.L641:
  820         %FINISH
  821      %IF A(AP)=2 %THEN %START           ;! END OF <EXPR>
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$2, %eax
				jne	.L662
				nop
		.L643:
  822         AP=AP+1                         ;! AP AFTER EXPRESSION
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
		.L644:
  823 L2:      %IF OPP=0 %THEN %RETURN         ;! OPERATOR STACK EMPTIED
				cmpl	$0, -112(%ebp)
				je	.L663
				nop
		.L646:
				nop
  824         STORE(OP(OPP),1)                ;! UNSTACK REMAINING OPERATORS
				movl	-112(%ebp), %eax
				subl	$1, %eax
				movl	-96(%ebp,%eax,4), %edx
				subl	$8, %esp
				leal	-104(%ebp), %eax
				pushl	$1
				pushl	%edx
				movl	%eax, %ecx
				call	STORE.6480
				addl	$16, %esp
  825         OPP=OPP-1
				subl	$1, -112(%ebp)
  826         ->L2 ; %FINISH
				jmp	.L644
		.L662:
  827      I=A(AP+1)                          ;! <OP>
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				movl	%eax, -108(%ebp)
  828      AP=AP+2                            ;! AP ON <EXPR>
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$2, %edx
				movl	%edx, 14080(%eax)
		.L648:
  829 L4:   %IF OPP=0 %OR PREC(I)>PREC(OP(OPP)) %THEN ->L3 ;! OP STACK EMPTY OR NEW OP HIGHER PREC
				cmpl	$0, -112(%ebp)
				je	.L664
				movl	-108(%ebp), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$2248, %edx
				movl	8(%eax,%edx,4), %edx
				movl	-112(%ebp), %eax
				subl	$1, %eax
				movl	-96(%ebp,%eax,4), %eax
				leal	-1(%eax), %ecx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$2248, %ecx
				movl	8(%eax,%ecx,4), %eax
				cmpl	%eax, %edx
				jle	.L665
				jmp	.L650
		.L664:
				nop
		.L650:
				jmp	.L636
		.L665:
				nop
		.L651:
  830      STORE(OP(OPP),1)                   ;! UNSTACK TOP OPERATOR
				movl	-112(%ebp), %eax
				subl	$1, %eax
				movl	-96(%ebp,%eax,4), %edx
				subl	$8, %esp
				leal	-104(%ebp), %eax
				pushl	$1
				pushl	%edx
				movl	%eax, %ecx
				call	STORE.6480
				addl	$16, %esp
  831      OPP=OPP-1
				subl	$1, -112(%ebp)
  832      ->L4
				jmp	.L648
		.L663:
  833 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  834 %ROUTINE STORE(%INTEGER I,J)
				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
  835 ! STORE IN RP & PT ARRAYS, I=ANAL REC PTR , J= OP/OPD FLAG
  836      %IF RPP>32 %THEN %START             ;! REV POL ARRAY FULL
				movl	(%ebx), %eax
				movl	260(%eax), %eax
				cmpl	$32, %eax
				jle	.L630
				nop
		.L627:
  837         FAULT(M'EXPR',M' TOO',M' LON',M'G   ')
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				pushl	$1193287712
				pushl	$541871950
				pushl	$542396239
				pushl	$1163415634
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
  838         RPP=1                            ;! IN ORDER TO CONTINUE
				movl	(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 260(%eax)
				jmp	.L627
		.L630:
  839         %FINISH
  840      RP(RPP)=I                           ;! STORE OP/OPD
				movl	(%ebx), %eax
				movl	260(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				leal	32(%edx), %ecx
				movl	8(%ebp), %edx
				movl	%edx, 4(%eax,%ecx,4)
  841      PT(RPP)=J                           ;! STORE FLAG
				movl	(%ebx), %eax
				movl	260(%eax), %eax
				leal	-1(%eax), %ecx
				movl	(%ebx), %eax
				movl	12(%ebp), %edx
				movl	%edx, 4(%eax,%ecx,4)
  842      RPP=RPP+1                           ;! NEXT POSITION
				movl	(%ebx), %eax
				movl	260(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 260(%eax)
  843 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L629
				call	__stack_chk_fail_local
		.L629:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE202:
		TORP.6461:
		.LFB201:
  844 %END
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L653
				call	__stack_chk_fail_local
		.L653:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%edi
				popl	%ebp
				ret
		.LFE201:
		SEXPR.6280:
		.LFB200:
  845 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  846 %ROUTINE PSEVAL
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%ebx
				subl	$240, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %ebx
				movl	%ecx, -236(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
  847 ! PSEUDO-EVALUATION, CHECKING OPERANDS
  848 %INTEGERARRAY PST(1:32)                      ;! OPERAND POINTER STACK
				leal	-208(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-140(%ebp), %eax
				movl	%eax, -208(%ebp)
				movl	$4, -204(%ebp)
  849 %INTEGER PSTP,I,J,K
  850      PSTP=0                                  ;! PST POINTER
				movl	$0, -224(%ebp)
  851      I=1                                     ;! REV POL ARRAY POINTER
				movl	$1, -220(%ebp)
		.L679:
  852 L3:   AP=RP(I)                                ;! ANAL REC POSITION OF OPERAND
				movl	-220(%ebp), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$32, %edx
				movl	4(%ebx,%edx,4), %edx
				movl	%edx, 14080(%eax)
  853      %IF A(AP)=1 %THEN %START                ;! OPERAND A NAME
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L712
				nop
		.L681:
  854         J=LINK(A(AP+1))                      ;! LINK TO TAG OF NAME
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %eax
				movl	%eax, -212(%ebp)
  855         %IF J=0 %THEN %START
				cmpl	$0, -212(%ebp)
				jne	.L713
				nop
		.L683:
  856            PRINT NAME(A(AP+1))
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  857            FAULT(M'NAME',M' NOT',M' SET',0)
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				pushl	$0
				pushl	$542328148
				pushl	$542003028
				pushl	$1312902469
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
  858            K=0                               ;! DUMMY TAG VALUE
				movl	$0, -216(%ebp)
  859            ->L1 ; %FINISH
				jmp	.L694
		.L713:
  860         K=TAG(J)                             ;! TAG OF NAME
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	-212(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -216(%ebp)
  861         J=K>>28                              ;! 'FORM' OF NAME
				movl	-216(%ebp), %eax
				shrl	$28, %eax
				movl	%eax, -212(%ebp)
  862         %IF J>1 %THEN %START                 ;! ARRAY OR ROUTINE/FN TYPE
				cmpl	$1, -212(%ebp)
				jle	.L714
				nop
		.L686:
  863            RP(I)=AP+1                        ;! STORE ANAL REC POSITION OF <NAME>
				movl	-220(%ebp), %eax
				leal	-1(%eax), %ecx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				leal	1(%eax), %edx
				leal	32(%ecx), %eax
				movl	%edx, 4(%ebx,%eax,4)
  864            %IF J=4 %THEN %START              ;! NAME IS ROUTINE/FN TYPE
				cmpl	$4, -212(%ebp)
				jne	.L715
				nop
		.L688:
  865               %IF K>>24&15=0 %THEN %START
				movl	-216(%ebp), %eax
				andl	$16777216, %eax
				testl	%eax, %eax
				jne	.L716
				nop
		.L690:
  866                  PRINT NAME(A(AP+1))
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  867                  FAULT(M'RT N',M'AME ',M'IN E',M'XPR ')
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				pushl	$1481658912
				pushl	$1229856837
				pushl	$1095583008
				pushl	$1381245006
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
  868                  K=0                         ;! DUMMY TAG VALUE
				movl	$0, -216(%ebp)
  869                  ->L1 ; %FINISH
				jmp	.L694
		.L716:
  870               PT(I)=-1                       ;! FLAG FOR FUNCTION
				movl	-220(%ebp), %eax
				subl	$1, %eax
				movl	$-1, 4(%ebx,%eax,4)
  871               %FINISH %ELSE PT(I)=-2         ;! FLAG FOR ARRAY
				nop
		.L691:
				movl	-220(%ebp), %eax
				subl	$1, %eax
				movl	$-2, 4(%ebx,%eax,4)
  872            ->L2 ; %FINISH                     ;! GO TO STACK POINTER
				jmp	.L695
		.L715:
				jmp	.L695
		.L714:
  873         %IF A(AP+2)=1 %THEN %START
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				leal	1(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L717
				nop
		.L694:
  874            PRINT NAME(A(AP+1))
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  875            FAULT(M'SCAL',M'AR H',M'AS P',M'ARAM')
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				pushl	$1095909709
				pushl	$1095966800
				pushl	$1095901256
				pushl	$1396916556
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L694
		.L684:
		.L717:
  876            %FINISH
  877 L1:      RP(I)=K                              ;! STORE TAG OF NAME FOR SCALARS
				movl	-220(%ebp), %eax
				subl	$1, %eax
				leal	32(%eax), %edx
				movl	-216(%ebp), %eax
				movl	%eax, 4(%ebx,%edx,4)
  878         PT(I)=-3                             ;! FLAG FOR SCALARS
				movl	-220(%ebp), %eax
				subl	$1, %eax
				movl	$-3, 4(%ebx,%eax,4)
  879         %FINISH %ELSE %START                 ;! OPERAND IS A <CNST>
				jmp	.L695
		.L712:
  880         RP(I)=A(AP+1)                        ;! STORE VALUE OF CONSTANT
				movl	-220(%ebp), %eax
				leal	-1(%eax), %ecx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				leal	32(%ecx), %edx
				movl	%eax, 4(%ebx,%edx,4)
  881         PT(I)=-4                             ;! FLAG FOR CONSTANTS
				movl	-220(%ebp), %eax
				subl	$1, %eax
				movl	$-4, 4(%ebx,%eax,4)
		.L692:
		.L695:
  882         %FINISH
  883 L2:   PSTP=PSTP+1                             ;! STACK OPERAND POINTER
				addl	$1, -224(%ebp)
		.L696:
  884 L4:   PST(PSTP)=I
				movl	-224(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-220(%ebp), %eax
				movl	%eax, -140(%ebp,%edx,4)
  885      I=I+1                                   ;! REV POL ARRAY POINTER
				addl	$1, -220(%ebp)
  886      %IF I<RPP %THEN %START                  ;! NOT END OF REV POL YET
				movl	260(%ebx), %eax
				cmpl	%eax, -220(%ebp)
				jge	.L718
				nop
		.L698:
  887         %IF PT(I)=0 %THEN ->L3                ;! AN OPERAND IS NEXT
				movl	-220(%ebp), %eax
				subl	$1, %eax
				movl	4(%ebx,%eax,4), %eax
				testl	%eax, %eax
				jne	.L719
				jmp	.L679
		.L719:
				nop
		.L700:
  888         %IF RP(I)<=10 %THEN %START           ;! BINARY OPERATORS
				movl	-220(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	4(%ebx,%eax,4), %eax
				cmpl	$10, %eax
				jg	.L720
				nop
		.L702:
  889            PSTP=PSTP-1                       ;! PSEUDO-EVALUATE POINTERS
				subl	$1, -224(%ebp)
  890            PT(I)=PST(PSTP)                   ;! STACK POINTER TO RESULT
				movl	-224(%ebp), %eax
				subl	$1, %eax
				movl	-220(%ebp), %edx
				subl	$1, %edx
				movl	-140(%ebp,%eax,4), %eax
				movl	%eax, 4(%ebx,%edx,4)
				jmp	.L696
		.L720:
  891            %FINISH
  892         ->L4 ; %FINISH
				jmp	.L696
		.L718:
  893 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L704
				call	__stack_chk_fail_local
		.L704:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%edi
				popl	%ebp
				ret
		.LFE203:
		OPN.6532:
		.LFB205:
  894 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  895 %ROUTINE EVAL(%INTEGER P)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$48, %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
				leal	8(%ebp), %eax
				movl	%eax, -16(%ebp)
				movl	%ebx, -20(%ebp)
  896 ! DUMP CODE FOR EVALUATION OF EXPRESSION
  897 %ROUTINESPEC OPN(%INTEGER OP,L)
  898 %INTEGER I,J,K
  899      I=PT(P)                                       ;! POINTER/TYPE OF LAST REV POL ENTRY
				movl	8(%ebp), %eax
				subl	$1, %eax
				movl	4(%ebx,%eax,4), %eax
				movl	%eax, -32(%ebp)
  900      %IF I<0 %THEN %START                          ;! OPERAND
				cmpl	$0, -32(%ebp)
				jns	.L776
				nop
		.L750:
  901         OPN(0,P)                                   ;! LOAD OPERAND
				subl	$8, %esp
				leal	-20(%ebp), %eax
				pushl	8(%ebp)
				pushl	$0
				movl	%eax, %ecx
				call	OPN.6532
				addl	$16, %esp
  902         %RETURN ; %FINISH
				jmp	.L748
		.L776:
  903      J=RP(P)                                       ;! OPERATOR
				movl	8(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	4(%ebx,%eax,4), %eax
				movl	%eax, -28(%ebp)
  904      K=P-1                                         ;! START OF 2ND OPERAND
				movl	8(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -24(%ebp)
  905      %IF UCN(J)=1 %THEN %START                     ;! UNARY OPERATOR
				movl	-28(%ebp), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$1200, %edx
				movl	4(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L777
				nop
		.L753:
  906         %IF PT(K)>=-2 %THEN EVAL(K) %ELSE OPN(0,K) ;! EVAL IF NODE OTHERWISE LOAD OPERAND
				movl	-24(%ebp), %eax
				subl	$1, %eax
				movl	4(%ebx,%eax,4), %eax
				cmpl	$-2, %eax
				jl	.L778
				subl	$12, %esp
				pushl	-24(%ebp)
				movl	%ebx, %ecx
				call	EVAL.6465
				addl	$16, %esp
				jmp	.L756
		.L778:
				nop
		.L755:
				subl	$8, %esp
				leal	-20(%ebp), %eax
				pushl	-24(%ebp)
				pushl	$0
				movl	%eax, %ecx
				call	OPN.6532
				addl	$16, %esp
		.L756:
  907         DUMP(OPR(J),M'ACC',0,0)                    ;! DUMP UNARY OPERATION
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	-28(%ebp), %edx
				addl	$2236, %edx
				movl	4(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				pushl	$0
				pushl	$0
				pushl	$4277059
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  908         %RETURN ; %FINISH
				jmp	.L748
		.L777:
  909      %IF PT(I)>=-2 %THEN %START                    ;! FIRST OPERAND A NODE
				movl	-32(%ebp), %eax
				subl	$1, %eax
				movl	4(%ebx,%eax,4), %eax
				cmpl	$-2, %eax
				jl	.L779
				nop
		.L758:
  910         %IF PT(K)>=-2 %THEN %START                 ;! SECOND OPERAND A NODE
				movl	-24(%ebp), %eax
				subl	$1, %eax
				movl	4(%ebx,%eax,4), %eax
				cmpl	$-2, %eax
				jl	.L780
				nop
		.L760:
  911            EVAL(K)                                 ;! EVALUATE 2ND OPERAND
				subl	$12, %esp
				pushl	-24(%ebp)
				movl	%ebx, %ecx
				call	EVAL.6465
				addl	$16, %esp
  912            DUMP(M'STR',M'ACC',BR(LEVEL),WS NEXT)   ;!  & STORE IT IN WORKSPACE
				movl	(%ebx), %eax
				movl	%eax, %ecx
				call	WSNEXT.6295
				movl	%eax, %ecx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	9176(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  913            EVAL(I)                                 ;! EVALUATE 1ST OPERAND
				subl	$12, %esp
				pushl	-32(%ebp)
				movl	%ebx, %ecx
				call	EVAL.6465
				addl	$16, %esp
  914            WS=WS-1                                 ;! RESTORE WORKSPACE POINTER
				movl	(%ebx), %eax
				movl	4(%eax), %edx
				movl	(%ebx), %eax
				subl	$1, %edx
				movl	%edx, 4(%eax)
  915            DUMP(OPR(J),M'ACC',BR(LEVEL),WS)        ;! DUMP OPERATION
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	9176(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %ecx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	-28(%ebp), %edx
				addl	$2236, %edx
				movl	4(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	4(%eax), %esi
				movl	(%ebx), %eax
				pushl	%esi
				pushl	%ecx
				pushl	$4277059
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  916            %FINISH %ELSE %START                    ;! 2ND OPERAND NOT A NODE
				nop
		.L761:
  917            EVAL(I)                                 ;! EVALUATE 1ST OPERAND
				subl	$12, %esp
				pushl	-32(%ebp)
				movl	%ebx, %ecx
				call	EVAL.6465
				addl	$16, %esp
  918            OPN(J,K)                                ;! OPERATION WITH 2ND OPERAND
				subl	$8, %esp
				leal	-20(%ebp), %eax
				pushl	-24(%ebp)
				pushl	-28(%ebp)
				movl	%eax, %ecx
				call	OPN.6532
				addl	$16, %esp
  919            %FINISH
  920         %FINISH %ELSE %START                       ;! 1ST OPERAND NOT A NODE
				jmp	.L767
		.L780:
				jmp	.L767
		.L779:
  921         %IF PT(K)>=-2 %THEN %START                 ;! 2ND OPERAND A NODE
				movl	-24(%ebp), %eax
				subl	$1, %eax
				movl	4(%ebx,%eax,4), %eax
				cmpl	$-2, %eax
				jl	.L781
				nop
		.L764:
  922            EVAL(K)                                 ;! EVALUATE 2ND OPERAND
				subl	$12, %esp
				pushl	-24(%ebp)
				movl	%ebx, %ecx
				call	EVAL.6465
				addl	$16, %esp
  923            %IF UCN(J)=2 %THEN %START               ;! OPERATOR IS COMMUTATIVE
				movl	-28(%ebp), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$1200, %edx
				movl	4(%eax,%edx,4), %eax
				cmpl	$2, %eax
				jne	.L782
				nop
		.L766:
  924               OPN(J,I)                             ;! OPERATION WITH 1ST OPERAND
				subl	$8, %esp
				leal	-20(%ebp), %eax
				pushl	-32(%ebp)
				pushl	-28(%ebp)
				movl	%eax, %ecx
				call	OPN.6532
				addl	$16, %esp
  925               %RETURN ; %FINISH
				jmp	.L748
		.L782:
  926            DUMP(M'STR',M'ACC',BR(LEVEL),WS NEXT)   ;! STORE VALUE OF 2ND OPERAND IN WORKSPACE
				movl	(%ebx), %eax
				movl	%eax, %ecx
				call	WSNEXT.6295
				movl	%eax, %ecx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	9176(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$4277059
				pushl	$5461074
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  927            OPN(0,I)                                ;! LOAD 1ST OPERAND
				subl	$8, %esp
				leal	-20(%ebp), %eax
				pushl	-32(%ebp)
				pushl	$0
				movl	%eax, %ecx
				call	OPN.6532
				addl	$16, %esp
  928            WS=WS-1                                 ;! RESTORE WORKSPACE POINTER
				movl	(%ebx), %eax
				movl	4(%eax), %edx
				movl	(%ebx), %eax
				subl	$1, %edx
				movl	%edx, 4(%eax)
  929            DUMP(OPR(J),M'ACC',BR(LEVEL),WS)        ;! DUMP OPERATION WITH 2ND OPERAND
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	9176(%eax), %edx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %ecx
				movl	(%ebx), %eax
				movl	8(%eax), %eax
				movl	-28(%ebp), %edx
				addl	$2236, %edx
				movl	4(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	4(%eax), %esi
				movl	(%ebx), %eax
				pushl	%esi
				pushl	%ecx
				pushl	$4277059
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  930            %FINISH %ELSE %START                    ;! 2ND OPERAND NOT A NODE
				jmp	.L767
		.L781:
  931            OPN(0,I)                                ;! LOAD 1ST OPERAND
				subl	$8, %esp
				leal	-20(%ebp), %eax
				pushl	-32(%ebp)
				pushl	$0
				movl	%eax, %ecx
				call	OPN.6532
				addl	$16, %esp
  932            OPN(J,K)                                ;! OPERATION WITH 2ND OPERAND
				subl	$8, %esp
				leal	-20(%ebp), %eax
				pushl	-24(%ebp)
				pushl	-28(%ebp)
				movl	%eax, %ecx
				call	OPN.6532
				addl	$16, %esp
		.L762:
		.L767:
  933            %FINISH
  934         %FINISH
  935      %RETURN
				nop
		.L748:
  936 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  937 %ROUTINE OPN(%INTEGER OP,L)
				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
  938 ! DUMP SIMPLE OPERATION, OP=OPERATOR, L=RP POSITION OF OPERAND
  939 %INTEGER I,J
  940      I=PT(L)                                         ;! KIND OF OPERAND
				movl	12(%ebp), %eax
				leal	-1(%eax), %edx
				movl	(%ebx), %eax
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -20(%ebp)
  941      AP=RP(L)                                        ;! ANAL REC POINTER OR NAME TAGS
				movl	12(%ebp), %eax
				leal	-1(%eax), %ecx
				movl	(%ebx), %edx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				addl	$32, %ecx
				movl	4(%edx,%ecx,4), %edx
				movl	%edx, 14080(%eax)
  942      %IF I=-1 %THEN %START                           ;! ROUTINE/FN TYPE
				cmpl	$-1, -20(%ebp)
				jne	.L742
				nop
		.L723:
  943         RT                                           ;! DUMP CALL ON FUNCTION
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, %ecx
				call	RT.6313
  944         %RETURN ; %FINISH
				jmp	.L721
		.L742:
  945      %IF I=-2 %THEN %START                           ;! ARRAY ACCESS
				cmpl	$-2, -20(%ebp)
				jne	.L743
				nop
		.L726:
  946         ARRAD                                        ;! CALCULATE ARRAY ELEMENT ADDRESS
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, %ecx
				call	ARRAD.6315
  947         DUMP(M'LOAD',M'ACC',M'ACC',0)                ;! LOAD VALUE
				movl	(%ebx), %eax
				movl	(%eax), %eax
				pushl	$0
				pushl	$4277059
				pushl	$4277059
				pushl	$1280262468
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  948         %RETURN ; %FINISH
				jmp	.L721
		.L743:
  949      %IF I=-3 %THEN %START                           ;! SCALAR TYPE
				cmpl	$-3, -20(%ebp)
				jne	.L744
				nop
		.L728:
  950         %IF AP>>28=1 %THEN %START                    ;! %NAME TYPE
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				shrl	$28, %eax
				cmpl	$1, %eax
				jne	.L745
				nop
		.L730:
  951            DUMP(M'LOAD',M'WK',BR(AP>>16&15),AP&65535) ;! LOAD INDIRECT
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				movzwl	%ax, %ecx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %edx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				pushl	%ecx
				pushl	%edx
				pushl	$22347
				pushl	$1280262468
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  952            DUMP(OPR(OP),M'ACC',M'WK',0)
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	8(%ebp), %edx
				addl	$2236, %edx
				movl	4(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				pushl	$0
				pushl	$22347
				pushl	$4277059
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  953            %FINISH %ELSE DUMP(OPR(OP),M'ACC',BR(AP>>16&15),AP&65535)
				nop
		.L731:
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				movzwl	%ax, %esi
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %edx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %ecx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	8(%ebp), %edx
				addl	$2236, %edx
				movl	4(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				pushl	%esi
				pushl	%ecx
				pushl	$4277059
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  954         %RETURN ; %FINISH
				jmp	.L721
		.L745:
				jmp	.L721
		.L744:
  955      %IF OP\=0 %OR AP>65535 %THEN %START             ;! CONSTANT NOT 'LDA'-ABLE
				cmpl	$0, 8(%ebp)
				jne	.L746
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				cmpl	$65535, %eax
				jle	.L747
				jmp	.L733
		.L746:
				nop
		.L733:
				nop
		.L734:
  956         J=CT NEXT                                    ;! NEXT HOLE IN CONSTANT TABLE
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, %ecx
				call	CTNEXT.6293
				movl	%eax, -16(%ebp)
  957         COT(J)=AP                                    ;! STORE VALUE
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	-16(%ebp), %ecx
				addl	$1212, %ecx
				movl	%edx, 4(%eax,%ecx,4)
  958         DUMP(OPR(OP),M'ACC',M'CT',J)
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	8(%ebp), %edx
				addl	$2236, %edx
				movl	4(%eax,%edx,4), %edx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				pushl	-16(%ebp)
				pushl	$17236
				pushl	$4277059
				pushl	%edx
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
  959         %FINISH %ELSE DUMP(M'LDA',M'ACC',0,AP)
				jmp	.L735
		.L747:
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	(%ebx), %eax
				movl	(%eax), %eax
				pushl	%edx
				pushl	$0
				pushl	$4277059
				pushl	$4998209
				movl	%eax, %ecx
				call	DUMP.6307
				addl	$16, %esp
		.L735:
  960 %END
				nop
		.L721:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L736
				call	__stack_chk_fail_local
		.L736:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE205:
		EVAL.6465:
		.LFB204:
  961 %END
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L768
				call	__stack_chk_fail_local
		.L768:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE204:
		SKIPSEXPR.6309:
		.LFB206:
  962 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L674
				call	__stack_chk_fail_local
		.L674:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%edi
				popl	%ebp
				ret
		.LFE200:
		PSEVAL.6463:
		.LFB203:
  963 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  964 %ROUTINE SKIP SEXPR
				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
		.L784:
  965 ! SKIP PAST <+-\><OPD><EXPR> IN ANALYSIS RECORD, AP INITIALLY ON <+-\>
  966 L1:   AP=AP+2                                       ;! AP ON <OPD>+1
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2, %edx
				movl	%edx, 14080(%eax)
  967      %IF A(AP-1)=3 %THEN SKIP SEXPR %ELSE %START   ;! SKIP SUB-EXPR ELSE <NAME> OR <CNST>
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$3, %eax
				jne	.L796
				movl	%ebx, %ecx
				call	SKIPSEXPR.6309
				jmp	.L789
		.L796:
				nop
		.L786:
  968         AP=AP+1                                    ;! AP ON <APP> OR AFTER <CNST>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  969         %IF A(AP-2)=1 %THEN SKIP APP               ;! OPERAND IS A NAME
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-3(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L797
				movl	%ebx, %ecx
				call	SKIPAPP.6311
				jmp	.L789
		.L787:
		.L797:
				nop
		.L789:
  970         %FINISH
  971      AP=AP+1                                       ;! AP AFTER <EXPR>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  972      %IF A(AP-1)=1 %THEN ->L1                       ;! MORE OPERANDS
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L798
				jmp	.L784
		.L798:
				nop
		.L791:
  973 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L793
				call	__stack_chk_fail_local
		.L793:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE206:
		SKIPAPP.6311:
		.LFB207:
  974 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  975 %ROUTINE SKIP APP
				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
		.L800:
  976 ! SKIP PAST <APP> IN ANALYSIS RECORD
  977 L1:   AP=AP+1                                       ;! POINTER TO <APP>+1 OR <EXPS>+1
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  978      %IF A(AP-1)=1 %THEN %START                    ;! EXPRESSIONS TO SKIP
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L806
				nop
		.L802:
  979         SKIP SEXPR
				movl	%ebx, %ecx
				call	SKIPSEXPR.6309
  980         ->L1 ; %FINISH
				jmp	.L800
		.L806:
  981 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L804
				call	__stack_chk_fail_local
		.L804:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE207:
		STORE.6582:
		.LFB209:
  982 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  983 %ROUTINE SCCOND(%INTEGERNAME LABEL)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$732, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	8(%ebp), %eax
				movl	%eax, -732(%ebp)
				movl	%ecx, %ebx
				movl	%ecx, -736(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -32(%ebp)
				movl	%ebx, -236(%ebp)
  984 ! COMPILE CONDITION I.E. <SC><COND>, LABEL SET FOR POSITION AFTER UI
  985 %ROUTINESPEC SC
  986 %ROUTINESPEC COND
  987 %ROUTINESPEC STORE(%INTEGER FT)
  988 %INTEGER I,J,K,L,APP
  989 %INTEGERARRAY CAP,LVL,TF,JMP,LBL(1:16)             ;! ANAL REC POINTERS, NESTING LEVEL,
				leal	-640(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-300(%ebp), %eax
				movl	%eax, -640(%ebp)
				movl	$4, -636(%ebp)
				leal	-572(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-300(%ebp), %eax
				addl	$196, %eax
				movl	%eax, -572(%ebp)
				movl	$4, -568(%ebp)
				leal	-504(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-300(%ebp), %eax
				addl	$132, %eax
				movl	%eax, -504(%ebp)
				movl	$4, -500(%ebp)
				leal	-436(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-704(%ebp), %eax
				movl	%eax, -436(%ebp)
				movl	$4, -432(%ebp)
				leal	-368(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-300(%ebp), %eax
				addl	$68, %eax
				movl	%eax, -368(%ebp)
				movl	$4, -364(%ebp)
  990                                                    ;!  TRUE/FALSE, JUMP & LABEL ARRAYS
  991      I=1                                           ;! INDEX TO ARRAYS
				movl	$1, %eax
				movl	%eax, -36(%ebp)
  992      L=0                                           ;! NESTING LEVEL
				movl	$0, %eax
				movl	%eax, -40(%ebp)
  993      SC                                            ;! PROCESS <SC>
				leal	-300(%ebp), %eax
				movl	%eax, %ecx
				call	SC.6578
  994      COND                                          ;! PROCESS <COND>
				leal	-300(%ebp), %eax
				movl	%eax, %ecx
				call	COND.6580
  995      APP=AP                                        ;! PRESERVE FINAL ANAL REC POINTER
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				movl	%eax, -712(%ebp)
  996      L=-1
				movl	$-1, %eax
				movl	%eax, -40(%ebp)
  997      STORE(1)                                      ;! PSEUDO-FALSE AT LEVEL -1
				subl	$12, %esp
				leal	-300(%ebp), %eax
				pushl	$1
				movl	%eax, %ecx
				call	STORE.6582
				addl	$16, %esp
  998      L=-2
				movl	$-2, %eax
				movl	%eax, -40(%ebp)
  999      STORE(2)                                      ;! PSEUDO-TRUE AT LEVEL -2
				subl	$12, %esp
				leal	-300(%ebp), %eax
				pushl	$2
				movl	%eax, %ecx
				call	STORE.6582
				addl	$16, %esp
 1000      K=I-1                                         ;! LAST POSITION FILLED IN IN ARRAYS
				movl	-36(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -708(%ebp)
 1001      I=1
				movl	$1, %eax
				movl	%eax, -36(%ebp)
		.L814:
 1002 L2:   J=I                                           ;! FIND POSITIONS TO JUMP TO
				movl	-36(%ebp), %eax
				movl	%eax, -716(%ebp)
		.L815:
 1003 L1:   J=J+1                                         ;!    AFTER COMPARISONS
				addl	$1, -716(%ebp)
 1004      %IF LVL(J)>=LVL(I) %OR TF(J)=TF(I) %THEN ->L1  ;! SKIP HIGHER LEVELS ETC
				movl	-716(%ebp), %eax
				subl	$1, %eax
				addl	$48, %eax
				movl	-296(%ebp,%eax,4), %edx
				movl	-36(%ebp), %eax
				subl	$1, %eax
				addl	$48, %eax
				movl	-296(%ebp,%eax,4), %eax
				cmpl	%eax, %edx
				jge	.L846
				movl	-716(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	-296(%ebp,%eax,4), %edx
				movl	-36(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	-296(%ebp,%eax,4), %eax
				cmpl	%eax, %edx
				jne	.L847
				jmp	.L817
		.L846:
				nop
		.L817:
				jmp	.L815
		.L847:
				nop
		.L818:
 1005      JMP(I)=J                                      ;! JUMP TO COMPARISON POSITION J
				movl	-36(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-716(%ebp), %eax
				movl	%eax, -704(%ebp,%edx,4)
 1006      I=I+1
				movl	-36(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
 1007      %IF I<K %THEN ->L2                             ;! MORE JUMPS TO FILL IN YET
				movl	-36(%ebp), %eax
				cmpl	-708(%ebp), %eax
				jge	.L848
				jmp	.L814
		.L848:
				nop
		.L820:
 1008      %IF A(AP)\=2 %THEN ->L3                        ;! UI NOT A JUMP INSTRUCTION
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$2, %eax
				jne	.L849
				nop
		.L822:
				nop
		.L823:
 1009      AP=AP+1                                       ;! TO <CONST>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1010      J=K-1                                         ;! LAST POSITION FILLED IN
				movl	-708(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -716(%ebp)
 1011      TF(J)=2                                       ;! SET AS 'TRUE'
				movl	-716(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	$2, -296(%ebp,%eax,4)
 1012      JMP(J)=J                                      ;! SET JUMP AS THE UI JUMP
				movl	-716(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-716(%ebp), %eax
				movl	%eax, -704(%ebp,%edx,4)
 1013      LBL(J)=FIND LABEL                             ;! FILL IN BRANCH TABLE POSITION
				movl	-716(%ebp), %eax
				leal	-1(%eax), %esi
				movl	%ebx, %ecx
				call	FINDLABEL.6282
				movl	%eax, %edx
				leal	16(%esi), %eax
				movl	%edx, -296(%ebp,%eax,4)
				jmp	.L823
		.L849:
 1014 L3:   I=1                                           ;! FILL IN PSEUDO-LABELS FOR INNER JUMPS
				movl	$1, %eax
				movl	%eax, -36(%ebp)
		.L824:
 1015 L4:   %IF LBL(JMP(I))<0 %THEN LBL(JMP(I))=BT NEXT   ;! NEXT BAT POSITION
				movl	-36(%ebp), %eax
				subl	$1, %eax
				movl	-704(%ebp,%eax,4), %eax
				subl	$1, %eax
				addl	$16, %eax
				movl	-296(%ebp,%eax,4), %eax
				testl	%eax, %eax
				jns	.L850
				movl	-36(%ebp), %eax
				subl	$1, %eax
				movl	-704(%ebp,%eax,4), %eax
				leal	-1(%eax), %esi
				movl	%ebx, %ecx
				call	BTNEXT.6291
				movl	%eax, %edx
				leal	16(%esi), %eax
				movl	%edx, -296(%ebp,%eax,4)
				jmp	.L826
		.L850:
				nop
		.L826:
 1016      I=I+1
				movl	-36(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
 1017      %IF I<K %THEN ->L4                             ;! MORE TO FILL IN
				movl	-36(%ebp), %eax
				cmpl	-708(%ebp), %eax
				jge	.L851
				jmp	.L824
		.L851:
				nop
		.L828:
 1018      I=1
				movl	$1, %eax
				movl	%eax, -36(%ebp)
		.L829:
 1019 L7:   AP=CAP(I)                                     ;! ANAL REC POINTER FOR 1ST EXPR OF COMP
				movl	-36(%ebp), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				movl	-300(%ebp,%edx,4), %edx
				movl	%edx, 14080(%eax)
 1020      SCF=1                                         ;! SET FLAG FOR SEXPR
				movl	8(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 4800(%eax)
 1021      SEXPR                                         ;! TO EVALUATE (1ST - 2ND)
				movl	%ebx, %ecx
				call	SEXPR.6280
 1022      %IF TF(I)=1 %THEN L=FALSE(COMP) %ELSE L=TRUE(COMP)
				movl	-36(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	-296(%ebp,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L852
				movl	8(%ebx), %eax
				movl	4796(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1192, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -40(%ebp)
				jmp	.L832
		.L852:
				nop
		.L831:
				movl	8(%ebx), %eax
				movl	4796(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1184, %edx
				movl	12(%eax,%edx,4), %eax
				movl	%eax, -40(%ebp)
		.L832:
 1023      DUMP(L,M'ACC',M'BT',LBL(JMP(I)))              ;! BRANCH TO REQUIRED POSITION
				movl	-36(%ebp), %eax
				subl	$1, %eax
				movl	-704(%ebp,%eax,4), %eax
				subl	$1, %eax
				addl	$16, %eax
				movl	-296(%ebp,%eax,4), %edx
				movl	-40(%ebp), %eax
				pushl	%edx
				pushl	$16980
				pushl	$4277059
				pushl	%eax
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1024      %IF LBL(I)>=0 %AND (I\=K-1 %OR TF(I)=1) %THEN BAT(LBL(I))=CA
				movl	-36(%ebp), %eax
				subl	$1, %eax
				addl	$16, %eax
				movl	-296(%ebp,%eax,4), %eax
				testl	%eax, %eax
				js	.L853
				movl	-708(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-36(%ebp), %eax
				cmpl	%edx, %eax
				jne	.L854
				movl	-36(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	-296(%ebp,%eax,4), %eax
				cmpl	$1, %eax
				jne	.L855
				jmp	.L836
		.L854:
				nop
		.L836:
				movl	-36(%ebp), %eax
				subl	$1, %eax
				addl	$16, %eax
				movl	-296(%ebp,%eax,4), %ecx
				movl	8(%ebx), %eax
				movl	4744(%eax), %edx
				movl	8(%ebx), %eax
				addl	$160, %ecx
				movl	%edx, 8(%eax,%ecx,4)
				jmp	.L834
		.L853:
				nop
				jmp	.L834
		.L855:
				nop
		.L834:
 1025      I=I+1                                         ;!         FILL IN LABEL ADDRESS
				movl	-36(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
 1026      %IF I<K %THEN ->L7                             ;! MORE COMPARISONS YET
				movl	-36(%ebp), %eax
				cmpl	-708(%ebp), %eax
				jge	.L856
				jmp	.L829
		.L856:
				nop
		.L838:
 1027      LABEL=LBL(K)                                  ;! FINAL LABEL
				movl	-708(%ebp), %eax
				subl	$1, %eax
				addl	$16, %eax
				movl	-296(%ebp,%eax,4), %edx
				movl	-732(%ebp), %eax
				movl	%edx, (%eax)
 1028      AP=APP                                        ;! FINAL ANALYSIS RECORD POINTER
				movl	8(%ebx), %eax
				movl	-712(%ebp), %edx
				movl	%edx, 14080(%eax)
 1029 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1030 %ROUTINE STORE(%INTEGER FT)
				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
 1031 ! STORE LEVEL & TRUE/FALSE FLAG
 1032      %IF I>16 %THEN %START                     ;! ARRAYS FULL
				movl	264(%ebx), %eax
				cmpl	$16, %eax
				jle	.L812
				nop
		.L809:
 1033         FAULT(M'COND',M'N TO',M'O LO',M'NG  ')
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				pushl	$1313284128
				pushl	$1327516751
				pushl	$1310741583
				pushl	$1129270852
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1034         I=1                                    ;! TO CONTINUE
				movl	$1, %eax
				movl	%eax, 264(%ebx)
				jmp	.L809
		.L812:
 1035         %FINISH
 1036      LVL(I)=L                                  ;! SAVE NESTING LEVEL
				movl	264(%ebx), %eax
				leal	-1(%eax), %edx
				movl	260(%ebx), %eax
				addl	$48, %edx
				movl	%eax, 4(%ebx,%edx,4)
 1037      TF(I)=FT                                  ;! SAVE TRUE/FALSE FLAG
				movl	264(%ebx), %eax
				subl	$1, %eax
				leal	32(%eax), %edx
				movl	8(%ebp), %eax
				movl	%eax, 4(%ebx,%edx,4)
 1038      LBL(I)=-1                                 ;! SET 'LABEL NOT FILLED IN YET' FLAG
				movl	264(%ebx), %eax
				subl	$1, %eax
				addl	$16, %eax
				movl	$-1, 4(%ebx,%eax,4)
 1039      I=I+1                                     ;! NEXT ARRAY POSITION
				movl	264(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 264(%ebx)
 1040 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L811
				call	__stack_chk_fail_local
		.L811:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE209:
		SCCOND.6278:
		.LFB208:
 1041 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1042 %ROUTINE SC
				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
 1043      AP=AP+1
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1044      %IF A(AP-1)=2 %THEN %START
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				leal	-2(%eax), %edx
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$2, %eax
				jne	.L864
				nop
		.L859:
 1045         L=L+1                               ;! NESTING LEVEL UP 1 FOR SUB-CONDITION
				movl	260(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 260(%ebx)
 1046         SC                                  ;! PROCESS SUB-<SC>
				movl	%ebx, %ecx
				call	SC.6578
 1047         COND                                ;! PROCESS SUB-<COND>
				movl	%ebx, %ecx
				call	COND.6580
 1048         L=L-1                               ;! NESTING LEVEL DOWN AFTER SUB-CONDITION
				movl	260(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 260(%ebx)
 1049         %FINISH %ELSE %START
				jmp	.L860
		.L864:
 1050         CAP(I)=AP                           ;! ANAL REC POINTER FOR SIMPLE COMPARISON
				movl	264(%ebx), %eax
				leal	-1(%eax), %edx
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				movl	%eax, (%ebx,%edx,4)
 1051         SKIP SEXPR                          ;! SKIP 1ST EXPR OF COMPARISON
				movl	64(%ebx), %eax
				movl	%eax, %ecx
				call	SKIPSEXPR.6309
 1052         AP=AP+1                             ;! SKIP COMPARATOR
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1053         SKIP SEXPR                          ;! SKIP 2ND EXPR
				movl	64(%ebx), %eax
				movl	%eax, %ecx
				call	SKIPSEXPR.6309
		.L860:
 1054         %FINISH
 1055 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L862
				call	__stack_chk_fail_local
		.L862:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE210:
		COND.6580:
		.LFB211:
 1056 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1057 %ROUTINE COND
				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
 1058 ! PROCESS <COND> FOR SIMPLE COMPARISONS
 1059 %INTEGER I
 1060      I=A(AP)                                ;! <COND>
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				movl	%eax, -16(%ebp)
 1061      AP=AP+1                                ;! AP ON <SC>
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1062      %IF I\=3 %THEN %START                  ;! NOT NULL ALTERNATIVE OF <COND>
				cmpl	$3, -16(%ebp)
				je	.L872
				nop
				jmp	.L869
		.L873:
 1063 L1:      STORE(I)                            ;! SAVE %AND OR %OR TYPE OF CONDITION
				nop
		.L866:
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%ebx, %ecx
				call	STORE.6582
				addl	$16, %esp
 1064         SC                                  ;! PROCESS <SC>
				movl	%ebx, %ecx
				call	SC.6578
 1065         AP=AP+1                             ;! POINTER ON <ANDC>+1 OR <ORC>+1
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %edx
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1066         %IF A(AP-1)=1 %THEN ->L1             ;! MORE %ANDS OR %ORS
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				movl	14080(%eax), %eax
				leal	-2(%eax), %edx
				movl	64(%ebx), %eax
				movl	8(%eax), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L873
				jmp	.L866
		.L867:
		.L872:
				nop
		.L869:
 1067         %FINISH
 1068 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L871
				call	__stack_chk_fail_local
		.L871:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE211:
		CHECK.6284:
		.LFB212:
 1069 %END
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L840
				call	__stack_chk_fail_local
		.L840:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE208:
		SC.6578:
		.LFB210:
 1070 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1071 %ROUTINE CHECK
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 1072 ! CHECK LABELS ALL SET & STARTS MATCH FINISHES
 1073 %INTEGER I,J
 1074      I=JUMP(LEVEL)                              ;! POINTER TO JUMP LIST FOR THIS LEVEL
				movl	8(%esi), %eax
				movl	9176(%eax), %edx
				movl	8(%esi), %eax
				addl	$144, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -16(%ebp)
		.L875:
 1075 L1:   %IF I\=0 %THEN %START                      ;! NO LABELS OR JUMPS USED AT THIS LEVEL
				cmpl	$0, -16(%ebp)
				je	.L887
				nop
		.L877:
 1076         %IF BAT(TAG(I)&65535)<0 %THEN %START    ;! LABEL SET INCORRECTLY
				movl	8(%esi), %eax
				movl	-16(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movzwl	%ax, %edx
				movl	8(%esi), %eax
				addl	$160, %edx
				movl	8(%eax,%edx,4), %eax
				testl	%eax, %eax
				jns	.L888
				nop
		.L879:
 1077            WRITE(TAG(I)>>16,1)                  ;! PRINT OUT LABEL NO OF LABEL NOT SET
				movl	8(%esi), %eax
				movl	-16(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				shrl	$16, %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
 1078            FAULT(M' LAB',M'EL N',M'OT S',M'ET  ')
				movl	8(%esi), %eax
				pushl	$1163141152
				pushl	$1330913363
				pushl	$1162616910
				pushl	$541868354
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L879
		.L888:
 1079            %FINISH
 1080         I=RETURN CELL(I)                        ;! RETURN JUMP LIST CELL TO ASL
				movl	8(%esi), %eax
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%eax, %ecx
				call	RETURNCELL.6039
				addl	$16, %esp
				movl	%eax, -16(%ebp)
 1081         ->L1 ; %FINISH
				jmp	.L875
		.L887:
 1082      I=START(LEVEL)                             ;! LINK TO START LIST
				movl	8(%esi), %eax
				movl	9176(%eax), %edx
				movl	8(%esi), %eax
				subl	$-128, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -16(%ebp)
		.L880:
 1083 L2:   %IF I\=0 %THEN %START                      ;! A CELL STILL IN LIST
				cmpl	$0, -16(%ebp)
				je	.L889
				nop
		.L882:
 1084         FAULT(M'%FIN',M'ISH ',M'MISS',M'ING ')
				movl	8(%esi), %eax
				pushl	$1229866784
				pushl	$1296651091
				pushl	$1230194720
				pushl	$625363278
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1085         I=RETURN CELL(I)                        ;! POP UP CELL
				movl	8(%esi), %eax
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%eax, %ecx
				call	RETURNCELL.6039
				addl	$16, %esp
				movl	%eax, -16(%ebp)
 1086         ->L2 ; %FINISH
				jmp	.L880
		.L889:
 1087 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L884
				call	__stack_chk_fail_local
		.L884:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE212:
		UNSET.6286:
		.LFB213:
?J unused
 1088 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1089 %ROUTINE UNSET
				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
 1090 ! UNSET NAMES AND CHECK FOR MISSING ROUTINES
 1091 %INTEGER I,J,K
 1092      I=NAME(LEVEL)                               ;! NAME LIST POINTER
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$112, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
		.L891:
 1093 L1:   %IF I\=0 %THEN %START                       ;! UNSET NAMES DECLARED AT THIS LEVEL
				cmpl	$0, -24(%ebp)
				je	.L906
				nop
		.L893:
 1094         J=TAG(I)                                 ;! NAME IDENT NO
				movl	8(%ebx), %eax
				movl	-24(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -16(%ebp)
 1095         K=TAG(LINK(J))                           ;! TAG WORD AT TOP OF LIST
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -20(%ebp)
 1096         LINK(J)=RETURN CELL(LINK(J))             ;! POP UP CELL
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	RETURNCELL.6039
				addl	$16, %esp
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				addl	$2292, %edx
				movl	%ecx, 12(%eax,%edx,4)
 1097         %IF K>>28=4 %THEN %START                 ;! ROUTINE/FN TYPE
				movl	-20(%ebp), %eax
				shrl	$28, %eax
				cmpl	$4, %eax
				jne	.L907
				nop
				jmp	.L900
		.L909:
 1098            %IF BAT(K&65535)<0 %THEN %START
				movl	-20(%ebp), %eax
				movzwl	%ax, %edx
				movl	8(%ebx), %eax
				addl	$160, %edx
				movl	8(%eax,%edx,4), %eax
				testl	%eax, %eax
				jns	.L908
				nop
		.L897:
 1099               PRINT NAME(J)
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1100               FAULT(M'ROUT',M'INE ',M'MISS',M'ING ')
				movl	8(%ebx), %eax
				pushl	$1229866784
				pushl	$1296651091
				pushl	$1229866272
				pushl	$1380930900
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L897
		.L908:
 1101               %FINISH
 1102            K=K>>20&15                            ;! NO OF PARAMS
				movl	-20(%ebp), %eax
				shrl	$20, %eax
				andl	$15, %eax
				movl	%eax, -20(%ebp)
		.L898:
 1103 L2:         %IF K\=0 %THEN %START                 ;! PARAMS PRESENT
				cmpl	$0, -20(%ebp)
				je	.L909
				nop
		.L900:
 1104               LINK(J)=RETURN CELL(LINK(J))       ;! POP UP CELLS
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	RETURNCELL.6039
				addl	$16, %esp
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				addl	$2292, %edx
				movl	%ecx, 12(%eax,%edx,4)
 1105               K=K-1                              ;! PARAM COUNT
				subl	$1, -20(%ebp)
 1106               ->L2 ; %FINISH
				jmp	.L898
		.L895:
		.L907:
 1107            %FINISH
 1108         %IF LINK(J)=0 %THEN TAG(J)=0             ;! A PREVIOUS DECLARATION OF SAME NAME
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %eax
				testl	%eax, %eax
				jne	.L910
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				addl	$3520, %edx
				movl	$0, 4(%eax,%edx,4)
				jmp	.L902
		.L910:
				nop
		.L902:
 1109         I=RETURN CELL(I)                         ;! RETURN NAME LIST CELL
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	-24(%ebp)
				movl	%eax, %ecx
				call	RETURNCELL.6039
				addl	$16, %esp
				movl	%eax, -24(%ebp)
 1110         ->L1 ; %FINISH
				jmp	.L891
		.L906:
 1111 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L904
				call	__stack_chk_fail_local
		.L904:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE213:
		PUSHSTART.6289:
		.LFB214:
 1112 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1113 %ROUTINE PUSH START(%INTEGER FLAG,LABEL)
				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
 1114 ! PUSHDOWN START/FINISH BLOCK INFORMATION
 1115 %INTEGER I
 1116      I=NEWCELL
				movl	8(%ebx), %eax
				movl	%eax, %ecx
				call	NEWCELL.6037
				movl	%eax, -16(%ebp)
 1117      TAG(I)=FLAG<<16!LABEL&65535                 ;! PACK FLAG & LABEL
				movl	8(%ebp), %eax
				sall	$16, %eax
				movl	%eax, %edx
				movl	12(%ebp), %eax
				movzwl	%ax, %eax
				movl	%edx, %ecx
				orl	%eax, %ecx
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				addl	$3520, %edx
				movl	%ecx, 4(%eax,%edx,4)
 1118      LINK(I)=START(LEVEL)                        ;! PUSH CELL DOWN
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				subl	$-128, %edx
				movl	8(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				movl	-16(%ebp), %ecx
				addl	$2292, %ecx
				movl	%edx, 12(%eax,%ecx,4)
 1119      START(LEVEL)=I                              ;!  ONTO START LIST
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				leal	128(%edx), %ecx
				movl	-16(%ebp), %edx
				movl	%edx, 8(%eax,%ecx,4)
 1120 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L913
				call	__stack_chk_fail_local
		.L913:
				addl	$36, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE214:
		ENTER.6318:
		.LFB215:
 1121 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1122 %ROUTINE ENTER(%INTEGER TYPE,ALLOC)
				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
 1123 ! DUMP CODE FOR NEW LEVEL & INITIALISE LEVEL ARRAYS
 1124 %INTEGER I
 1125      DUMP(M'STR',BR(LEVEL),M'STP',0)            ;! ENTRY SEQUENCE
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %eax
				pushl	$0
				pushl	$5461072
				pushl	%eax
				pushl	$5461074
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1126      DUMP(M'LDA',BR(LEVEL),M'STP',0)
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %eax
				pushl	$0
				pushl	$5461072
				pushl	%eax
				pushl	$4998209
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1127      DUMP(M'STR',M'WK',M'STP',1)
				pushl	$1
				pushl	$5461072
				pushl	$22347
				pushl	$5461074
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1128      I=CT NEXT                                  ;! STATIC ALLOCATION HOLE IN CONST TABLE
				movl	%ebx, %ecx
				call	CTNEXT.6293
				movl	%eax, -16(%ebp)
 1129      DUMP(M'ADD',M'STP',M'CT',I)
				pushl	-16(%ebp)
				pushl	$17236
				pushl	$5461072
				pushl	$4277316
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1130      STAR(LEVEL)=I                             ;! REMEMBER POSITION OF HOLE
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				leal	96(%edx), %ecx
				movl	-16(%ebp), %edx
				movl	%edx, 8(%eax,%ecx,4)
 1131      JUMP(LEVEL)=0                              ;! NO JUMPS AT NEW LEVEL YET
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$144, %edx
				movl	$0, 8(%eax,%edx,4)
 1132      NAME(LEVEL)=0                              ;! NO NAMES AT NEW LEVEL YET
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$112, %edx
				movl	$0, 8(%eax,%edx,4)
 1133      RTP(LEVEL)=TYPE                            ;! BLOCK/ROUTINE/FN TYPE
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				leal	2260(%edx), %ecx
				movl	8(%ebp), %edx
				movl	%edx, 8(%eax,%ecx,4)
 1134      CHPP(LEVEL)=CHP                            ;! SAVE CHARACTER ARRAY POINTER
				movl	8(%ebx), %eax
				movl	20228(%eax), %edx
				movl	8(%ebx), %eax
				movl	9176(%eax), %ecx
				movl	8(%ebx), %eax
				addl	$80, %ecx
				movl	%edx, 8(%eax,%ecx,4)
 1135      START(LEVEL)=0                             ;! NO START/FINISH BLOCKS YET
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				subl	$-128, %edx
				movl	$0, 8(%eax,%edx,4)
 1136      RAD(LEVEL)=ALLOC                           ;! NEXT RELATIVE ADDRESS TO BE ASSIGNED
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				leal	64(%edx), %ecx
				movl	12(%ebp), %edx
				movl	%edx, 8(%eax,%ecx,4)
 1137 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L916
				call	__stack_chk_fail_local
		.L916:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE215:
		RETURN.6320:
		.LFB216:
 1138 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1139 %ROUTINE RETURN
				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
 1140 ! DUMP CODE FOR %RETURN
 1141      DUMP(M'LDA',M'STP',BR(LEVEL),0)             ;! RESTORE DIJKSTRA DISPLAY
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %eax
				pushl	$0
				pushl	%eax
				pushl	$5461072
				pushl	$4998209
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1142      DUMP(M'LOAD',BR(LEVEL),M'STP',0)
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %eax
				pushl	$0
				pushl	$5461072
				pushl	%eax
				pushl	$1280262468
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1143      DUMP(M'LOAD',M'WK',M'STP',1)
				pushl	$1
				pushl	$5461072
				pushl	$22347
				pushl	$1280262468
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1144      DUMP('B',0,M'WK',0)                         ;! BRANCH TO RETURN ADDRESS
				pushl	$0
				pushl	$22347
				pushl	$0
				pushl	$66
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1145 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L919
				call	__stack_chk_fail_local
		.L919:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE216:
		RT.6313:
		.LFB217:
 1146 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1147 %ROUTINE RT
				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
 1148 ! DUMP CODE FOR A ROUTINE OR FUNCTION CALL
 1149 %INTEGER I,J,K,L,M,N,P
 1150      I=LINK(A(AP))                                      ;! LINK TO TAG FOR NAME
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %eax
				movl	%eax, -40(%ebp)
 1151      AP=AP+1                                            ;! AP ON <APP>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1152      J=TAG(I)                                           ;! TAG OF NAME
				movl	8(%ebx), %eax
				movl	-40(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -16(%ebp)
 1153      K=J>>20&15+1                                       ;! NO OF PARAMS +1
				movl	-16(%ebp), %eax
				shrl	$20, %eax
				andl	$15, %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
		.L921:
 1154 L1:   K=K-1                                              ;! COUNT PARAMS
				subl	$1, -36(%ebp)
 1155      AP=AP+1                                            ;! AP ON <APP>+1
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1156      %IF A(AP-1)=2 %THEN %START                         ;! PARAMS ABSENT OR NO MORE TO PROCESS
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$2, %eax
				jne	.L990
				nop
		.L923:
 1157         DUMP(M'BAL',M'WK',M'BT',J&65535)                ;! DUMP BRANCH TO ROUTINE/FN
				movl	-16(%ebp), %eax
				movzwl	%ax, %eax
				pushl	%eax
				pushl	$16980
				pushl	$22347
				pushl	$4342092
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1158         %IF K>0 %THEN FAULT(M'TOO ',M'FEW ',M'PARA',M'MS  ')
				cmpl	$0, -36(%ebp)
				jle	.L991
				movl	8(%ebx), %eax
				pushl	$1297293344
				pushl	$1346458177
				pushl	$1178949408
				pushl	$1414483744
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				nop
		.L925:
 1159         %RETURN ; %FINISH
				jmp	.L920
		.L991:
				jmp	.L920
		.L990:
 1160      %IF K<=0 %THEN %START                              ;! MORE PARAMS THAN SPEC
				cmpl	$0, -36(%ebp)
				jg	.L992
				nop
		.L928:
 1161         %IF K=0 %THEN FAULT(M'TOO ',M'MANY',M' PAR',M'AMS ') ;! ONLY MONITOR ONCE
				cmpl	$0, -36(%ebp)
				jne	.L993
				movl	8(%ebx), %eax
				pushl	$1095586592
				pushl	$542130514
				pushl	$1296125529
				pushl	$1414483744
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				nop
		.L930:
 1162         ->L2 ; %FINISH
				jmp	.L931
		.L993:
				jmp	.L931
		.L992:
 1163      I=LINK(I)                                          ;! LINK TO NEXT PARAM CELL
				movl	8(%ebx), %eax
				movl	-40(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %eax
				movl	%eax, -40(%ebp)
 1164      L=TAG(I)                                           ;! TAG OF PARAM
				movl	8(%ebx), %eax
				movl	-40(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -32(%ebp)
 1165      %IF L>>28=0 %THEN %START                           ;! SCALAR VALUE
				movl	-32(%ebp), %eax
				shrl	$28, %eax
				testl	%eax, %eax
				jne	.L994
				nop
		.L933:
 1166         SEXPR                                           ;! COMPILE EXPRESSION
				movl	%ebx, %ecx
				call	SEXPR.6280
 1167         ->L3 ; %FINISH
				jmp	.L934
		.L994:
 1168      %IF A(AP)=4 %AND A(AP+1)=1 %THEN ->L4               ;! <+-\> IS NULL & <OPD> IS A NAME
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$4, %eax
				jne	.L995
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				je	.L996
				jmp	.L939
		.L936:
		.L995:
				nop
				jmp	.L939
		.L1001:
				nop
		.L938:
 1169 L5:   FAULT(M'NOT ',M'A NA',M'ME P',M'ARAM')
				movl	8(%ebx), %eax
				pushl	$1095909709
				pushl	$1296375888
				pushl	$1092636225
				pushl	$1313821728
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
		.L931:
 1170 L2:   SKIP SEXPR                                         ;! SKIP INVALID PARAM TO CONTINUE
				movl	%ebx, %ecx
				call	SKIPSEXPR.6309
 1171      ->L1
				jmp	.L921
		.L996:
 1172 L4:   M=LINK(A(AP+2))                                    ;! LINK TO TAG FOR PARAM NAME
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %eax
				movl	%eax, -28(%ebp)
 1173      %IF M=0 %THEN %START
				cmpl	$0, -28(%ebp)
				jne	.L997
				nop
		.L941:
 1174         PRINT NAME(A(AP+2))
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1175         FAULT(M'NAME',M' NOT',M' SET',M'    ')
				movl	8(%ebx), %eax
				pushl	$538976288
				pushl	$542328148
				pushl	$542003028
				pushl	$1312902469
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1176         ->L2 ; %FINISH
				jmp	.L931
		.L997:
 1177      N=TAG(M)                                           ;! TAG OF PARAM NAME
				movl	8(%ebx), %eax
				movl	-28(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
 1178      %IF L>>28=1 %THEN %START                           ;! PARAM IS SCALAR NAME TYPE
				movl	-32(%ebp), %eax
				shrl	$28, %eax
				cmpl	$1, %eax
				jne	.L998
				nop
		.L943:
 1179         %IF N>>28=4 %THEN %START                        ;! ACTUAL NAME IS ROUTINE/FN TYPE
				movl	-24(%ebp), %eax
				shrl	$28, %eax
				cmpl	$4, %eax
				jne	.L999
				nop
		.L945:
 1180            PRINT NAME(A(AP+2))
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1181            ->L5 ; %FINISH
				jmp	.L939
		.L999:
 1182         %IF N>>28>=2 %THEN %START                       ;! ACTUAL NAME IS AN ARRAY
				movl	-24(%ebp), %eax
				shrl	$28, %eax
				cmpl	$1, %eax
				jbe	.L1000
				nop
		.L947:
 1183            AP=AP+2                                      ;! AP ON <NAME>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2, %edx
				movl	%edx, 14080(%eax)
 1184            ARRAD                                        ;! CALCULATE ARRAY ELEMENT ADDRESS
				movl	%ebx, %ecx
				call	ARRAD.6315
 1185            AP=AP+1                                      ;! AP ON <EXPR>+1 - SHOULD BE <EXPS>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1186            %IF A(AP-1)=1 %THEN ->L5                      ;! FURTHER OPERAND - INVALID
				nop
				jmp	.L939
		.L1003:
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				je	.L1001
				nop
		.L949:
 1187            ->L3 ; %FINISH
				jmp	.L934
		.L1000:
 1188         %IF A(AP+3)=1 %THEN %START                      ;! <APP> NOT NULL
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L1002
				nop
		.L951:
 1189            PRINT NAME(A(AP+2))
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1190            FAULT(M'SCAL',M'AR H',M'AS P',M'ARAM')
				movl	8(%ebx), %eax
				pushl	$1095909709
				pushl	$1095966800
				pushl	$1095901256
				pushl	$1396916556
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1191            ->L2 ; %FINISH
				jmp	.L931
		.L1002:
 1192         %IF A(AP+4)=1 %THEN ->L5                         ;! FURTHER OPERANDS - INVALID
				nop
		.L939:
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	3(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				je	.L1003
				nop
		.L953:
 1193         %IF N>>28=1 %THEN P=M'LOAD' %ELSE P=M'LDA'      ;! LOAD FOR NAME TYPE & LDA FOR VALUE TYPE
				movl	-24(%ebp), %eax
				shrl	$28, %eax
				cmpl	$1, %eax
				jne	.L1004
				movl	$1280262468, -20(%ebp)
				jmp	.L956
		.L1004:
				nop
		.L955:
				movl	$4998209, -20(%ebp)
		.L956:
 1194         DUMP(P,M'ACC',BR(N>>16&15),N&65535)
				movl	-24(%ebp), %eax
				movzwl	%ax, %edx
				movl	-24(%ebp), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				addl	$2276, %ecx
				movl	8(%eax,%ecx,4), %eax
				pushl	%edx
				pushl	%eax
				pushl	$4277059
				pushl	-20(%ebp)
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1195         %FINISH %ELSE %START                            ;! PARAM IS ARRAY NAME
				jmp	.L973
		.L998:
 1196         %IF A(AP+3)\=2 %OR A(AP+4)\=2 %THEN ->L5         ;! <APP> NOT NULL OR MORE OPERANDS
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$2, %eax
				jne	.L1005
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	3(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$2, %eax
				je	.L1006
				jmp	.L959
		.L1005:
				nop
		.L959:
				jmp	.L939
		.L1006:
				nop
		.L960:
 1197         %IF N>>28&2=0 %THEN %START                      ;! 'FORM' OF ACTUAL IS NOT ARRAY
				movl	-24(%ebp), %eax
				andl	$268435456, %eax
				testl	%eax, %eax
				jne	.L1007
				nop
		.L962:
 1198            PRINT NAME(A(AP+2))
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1199            FAULT(M'NOT ',M'AN A',M'RRAY',M' NME')
				movl	8(%ebx), %eax
				pushl	$542002501
				pushl	$1381122393
				pushl	$1095639105
				pushl	$1313821728
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1200            ->L2 ; %FINISH
				jmp	.L931
		.L1007:
 1201         %IF N>>28=3 %THEN %START                        ;! ACTUAL IS ARRAY NAME
				movl	-24(%ebp), %eax
				shrl	$28, %eax
				cmpl	$3, %eax
				jne	.L1008
				nop
		.L964:
 1202            M=N&65535                                    ;! POINTER TO TAG CELL OF PARAM LIST
				movl	-24(%ebp), %eax
				movzwl	%ax, %eax
				movl	%eax, -28(%ebp)
 1203            N=TAG(M)                                     ;! CORRECT TAG FOR PARAM
				movl	8(%ebx), %eax
				movl	-28(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
				jmp	.L964
		.L1008:
 1204            %FINISH
 1205         %IF N>>20&15\=L>>20&15 %THEN %START             ;! DIMENSIONS DIFFERENT
				movl	-24(%ebp), %eax
				shrl	$20, %eax
				movl	%eax, %edx
				movl	-32(%ebp), %eax
				shrl	$20, %eax
				cmpl	$15, %eax
				sete	%al
				movzbl	%al, %eax
				andl	%edx, %eax
				andl	$15, %eax
				testl	%eax, %eax
				jne	.L1009
				nop
		.L972:
 1206            %IF L>>20&15=0 %THEN %START                  ;! FORMAL PARAM DIMENSION UNKNOWN
				movl	-32(%ebp), %eax
				andl	$1048576, %eax
				testl	%eax, %eax
				jne	.L1010
				nop
		.L968:
 1207               L=TAG(I)!N&15<<20                         ;! FILL FORMAL TAG WITH DIMENSION
				movl	8(%ebx), %eax
				movl	-40(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	-24(%ebp), %edx
				andl	$15728640, %edx
				orl	%edx, %eax
				movl	%eax, -32(%ebp)
 1208               TAG(I)=L                                  ;!  OF ACTUAL PARAM
				movl	8(%ebx), %eax
				movl	-40(%ebp), %edx
				leal	3520(%edx), %ecx
				movl	-32(%ebp), %edx
				movl	%edx, 4(%eax,%ecx,4)
 1209               %FINISH %ELSE %START                      ;! DIMENSION OF FORMAL KNOWN
				jmp	.L972
		.L1010:
 1210               %IF N>>20&15=0 %THEN TAG(M)=TAG(M)!L&15<<20 %ELSE %START
				movl	-24(%ebp), %eax
				andl	$1048576, %eax
				testl	%eax, %eax
				jne	.L1011
				movl	8(%ebx), %eax
				movl	-28(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	-32(%ebp), %edx
				andl	$15728640, %edx
				orl	%edx, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				movl	-28(%ebp), %edx
				addl	$3520, %edx
				movl	%ecx, 4(%eax,%edx,4)
				jmp	.L972
		.L1011:
				nop
		.L970:
 1211                                                         ;! FILL IN DIMENSION OF ACTUAL IF UNKNOWN
 1212                  PRINT NAME(A(AP+2))
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1213                  FAULT(M'ARRA',M'Y DI',M'MENS',M'ION?')
				movl	8(%ebx), %eax
				pushl	$1229934143
				pushl	$1296387667
				pushl	$1495286857
				pushl	$1095914049
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1214                  ->L2 ; %FINISH
				jmp	.L931
		.L966:
		.L971:
		.L1009:
 1215               %FINISH
 1216            %FINISH
 1217         DUMP(M'LOAD',M'ACC',BR(N>>16&15),N&65535)
				movl	-24(%ebp), %eax
				movzwl	%ax, %edx
				movl	-24(%ebp), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				addl	$2276, %ecx
				movl	8(%eax,%ecx,4), %eax
				pushl	%edx
				pushl	%eax
				pushl	$4277059
				pushl	$1280262468
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1218         %IF L>>20&15\=1 %THEN %START                    ;! NOT 1-DIM ARRAY
 1219            DUMP(M'STR',M'ACC',M'STP',L&65535)
				movl	-32(%ebp), %eax
				movzwl	%ax, %eax
				pushl	%eax
				pushl	$5461072
				pushl	$4277059
				pushl	$5461074
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1220            DUMP(M'LOAD',M'ACC',BR(N>>16&15),N&65535+1)
				movl	-24(%ebp), %eax
				movzwl	%ax, %eax
				leal	1(%eax), %edx
				movl	-24(%ebp), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				addl	$2276, %ecx
				movl	8(%eax,%ecx,4), %eax
				pushl	%edx
				pushl	%eax
				pushl	$4277059
				pushl	$1280262468
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1221            L=L+1
				addl	$1, -32(%ebp)
		.L957:
		.L973:
 1222            %FINISH
 1223         %FINISH
 1224      AP=AP+5                                            ;! AP ON <EXPS>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$5, %edx
				movl	%edx, 14080(%eax)
		.L934:
 1225 L3:   DUMP(M'STR',M'ACC',M'STP',L&65535)
				movl	-32(%ebp), %eax
				movzwl	%ax, %eax
				pushl	%eax
				pushl	$5461072
				pushl	$4277059
				pushl	$5461074
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1226      ->L1
				jmp	.L921
		.L920:
 1227 %END
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L974
				call	__stack_chk_fail_local
		.L974:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE217:
		ARRAD.6315:
		.LFB218:
 1228 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1229 %ROUTINE ARRAD
				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
 1230 ! DUMP CODE TO CALCULATE ARRAY ELEMENT ADDRESS
 1231 %INTEGER I,J,K,L
 1232      L=A(AP)
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				movl	%eax, -16(%ebp)
 1233      I=LINK(L)                                          ;! LINK TO TAG FOR NAME OF ARRAY
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %eax
				movl	%eax, -28(%ebp)
 1234      J=TAG(I)
				movl	8(%ebx), %eax
				movl	-28(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
 1235      %IF J>>28=3 %THEN %START                           ;! NAME IS AN ARRAY NAME
				movl	-24(%ebp), %eax
				shrl	$28, %eax
				cmpl	$3, %eax
				jne	.L1036
				nop
		.L1014:
 1236         I=J&65535                                       ;! SUBSTITUTE CORRECT TAG VALUE
				movl	-24(%ebp), %eax
				movzwl	%ax, %eax
				movl	%eax, -28(%ebp)
 1237         J=TAG(I)
				movl	8(%ebx), %eax
				movl	-28(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
				jmp	.L1014
		.L1036:
 1238         %FINISH
 1239      AP=AP+2                                            ;! AP ON <APP>+1
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2, %edx
				movl	%edx, 14080(%eax)
 1240      %IF A(AP-1)=1 %THEN %START                         ;! INDEXES PRESENT
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L1037
				nop
		.L1016:
 1241         SEXPR                                           ;! COMPILE EXPR FOR FIRST INDEX
				movl	%ebx, %ecx
				call	SEXPR.6280
 1242         AP=AP+1                                         ;! AP ON <EXPS>+1
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1243         %IF A(AP-1)=1 %THEN %START                      ;! 2ND INDEX PRESENT
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-2(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L1038
				nop
		.L1018:
 1244            DUMP(M'STR',M'ACC',BR(LEVEL),WS NEXT)        ;! STORE 1ST INDEX IN WORKSPACE
				movl	%ebx, %ecx
				call	WSNEXT.6295
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %eax
				pushl	%ecx
				pushl	%eax
				pushl	$4277059
				pushl	$5461074
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1245            SEXPR                                        ;! COMPILE EXPR FOR 2ND INDEX
				movl	%ebx, %ecx
				call	SEXPR.6280
 1246            %IF A(AP)=1 %THEN %START                     ;! 3RD INDEX PRESENT
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%ebx), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				cmpl	$1, %eax
				jne	.L1039
				nop
		.L1020:
 1247               PRINT NAME(L)
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1248               FAULT(M'TOO ',M'MANY',M' IND',M'EXES')
				movl	8(%ebx), %eax
				pushl	$1163412819
				pushl	$541675076
				pushl	$1296125529
				pushl	$1414483744
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1249               SKIP APP                                  ;! SKIP EXCESS INDEXES
				movl	%ebx, %ecx
				call	SKIPAPP.6311
 1250               %FINISH %ELSE AP=AP+1                     ;! AP AFTER EXPRESSION
				jmp	.L1021
		.L1039:
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
		.L1021:
 1251            DUMP(M'MLT',M'ACC',BR(J>>16&15),J&65535)
				movl	-24(%ebp), %eax
				movzwl	%ax, %edx
				movl	-24(%ebp), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				addl	$2276, %ecx
				movl	8(%eax,%ecx,4), %eax
				pushl	%edx
				pushl	%eax
				pushl	$4277059
				pushl	$5065812
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1252            WS=WS-1                                      ;! RESTORE WORKSPACE POINTER
				movl	4(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 4(%ebx)
 1253            DUMP(M'ADD',M'ACC',BR(LEVEL),WS)
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$2276, %edx
				movl	8(%eax,%edx,4), %eax
				movl	4(%ebx), %edx
				pushl	%edx
				pushl	%eax
				pushl	$4277059
				pushl	$4277316
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1254            DUMP(M'ADD',M'ACC',BR(J>>16&15),J&65535+1)
				movl	-24(%ebp), %eax
				movzwl	%ax, %eax
				leal	1(%eax), %edx
				movl	-24(%ebp), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				addl	$2276, %ecx
				movl	8(%eax,%ecx,4), %eax
				pushl	%edx
				pushl	%eax
				pushl	$4277059
				pushl	$4277316
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1255            K=2                                          ;! DIMENSION MARKER
				movl	$2, -20(%ebp)
 1256            %FINISH %ELSE %START                         ;! ONLY ONE INDEX PRESENT
				jmp	.L1022
		.L1038:
 1257            DUMP(M'ADD',M'ACC',BR(J>>16&15),J&65535)
				movl	-24(%ebp), %eax
				movzwl	%ax, %edx
				movl	-24(%ebp), %eax
				shrl	$16, %eax
				andl	$15, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				addl	$2276, %ecx
				movl	8(%eax,%ecx,4), %eax
				pushl	%edx
				pushl	%eax
				pushl	$4277059
				pushl	$4277316
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
 1258            K=1                                          ;! DIMENSION MARKER
				movl	$1, -20(%ebp)
		.L1022:
 1259            %FINISH
 1260         %IF K\=J>>20&15 %THEN %START                    ;! DIMS FOUND DO NOT AGREE WITH TAG
				movl	-24(%ebp), %eax
				shrl	$20, %eax
				movl	%eax, %edx
				movl	-20(%ebp), %eax
				cmpl	%eax, %edx
				je	.L1040
				nop
		.L1024:
 1261            %IF J>>20&15=0 %THEN TAG(I)=TAG(I)!K<<20 %ELSE %C
				movl	-24(%ebp), %eax
				andl	$1048576, %eax
				testl	%eax, %eax
				jne	.L1041
				movl	8(%ebx), %eax
				movl	-28(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	-20(%ebp), %edx
				sall	$20, %edx
				orl	%edx, %eax
				movl	%eax, %ecx
				movl	8(%ebx), %eax
				movl	-28(%ebp), %edx
				addl	$3520, %edx
				movl	%ecx, 4(%eax,%edx,4)
				jmp	.L1027
		.L1041:
				nop
		.L1026:
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
		.L1027:
 1262               PRINT NAME(L)
 1263               FAULT(M'ARRA',M'Y DI',M'MENS',M'ION?')    ;! FILL IN DIMS IF UNKNOWN
				movl	8(%ebx), %eax
				pushl	$1229934143
				pushl	$1296387667
				pushl	$1495286857
				pushl	$1095914049
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1264            %FINISH
 1265         %FINISH %ELSE %START
				jmp	.L1028
		.L1040:
				jmp	.L1028
		.L1037:
 1266         PRINT NAME(L)
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1267         FAULT(M'NO A',M'RRAY',M' IND',M'EXES')
				movl	8(%ebx), %eax
				pushl	$1163412819
				pushl	$541675076
				pushl	$1381122393
				pushl	$1313808449
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
		.L1028:
 1268         %FINISH
 1269 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1030
				call	__stack_chk_fail_local
		.L1030:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE218:
		BTNEXT.6291:
		.LFB219:
 1270 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1271 %INTEGERFN BT NEXT
				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
 1272 ! ALLOCATE NEXT POSITION IN BRANCH TABLE
 1273      %IF BTN>1023 %THEN %START                 ;! FULL
				movl	8(%ebx), %eax
				movl	260(%eax), %eax
				cmpl	$1023, %eax
				jle	.L1047
				nop
		.L1044:
 1274         FAULT(M'TOO ',M'MANY',M'LABE',M'LS  ')
				movl	8(%ebx), %eax
				pushl	$1280516128
				pushl	$1279345221
				pushl	$1296125529
				pushl	$1414483744
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1275         BTN=0                                  ;! TRY TO CONTINUE
				movl	8(%ebx), %eax
				movl	$0, %edx
				movl	%edx, 260(%eax)
				jmp	.L1044
		.L1047:
 1276         %FINISH
 1277      BAT(BTN)=-1                               ;! MARKER FOR ADDRESS NOT FILLED IN YET
				movl	8(%ebx), %eax
				movl	260(%eax), %edx
				movl	8(%ebx), %eax
				addl	$160, %edx
				movl	$-1, 8(%eax,%edx,4)
 1278      BTN=BTN+1                                 ;! NEXT POSITION
				movl	8(%ebx), %eax
				movl	260(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 260(%eax)
 1279      %RESULT=BTN-1                             ;! THIS POSITION
				movl	8(%ebx), %eax
				movl	260(%eax), %eax
				subl	$1, %eax
 1280 %END
				movl	-12(%ebp), %ecx
				xorl	%gs:20, %ecx
				je	.L1046
				call	__stack_chk_fail_local
		.L1046:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE219:
		CTNEXT.6293:
		.LFB220:
 1281 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1282 %INTEGERFN CT NEXT
				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)
 1283 ! ALLOCATE NEXT POSITION IN CONSTANT TABLE
 1284      %IF CTN>1023 %THEN %START                 ;! FULL
				movl	8(%ebx), %eax
				movl	256(%eax), %eax
				cmpl	$1023, %eax
				jle	.L1052
				nop
		.L1050:
 1285         FAULT(M'TOO ',M'MANY',M' CON',M'STS ')
				movl	8(%ebx), %eax
				pushl	$1398035232
				pushl	$541282126
				pushl	$1296125529
				pushl	$1414483744
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1286         CTN=0                                  ;! TRY TO CONTINUE
				movl	8(%ebx), %eax
				movl	$0, %edx
				movl	%edx, 256(%eax)
				jmp	.L1050
		.L1052:
 1287         %FINISH
 1288      CTN=CTN+1                                 ;! NEXT POSITION
				movl	8(%ebx), %eax
				movl	256(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 256(%eax)
 1289      %RESULT=CTN-1                             ;! THIS POSITION
				movl	8(%ebx), %eax
				movl	256(%eax), %eax
				subl	$1, %eax
 1290 %END
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE220:
		WSNEXT.6295:
		.LFB221:
 1291 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1292 %INTEGERFN WS NEXT
				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)
 1293 ! ALLOCATE NEXT WORK SPACE POSITION
 1294      WS=WS+1
				movl	4(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 4(%ebx)
 1295      %IF WS=11 %THEN FAULT(M'COMP',M'ILER',M' WKS',M'PACE')
				movl	4(%ebx), %eax
				cmpl	$11, %eax
				jne	.L1057
				movl	8(%ebx), %eax
				pushl	$1346454341
				pushl	$542591827
				pushl	$1229735250
				pushl	$1129270608
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				jmp	.L1055
		.L1057:
				nop
		.L1055:
 1296      %RESULT=WS-1
				movl	4(%ebx), %eax
				subl	$1, %eax
 1297 %END
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE221:
		FINDLABEL.6282:
		.LFB222:
 1298 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1299 %INTEGERFN FIND LABEL
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
 1300 ! CHECK & LOCATE OR INSERT LABEL IN JUMP LIST FOR THIS LEVEL
 1301 %INTEGER I,J
 1302      LABEL=A(AP)                               ;! VALUE OF CONST
				movl	8(%esi), %eax
				movl	14080(%eax), %eax
				leal	-1(%eax), %edx
				movl	8(%esi), %eax
				addl	$3320, %edx
				movl	(%eax,%edx,4), %eax
				movl	%eax, (%esi)
 1303      AP=AP+1                                   ;! AFTER <CONST>
				movl	8(%esi), %eax
				movl	14080(%eax), %edx
				movl	8(%esi), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1304      %IF LABEL>>16\=0 %THEN %START             ;! INVALID LABEL NUMBER
				movl	(%esi), %eax
				shrl	$16, %eax
				testl	%eax, %eax
				je	.L1071
				nop
		.L1060:
 1305         WRITE(LABEL,1)
				movl	(%esi), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
				movl	$2, -16(%ebp)
		.LBB187:
		.LBB188:
				subl	$12, %esp
				pushl	-16(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE188:
		.LBE187:
 1306         SPACES(2)
 1307         FAULT(M'INVA',M'LID ',M'LABE',M'L   ')
				movl	8(%esi), %eax
				pushl	$1277173792
				pushl	$1279345221
				pushl	$1279869984
				pushl	$1229870657
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1308         %RESULT=-1                             ;! 'FAULTY' RESULT
				movl	$-1, %eax
				jmp	.L1061
		.L1071:
 1309         %FINISH
 1310      I=JUMP(LEVEL)                             ;! JUMP LIST POINTER
				movl	8(%esi), %eax
				movl	9176(%eax), %edx
				movl	8(%esi), %eax
				addl	$144, %edx
				movl	8(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
		.L1062:
 1311 L1:   %IF I\=0 %THEN %START                     ;! SOMETHING IN LIST
				cmpl	$0, -24(%ebp)
				je	.L1072
				nop
		.L1064:
 1312         %IF LABEL=TAG(I)>>16 %THEN %RESULT=TAG(I)&65535 ;! LABEL ALREADY IN
				movl	8(%esi), %eax
				movl	-24(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				shrl	$16, %eax
				movl	%eax, %edx
				movl	(%esi), %eax
				cmpl	%eax, %edx
				jne	.L1073
				movl	8(%esi), %eax
				movl	-24(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movzwl	%ax, %eax
				jmp	.L1061
		.L1073:
				nop
		.L1066:
 1313         I=LINK(I)                              ;! NEXT CELL IN LIST
				movl	8(%esi), %eax
				movl	-24(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
 1314         ->L1 ; %FINISH
				jmp	.L1062
		.L1072:
 1315      I=NEWCELL                                 ;! LABEL NOT IN LIST SO GET NEW CELL
				movl	8(%esi), %eax
				movl	%eax, %ecx
				call	NEWCELL.6037
				movl	%eax, -24(%ebp)
 1316      J=BT NEXT                                 ;! GET NEXT BRANCH TABLE POSITION
				movl	%esi, %ecx
				call	BTNEXT.6291
				movl	%eax, -20(%ebp)
 1317      TAG(I)=LABEL<<16!J                        ;! FILL IN LIST ENTRY
				movl	(%esi), %eax
				sall	$16, %eax
				orl	-20(%ebp), %eax
				movl	%eax, %edx
				movl	8(%esi), %eax
				movl	-24(%ebp), %ecx
				addl	$3520, %ecx
				movl	%edx, 4(%eax,%ecx,4)
 1318      LINK(I)=JUMP(LEVEL)                       ;! PUSHDOWN ONTO JUMP LIST
				movl	8(%esi), %eax
				movl	9176(%eax), %edx
				movl	8(%esi), %eax
				addl	$144, %edx
				movl	8(%eax,%edx,4), %edx
				movl	8(%esi), %eax
				movl	-24(%ebp), %ecx
				addl	$2292, %ecx
				movl	%edx, 12(%eax,%ecx,4)
 1319      JUMP(LEVEL)=I                             ;! NEW JUMP LIST POINTER
				movl	8(%esi), %eax
				movl	9176(%eax), %edx
				movl	8(%esi), %eax
				leal	144(%edx), %ecx
				movl	-24(%ebp), %edx
				movl	%edx, 8(%eax,%ecx,4)
 1320      %RESULT=J                                 ;! NEW BRANCH TABLE POSITION
				movl	-20(%ebp), %eax
		.L1061:
 1321 %END
				movl	-12(%ebp), %ebx
				xorl	%gs:20, %ebx
				je	.L1067
				call	__stack_chk_fail_local
		.L1067:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE222:
		STORETAG.6302:
		.LFB223:
 1322 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1323 %ROUTINE STORE TAG(%INTEGER NAM,FORM,TYPE,DIM,LEV,AD)
				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
 1324 ! STORE TAGS I.E. SET NAME & CHECK NOT SET ALREADY
 1325 %INTEGER M,N
 1326      M=LINK(NAM)                               ;! POINTER TO EXISTING TAGS WORD FOR THIS
				movl	8(%ebx), %eax
				movl	8(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %eax
				movl	%eax, -20(%ebp)
 1327      %IF M\=0 %AND LEV=TAG(M)>>16&15 %AND FORM\=4 %THEN %START
				cmpl	$0, -20(%ebp)
				je	.L1081
				movl	8(%ebx), %eax
				movl	-20(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				shrl	$16, %eax
				movl	%eax, %edx
				movl	24(%ebp), %eax
				cmpl	%eax, %edx
				jne	.L1082
				cmpl	$4, 12(%ebp)
				je	.L1083
				nop
				jmp	.L1076
		.L1082:
				nop
				jmp	.L1076
		.L1083:
				nop
		.L1076:
 1328         PRINT NAME(NAM)
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1329         FAULT(M'NAME',M' SET',M' TWI',M'CE  ')
				movl	8(%ebx), %eax
				pushl	$1128603680
				pushl	$542398281
				pushl	$542328148
				pushl	$1312902469
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
 1330         %RETURN ; %FINISH
				jmp	.L1074
		.L1081:
 1331      N=NEWCELL                                 ;! NEW CELL FOR TAGS
				movl	8(%ebx), %eax
				movl	%eax, %ecx
				call	NEWCELL.6037
				movl	%eax, -16(%ebp)
 1332      TAG(N)=FORM<<28!TYPE<<24!DIM<<20!LEV<<16!AD ;! FILL IN TAGS
				movl	12(%ebp), %eax
				sall	$28, %eax
				movl	%eax, %edx
				movl	16(%ebp), %eax
				sall	$24, %eax
				orl	%eax, %edx
				movl	20(%ebp), %eax
				sall	$20, %eax
				orl	%eax, %edx
				movl	24(%ebp), %eax
				sall	$16, %eax
				orl	%edx, %eax
				orl	28(%ebp), %eax
				movl	%eax, %edx
				movl	8(%ebx), %eax
				movl	-16(%ebp), %ecx
				addl	$3520, %ecx
				movl	%edx, 4(%eax,%ecx,4)
 1333      LINK(N)=LINK(NAM)                         ;! PUSHDOWN ONTO TAGS LIST FOR THIS NAME
				movl	8(%ebx), %eax
				movl	8(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				movl	-16(%ebp), %ecx
				addl	$2292, %ecx
				movl	%edx, 12(%eax,%ecx,4)
 1334      LINK(NAM)=N
				movl	8(%ebx), %eax
				movl	8(%ebp), %edx
				leal	2292(%edx), %ecx
				movl	-16(%ebp), %edx
				movl	%edx, 12(%eax,%ecx,4)
 1335      N=NEWCELL
				movl	8(%ebx), %eax
				movl	%eax, %ecx
				call	NEWCELL.6037
				movl	%eax, -16(%ebp)
 1336      TAG(N)=NAM                                ;! PUSHDOWN NEW CELL ONTO NAME LIST
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				leal	3520(%edx), %ecx
				movl	8(%ebp), %edx
				movl	%edx, 4(%eax,%ecx,4)
 1337      LINK(N)=NAME(LEVEL)                       ;!  FOR NAMES DECLARED AT THIS LEVEL
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				addl	$112, %edx
				movl	8(%eax,%edx,4), %edx
				movl	8(%ebx), %eax
				movl	-16(%ebp), %ecx
				addl	$2292, %ecx
				movl	%edx, 12(%eax,%ecx,4)
 1338      NAME(LEVEL)=N
				movl	8(%ebx), %eax
				movl	9176(%eax), %edx
				movl	8(%ebx), %eax
				leal	112(%edx), %ecx
				movl	-16(%ebp), %edx
				movl	%edx, 8(%eax,%ecx,4)
 1339 %END
				nop
		.L1074:
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1080
				call	__stack_chk_fail_local
		.L1080:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE223:
		PMN.6763:
		.LFB225:
 1340 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1341 %ROUTINE DUMP(%INTEGER OP,REG,BASE,DISP)
				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
				leal	8(%ebp), %eax
				movl	%eax, -16(%ebp)
				movl	$10, -32(%ebp)
		.LBB197:
		.LBB198:
				subl	$12, %esp
				pushl	-32(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE198:
		.LBE197:
 1342 ! PRINT OUT CURRENT ADDRESS, OPERATION MNEMONIC & OPERANDS
 1343 %ROUTINESPEC PMN(%INTEGER I)
 1344 %INTEGER COM
 1345      SPACES(10)
 1346      COM=' '
				movl	$32, %eax
				movl	%eax, -20(%ebp)
 1347      PMN(OP)                                   ;! OPERATOR MNEMONIC
				subl	$12, %esp
				leal	-20(%ebp), %eax
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	PMN.6763
				addl	$16, %esp
 1348      COM=','
				movl	$44, %eax
				movl	%eax, -20(%ebp)
 1349      PMN(REG)                                  ;! REGISTER MNEMONIC
				subl	$12, %esp
				leal	-20(%ebp), %eax
				pushl	12(%ebp)
				movl	%eax, %ecx
				call	PMN.6763
				addl	$16, %esp
 1350      %IF DISP>=65536 %THEN %START
				cmpl	$65535, 20(%ebp)
				jle	.L1116
				movb	$44, -34(%ebp)
		.LBB199:
		.LBB200:
				movsbl	-34(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movl	$7, -28(%ebp)
		.LBE200:
		.LBE199:
		.LBB201:
		.LBB202:
				subl	$12, %esp
				pushl	-28(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE202:
		.LBE201:
				nop
		.L1107:
 1351         PRINT SYMBOL(',')
 1352         SPACES(7)
 1353         PRINT NAME(DISP-65536)
				movl	20(%ebp), %eax
				leal	-65536(%eax), %edx
				movl	8(%esi), %eax
				subl	$12, %esp
				pushl	%edx
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1354         %FINISH %ELSE %START
				jmp	.L1108
		.L1116:
 1355         %IF BASE=M'BT' %OR BASE=M'CT' %OR BASE=M'PRG' %THEN %START
				cmpl	$16980, 16(%ebp)
				je	.L1117
				cmpl	$17236, 16(%ebp)
				je	.L1118
				cmpl	$5263943, 16(%ebp)
				jne	.L1119
				jmp	.L1110
		.L1117:
				nop
				jmp	.L1110
		.L1118:
				nop
		.L1110:
				movb	$44, -33(%ebp)
		.LBB203:
		.LBB204:
				movsbl	-33(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movl	$7, -24(%ebp)
		.LBE204:
		.LBE203:
		.LBB205:
		.LBB206:
				subl	$12, %esp
				pushl	-24(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
				jmp	.L1112
		.L1119:
		.LBE206:
		.LBE205:
				nop
		.L1112:
 1356            PRINT SYMBOL(',')
 1357            SPACES(7)
 1358            %FINISH
 1359         PMN(BASE)                              ;! BASE MNEMONIC
				subl	$12, %esp
				leal	-20(%ebp), %eax
				pushl	16(%ebp)
				movl	%eax, %ecx
				call	PMN.6763
				addl	$16, %esp
 1360         WRITE(DISP,1)                          ;! DISPLACEMENT
				subl	$8, %esp
				pushl	$1
				pushl	20(%ebp)
				call	_imp_writeint@PLT
				addl	$16, %esp
		.L1108:
		.LBB207:
		.LBB208:
				call	_imp_newline@PLT
		.LBE208:
		.LBE207:
 1361         %FINISH
 1362      NEWLINE
 1363      CA=CA+1                                   ;! INCREMENT CURRENT ADDRESS COUNT
				movl	8(%esi), %eax
				movl	4744(%eax), %edx
				movl	8(%esi), %eax
				addl	$1, %edx
				movl	%edx, 4744(%eax)
 1364 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1365 %ROUTINE PMN(%INTEGER I)
				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)
 1366 ! PRINT MNEMONIC - CHARS INTO ONE WORD
 1367 %INTEGER J,K,L
 1368      J=2                                   ;! AT LEAST TWO SPACES
				movl	$2, -24(%ebp)
 1369      K=24                                  ;! FIRST SHIFT VALUE
				movl	$24, -20(%ebp)
		.L1085:
 1370 L1:   L=I>>K&255                            ;! UNPACK NEXT CHARACTER
				movl	8(%ebp), %edx
				movl	-20(%ebp), %eax
				movl	%eax, %ecx
				shrl	%cl, %edx
				movl	%edx, %eax
				andl	$255, %eax
				movl	%eax, -16(%ebp)
 1371      %IF L=0 %THEN J=J+1 %ELSE PRINT SYMBOL(L)
				cmpl	$0, -16(%ebp)
				jne	.L1100
				addl	$1, -24(%ebp)
				jmp	.L1088
		.L1100:
				nop
		.L1087:
				movl	-16(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -27(%ebp)
		.LBB189:
		.LBB190:
				movsbl	-27(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.L1088:
		.LBE190:
		.LBE189:
 1372      K=K-8                                 ;! NEXT SHIFT VALUE
				subl	$8, -20(%ebp)
 1373      %IF K>=0 %THEN ->L1                    ;! MORE CHARS POSSIBLY YET
				cmpl	$0, -20(%ebp)
				js	.L1101
				jmp	.L1085
		.L1101:
				nop
		.L1090:
 1374      %IF I=M'BT' %OR I=M'CT' %OR I=M'PRG' %THEN %C
				cmpl	$16980, 8(%ebp)
				je	.L1102
				cmpl	$17236, 8(%ebp)
				je	.L1103
				cmpl	$5263943, 8(%ebp)
				jne	.L1104
				jmp	.L1092
		.L1102:
				nop
				jmp	.L1092
		.L1103:
				nop
		.L1092:
				movb	$43, -26(%ebp)
		.LBB191:
		.LBB192:
				movsbl	-26(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE192:
		.LBE191:
				jmp	.L1095
		.L1104:
				nop
		.L1094:
 1375            PRINT SYMBOL('+') %ELSE %START
 1376         PRINT SYMBOL(COM)
				movl	(%esi), %eax
				movsbl	%al, %eax
				movb	%al, -25(%ebp)
		.LBB193:
		.LBB194:
				movsbl	-25(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movl	-24(%ebp), %eax
				movl	%eax, -12(%ebp)
		.LBE194:
		.LBE193:
		.LBB195:
		.LBB196:
				subl	$12, %esp
				pushl	-12(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.L1095:
		.LBE196:
		.LBE195:
 1377         SPACES(J)                          ;! TO ALLIGN FIELDS CORRECTLY
 1378         %FINISH
 1379 %END
				nop
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE225:
		DUMP.6307:
		.LFB224:
 1380 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1114
				call	__stack_chk_fail_local
		.L1114:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE224:
		OUT.6789:
		.LFB227:
 1381 %END
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L535
				call	__stack_chk_fail_local
		.L535:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE198:
		STORE.6480:
		.LFB202:
?L68 unused
 1382 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1383 %ROUTINE FAULT(%INTEGER A,B,C,D)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -16(%ebp)
 1384 ! MONITOR FAULT - A 'PRINT STRING' ROUTINE
 1385 %ROUTINESPEC OUT(%INTEGER I)
 1386      OUT(A)
				subl	$12, %esp
				leal	-16(%ebp), %eax
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	OUT.6789
				addl	$16, %esp
 1387      OUT(B)
				subl	$12, %esp
				leal	-16(%ebp), %eax
				pushl	12(%ebp)
				movl	%eax, %ecx
				call	OUT.6789
				addl	$16, %esp
 1388      OUT(C)
				subl	$12, %esp
				leal	-16(%ebp), %eax
				pushl	16(%ebp)
				movl	%eax, %ecx
				call	OUT.6789
				addl	$16, %esp
 1389      OUT(D)
				subl	$12, %esp
				leal	-16(%ebp), %eax
				pushl	20(%ebp)
				movl	%eax, %ecx
				call	OUT.6789
				addl	$16, %esp
		.LBB217:
		.LBB218:
				call	_imp_newline@PLT
		.LBE218:
		.LBE217:
 1390      NEWLINE
 1391      FAULTS=FAULTS+1                     ;! INCREMENT FAULT COUNT
				movl	4(%esi), %eax
				addl	$1, %eax
				movl	%eax, 4(%esi)
 1392 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1393 %ROUTINE OUT(%INTEGER I)
				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)
 1394 ! PRINT OUT PACKED CHARS
 1395      PRINT SYMBOL(I>>24)
				movl	8(%ebp), %eax
				shrl	$24, %eax
				movsbl	%al, %eax
				movb	%al, -9(%ebp)
		.LBB209:
		.LBB210:
				movsbl	-9(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE210:
		.LBE209:
 1396      PRINT SYMBOL(I>>16&255)
				movl	8(%ebp), %eax
				shrl	$16, %eax
				movsbl	%al, %eax
				movb	%al, -10(%ebp)
		.LBB211:
		.LBB212:
				movsbl	-10(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE212:
		.LBE211:
 1397      PRINT SYMBOL(I>>8&255)
				movl	8(%ebp), %eax
				shrl	$8, %eax
				movsbl	%al, %eax
				movb	%al, -11(%ebp)
		.LBB213:
		.LBB214:
				movsbl	-11(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE214:
		.LBE213:
 1398      PRINT SYMBOL(I&255)
				movl	8(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -12(%ebp)
		.LBB215:
		.LBB216:
				movsbl	-12(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE216:
		.LBE215:
 1399 %END
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE227:
		FAULT.6033:
		.LFB226:
 1400 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1124
				call	__stack_chk_fail_local
		.L1124:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE226:
		CHNEXT.6035:
		.LFB228:
 1401 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1402 %INTEGERFN CH NEXT
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %eax
				movl	%ecx, -28(%ebp)
 1403 ! ALLOCATE NEXT POSITION IN 'CH' ARRAY
 1404      %IF CHP>512 %THEN %START            ;! CHARACTER ARRAY FULL
				movl	20228(%eax), %edx
				cmpl	$512, %edx
				jle	.L1130
				nop
		.L1127:
 1405         FAULT(M'NAME',M'S TO',M'O LO',M'NG  ')
				pushl	$1313284128
				pushl	$1327516751
				pushl	$1394627663
				pushl	$1312902469
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				movl	$0, -12(%ebp)
		.LBB219:
		.LBB220:
				subl	$12, %esp
				pushl	-12(%ebp)
				call	exit@PLT
		.L1130:
		.LBE220:
		.LBE219:
 1406         %STOP ; %FINISH
 1407      CHP=CHP+1
				movl	20228(%eax), %edx
				addl	$1, %edx
				movl	%edx, 20228(%eax)
 1408      %RESULT=CHP-1
				movl	20228(%eax), %eax
				subl	$1, %eax
 1409 %END
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE228:
		NEWCELL.6037:
		.LFB229:
 1410 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1411 %INTEGERFN NEWCELL
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$36, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %eax
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -12(%ebp)
				xorl	%ecx, %ecx
 1412 ! ALLOCATE NEW CELL FOR LIST PROCESSING
 1413 %INTEGER I
 1414      %IF ASL=0 %THEN %START              ;! END OF AVAILABLE SPACE LIST
				movl	(%eax), %edx
				testl	%edx, %edx
				jne	.L1137
				nop
		.L1133:
 1415         FAULT(M'ASL ',M'EMPT',M'Y   ',M'   ')
				pushl	$2105376
				pushl	$1495277600
				pushl	$1162694740
				pushl	$1095978016
				movl	%eax, %ecx
				call	FAULT.6033
				addl	$16, %esp
				movl	$0, -16(%ebp)
		.LBB221:
		.LBB222:
				subl	$12, %esp
				pushl	-16(%ebp)
				call	exit@PLT
		.L1137:
		.LBE222:
		.LBE221:
 1416         %STOP ; %FINISH
 1417      I=ASL                               ;! POINTER TO TOP CELL OF ASL
				movl	(%eax), %edx
				movl	%edx, -20(%ebp)
 1418      ASL=LINK(ASL)                       ;! ASL POINTER TO NEXT CELL DOWN
				movl	(%eax), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %edx
				movl	%edx, (%eax)
 1419      TAG(I)=0                            ;! CLEAR NEW CELL OUT
				movl	-20(%ebp), %edx
				addl	$3520, %edx
				movl	$0, 4(%eax,%edx,4)
 1420      LINK(I)=0
				movl	-20(%ebp), %edx
				addl	$2292, %edx
				movl	$0, 12(%eax,%edx,4)
 1421      %RESULT=I                           ;! INDEX TO NEW CELL
				movl	-20(%ebp), %eax
 1422 %END
				movl	-12(%ebp), %ebx
				xorl	%gs:20, %ebx
				je	.L1135
				call	__stack_chk_fail_local
		.L1135:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE229:
		RETURNCELL.6039:
		.LFB230:
 1423 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1424 %INTEGERFN RETURN CELL(%INTEGER I)
				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
 1425 ! DEALLOCATE CELL AND RETURN IT TO ASL
 1426 %INTEGER J
 1427      J=LINK(I)                           ;! PRESENT LINK VALUE OF CELL
				movl	8(%ebp), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %edx
				movl	%edx, -16(%ebp)
 1428      LINK(I)=ASL                         ;! LINK TO TOP OF ASL
				movl	(%eax), %edx
				movl	8(%ebp), %ecx
				addl	$2292, %ecx
				movl	%edx, 12(%eax,%ecx,4)
 1429      ASL=I                               ;! ASL POINTER TO RETURNED CELL
				movl	8(%ebp), %edx
				movl	%edx, (%eax)
 1430      %RESULT=J                           ;! RETURN VALUE OF LINK
				movl	-16(%ebp), %eax
 1431 %END
				movl	-12(%ebp), %ecx
				xorl	%gs:20, %ecx
				je	.L1140
				call	__stack_chk_fail_local
		.L1140:
				leave
				ret
		.LFE230:
		PRINTNAME.6041:
		.LFB231:
 1432 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1433 %ROUTINE PRINT NAME(%INTEGER I)
				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
 1434 ! PRINT NAME FROM HASH POSITION
 1435 %INTEGER J,K,L,M
 1436      J=TAG(I)                             ;! POINTER TO CH ARRAY
				movl	8(%ebp), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				movl	%eax, -32(%ebp)
 1437      K=CH(J)                              ;! LENGTH & FIRST 3 CHARS
				movl	-32(%ebp), %eax
				subl	$1, %eax
				addl	$4544, %eax
				movl	4(%esi,%eax,4), %eax
				movl	%eax, -28(%ebp)
 1438      L=K>>24                              ;! NUMBER OF CHARS IN NAME
				movl	-28(%ebp), %eax
				shrl	$24, %eax
				movl	%eax, -24(%ebp)
 1439      M=16                                 ;! FIRST SHIFT VALUE
				movl	$16, -20(%ebp)
		.L1142:
 1440 L1:   PRINT SYMBOL(K>>M&255)
				movl	-28(%ebp), %edx
				movl	-20(%ebp), %eax
				movl	%eax, %ecx
				shrl	%cl, %edx
				movl	%edx, %eax
				movsbl	%al, %eax
				movb	%al, -33(%ebp)
		.LBB223:
		.LBB224:
				movsbl	-33(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE224:
		.LBE223:
 1441      L=L-1
				subl	$1, -24(%ebp)
 1442      %IF L=0 %THEN %START
				cmpl	$0, -24(%ebp)
				jne	.L1151
				movl	$2, -16(%ebp)
		.LBB225:
		.LBB226:
				subl	$12, %esp
				pushl	-16(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE226:
		.LBE225:
				nop
		.L1144:
 1443         SPACES(2)
 1444         %RETURN ; %FINISH
				nop
 1445      M=M-8                                ;! NEXT SHIFT VALUE
				subl	$8, -20(%ebp)
 1446      %IF M<0 %THEN %START
				cmpl	$0, -20(%ebp)
				jns	.L1152
				nop
		.L1147:
 1447         J=J+1
				addl	$1, -32(%ebp)
 1448         K=CH(J)                           ;! NEXT WORD OF CHARS
				movl	-32(%ebp), %eax
				subl	$1, %eax
				addl	$4544, %eax
				movl	4(%esi,%eax,4), %eax
				movl	%eax, -28(%ebp)
 1449         M=24
				movl	$24, -20(%ebp)
				jmp	.L1142
		.L1152:
 1450         %FINISH
 1451      ->L1
				jmp	.L1142
		.L1150:
				call	__stack_chk_fail_local
		.L1148:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE231:
				.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:
		.LFB232:
				movl	(%esp), %eax
				ret
		.LFE232:
				.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:
		.LFB233:
				movl	(%esp), %ebx
				ret
		.LFE233:
				.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:
		.LFB234:
				movl	(%esp), %esi
				ret
		.LFE234:
		.Letext0:
 1452 %END
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1148
				jmp	.L1150
		.L1151:
 1453 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1454
 1455 %ENDOFPROGRAM
 1396 Statements compiled
