         Edinburgh IMP77 Compiler - Version 8.4
    1 !%ROUTINESPEC READ SYMBOL(%INTEGERNAME I)
		.Ltext0:
		INSERTLIT.6131:
		.LFB191:
    2 !%INTEGERFNSPEC NEXT SYMBOL
    3 !%ROUTINESPEC SKIP SYMBOL
    4 !%ROUTINESPEC PRINT SYMBOL(%INTEGER I)
    5 !%ROUTINESPEC READ(%INTEGERNAME I)
    6 !%ROUTINESPEC WRITE(%INTEGER I,J)
    7 !%ROUTINESPEC SPACE
    8 !%ROUTINESPEC SPACES(%INTEGER I)
    9 !%ROUTINESPEC NEWLINE
   10 !%ROUTINESPEC NEWLINES(%INTEGER I)
   11 !%ROUTINESPEC NEWPAGE
   12
   13 %BEGIN
				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
   14 %ROUTINESPEC READ PS
   15 %ROUTINESPEC READ LINE
   16 %INTEGERFNSPEC COMPARE
   17 %ROUTINESPEC SS
   18 %ROUTINESPEC FAULT(%INTEGER A,B,C,D)
   19 %INTEGERFNSPEC CHNEXT
   20 %INTEGERFNSPEC NEWCELL
   21 %INTEGERFNSPEC RETURN CELL(%INTEGER I)
   22 %ROUTINESPEC PRINT NAME(%INTEGER I)
   23 %INTEGER AP,APP,TP,PSP,ASL,BTN,CTN,CHP,FAULTS,LEVEL,CA,COMP,SCF
   24 %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)
   25 %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)
   26 %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)
   27 %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)
   28 %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)
   29 %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)
   30 %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)
   31 %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)
   32 %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)
   33 %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)
   34 %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)
   35      READ PS                             ;! READ IN AND REDUCE PHRASE STRUCTURE
				leal	-23072(%ebp), %eax
				movl	%eax, %ecx
				call	READPS.6022
   36      ASL=0                               ;! CLEAR HASHING AREA &
				movl	$0, %eax
				movl	%eax, -23072(%ebp)
		.L83:
   37 L10:  TAG(ASL)=0                          ;!  CREATE AVAILABLE SPACE LIST
				movl	-23072(%ebp), %eax
				addl	$3520, %eax
				movl	$0, -23068(%ebp,%eax,4)
   38      LINK(ASL)=0                         ;!  IN REMAINDER
				movl	-23072(%ebp), %eax
				addl	$2292, %eax
				movl	$0, -23060(%ebp,%eax,4)
   39      %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:
   40      ASL=ASL+1
				movl	-23072(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -23072(%ebp)
   41      %IF ASL<=1023 %THEN ->L10
				movl	-23072(%ebp), %eax
				cmpl	$1023, %eax
				jg	.L110
				jmp	.L83
		.L110:
				nop
		.L88:
   42      ASL=256                             ;! AVAILABLE SPACE LIST POINTER
				movl	$256, %eax
				movl	%eax, -23072(%ebp)
   43      BR(0)=M'BR0'                        ;! BASE REGISTER MNEMONICS
				movl	$4346416, -13960(%ebp)
   44      BR(1)=M'BR1'
				movl	$4346417, -13956(%ebp)
   45      BR(2)=M'BR2'
				movl	$4346418, -13952(%ebp)
   46      BR(3)=M'BR3'
				movl	$4346419, -13948(%ebp)
   47      BR(4)=M'BR4'
				movl	$4346420, -13944(%ebp)
   48      BR(5)=M'BR5'
				movl	$4346421, -13940(%ebp)
   49      BR(6)=M'BR6'
				movl	$4346422, -13936(%ebp)
   50      BR(7)=M'BR7'
				movl	$4346423, -13932(%ebp)
   51      BR(8)=M'BR8'
				movl	$4346424, -13928(%ebp)
   52      BR(9)=M'BR9'
				movl	$4346425, -13924(%ebp)
   53      BR(10)=M'BR10'
				movl	$1112682800, -13920(%ebp)
   54      BR(11)=M'BR11'
				movl	$1112682801, -13916(%ebp)
   55      BR(12)=M'BR12'
				movl	$1112682802, -13912(%ebp)
   56      BR(13)=M'BR13'
				movl	$1112682803, -13908(%ebp)
   57      BR(14)=M'BR14'
				movl	$1112682804, -13904(%ebp)
   58      BR(15)=M'BR15'
				movl	$1112682805, -13900(%ebp)
   59      TRUE(1)=M'BZ'                       ;! CONDITIONAL BRANCH MNEMONICS
				movl	$16986, -18324(%ebp)
   60      FALSE(1)=M'BNZ'
				movl	$4345434, -18300(%ebp)
   61      TRUE(2)=M'BNZ'
				movl	$4345434, -18320(%ebp)
   62      FALSE(2)=M'BZ'
				movl	$16986, -18296(%ebp)
   63      TRUE(3)=M'BNG'
				movl	$4345415, -18316(%ebp)
   64      FALSE(3)=M'BG'
				movl	$16967, -18292(%ebp)
   65      TRUE(4)=M'BL'
				movl	$16972, -18312(%ebp)
   66      FALSE(4)=M'BNL'
				movl	$4345420, -18288(%ebp)
   67      TRUE(5)=M'BNL'
				movl	$4345420, -18308(%ebp)
   68      FALSE(5)=M'BL'
				movl	$16972, -18284(%ebp)
   69      TRUE(6)=M'BG'
				movl	$16967, -18304(%ebp)
   70      FALSE(6)=M'BNG'
				movl	$4345415, -18280(%ebp)
   71      PREC(1)=3                           ;! OPERATOR PRECEDENCES
				movl	$3, -14072(%ebp)
   72      PREC(2)=3                           ;! 4 : HIGHEST
				movl	$3, -14068(%ebp)
   73      PREC(3)=2                           ;! 1 : LOWEST
				movl	$2, -14064(%ebp)
   74      PREC(4)=1
				movl	$1, -14060(%ebp)
   75      PREC(5)=1
				movl	$1, -14056(%ebp)
   76      PREC(6)=3
				movl	$3, -14052(%ebp)
   77      PREC(7)=2
				movl	$2, -14048(%ebp)
   78      PREC(8)=2
				movl	$2, -14044(%ebp)
   79      PREC(9)=1
				movl	$1, -14040(%ebp)
   80      PREC(10)=1
				movl	$1, -14036(%ebp)
   81      PREC(11)=1
				movl	$1, -14032(%ebp)
   82      PREC(12)=4
				movl	$4, -14028(%ebp)
   83      OPR(0)=M'LOAD'                      ;! MACHINE INSTRUCTION MNEMONICS
				movl	$1280262468, -14124(%ebp)
   84      OPR(1)=M'SHL'
				movl	$5457996, -14120(%ebp)
   85      OPR(2)=M'SHR'
				movl	$5458002, -14116(%ebp)
   86      OPR(3)=M'AND'
				movl	$4279876, -14112(%ebp)
   87      OPR(4)=M'XOR'
				movl	$5787474, -14108(%ebp)
   88      OPR(5)=M'OR'
				movl	$20306, -14104(%ebp)
   89      OPR(6)=M'EXP'
				movl	$4544592, -14100(%ebp)
   90      OPR(7)=M'DIV'
				movl	$4475222, -14096(%ebp)
   91      OPR(8)=M'MLT'
				movl	$5065812, -14092(%ebp)
   92      OPR(9)=M'ADD'
				movl	$4277316, -14088(%ebp)
   93      OPR(10)=M'SUB'
				movl	$5461314, -14084(%ebp)
   94      OPR(11)=M'NEG'
				movl	$5129543, -14080(%ebp)
   95      OPR(12)=M'NOT'
				movl	$5132116, -14076(%ebp)
   96      UCN(1)=3                            ;! OPERATOR TYPES
				movl	$3, -18268(%ebp)
   97      UCN(2)=3                            ;! 1 : UNARY
				movl	$3, -18264(%ebp)
   98      UCN(3)=2                            ;! 2 : BINARY COMMUTATIVE
				movl	$2, -18260(%ebp)
   99      UCN(3)=2                            ;! 3 : BINARY NON-COMMUTATIVE
				movl	$2, -18260(%ebp)
  100      UCN(4)=2
				movl	$2, -18256(%ebp)
  101      UCN(5)=2
				movl	$2, -18252(%ebp)
  102      UCN(6)=3
				movl	$3, -18248(%ebp)
  103      UCN(7)=3
				movl	$3, -18244(%ebp)
  104      UCN(8)=2
				movl	$2, -18240(%ebp)
  105      UCN(9)=2
				movl	$2, -18236(%ebp)
  106      UCN(10)=3
				movl	$3, -18232(%ebp)
  107      UCN(11)=1
				movl	$1, -18228(%ebp)
  108      UCN(12)=1
				movl	$1, -18224(%ebp)
  109      BTN=0                               ;! BRANCH TABLE POINTER
				movl	$0, %eax
				movl	%eax, -22812(%ebp)
  110      CTN=0                               ;! CONSTANT TABLE POINTER
				movl	$0, %eax
				movl	%eax, -22816(%ebp)
  111      CHP=1                               ;! NAME CHARACTER TABLE POINTER
				movl	$1, %eax
				movl	%eax, -2844(%ebp)
  112      FAULTS=0                            ;! FAULT COUNT
				movl	$0, %eax
				movl	%eax, -23068(%ebp)
  113      LEVEL=0                             ;! TEXTUAL LEVEL
				movl	$0, %eax
				movl	%eax, -13896(%ebp)
  114      SCF=0                               ;! CONDITION FLAG
				movl	$0, %eax
				movl	%eax, -18272(%ebp)
  115      JUMP(0)=0                           ;! JUMP LIST POINTER
				movl	$0, -22488(%ebp)
  116      STAR(0)=0                           ;! STORAGE ALLOCATION POSITION IN COT
				movl	$0, -22680(%ebp)
  117      NAME(0)=0                           ;! NAME LIST POINTER
				movl	$0, -22616(%ebp)
  118      RTP(0)=-1                           ;! ROUTINE TYPE
				movl	$-1, -14024(%ebp)
  119      CHPP(0)=0                           ;! NAME CHARACTER TABLE POSITION
				movl	$0, -22744(%ebp)
  120      START(0)=0                          ;! START/FINISH LIST
				movl	$0, -22552(%ebp)
  121      RAD(0)=10                           ;! NEXT RELATIVE ADDRESS TO BE ALLOCATED
				movl	$10, -22808(%ebp)
  122      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:
  123      PRINT SYMBOL('P')
  124      PRINT SYMBOL('R')
  125      PRINT SYMBOL('G')
  126      PRINT SYMBOL(':')
  127 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  128 L1:   READ LINE
				leal	-23072(%ebp), %eax
				movl	%eax, %ecx
				call	READLINE.6024
  129      TP=1                                      ;! TEXT POINTER
				movl	$1, %eax
				movl	%eax, -1640(%ebp)
		.L90:
  130 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:
  131      PSP=-1000                                 ;! START OF <SS> IN PHRASE STRUCTURE TABLES
				movl	$-1000, %eax
				movl	%eax, -9796(%ebp)
  132      AP=1
				movl	$1, %eax
				movl	%eax, -8992(%ebp)
  133      %IF COMPARE=1 %THEN %START                ;! SUCCESSFUL ANALYSIS
				leal	-23072(%ebp), %eax
				movl	%eax, %ecx
				call	COMPARE.6026
				cmpl	$1, %eax
				jne	.L112
				nop
		.L95:
  134         AP=1                                   ;! ANALYSIS RECORD POINTER
				movl	$1, %eax
				movl	%eax, -8992(%ebp)
  135         SS                                     ;! PROCESS SOURCE STATEMENT
				leal	-23072(%ebp), %eax
				movl	%eax, %ecx
				call	SS.6028
  136         %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:
  137         ->L1 ; %FINISH                          ;! GO TO READ NEXT LINE
				jmp	.L89
		.L112:
  138      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:
  139 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:
  140      %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:
  141         TP=TP+1                                ;! TP TO START OF NEXT STATEMENT
				movl	-1640(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -1640(%ebp)
  142         ->L2 ; %FINISH                          ;! GO TO EXAMINE NEXT STATEMENT
				jmp	.L90
		.L93:
		.L111:
  143 L3:   TP=TP+1                                   ;! SKIP TO NEXT CHARACTER OF STATEMENT
				movl	-1640(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -1640(%ebp)
  144      ->L5
				jmp	.L98
		.LFE189:
		GETPN.6133:
		.LFB192:
  145 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  146 %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)
  147 ! READ IN AND REDUCE PHRASE STRUCTURE
  148 %INTEGER PNP,ALT,P,I,J,K
  149 %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)
  150 %ROUTINESPEC INSERT LIT
  151 %INTEGERFNSPEC GET PN
  152      PNP=256                               ;! PN POINTER
				movl	$256, %eax
				movl	%eax, -44(%ebp)
  153      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:
  154 L1:   READ SYMBOL(I)
  155      %IF I='B' %THEN %START                ;! BUILT-IN PHRASE
				movl	-576(%ebp), %eax
				cmpl	$66, %eax
				jne	.L70
				nop
		.L26:
  156 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:
  157         %IF I\='<' %THEN ->L2
				movl	-576(%ebp), %eax
				cmpl	$60, %eax
				je	.L71
				jmp	.L25
		.L71:
				nop
		.L28:
  158         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:
  159 L3:      READ SYMBOL(I)                        ;! SKIP TO =
  160         %IF I\='=' %THEN ->L3
				movl	-576(%ebp), %eax
				cmpl	$61, %eax
				je	.L72
				jmp	.L29
		.L31:
		.L72:
				nop
  161         READ(K)                            ;! READ PHRASE NUMBER
				subl	$12, %esp
				leal	-572(%ebp), %eax
				pushl	%eax
				call	_imp_readint@PLT
				addl	$16, %esp
  162         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)
  163         ->L1 ; %FINISH                      ;! GO TO DEAL WITH NEXT PHRASE
				jmp	.L24
		.L70:
  164      %IF I='P' %THEN %START                ;! PHRASE
				movl	-576(%ebp), %eax
				cmpl	$80, %eax
				jne	.L73
				nop
		.L33:
  165 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:
  166         %IF I\='<' %THEN ->L4
				movl	-576(%ebp), %eax
				cmpl	$60, %eax
				je	.L74
				jmp	.L32
		.L74:
				nop
		.L35:
  167         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:
  168 L7:      ALT=P                              ;! REMEMBER START POSITION IN PS OF THIS ALTERNATIVE
				movl	-36(%ebp), %eax
				movl	%eax, -564(%ebp)
		.L37:
  169 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:
  170 L5:      READ SYMBOL(I)                        ;! START OF NEXT ITEM IN THIS ALTERNATIVE
  171         %IF I='''' %THEN %START            ;! LITERAL TEXT
				movl	-576(%ebp), %eax
				cmpl	$39, %eax
				jne	.L75
				nop
		.L40:
  172            INSERT LIT                      ;! READ LITERAL & INSERT IN PS
				leal	-404(%ebp), %eax
				movl	%eax, %ecx
				call	INSERTLIT.6131
  173            ->L5 ; %FINISH                   ;! GO FOR NEXT ITEM
				jmp	.L38
		.L75:
  174         %IF I='<' %THEN %START             ;! ITEM IS A PHRASE NAME
				movl	-576(%ebp), %eax
				cmpl	$60, %eax
				jne	.L76
				nop
		.L42:
  175            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)
  176            ->L6 ; %FINISH                   ;! GO FOR NEXT ITEM
				jmp	.L37
		.L76:
  177         %IF I=',' %THEN %START             ;! END OF THIS ALTERNATIVE
				movl	-576(%ebp), %eax
				cmpl	$44, %eax
				jne	.L77
				nop
		.L44:
  178            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)
  179            ->L7 ; %FINISH                   ;! GO FOR START OF NEXT ALTERNATIVE
				jmp	.L36
		.L77:
  180         %IF I=';' %THEN %START             ;! END OF PHRASE DEFINITION
				movl	-576(%ebp), %eax
				cmpl	$59, %eax
				jne	.L78
				nop
		.L46:
  181            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)
  182            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)
  183            P=P+1                           ;! NEXT PS POSITION FOR START OF NEXT PHRASE DEFINITION
				movl	-36(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
  184            ->L1 ; %FINISH                   ;! GO FOR NEXT PHRASE
				jmp	.L24
		.L78:
  185         ->L5 ; %FINISH                      ;! SKIP TO SOMETHING SIGNIFICANT
				jmp	.L38
		.L73:
  186      %IF I='E' %THEN %START                ;! END OF PHRASE STRUCTURE DEFINITIONS
				movl	-576(%ebp), %eax
				cmpl	$69, %eax
				jne	.L79
				nop
		.L48:
  187         I=-1000                            ;! REPLACE ALL POINTERS TO PSP WITH CORRECT PS POINTERS
				movl	$-1000, -576(%ebp)
		.L49:
  188 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:
  189         I=I+1
				movl	-576(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -576(%ebp)
  190         %IF I\=P %THEN ->L8
				movl	-576(%ebp), %eax
				movl	-36(%ebp), %edx
				cmpl	%eax, %edx
				je	.L81
				jmp	.L49
		.L81:
				nop
		.L53:
  191         %RETURN ; %FINISH
				nop
  192      ->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:
  193 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  194 %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
  195 ! INSERT LITERAL TEXT INTO 'PS'
  196 %INTEGER SH,I
  197      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:
  198 L1:   READ SYMBOL(I)
  199      %IF I='''' %THEN %START
				movl	-44(%ebp), %eax
				cmpl	$39, %eax
				jne	.L18
		.LBB117:
		.LBB118:
				call	_imp_nextsymbol@PLT
		.LBE118:
		.LBE117:
				nop
		.L4:
  200         %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
  201         READ SYMBOL(I)                    ;! QUOTE INSIDE LITERAL - IGNORE ONE
  202         %FINISH
  203      %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:
  204         %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:
  205         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)
  206         P=P+1                          ;! MOVE TO NEXT POSITION IN PS
				movl	368(%esi), %eax
				addl	$1, %eax
				movl	%eax, 368(%esi)
		.L11:
  207         %FINISH
  208      ->L1
				jmp	.L2
		.L19:
  209 %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:
  210 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  211 %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
  212 ! READ IN PHRASE NAME AND GET INDEX IN 'PSP'
  213 %INTEGER NP,S,I
  214      NP=0                            ;! TO ACCUMULATE PHRASE NAME CHARS
				movl	$0, -24(%ebp)
  215      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:
  216 L1:   READ SYMBOL(I)
  217      %IF I\='>' %THEN %START         ;! NOT END OF NAME YET
				movl	-28(%ebp), %eax
				cmpl	$62, %eax
				je	.L132
				nop
		.L119:
  218         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)
  219         S=S-8                        ;! REDUCE SHIFT VALUE FOR NEXT CHAR
				subl	$8, -20(%ebp)
  220         ->L1 ; %FINISH
				jmp	.L117
		.L132:
  221      %IF PNP\=256 %THEN %START       ;! NOT FIRST PHRASE NAME
				movl	360(%esi), %eax
				cmpl	$256, %eax
				je	.L133
				nop
				jmp	.L127
		.L135:
  222         I=256                        ;! SCAN NAMES TO FIND IF ALREADY IN
				movl	$256, -28(%ebp)
		.L122:
  223 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:
  224         I=I+1
				movl	-28(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -28(%ebp)
  225         %IF I\=PNP %THEN ->L2
				movl	-28(%ebp), %eax
				movl	360(%esi), %edx
				cmpl	%eax, %edx
				je	.L135
				jmp	.L122
		.L121:
		.L133:
				nop
		.L127:
  226         %FINISH
  227      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)
  228      PSP(PNP)=99999                  ;! UNDEFINED PHRASE MARKER
				movl	360(%esi), %eax
				subl	$256, %eax
				movl	$99999, (%esi,%eax,4)
  229      PNP=PNP+1                       ;! MOVE TO NEXT DICTIONARY POSITION
				movl	360(%esi), %eax
				addl	$1, %eax
				movl	%eax, 360(%esi)
  230      %RESULT=PNP-1
				movl	360(%esi), %eax
				subl	$1, %eax
		.L128:
  231 %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:
  232 %END
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L56
				jmp	.L69
		.L79:
  233 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  234 %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:
  235 ! LEXICAL PHASE - READ & CLEAN UP NEXT LINE OF TEXT
  236 %ROUTINESPEC STORE(%INTEGER I)
  237 %INTEGER SH,I
  238      NEWLINES(2)
  239      PRINT SYMBOL(';')
  240      SH=0                                ;! % & LITERAL SHIFT VALUE TO 0
				movl	$0, %eax
				movl	%eax, -24(%ebp)
  241      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:
  242 L1:   READ SYMBOL(I)
  243      %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:
  244      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:
  245      %IF I='''' %THEN %START
				movl	-44(%ebp), %eax
				cmpl	$39, %eax
				jne	.L179
				nop
		.L148:
  246         SH=128                           ;! SHIFT VALUE FOR LITERAL
				movl	$128, %eax
				movl	%eax, -24(%ebp)
		.L149:
  247 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:
  248         READ SYMBOL(I)
  249         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:
  250         %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:
  251         %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:
  252         READ SYMBOL(I)
  253         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:
  254         %IF I='''' %THEN ->L2             ;! QUOTE IN LITERAL - IGNORE ONE
				movl	-44(%ebp), %eax
				cmpl	$39, %eax
				jne	.L182
				jmp	.L149
		.L182:
				nop
		.L155:
  255         SH=0                             ;! SHIFT VALUE TO 0 FOR END OF LITERAL
				movl	$0, %eax
				movl	%eax, -24(%ebp)
  256         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:
  257         %FINISH
  258      %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:
  259         %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:
  260         %IF I\=' ' %THEN %START          ;! IGNORE SPACES
				movl	-44(%ebp), %eax
				cmpl	$32, %eax
				je	.L186
				nop
				jmp	.L143
		.L187:
  261            STORE(I)
				movl	-44(%ebp), %edx
				subl	$12, %esp
				leal	-24(%ebp), %eax
				pushl	%edx
				movl	%eax, %ecx
				call	STORE.6184
				addl	$16, %esp
  262            %IF I=10 %THEN %START         ;! NEWLINE CHAR
				movl	-44(%ebp), %eax
				cmpl	$10, %eax
				jne	.L187
				nop
		.L169:
  263               %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:
  264                  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:
  265                  PRINT SYMBOL(';')
  266                  %FINISH %ELSE %RETURN
				jmp	.L169
		.L188:
				nop
  267               %FINISH
  268            %FINISH
  269         %FINISH
  270      ->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:
  271 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  272 %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
  273 ! STORE (POSSIBLY) SHIFTED CHARACTER IN TEXT ARRAY & CHECK LINE NOT TOO LONG
  274      %IF TP>300 %THEN %START
				movl	4(%ebx), %eax
				movl	21432(%eax), %eax
				cmpl	$300, %eax
				jle	.L141
				nop
		.L138:
  275         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
  276         TP=1
				movl	4(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 21432(%eax)
				jmp	.L138
		.L141:
  277         %FINISH
  278      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)
  279      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)
  280 %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:
  281 %END
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L171
				jmp	.L176
		.L158:
		.L167:
		.L168:
		.L186:
  282 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  283 %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)
  284 ! ANALYSE PHRASE
  285 %INTEGERFNSPEC NAME            ;! BUILT-IN PHRASE NAME
  286 %INTEGERFNSPEC CNST            ;! BUILT-IN PHRASE <CNST>
  287 %INTEGER APP,TPP,PSPP,AE,N
  288      TPP=TP                              ;! PRESERVE INITIAL TEXT POINTER
				movl	21432(%ebx), %eax
				movl	%eax, -296(%ebp)
  289      APP=AP                              ;! PRESERVE INITIAL ANALYSIS RECORD
				movl	14080(%ebx), %eax
				movl	%eax, -292(%ebp)
  290      A(AP)=1                             ;! ALTERNATIVE 1 FIRST
				movl	14080(%ebx), %eax
				subl	$1, %eax
				addl	$3320, %eax
				movl	$1, (%ebx,%eax,4)
		.L237:
  291 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)
  292      PSP=PSP+1                           ;! FIRST ITEM OF ALTERNATIVE DEFN
				movl	13276(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 13276(%ebx)
		.L238:
  293 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:
  294      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)
  295      PSP=PSP+1                           ;! FOR FOLLOWING ITEM
				movl	13276(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 13276(%ebx)
  296      %IF N<0 %THEN %START                ;! SUB-PHRASE
				cmpl	$0, -284(%ebp)
				jns	.L269
				nop
		.L243:
  297         PSPP=PSP                         ;! PRESERVE PS POINTER
				movl	13276(%ebx), %eax
				movl	%eax, -280(%ebp)
  298         PSP=N                            ;! POINTER TO DEFN OF SUB-PHRASE
				movl	-284(%ebp), %eax
				movl	%eax, 13276(%ebx)
  299         AP=AP+1                          ;! NEXT ANALYSIS RECORD POSITION
				movl	14080(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 14080(%ebx)
  300         N=COMPARE                        ;! RECURSIVE COMPARISON FOR SUB-PHRASE
				movl	%ebx, %ecx
				call	COMPARE.6026
				movl	%eax, -284(%ebp)
  301         PSP=PSPP                         ;! RESTORE PS POINTER
				movl	-280(%ebp), %eax
				movl	%eax, 13276(%ebx)
  302         %IF N=1 %THEN ->L12               ;! SUCCESSFUL COMPARISON - GO FOR NEXT ITEM
				cmpl	$1, -284(%ebp)
				jne	.L270
				jmp	.L238
		.L270:
				nop
		.L245:
  303         ->L13 ; %FINISH                   ;! UNSUCCESSFUL - GO FOR NEXT ALTERNATIVE
				jmp	.L256
		.L269:
  304      %IF N=1 %THEN %START                ;! BUILT-IN PHRASE <NAME>
				cmpl	$1, -284(%ebp)
				jne	.L271
				nop
		.L248:
  305         %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:
  306         ->L13 ; %FINISH                   ;! FAILURE
				jmp	.L256
		.L271:
  307      %IF N=2 %THEN %START                ;! BUILT-IN PHRASE CNST
				cmpl	$2, -284(%ebp)
				jne	.L273
				nop
		.L252:
  308         %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:
  309         ->L13 ; %FINISH                   ;! FAILURE
				jmp	.L256
		.L273:
  310      %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:
  311         TP=TP+1                          ;! MOVE TO NEXT SOURCE CHAR
				movl	21432(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 21432(%ebx)
  312         ->L12 ; %FINISH                   ;! GO FOR NEXT ITEM
				jmp	.L238
		.L246:
		.L275:
  313 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:
  314      PSP=AE                              ;! START OF DEFN OF NEXT ALTERNATIVE
				movl	-288(%ebp), %eax
				movl	%eax, 13276(%ebx)
  315      TP=TPP                              ;! BACKTRACK SOURCE TEXT
				movl	-296(%ebp), %eax
				movl	%eax, 21432(%ebx)
  316      AP=APP                              ;!  AND ANALYSIS RECORD POINTERS
				movl	-292(%ebp), %eax
				movl	%eax, 14080(%ebx)
  317      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)
  318      ->L11                                ;! GO TO ANALYSE NEW ALTERNATIVE
				jmp	.L237
		.L241:
  319 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  320 %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
  321 ! RECOGNISE AND INSERT NAME IN HASHING AREA OF TAG/LINK ARRAYS
  322 %INTEGER I,J,K,L,M,N
  323      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)
  324      %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:
  325                                          ;! FAILURE - NOT A LETTER OR AN M-TYPE CONSTANT
  326      J=CHP                               ;! NEXT POSITION IN CHARACTER ARRAY
				movl	(%ebx), %eax
				movl	20228(%eax), %eax
				movl	%eax, -20(%ebp)
  327      K=I<<16                             ;! LEAVE HOLE FOR LENGTH & PACK FIRST CHAR
				movl	-24(%ebp), %eax
				sall	$16, %eax
				movl	%eax, -40(%ebp)
  328      L=1                                 ;! NO OF CHARS
				movl	$1, -36(%ebp)
  329      M=8                                 ;! NEXT SHIFT VALUE FOR PACKING
				movl	$8, -32(%ebp)
  330      N=I                                 ;! SUM VALUE OF CHARS FOR HASHING
				movl	-24(%ebp), %eax
				movl	%eax, -28(%ebp)
		.L196:
  331 L1:   TP=TP+1
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  332      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)
  333      %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:
  334                                          ;! A DIGIT OR A LETTER
  335         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)
  336         L=L+1                            ;! CHARACTER COUNT
				addl	$1, -36(%ebp)
  337         M=M-8                            ;! NEXT SHIFT
				subl	$8, -32(%ebp)
  338         N=N+I                            ;! SUM OF LETTERS
				movl	-24(%ebp), %eax
				addl	%eax, -28(%ebp)
  339         %IF M<0 %THEN %START             ;! PACKED WORD OF CHARS FULL
				cmpl	$0, -32(%ebp)
				jns	.L230
				nop
		.L203:
  340            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)
  341            K=0                           ;! PACKING WORD TO ZERO
				movl	$0, -40(%ebp)
  342            M=24                          ;! NEW SHIFT VALUE
				movl	$24, -32(%ebp)
				jmp	.L196
		.L230:
  343            %FINISH
  344         ->L1 ; %FINISH                    ;! GO FOR NEXT CHAR
				jmp	.L196
		.L228:
  345      %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:
  346      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)
  347      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)
  348      K=I                                 ;! SCAN DICTIONARY FOR NAME
				movl	-24(%ebp), %eax
				movl	%eax, -40(%ebp)
		.L206:
  349 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:
  350         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)
  351         M=J                              ;! CHAR ARRAY POSITION OF NEW NAME
				movl	-20(%ebp), %eax
				movl	%eax, -32(%ebp)
		.L209:
  352 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:
  353            M=M+1                         ;! NEXT WORD OF NEW NAME
				addl	$1, -32(%ebp)
  354            %IF M=CHP %THEN %START        ;! NAMES MATCH
				movl	(%ebx), %eax
				movl	20228(%eax), %eax
				cmpl	%eax, -32(%ebp)
				jne	.L234
				nop
		.L213:
  355               CHP=J                      ;! MOVE CHP BACK SINCE NAME ALREADY IN
				movl	(%ebx), %eax
				movl	-20(%ebp), %edx
				movl	%edx, 20228(%eax)
  356               ->L3 ; %FINISH
				jmp	.L214
		.L234:
  357            L=L+1                         ;! NEXT WORD OF OLD NAME
				addl	$1, -36(%ebp)
  358            ->L4 ; %FINISH                 ;! GO FOR NEXT WORD
				jmp	.L209
		.L233:
  359         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)
  360         %IF K=I %THEN %START             ;! STARTING POSITION REACHED AGAIN
				movl	-40(%ebp), %eax
				cmpl	-24(%ebp), %eax
				jne	.L235
				nop
		.L216:
  361            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:
  362            %STOP ; %FINISH
  363         ->L2 ; %FINISH
				jmp	.L206
		.L232:
  364      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:
  365 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)
  366      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)
  367      %RESULT=1                           ;! SUCCESS
				movl	$1, %eax
		.L195:
  368 %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:
  369 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  370 %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
  371 ! RECOGNISE INTEGER AND LITERAL TEXT CONSTANTS
  372 %INTEGER I,J,K
  373      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)
  374      %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:
  375         TP=TP+1                          ;! IGNORE THE M
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  376         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:
  377         %FINISH
  378      %IF I=''''+128 %THEN %START         ;! START OF A LITERAL
				cmpl	$167, -24(%ebp)
				jne	.L304
				nop
		.L282:
  379         J=0                              ;! TO ACCUMULATE LITERAL VALUE
				movl	$0, -20(%ebp)
  380         K=0                              ;! CHARACTER COUNT
				movl	$0, -16(%ebp)
		.L283:
  381 L1:      TP=TP+1
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  382         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)
  383         %IF I\='''' %THEN %START         ;! NOT END OF LITERAL
				cmpl	$39, -24(%ebp)
				je	.L305
				nop
		.L285:
  384            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)
  385            K=K+1                         ;! COUNT CHAR
				addl	$1, -16(%ebp)
  386            ->L1 ; %FINISH
				jmp	.L283
		.L305:
  387         TP=TP+1                          ;! POINTER AFTER QUOTE
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  388         %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:
  389         ->L2 ; %FINISH
				jmp	.L296
		.L306:
				jmp	.L296
		.L304:
  390      %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:
  391      J=0
				movl	$0, -20(%ebp)
		.L293:
  392 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)
  393      TP=TP+1
				movl	(%ebx), %eax
				movl	21432(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 21432(%eax)
  394      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)
  395      %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:
  396 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)
  397      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)
  398      %RESULT=1                           ;! SUCCESS
				movl	$1, %eax
		.L292:
  399 %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:
  400 %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:
  401 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  402 %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)
  403 ! COMPILE SOURCE STATEMENT
  404 %ROUTINESPEC UI
  405 %ROUTINESPEC SCCOND(%INTEGERNAME LABEL)
  406 %ROUTINESPEC SEXPR
  407 %INTEGERFNSPEC FIND LABEL
  408 %ROUTINESPEC CHECK
  409 %ROUTINESPEC UNSET
  410 %ROUTINESPEC PUSH START(%INTEGER FLAG,LABEL)
  411 %INTEGERFNSPEC BT NEXT
  412 %INTEGERFNSPEC CT NEXT
  413 %INTEGERFNSPEC WS NEXT
  414 %ROUTINESPEC STORE TAG(%INTEGER NAME,FORM,TYPE,DIM,LEV,AD)
  415 %ROUTINESPEC DUMP(%INTEGER OP,REG,BASE,DISP)
  416 %ROUTINESPEC SKIP SEXPR
  417 %ROUTINESPEC SKIP APP
  418 %ROUTINESPEC RT
  419 %ROUTINESPEC ARRAD
  420 %ROUTINESPEC ENTER(%INTEGER TYPE,ALLOC)
  421 %ROUTINESPEC RETURN
  422 %INTEGER I,J,K,L,M,N,P,Q,R,WS,LABEL
  423      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)
  424      AP=AP+1                             ;! FOR FOLLOWING ENTRY
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  425      WS=2                                ;! SET WORKSPACE POINTER
				movl	$2, %eax
				movl	%eax, -40(%ebp)
  426      %IF I=1 %THEN ->L10                  ;! UNCONDITIONAL INSTRUCTION
				movl	-88(%ebp), %eax
				cmpl	$1, %eax
				je	.L562
				nop
		.L378:
				nop
		.L379:
  427      %IF I=2 %THEN ->L20                  ;! CONDITIONAL STATEMENT
				movl	-88(%ebp), %eax
				cmpl	$2, %eax
				je	.L563
				nop
		.L381:
				nop
		.L382:
  428      %IF I=3 %THEN ->L30                  ;! LABEL
				movl	-88(%ebp), %eax
				cmpl	$3, %eax
				je	.L564
				nop
		.L384:
				nop
		.L385:
  429      %IF I=4 %THEN ->L40                  ;! %FINISH
				movl	-88(%ebp), %eax
				cmpl	$4, %eax
				je	.L565
				nop
		.L387:
				nop
		.L388:
  430      %IF I=5 %THEN ->L50                  ;! DECLARATIONS
				movl	-88(%ebp), %eax
				cmpl	$5, %eax
				je	.L566
				nop
		.L390:
				nop
		.L391:
  431      %IF I=6 %THEN ->L60                  ;! ROUTINE/FN SPEC
				movl	-88(%ebp), %eax
				cmpl	$6, %eax
				je	.L567
				nop
		.L393:
				nop
		.L394:
  432      %IF I=7 %THEN ->L70                  ;! %END
				movl	-88(%ebp), %eax
				cmpl	$7, %eax
				je	.L568
				nop
		.L396:
				nop
		.L397:
  433      %IF I=8 %THEN ->L80                  ;! %BEGIN
				movl	-88(%ebp), %eax
				cmpl	$8, %eax
				je	.L569
				nop
		.L399:
				nop
		.L400:
  434      %IF I=9 %THEN ->L90                  ;! %ENDOFPROGRAM
				movl	-88(%ebp), %eax
				cmpl	$9, %eax
				je	.L570
				nop
		.L402:
				nop
		.L403:
  435      %RETURN                             ;! <SEP>
				jmp	.L376
		.L562:
  436 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  437 ! UI
  438 L10:  UI                                  ;! COMPILE UNCONDITIONAL INSTRUCTION
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UI.6276
  439      %RETURN
				jmp	.L376
		.L563:
  440 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  441 ! %IF . . . %THEN . . .  %ELSE
  442 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
  443      %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:
  444         AP=AP+2                          ;! AP ON <ELSE>
				movl	14080(%esi), %eax
				addl	$2, %eax
				movl	%eax, 14080(%esi)
  445         J=-1                             ;! MARKER FOR 'JUMP'
				movl	$-1, -80(%ebp)
  446         %FINISH %ELSE %START             ;! NOT A JUMP
				jmp	.L407
		.L571:
  447         %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:
  448            %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:
  449            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
  450            %RETURN ; %FINISH
				jmp	.L376
		.L572:
  451         UI                               ;! COMPILE REMAINING UNCOND. INSTNS.
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UI.6276
  452         J=0                              ;! 'NOT JUMP' MARKER
				movl	$0, -80(%ebp)
		.L407:
  453         %FINISH
  454      %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:
  455         %IF J=0 %THEN %START             ;! <UI> WAS NOT A JUMP
				cmpl	$0, -80(%ebp)
				jne	.L575
				nop
		.L415:
  456            J=BT NEXT                     ;! JUMP ROUND <ELSE>-CLAUSE <UI>
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	BTNEXT.6291
				movl	%eax, -80(%ebp)
  457            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:
  458            %FINISH
  459         %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:
  460         AP=AP+1                          ;! AP ON <UI>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  461         %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:
  462            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
  463            %RETURN ; %FINISH
				jmp	.L376
		.L577:
  464         UI                               ;! COMPILE REMAINING <UI>S
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UI.6276
  465         I=J                              ;! JUMP AROUND LABEL
				movl	-80(%ebp), %eax
				movl	%eax, -88(%ebp)
				jmp	.L413
		.L574:
  466         %FINISH
  467      %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:
  468      %RETURN
				jmp	.L376
		.L578:
				jmp	.L376
		.L564:
  469 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  470 ! CONST: . . .
  471 L30:  I=FIND LABEL                        ;! LOCATE/INSERT LABEL IN JUMP LIST
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	FINDLABEL.6282
				movl	%eax, -88(%ebp)
  472      %IF I>=0 %THEN %START               ;! VALID LABEL
				movl	-88(%ebp), %eax
				testl	%eax, %eax
				js	.L579
				nop
		.L423:
  473         %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:
  474            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:
  475            SPACES(2)
  476            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:
  477            %FINISH
  478         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:
  479         %FINISH
  480      SS                                  ;! COMPILE STATEMENT AFTER LABEL
				movl	%esi, %ecx
				call	SS.6028
  481      %RETURN
				jmp	.L376
		.L565:
  482 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  483 ! %FINISH . . .
  484 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)
  485      %IF I=0 %THEN %START                     ;! NO CELLS IN LIST
				movl	-88(%ebp), %eax
				testl	%eax, %eax
				jne	.L581
				nop
		.L427:
  486         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
  487         %RETURN ; %FINISH
				jmp	.L376
		.L581:
  488      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)
  489      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)
  490      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)
  491      %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:
  492         %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:
  493         K=BT NEXT                             ;! JUMP AROUND <UI>
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	BTNEXT.6291
				movl	%eax, -60(%ebp)
  494         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
  495         %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:
  496         AP=AP+1                               ;! AP ON <UI>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  497         %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:
  498            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
  499            %RETURN ; %FINISH
				jmp	.L376
		.L585:
  500         UI                                    ;! COMPILE REMAINING <UI>S
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UI.6276
  501         J=K                                   ;! JUMP AROUND LABEL
				movl	-60(%ebp), %eax
				movl	%eax, -80(%ebp)
				jmp	.L429
		.L582:
  502         %FINISH
  503      %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:
  504      %RETURN
				jmp	.L376
		.L586:
				jmp	.L376
		.L566:
  505 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  506 ! DECLARATIONS
  507 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:
  508         APP=AP                                       ;! SAVE AP
				movl	14080(%esi), %eax
				movl	%eax, 252(%esi)
		.L440:
  509 L51:     AP=AP+2                                      ;! AP ON <NAMS>
				movl	14080(%esi), %eax
				addl	$2, %eax
				movl	%eax, 14080(%esi)
  510         %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:
  511         AP=AP+1                                      ;! AP ON <+-\>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  512         SEXPR                                        ;! COMPILE EXPRESSION - LOWER BOUND
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	SEXPR.6280
  513         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
  514         SEXPR                                        ;! COMPILE EXPRESSION - UPPER BOUND
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	SEXPR.6280
  515         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
  516         %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:
  517            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
  518            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
  519            AP=AP+1
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  520            SEXPR                                     ;! LOWER BOUND EXPR FOR 2ND DIM
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	SEXPR.6280
  521            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
  522            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
  523            SEXPR                                     ;! UPPER BOUND EXPR FOR 2ND DIM
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	SEXPR.6280
  524            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
  525            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
  526            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
  527            WS=WS-4                                   ;! RESTORE WORKSPACE POINTER
				movl	-40(%ebp), %eax
				subl	$4, %eax
				movl	%eax, -40(%ebp)
  528            I=2                                       ;! NO OF DIMS
				movl	$2, -88(%ebp)
  529            %FINISH %ELSE %START                      ;! 1-DIM ARRAYS
				jmp	.L445
		.L589:
  530            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
  531            WS=WS-2                                   ;! RESTORE WORKSPACE POINTER
				movl	-40(%ebp), %eax
				subl	$2, %eax
				movl	%eax, -40(%ebp)
  532            I=1                                       ;! NO OF DIMS
				movl	$1, -88(%ebp)
		.L445:
  533            %FINISH
  534         J=2                                          ;! TAG FOR 'ARRAY'
				movl	$2, -80(%ebp)
  535         AP=APP                                       ;! RESTORE AP TO BEFORE LIST OF NAMES
				movl	252(%esi), %eax
				movl	%eax, 14080(%esi)
  536         %FINISH %ELSE %START                         ;! SCALAR DECLARATIONS
				jmp	.L456
		.L587:
  537         I=0                                          ;! DIMS=0 FOR SCALARS
				movl	$0, -88(%ebp)
  538         J=0                                          ;! TAG FOR SCALAR
				movl	$0, -80(%ebp)
		.L446:
		.L447:
		.L456:
  539         %FINISH
  540 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
  541      %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:
  542         %IF I=1 %THEN %START                         ;! 1-DIM ARRAYS
				movl	-88(%ebp), %eax
				cmpl	$1, %eax
				jne	.L591
				nop
		.L452:
  543            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
  544            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
  545            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
  546            %FINISH %ELSE %START                      ;! 2-DIM ARRAYS
				jmp	.L453
		.L591:
  547            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
  548            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
  549            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
  550            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
  551            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
  552            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
  553            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:
  554            %FINISH
  555         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:
  556         %FINISH
  557      AP=AP+2                                         ;! AP ON <NAMS>
				movl	14080(%esi), %eax
				addl	$2, %eax
				movl	%eax, 14080(%esi)
  558      %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:
  559      %RETURN
				jmp	.L376
		.L567:
  560 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  561 ! RT SPEC? . . .
  562 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)
  563      J=A(AP+1)                                          ;! SPEC ?
				movl	14080(%esi), %eax
				addl	$3320, %eax
				movl	(%esi,%eax,4), %eax
				movl	%eax, -80(%ebp)
  564      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)
  565      AP=AP+3                                            ;! AP ON <FPP>
				movl	14080(%esi), %eax
				addl	$3, %eax
				movl	%eax, 14080(%esi)
  566      L=0                                                ;! PARAMETER COUNT
				movl	$0, -84(%ebp)
  567      M=10                                               ;! FIRST RELATIVE ADDRESS TO BE ALLOCATED
				movl	$10, -76(%ebp)
		.L457:
  568 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:
  569         AP=AP+1                                         ;! AP ON <ARRN>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  570         %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:
  571         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:
  572 L62:     L=L+1                                           ;! PARAMETER COUNT
				addl	$1, -84(%ebp)
  573         %IF L>15 %THEN %START
				cmpl	$15, -84(%ebp)
				jle	.L595
				nop
		.L465:
  574            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
  575            ->L61 ; %FINISH                               ;! IGNORE SUPERFLUOUS PARAMS
				jmp	.L471
		.L595:
  576         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)
  577         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)
  578         %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:
  579         AP=AP+2                                         ;! AP ON <NAMS>
				movl	14080(%esi), %eax
				addl	$2, %eax
				movl	%eax, 14080(%esi)
  580         %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:
  581         AP=AP+1                                         ;! AP ON <FPS>
				movl	14080(%esi), %eax
				addl	$1, %eax
				movl	%eax, 14080(%esi)
  582         ->L63 ; %FINISH
				jmp	.L457
		.L459:
		.L593:
  583 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)
  584      %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:
  585         %IF L>0 %THEN %START                            ;! PARAMETERS PRESENT
				cmpl	$0, -84(%ebp)
				jle	.L600
				nop
				jmp	.L479
		.L601:
  586            P=1                                          ;! PARAMETER COUNT
				movl	$1, -68(%ebp)
  587            Q=K                                          ;! 'INSERT AFTER' POINTER
				movl	-60(%ebp), %eax
				movl	%eax, -64(%ebp)
		.L477:
  588 L64:        R=NEWCELL                                    ;! PUSHDOWN TAG FOR PARAMETER
				movl	%esi, %ecx
				call	NEWCELL.6037
				movl	%eax, -56(%ebp)
  589            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)
  590            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)
  591            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)
  592            LINK(Q)=R
				movl	-64(%ebp), %eax
				leal	2292(%eax), %edx
				movl	-56(%ebp), %eax
				movl	%eax, 12(%esi,%edx,4)
  593            Q=R                                          ;! NEW VALUE FOR 'INSERT AFTER' POINTER
				movl	-56(%ebp), %eax
				movl	%eax, -64(%ebp)
  594            P=P+1                                        ;! PARAMETER COUNT
				addl	$1, -68(%ebp)
  595            %IF P<=L %THEN ->L64                          ;! MORE PARAMETERS YET
				movl	-68(%ebp), %eax
				cmpl	-84(%ebp), %eax
				jg	.L601
				jmp	.L477
		.L476:
		.L600:
				nop
		.L479:
  596            %FINISH
  597         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
  598         %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:
  599         %FINISH %ELSE %START                            ;! NAME ALREADY SET AT THIS LEVEL
				jmp	.L502
		.L602:
				jmp	.L502
		.L599:
  600         %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:
  601            %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:
  602               PRINT NAME(K)
				subl	$12, %esp
				pushl	-60(%ebp)
				movl	%esi, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  603               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:
  604               %FINISH
  605            %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:
  606               PRINT NAME(K)
				subl	$12, %esp
				pushl	-60(%ebp)
				movl	%esi, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  607               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:
  608               %FINISH
  609            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)
  610            %IF L\=P %THEN %START
				movl	-84(%ebp), %eax
				cmpl	-68(%ebp), %eax
				je	.L607
				nop
				jmp	.L493
		.L608:
  611               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
  612               %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:
  613               %FINISH
  614            %IF L>0 %THEN %START                         ;! PARAMS PRESENT
				cmpl	$0, -84(%ebp)
				jle	.L609
				nop
				jmp	.L502
		.L611:
  615               P=1                                       ;! PARAM COUNT
				movl	$1, -68(%ebp)
  616               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:
  617 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:
  618                  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
  619                  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:
  620                  %FINISH
  621               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)
  622               P=P+1                                     ;! PARAM COUNT
				addl	$1, -68(%ebp)
  623               Q=LINK(Q)                                 ;! NEXT TAG CELL
				movl	-64(%ebp), %eax
				addl	$2292, %eax
				movl	12(%esi,%eax,4), %eax
				movl	%eax, -64(%ebp)
  624               %IF P<=L %THEN ->L67                       ;! MORE PARAMS
				movl	-68(%ebp), %eax
				cmpl	-84(%ebp), %eax
				jg	.L611
				jmp	.L496
		.L495:
		.L609:
				nop
		.L500:
  625               %FINISH
  626            %FINISH %ELSE %START
				jmp	.L502
		.L603:
  627            PRINT NAME(K)
				subl	$12, %esp
				pushl	-60(%ebp)
				movl	%esi, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
  628            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:
  629            %FINISH
  630         %FINISH
  631 L68:  %IF J=2 %THEN %START                               ;! STATEMENT NOT A SPEC
				cmpl	$2, -80(%ebp)
				jne	.L612
				nop
				jmp	.L376
		.L614:
  632         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)
  633         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
  634         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)
  635         %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:
  636                               %ELSE LEVEL=LEVEL+1       ;! NEXT TEXTUAL LEVEL
  637         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
  638         %IF L>0 %THEN %START                            ;! PARAMS PRESENT
				cmpl	$0, -84(%ebp)
				jle	.L614
				nop
				jmp	.L376
		.L616:
  639            P=1                                          ;! PARAM COUNT
				movl	$1, -68(%ebp)
		.L509:
  640 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)
  641            %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:
  642               %ELSE STORE TAG(PN(P),I>>28,1,0,LEVEL,I&65535) ;! TREAT ARRAYNAMES SPECIALLY
  643            P=P+1
				addl	$1, -68(%ebp)
  644            %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:
  645            %FINISH
  646         %FINISH
  647      %RETURN
				jmp	.L376
		.L568:
  648 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  649 ! %END
  650 L70:  CHECK                                       ;! CHECK LABELS & START/FINISH BLOCKS
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	CHECK.6284
  651      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)
  652      UNSET                                       ;! UNSET NAMES DECLARED AT THIS LEVEL
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UNSET.6286
  653      CHP=CHPP(LEVEL)
				movl	9176(%esi), %eax
				addl	$80, %eax
				movl	8(%esi,%eax,4), %eax
				movl	%eax, 20228(%esi)
  654      %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:
  655      RETURN                                      ;! DUMP %RETURN CODE
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	RETURN.6320
  656      LEVEL=LEVEL-1                               ;! DECREMENT TEXTUAL LEVEL COUNT
				movl	9176(%esi), %eax
				subl	$1, %eax
				movl	%eax, 9176(%esi)
  657      %IF LEVEL<1 %THEN %START                    ;! NOT BACK AT OUTER LEVEL YET
				movl	9176(%esi), %eax
				testl	%eax, %eax
				jg	.L618
				nop
		.L519:
  658         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
  659         ->L71 ; %FINISH                           ;! TREAT AS %ENDOFPROGRAM
				jmp	.L527
		.L618:
  660      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)
  661      %RETURN
				jmp	.L376
		.L569:
  662 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  663 ! %BEGIN
  664 L80:  %IF LEVEL\=0 %THEN %START
				movl	9176(%esi), %eax
				testl	%eax, %eax
				je	.L619
				nop
		.L522:
  665         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
  666         %RETURN ; %FINISH
				jmp	.L376
		.L619:
  667      %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:
  668         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
  669         %RETURN ; %FINISH
				jmp	.L376
		.L621:
  670      LEVEL=1                                ;! TEXTUAL LEVEL COUNT TO 1
				movl	$1, %eax
				movl	%eax, 9176(%esi)
  671      ENTER(-1,10)
				subl	$8, %esp
				leal	-44(%ebp), %eax
				pushl	$10
				pushl	$-1
				movl	%eax, %ecx
				call	ENTER.6318
				addl	$16, %esp
  672      %RETURN
				jmp	.L376
		.L570:
  673 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  674 ! %ENDOFPROGRAM
  675 L90:  CHECK                                  ;! CHECK LABELS & START/FINISHES
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	CHECK.6284
  676      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)
  677      UNSET                                  ;! UNSET NAMES DECLARED AT THIS LEVEL
				leal	-44(%ebp), %eax
				movl	%eax, %ecx
				call	UNSET.6286
  678      %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:
  679 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:
  680      PRINT SYMBOL('B')                      ;! PRINT OUT BRANCH TABLE
  681      PRINT SYMBOL('T')
  682      PRINT SYMBOL(':')
  683      NEWLINE
  684      CA=0
				movl	$0, %eax
				movl	%eax, 4744(%esi)
		.L528:
  685 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:
  686         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
  687         ->L93 ; %FINISH
				jmp	.L528
		.L623:
  688      PRINT SYMBOL('C')                      ;! PRINT OUT CONSTANT TABLE
  689      PRINT SYMBOL('T')
  690      PRINT SYMBOL(':')
  691      NEWLINE
  692      I=0
				movl	$0, -88(%ebp)
		.L531:
  693 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:
  694         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:
  695         NEWLINE
  696         I=I+1
				movl	-88(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -88(%ebp)
  697         ->L91 ; %FINISH
				jmp	.L531
		.L624:
  698      PRINT SYMBOL(';')
  699      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
  700      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:
  701      %STOP
  702 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  703 %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
  704 ! COMPILE UNCONDITIONAL INSTRUCTION
  705 %INTEGER I,J,K,L
  706      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)
  707      AP=AP+1
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  708      %IF I=1 %THEN ->L10                 ;! ROUTINE CALL OR ASSIGNMENT STATEMENT
				cmpl	$1, -24(%ebp)
				je	.L360
				nop
		.L313:
				nop
		.L314:
  709      %IF I=2 %THEN ->L20                 ;! JUMP INSTRUCTION
				cmpl	$2, -24(%ebp)
				je	.L361
				nop
		.L316:
				nop
		.L317:
  710      %IF I=3 %THEN ->L30                 ;! %START
				cmpl	$3, -24(%ebp)
				je	.L362
				nop
		.L319:
				nop
		.L320:
  711      %IF I=4 %THEN ->L40                 ;! %RETURN
				cmpl	$4, -24(%ebp)
				je	.L363
				nop
		.L322:
				nop
		.L323:
  712      %IF I=5 %THEN ->L50                 ;! %RESULT=
				cmpl	$5, -24(%ebp)
				je	.L364
				nop
		.L325:
				nop
		.L326:
  713      DUMP(M'STOP',0,0,0)                ;! %STOP
				pushl	$0
				pushl	$0
				pushl	$0
				pushl	$1398034256
				movl	%ebx, %ecx
				call	DUMP.6307
				addl	$16, %esp
  714      %RETURN
				jmp	.L311
		.L360:
  715 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  716 ! NAME APP ASS
  717 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)
  718      %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:
  719         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
  720         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
  721         %FINISH %ELSE I=TAG(I)                ;! NAME TAGS OR ZERO TO AVOID DIAGNOSTICS
				jmp	.L330
		.L365:
  722      J=AP                                      ;! PRESERVE ANALYSIS RECORD POINTER
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				movl	%eax, -20(%ebp)
  723      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)
  724      SKIP APP                                  ;! SKIP TO <ASS>
				movl	%ebx, %ecx
				call	SKIPAPP.6311
  725      %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:
  726         %IF I>>24=64 %THEN %START              ;! 'FORM/TYPE' IS ROUTINE
				movl	-24(%ebp), %eax
				shrl	$24, %eax
				cmpl	$64, %eax
				jne	.L367
				nop
		.L334:
  727            AP=J                                ;! RESTORE AP TO <NAME>
				movl	8(%ebx), %eax
				movl	-20(%ebp), %edx
				movl	%edx, 14080(%eax)
  728            RT                                  ;! CALL ROUTINE
				movl	%ebx, %ecx
				call	RT.6313
  729            %FINISH %ELSE %START
				jmp	.L337
		.L367:
  730            %IF I\=0 %THEN %START
				cmpl	$0, -24(%ebp)
				je	.L368
				nop
		.L337:
  731               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
  732               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:
  733               %FINISH
  734            %FINISH
  735         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)
  736         %RETURN ; %FINISH
				jmp	.L311
		.L366:
  737      K=I>>28                                   ;! 'FORM' OF NAME
				movl	-24(%ebp), %eax
				shrl	$28, %eax
				movl	%eax, -16(%ebp)
  738      %IF K=4 %THEN %START
				cmpl	$4, -16(%ebp)
				jne	.L369
				nop
		.L339:
  739         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
  740         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
  741         I=0                                    ;! CLEAR TAGS TO AVOID FURTHER DIAGNOSTIC
				movl	$0, -24(%ebp)
				jmp	.L339
		.L369:
  742         %FINISH
  743      AP=AP+1                                   ;! AP ON <+-\>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
  744      SEXPR
				movl	%ebx, %ecx
				call	SEXPR.6280
  745      %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:
  746      %IF K>=2 %THEN %START                     ;! LHS AN ARRAY TYPE
				cmpl	$1, -16(%ebp)
				jle	.L371
				nop
		.L343:
  747         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
  748         K=AP                                   ;! PRESERVE AP
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				movl	%eax, -16(%ebp)
  749         AP=J                                    ;! RESTORE INITIALANAL REC POINTER
				movl	8(%ebx), %eax
				movl	-20(%ebp), %edx
				movl	%edx, 14080(%eax)
  750         ARRAD                                  ;! CALCULATE ARRAY ELEMENT ADDRESS
				movl	%ebx, %ecx
				call	ARRAD.6315
  751         WS=WS-1                                ;! RESTORE WORKSPACE POINTER
				movl	4(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 4(%ebx)
  752         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
  753         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
  754         AP=K                                   ;! RESTORE AP TO AFTER <UI>
				movl	8(%ebx), %eax
				movl	-16(%ebp), %edx
				movl	%edx, 14080(%eax)
  755         %RETURN ; %FINISH
				jmp	.L311
		.L371:
  756      %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:
  757         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
  758         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
  759         %FINISH %ELSE DUMP(M'STR',M'ACC',BR(I>>16&15),I&65535)
				jmp	.L346
		.L372:
  760      %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:
  761         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
  762         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
  763         %FINISH
  764      %RETURN
				jmp	.L311
		.L373:
  765 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  766 ! -> CONST
  767 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
  768      %RETURN
				jmp	.L311
		.L362:
  769 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  770 ! %START
  771 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
  772      %RETURN
				jmp	.L311
		.L363:
  773 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  774 ! %RETURN
  775 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:
  776      RETURN                                    ;! DUMP %RETURN CODE  -  INCORRECT FOR FN
				movl	%ebx, %ecx
				call	RETURN.6320
  777      %RETURN
				jmp	.L311
		.L364:
  778 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  779 ! %RESULT=
  780 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)
  781      %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:
  782      SEXPR                                     ;! COMPILE RESULT EXPRESSION
				movl	%ebx, %ecx
				call	SEXPR.6280
  783      RETURN                                    ;! LEAVE RESULT IN ACC & DUMP RETURN CODE
				movl	%ebx, %ecx
				call	RETURN.6320
  784 %END
				nop
				jmp	.L311
		.L370:
?L unused
  785 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  786 %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)
  787 ! COMPILE ARITHMETIC EXPRESSION
  788 %ROUTINESPEC TORP
  789 %ROUTINESPEC PSEVAL
  790 %ROUTINESPEC EVAL(%INTEGER P)
  791 %INTEGER RPP,APP
  792 %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)
  793      RPP=1                                  ;! RP POINTER
				movl	$1, %eax
				movl	%eax, -20(%ebp)
  794      TORP                                   ;! EXPR TO REV POLISH
				leal	-280(%ebp), %eax
				movl	%eax, %ecx
				call	TORP.6461
  795      %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:
  796         SCF=0                               ;! RESET FLAG
				movl	8(%ebx), %eax
				movl	$0, %edx
				movl	%edx, 4800(%eax)
  797         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)
  798         %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:
  799            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)
  800            TORP                             ;! 2ND EXPRESSION TO REVERSE POLISH
				leal	-280(%ebp), %eax
				movl	%eax, %ecx
				call	TORP.6461
  801            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)
  802            PT(RPP)=1                        ;! FLAG=OPERATOR
				movl	-20(%ebp), %eax
				subl	$1, %eax
				movl	$1, -276(%ebp,%eax,4)
  803            RPP=RPP+1                        ;! INCREMENT RP POINTER
				movl	-20(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -20(%ebp)
				jmp	.L672
		.L668:
		.L675:
  804            %FINISH
  805         %FINISH
  806      APP=AP                                 ;! SAVE FINAL ANAL REC POINTER
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				movl	%eax, -420(%ebp)
  807      PSEVAL                                 ;! PSEUDO-EVALUATE EXPRESSION
				leal	-280(%ebp), %eax
				movl	%eax, %ecx
				call	PSEVAL.6463
  808      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
  809      AP=APP                                 ;! RESTORE FINAL ANAL REC POINTER
				movl	8(%ebx), %eax
				movl	-420(%ebp), %edx
				movl	%edx, 14080(%eax)
  810 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  811 %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)
  812 ! TRANSFORM EXPRESSION TO REVERSE POLISH
  813 %ROUTINESPEC STORE(%INTEGER I,J)
  814 %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)
  815 %INTEGER OPP,I
  816      OPP=0                              ;! OPERATOR STACK POINTER
				movl	$0, -112(%ebp)
  817      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)
  818      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)
  819      %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:
  820      I=I+9                              ;! CODES FOR - & \
				addl	$9, -108(%ebp)
		.L636:
  821 L3:   OPP=OPP+1                          ;! STACK OPERATOR
				addl	$1, -112(%ebp)
  822      OP(OPP)=I
				movl	-112(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-108(%ebp), %eax
				movl	%eax, -96(%ebp,%edx,4)
		.L635:
  823 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)
  824      %IF I=3 %THEN %START               ;! SUB-EXPRESSION
				cmpl	$3, -108(%ebp)
				jne	.L660
				nop
		.L638:
  825         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)
  826         TORP                            ;! TRANSFORM SUB-EXPR TO REV POL
				movl	%ebx, %ecx
				call	TORP.6461
  827         %FINISH %ELSE %START
				jmp	.L641
		.L660:
  828         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
  829         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)
  830         %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:
  831         %FINISH
  832      %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:
  833         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:
  834 L2:      %IF OPP=0 %THEN %RETURN         ;! OPERATOR STACK EMPTIED
				cmpl	$0, -112(%ebp)
				je	.L663
				nop
		.L646:
				nop
  835         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
  836         OPP=OPP-1
				subl	$1, -112(%ebp)
  837         ->L2 ; %FINISH
				jmp	.L644
		.L662:
  838      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)
  839      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:
  840 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:
  841      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
  842      OPP=OPP-1
				subl	$1, -112(%ebp)
  843      ->L4
				jmp	.L648
		.L663:
  844 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  845 %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
  846 ! STORE IN RP & PT ARRAYS, I=ANAL REC PTR , J= OP/OPD FLAG
  847      %IF RPP>32 %THEN %START             ;! REV POL ARRAY FULL
				movl	(%ebx), %eax
				movl	260(%eax), %eax
				cmpl	$32, %eax
				jle	.L630
				nop
		.L627:
  848         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
  849         RPP=1                            ;! IN ORDER TO CONTINUE
				movl	(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 260(%eax)
				jmp	.L627
		.L630:
  850         %FINISH
  851      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)
  852      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)
  853      RPP=RPP+1                           ;! NEXT POSITION
				movl	(%ebx), %eax
				movl	260(%eax), %edx
				movl	(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 260(%eax)
  854 %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:
  855 %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:
  856 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  857 %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
  858 ! PSEUDO-EVALUATION, CHECKING OPERANDS
  859 %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)
  860 %INTEGER PSTP,I,J,K
  861      PSTP=0                                  ;! PST POINTER
				movl	$0, -224(%ebp)
  862      I=1                                     ;! REV POL ARRAY POINTER
				movl	$1, -220(%ebp)
		.L679:
  863 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)
  864      %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:
  865         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)
  866         %IF J=0 %THEN %START
				cmpl	$0, -212(%ebp)
				jne	.L713
				nop
		.L683:
  867            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
  868            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
  869            K=0                               ;! DUMMY TAG VALUE
				movl	$0, -216(%ebp)
  870            ->L1 ; %FINISH
				jmp	.L694
		.L713:
  871         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)
  872         J=K>>28                              ;! 'FORM' OF NAME
				movl	-216(%ebp), %eax
				shrl	$28, %eax
				movl	%eax, -212(%ebp)
  873         %IF J>1 %THEN %START                 ;! ARRAY OR ROUTINE/FN TYPE
				cmpl	$1, -212(%ebp)
				jle	.L714
				nop
		.L686:
  874            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)
  875            %IF J=4 %THEN %START              ;! NAME IS ROUTINE/FN TYPE
				cmpl	$4, -212(%ebp)
				jne	.L715
				nop
		.L688:
  876               %IF K>>24&15=0 %THEN %START
				movl	-216(%ebp), %eax
				andl	$16777216, %eax
				testl	%eax, %eax
				jne	.L716
				nop
		.L690:
  877                  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
  878                  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
  879                  K=0                         ;! DUMMY TAG VALUE
				movl	$0, -216(%ebp)
  880                  ->L1 ; %FINISH
				jmp	.L694
		.L716:
  881               PT(I)=-1                       ;! FLAG FOR FUNCTION
				movl	-220(%ebp), %eax
				subl	$1, %eax
				movl	$-1, 4(%ebx,%eax,4)
  882               %FINISH %ELSE PT(I)=-2         ;! FLAG FOR ARRAY
				nop
		.L691:
				movl	-220(%ebp), %eax
				subl	$1, %eax
				movl	$-2, 4(%ebx,%eax,4)
  883            ->L2 ; %FINISH                     ;! GO TO STACK POINTER
				jmp	.L695
		.L715:
				jmp	.L695
		.L714:
  884         %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:
  885            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
  886            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:
  887            %FINISH
  888 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)
  889         PT(I)=-3                             ;! FLAG FOR SCALARS
				movl	-220(%ebp), %eax
				subl	$1, %eax
				movl	$-3, 4(%ebx,%eax,4)
  890         %FINISH %ELSE %START                 ;! OPERAND IS A <CNST>
				jmp	.L695
		.L712:
  891         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)
  892         PT(I)=-4                             ;! FLAG FOR CONSTANTS
				movl	-220(%ebp), %eax
				subl	$1, %eax
				movl	$-4, 4(%ebx,%eax,4)
		.L692:
		.L695:
  893         %FINISH
  894 L2:   PSTP=PSTP+1                             ;! STACK OPERAND POINTER
				addl	$1, -224(%ebp)
		.L696:
  895 L4:   PST(PSTP)=I
				movl	-224(%ebp), %eax
				leal	-1(%eax), %edx
				movl	-220(%ebp), %eax
				movl	%eax, -140(%ebp,%edx,4)
  896      I=I+1                                   ;! REV POL ARRAY POINTER
				addl	$1, -220(%ebp)
  897      %IF I<RPP %THEN %START                  ;! NOT END OF REV POL YET
				movl	260(%ebx), %eax
				cmpl	%eax, -220(%ebp)
				jge	.L718
				nop
		.L698:
  898         %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:
  899         %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:
  900            PSTP=PSTP-1                       ;! PSEUDO-EVALUATE POINTERS
				subl	$1, -224(%ebp)
  901            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:
  902            %FINISH
  903         ->L4 ; %FINISH
				jmp	.L696
		.L718:
  904 %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:
  905 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  906 %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)
  907 ! DUMP CODE FOR EVALUATION OF EXPRESSION
  908 %ROUTINESPEC OPN(%INTEGER OP,L)
  909 %INTEGER I,J,K
  910      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)
  911      %IF I<0 %THEN %START                          ;! OPERAND
				cmpl	$0, -32(%ebp)
				jns	.L776
				nop
		.L750:
  912         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
  913         %RETURN ; %FINISH
				jmp	.L748
		.L776:
  914      J=RP(P)                                       ;! OPERATOR
				movl	8(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	4(%ebx,%eax,4), %eax
				movl	%eax, -28(%ebp)
  915      K=P-1                                         ;! START OF 2ND OPERAND
				movl	8(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -24(%ebp)
  916      %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:
  917         %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:
  918         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
  919         %RETURN ; %FINISH
				jmp	.L748
		.L777:
  920      %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:
  921         %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:
  922            EVAL(K)                                 ;! EVALUATE 2ND OPERAND
				subl	$12, %esp
				pushl	-24(%ebp)
				movl	%ebx, %ecx
				call	EVAL.6465
				addl	$16, %esp
  923            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
  924            EVAL(I)                                 ;! EVALUATE 1ST OPERAND
				subl	$12, %esp
				pushl	-32(%ebp)
				movl	%ebx, %ecx
				call	EVAL.6465
				addl	$16, %esp
  925            WS=WS-1                                 ;! RESTORE WORKSPACE POINTER
				movl	(%ebx), %eax
				movl	4(%eax), %edx
				movl	(%ebx), %eax
				subl	$1, %edx
				movl	%edx, 4(%eax)
  926            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
  927            %FINISH %ELSE %START                    ;! 2ND OPERAND NOT A NODE
				nop
		.L761:
  928            EVAL(I)                                 ;! EVALUATE 1ST OPERAND
				subl	$12, %esp
				pushl	-32(%ebp)
				movl	%ebx, %ecx
				call	EVAL.6465
				addl	$16, %esp
  929            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
  930            %FINISH
  931         %FINISH %ELSE %START                       ;! 1ST OPERAND NOT A NODE
				jmp	.L767
		.L780:
				jmp	.L767
		.L779:
  932         %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:
  933            EVAL(K)                                 ;! EVALUATE 2ND OPERAND
				subl	$12, %esp
				pushl	-24(%ebp)
				movl	%ebx, %ecx
				call	EVAL.6465
				addl	$16, %esp
  934            %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:
  935               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
  936               %RETURN ; %FINISH
				jmp	.L748
		.L782:
  937            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
  938            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
  939            WS=WS-1                                 ;! RESTORE WORKSPACE POINTER
				movl	(%ebx), %eax
				movl	4(%eax), %edx
				movl	(%ebx), %eax
				subl	$1, %edx
				movl	%edx, 4(%eax)
  940            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
  941            %FINISH %ELSE %START                    ;! 2ND OPERAND NOT A NODE
				jmp	.L767
		.L781:
  942            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
  943            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:
  944            %FINISH
  945         %FINISH
  946      %RETURN
				nop
		.L748:
  947 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
  948 %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
  949 ! DUMP SIMPLE OPERATION, OP=OPERATOR, L=RP POSITION OF OPERAND
  950 %INTEGER I,J
  951      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)
  952      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)
  953      %IF I=-1 %THEN %START                           ;! ROUTINE/FN TYPE
				cmpl	$-1, -20(%ebp)
				jne	.L742
				nop
		.L723:
  954         RT                                           ;! DUMP CALL ON FUNCTION
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, %ecx
				call	RT.6313
  955         %RETURN ; %FINISH
				jmp	.L721
		.L742:
  956      %IF I=-2 %THEN %START                           ;! ARRAY ACCESS
				cmpl	$-2, -20(%ebp)
				jne	.L743
				nop
		.L726:
  957         ARRAD                                        ;! CALCULATE ARRAY ELEMENT ADDRESS
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, %ecx
				call	ARRAD.6315
  958         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
  959         %RETURN ; %FINISH
				jmp	.L721
		.L743:
  960      %IF I=-3 %THEN %START                           ;! SCALAR TYPE
				cmpl	$-3, -20(%ebp)
				jne	.L744
				nop
		.L728:
  961         %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:
  962            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
  963            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
  964            %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
  965         %RETURN ; %FINISH
				jmp	.L721
		.L745:
				jmp	.L721
		.L744:
  966      %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:
  967         J=CT NEXT                                    ;! NEXT HOLE IN CONSTANT TABLE
				movl	(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, %ecx
				call	CTNEXT.6293
				movl	%eax, -16(%ebp)
  968         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)
  969         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
  970         %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:
  971 %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:
  972 %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:
  973 %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:
  974 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  975 %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:
  976 ! SKIP PAST <+-\><OPD><EXPR> IN ANALYSIS RECORD, AP INITIALLY ON <+-\>
  977 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)
  978      %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:
  979         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)
  980         %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:
  981         %FINISH
  982      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)
  983      %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:
  984 %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:
  985 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  986 %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:
  987 ! SKIP PAST <APP> IN ANALYSIS RECORD
  988 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)
  989      %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:
  990         SKIP SEXPR
				movl	%ebx, %ecx
				call	SKIPSEXPR.6309
  991         ->L1 ; %FINISH
				jmp	.L800
		.L806:
  992 %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:
  993 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  994 %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)
  995 ! COMPILE CONDITION I.E. <SC><COND>, LABEL SET FOR POSITION AFTER UI
  996 %ROUTINESPEC SC
  997 %ROUTINESPEC COND
  998 %ROUTINESPEC STORE(%INTEGER FT)
  999 %INTEGER I,J,K,L,APP
 1000 %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)
 1001                                                    ;!  TRUE/FALSE, JUMP & LABEL ARRAYS
 1002      I=1                                           ;! INDEX TO ARRAYS
				movl	$1, %eax
				movl	%eax, -36(%ebp)
 1003      L=0                                           ;! NESTING LEVEL
				movl	$0, %eax
				movl	%eax, -40(%ebp)
 1004      SC                                            ;! PROCESS <SC>
				leal	-300(%ebp), %eax
				movl	%eax, %ecx
				call	SC.6578
 1005      COND                                          ;! PROCESS <COND>
				leal	-300(%ebp), %eax
				movl	%eax, %ecx
				call	COND.6580
 1006      APP=AP                                        ;! PRESERVE FINAL ANAL REC POINTER
				movl	8(%ebx), %eax
				movl	14080(%eax), %eax
				movl	%eax, -712(%ebp)
 1007      L=-1
				movl	$-1, %eax
				movl	%eax, -40(%ebp)
 1008      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
 1009      L=-2
				movl	$-2, %eax
				movl	%eax, -40(%ebp)
 1010      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
 1011      K=I-1                                         ;! LAST POSITION FILLED IN IN ARRAYS
				movl	-36(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -708(%ebp)
 1012      I=1
				movl	$1, %eax
				movl	%eax, -36(%ebp)
		.L814:
 1013 L2:   J=I                                           ;! FIND POSITIONS TO JUMP TO
				movl	-36(%ebp), %eax
				movl	%eax, -716(%ebp)
		.L815:
 1014 L1:   J=J+1                                         ;!    AFTER COMPARISONS
				addl	$1, -716(%ebp)
 1015      %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:
 1016      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)
 1017      I=I+1
				movl	-36(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
 1018      %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:
 1019      %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:
 1020      AP=AP+1                                       ;! TO <CONST>
				movl	8(%ebx), %eax
				movl	14080(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1021      J=K-1                                         ;! LAST POSITION FILLED IN
				movl	-708(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -716(%ebp)
 1022      TF(J)=2                                       ;! SET AS 'TRUE'
				movl	-716(%ebp), %eax
				subl	$1, %eax
				addl	$32, %eax
				movl	$2, -296(%ebp,%eax,4)
 1023      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)
 1024      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:
 1025 L3:   I=1                                           ;! FILL IN PSEUDO-LABELS FOR INNER JUMPS
				movl	$1, %eax
				movl	%eax, -36(%ebp)
		.L824:
 1026 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:
 1027      I=I+1
				movl	-36(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
 1028      %IF I<K %THEN ->L4                             ;! MORE TO FILL IN
				movl	-36(%ebp), %eax
				cmpl	-708(%ebp), %eax
				jge	.L851
				jmp	.L824
		.L851:
				nop
		.L828:
 1029      I=1
				movl	$1, %eax
				movl	%eax, -36(%ebp)
		.L829:
 1030 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)
 1031      SCF=1                                         ;! SET FLAG FOR SEXPR
				movl	8(%ebx), %eax
				movl	$1, %edx
				movl	%edx, 4800(%eax)
 1032      SEXPR                                         ;! TO EVALUATE (1ST - 2ND)
				movl	%ebx, %ecx
				call	SEXPR.6280
 1033      %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:
 1034      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
 1035      %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:
 1036      I=I+1                                         ;!         FILL IN LABEL ADDRESS
				movl	-36(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -36(%ebp)
 1037      %IF I<K %THEN ->L7                             ;! MORE COMPARISONS YET
				movl	-36(%ebp), %eax
				cmpl	-708(%ebp), %eax
				jge	.L856
				jmp	.L829
		.L856:
				nop
		.L838:
 1038      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)
 1039      AP=APP                                        ;! FINAL ANALYSIS RECORD POINTER
				movl	8(%ebx), %eax
				movl	-712(%ebp), %edx
				movl	%edx, 14080(%eax)
 1040 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1041 %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
 1042 ! STORE LEVEL & TRUE/FALSE FLAG
 1043      %IF I>16 %THEN %START                     ;! ARRAYS FULL
				movl	264(%ebx), %eax
				cmpl	$16, %eax
				jle	.L812
				nop
		.L809:
 1044         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
 1045         I=1                                    ;! TO CONTINUE
				movl	$1, %eax
				movl	%eax, 264(%ebx)
				jmp	.L809
		.L812:
 1046         %FINISH
 1047      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)
 1048      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)
 1049      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)
 1050      I=I+1                                     ;! NEXT ARRAY POSITION
				movl	264(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 264(%ebx)
 1051 %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:
 1052 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1053 %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
 1054      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)
 1055      %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:
 1056         L=L+1                               ;! NESTING LEVEL UP 1 FOR SUB-CONDITION
				movl	260(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 260(%ebx)
 1057         SC                                  ;! PROCESS SUB-<SC>
				movl	%ebx, %ecx
				call	SC.6578
 1058         COND                                ;! PROCESS SUB-<COND>
				movl	%ebx, %ecx
				call	COND.6580
 1059         L=L-1                               ;! NESTING LEVEL DOWN AFTER SUB-CONDITION
				movl	260(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 260(%ebx)
 1060         %FINISH %ELSE %START
				jmp	.L860
		.L864:
 1061         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)
 1062         SKIP SEXPR                          ;! SKIP 1ST EXPR OF COMPARISON
				movl	64(%ebx), %eax
				movl	%eax, %ecx
				call	SKIPSEXPR.6309
 1063         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)
 1064         SKIP SEXPR                          ;! SKIP 2ND EXPR
				movl	64(%ebx), %eax
				movl	%eax, %ecx
				call	SKIPSEXPR.6309
		.L860:
 1065         %FINISH
 1066 %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:
 1067 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1068 %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
 1069 ! PROCESS <COND> FOR SIMPLE COMPARISONS
 1070 %INTEGER I
 1071      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)
 1072      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)
 1073      %IF I\=3 %THEN %START                  ;! NOT NULL ALTERNATIVE OF <COND>
				cmpl	$3, -16(%ebp)
				je	.L872
				nop
				jmp	.L869
		.L873:
 1074 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
 1075         SC                                  ;! PROCESS <SC>
				movl	%ebx, %ecx
				call	SC.6578
 1076         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)
 1077         %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:
 1078         %FINISH
 1079 %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:
 1080 %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:
 1081 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1082 %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
 1083 ! CHECK LABELS ALL SET & STARTS MATCH FINISHES
 1084 %INTEGER I,J
 1085      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:
 1086 L1:   %IF I\=0 %THEN %START                      ;! NO LABELS OR JUMPS USED AT THIS LEVEL
				cmpl	$0, -16(%ebp)
				je	.L887
				nop
		.L877:
 1087         %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:
 1088            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
 1089            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:
 1090            %FINISH
 1091         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)
 1092         ->L1 ; %FINISH
				jmp	.L875
		.L887:
 1093      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:
 1094 L2:   %IF I\=0 %THEN %START                      ;! A CELL STILL IN LIST
				cmpl	$0, -16(%ebp)
				je	.L889
				nop
		.L882:
 1095         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
 1096         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)
 1097         ->L2 ; %FINISH
				jmp	.L880
		.L889:
 1098 %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
 1099 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1100 %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
 1101 ! UNSET NAMES AND CHECK FOR MISSING ROUTINES
 1102 %INTEGER I,J,K
 1103      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:
 1104 L1:   %IF I\=0 %THEN %START                       ;! UNSET NAMES DECLARED AT THIS LEVEL
				cmpl	$0, -24(%ebp)
				je	.L906
				nop
		.L893:
 1105         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)
 1106         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)
 1107         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)
 1108         %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:
 1109            %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:
 1110               PRINT NAME(J)
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1111               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:
 1112               %FINISH
 1113            K=K>>20&15                            ;! NO OF PARAMS
				movl	-20(%ebp), %eax
				shrl	$20, %eax
				andl	$15, %eax
				movl	%eax, -20(%ebp)
		.L898:
 1114 L2:         %IF K\=0 %THEN %START                 ;! PARAMS PRESENT
				cmpl	$0, -20(%ebp)
				je	.L909
				nop
		.L900:
 1115               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)
 1116               K=K-1                              ;! PARAM COUNT
				subl	$1, -20(%ebp)
 1117               ->L2 ; %FINISH
				jmp	.L898
		.L895:
		.L907:
 1118            %FINISH
 1119         %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:
 1120         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)
 1121         ->L1 ; %FINISH
				jmp	.L891
		.L906:
 1122 %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:
 1123 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1124 %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
 1125 ! PUSHDOWN START/FINISH BLOCK INFORMATION
 1126 %INTEGER I
 1127      I=NEWCELL
				movl	8(%ebx), %eax
				movl	%eax, %ecx
				call	NEWCELL.6037
				movl	%eax, -16(%ebp)
 1128      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)
 1129      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)
 1130      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)
 1131 %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:
 1132 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1133 %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
 1134 ! DUMP CODE FOR NEW LEVEL & INITIALISE LEVEL ARRAYS
 1135 %INTEGER I
 1136      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
 1137      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
 1138      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
 1139      I=CT NEXT                                  ;! STATIC ALLOCATION HOLE IN CONST TABLE
				movl	%ebx, %ecx
				call	CTNEXT.6293
				movl	%eax, -16(%ebp)
 1140      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
 1141      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)
 1142      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)
 1143      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)
 1144      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)
 1145      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)
 1146      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)
 1147      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)
 1148 %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:
 1149 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1150 %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
 1151 ! DUMP CODE FOR %RETURN
 1152      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
 1153      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
 1154      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
 1155      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
 1156 %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:
 1157 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1158 %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
 1159 ! DUMP CODE FOR A ROUTINE OR FUNCTION CALL
 1160 %INTEGER I,J,K,L,M,N,P
 1161      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)
 1162      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)
 1163      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)
 1164      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:
 1165 L1:   K=K-1                                              ;! COUNT PARAMS
				subl	$1, -36(%ebp)
 1166      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)
 1167      %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:
 1168         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
 1169         %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:
 1170         %RETURN ; %FINISH
				jmp	.L920
		.L991:
				jmp	.L920
		.L990:
 1171      %IF K<=0 %THEN %START                              ;! MORE PARAMS THAN SPEC
				cmpl	$0, -36(%ebp)
				jg	.L992
				nop
		.L928:
 1172         %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:
 1173         ->L2 ; %FINISH
				jmp	.L931
		.L993:
				jmp	.L931
		.L992:
 1174      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)
 1175      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)
 1176      %IF L>>28=0 %THEN %START                           ;! SCALAR VALUE
				movl	-32(%ebp), %eax
				shrl	$28, %eax
				testl	%eax, %eax
				jne	.L994
				nop
		.L933:
 1177         SEXPR                                           ;! COMPILE EXPRESSION
				movl	%ebx, %ecx
				call	SEXPR.6280
 1178         ->L3 ; %FINISH
				jmp	.L934
		.L994:
 1179      %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:
 1180 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:
 1181 L2:   SKIP SEXPR                                         ;! SKIP INVALID PARAM TO CONTINUE
				movl	%ebx, %ecx
				call	SKIPSEXPR.6309
 1182      ->L1
				jmp	.L921
		.L996:
 1183 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)
 1184      %IF M=0 %THEN %START
				cmpl	$0, -28(%ebp)
				jne	.L997
				nop
		.L941:
 1185         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
 1186         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
 1187         ->L2 ; %FINISH
				jmp	.L931
		.L997:
 1188      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)
 1189      %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:
 1190         %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:
 1191            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
 1192            ->L5 ; %FINISH
				jmp	.L939
		.L999:
 1193         %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:
 1194            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)
 1195            ARRAD                                        ;! CALCULATE ARRAY ELEMENT ADDRESS
				movl	%ebx, %ecx
				call	ARRAD.6315
 1196            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)
 1197            %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:
 1198            ->L3 ; %FINISH
				jmp	.L934
		.L1000:
 1199         %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:
 1200            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
 1201            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
 1202            ->L2 ; %FINISH
				jmp	.L931
		.L1002:
 1203         %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:
 1204         %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:
 1205         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
 1206         %FINISH %ELSE %START                            ;! PARAM IS ARRAY NAME
				jmp	.L973
		.L998:
 1207         %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:
 1208         %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:
 1209            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
 1210            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
 1211            ->L2 ; %FINISH
				jmp	.L931
		.L1007:
 1212         %IF N>>28=3 %THEN %START                        ;! ACTUAL IS ARRAY NAME
				movl	-24(%ebp), %eax
				shrl	$28, %eax
				cmpl	$3, %eax
				jne	.L1008
				nop
		.L964:
 1213            M=N&65535                                    ;! POINTER TO TAG CELL OF PARAM LIST
				movl	-24(%ebp), %eax
				movzwl	%ax, %eax
				movl	%eax, -28(%ebp)
 1214            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:
 1215            %FINISH
 1216         %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:
 1217            %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:
 1218               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)
 1219               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)
 1220               %FINISH %ELSE %START                      ;! DIMENSION OF FORMAL KNOWN
				jmp	.L972
		.L1010:
 1221               %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:
 1222                                                         ;! FILL IN DIMENSION OF ACTUAL IF UNKNOWN
 1223                  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
 1224                  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
 1225                  ->L2 ; %FINISH
				jmp	.L931
		.L966:
		.L971:
		.L1009:
 1226               %FINISH
 1227            %FINISH
 1228         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
 1229         %IF L>>20&15\=1 %THEN %START                    ;! NOT 1-DIM ARRAY
 1230            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
 1231            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
 1232            L=L+1
				addl	$1, -32(%ebp)
		.L957:
		.L973:
 1233            %FINISH
 1234         %FINISH
 1235      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:
 1236 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
 1237      ->L1
				jmp	.L921
		.L920:
 1238 %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:
 1239 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1240 %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
 1241 ! DUMP CODE TO CALCULATE ARRAY ELEMENT ADDRESS
 1242 %INTEGER I,J,K,L
 1243      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)
 1244      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)
 1245      J=TAG(I)
				movl	8(%ebx), %eax
				movl	-28(%ebp), %edx
				addl	$3520, %edx
				movl	4(%eax,%edx,4), %eax
				movl	%eax, -24(%ebp)
 1246      %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:
 1247         I=J&65535                                       ;! SUBSTITUTE CORRECT TAG VALUE
				movl	-24(%ebp), %eax
				movzwl	%ax, %eax
				movl	%eax, -28(%ebp)
 1248         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:
 1249         %FINISH
 1250      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)
 1251      %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:
 1252         SEXPR                                           ;! COMPILE EXPR FOR FIRST INDEX
				movl	%ebx, %ecx
				call	SEXPR.6280
 1253         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)
 1254         %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:
 1255            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
 1256            SEXPR                                        ;! COMPILE EXPR FOR 2ND INDEX
				movl	%ebx, %ecx
				call	SEXPR.6280
 1257            %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:
 1258               PRINT NAME(L)
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1259               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
 1260               SKIP APP                                  ;! SKIP EXCESS INDEXES
				movl	%ebx, %ecx
				call	SKIPAPP.6311
 1261               %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:
 1262            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
 1263            WS=WS-1                                      ;! RESTORE WORKSPACE POINTER
				movl	4(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 4(%ebx)
 1264            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
 1265            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
 1266            K=2                                          ;! DIMENSION MARKER
				movl	$2, -20(%ebp)
 1267            %FINISH %ELSE %START                         ;! ONLY ONE INDEX PRESENT
				jmp	.L1022
		.L1038:
 1268            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
 1269            K=1                                          ;! DIMENSION MARKER
				movl	$1, -20(%ebp)
		.L1022:
 1270            %FINISH
 1271         %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:
 1272            %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:
 1273               PRINT NAME(L)
 1274               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
 1275            %FINISH
 1276         %FINISH %ELSE %START
				jmp	.L1028
		.L1040:
				jmp	.L1028
		.L1037:
 1277         PRINT NAME(L)
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	-16(%ebp)
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1278         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:
 1279         %FINISH
 1280 %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:
 1281 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1282 %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
 1283 ! ALLOCATE NEXT POSITION IN BRANCH TABLE
 1284      %IF BTN>1023 %THEN %START                 ;! FULL
				movl	8(%ebx), %eax
				movl	260(%eax), %eax
				cmpl	$1023, %eax
				jle	.L1047
				nop
		.L1044:
 1285         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
 1286         BTN=0                                  ;! TRY TO CONTINUE
				movl	8(%ebx), %eax
				movl	$0, %edx
				movl	%edx, 260(%eax)
				jmp	.L1044
		.L1047:
 1287         %FINISH
 1288      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)
 1289      BTN=BTN+1                                 ;! NEXT POSITION
				movl	8(%ebx), %eax
				movl	260(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 260(%eax)
 1290      %RESULT=BTN-1                             ;! THIS POSITION
				movl	8(%ebx), %eax
				movl	260(%eax), %eax
				subl	$1, %eax
 1291 %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:
 1292 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1293 %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)
 1294 ! ALLOCATE NEXT POSITION IN CONSTANT TABLE
 1295      %IF CTN>1023 %THEN %START                 ;! FULL
				movl	8(%ebx), %eax
				movl	256(%eax), %eax
				cmpl	$1023, %eax
				jle	.L1052
				nop
		.L1050:
 1296         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
 1297         CTN=0                                  ;! TRY TO CONTINUE
				movl	8(%ebx), %eax
				movl	$0, %edx
				movl	%edx, 256(%eax)
				jmp	.L1050
		.L1052:
 1298         %FINISH
 1299      CTN=CTN+1                                 ;! NEXT POSITION
				movl	8(%ebx), %eax
				movl	256(%eax), %edx
				movl	8(%ebx), %eax
				addl	$1, %edx
				movl	%edx, 256(%eax)
 1300      %RESULT=CTN-1                             ;! THIS POSITION
				movl	8(%ebx), %eax
				movl	256(%eax), %eax
				subl	$1, %eax
 1301 %END
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE220:
		WSNEXT.6295:
		.LFB221:
 1302 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1303 %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)
 1304 ! ALLOCATE NEXT WORK SPACE POSITION
 1305      WS=WS+1
				movl	4(%ebx), %eax
				addl	$1, %eax
				movl	%eax, 4(%ebx)
 1306      %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:
 1307      %RESULT=WS-1
				movl	4(%ebx), %eax
				subl	$1, %eax
 1308 %END
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE221:
		FINDLABEL.6282:
		.LFB222:
 1309 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1310 %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
 1311 ! CHECK & LOCATE OR INSERT LABEL IN JUMP LIST FOR THIS LEVEL
 1312 %INTEGER I,J
 1313      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)
 1314      AP=AP+1                                   ;! AFTER <CONST>
				movl	8(%esi), %eax
				movl	14080(%eax), %edx
				movl	8(%esi), %eax
				addl	$1, %edx
				movl	%edx, 14080(%eax)
 1315      %IF LABEL>>16\=0 %THEN %START             ;! INVALID LABEL NUMBER
				movl	(%esi), %eax
				shrl	$16, %eax
				testl	%eax, %eax
				je	.L1071
				nop
		.L1060:
 1316         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:
 1317         SPACES(2)
 1318         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
 1319         %RESULT=-1                             ;! 'FAULTY' RESULT
				movl	$-1, %eax
				jmp	.L1061
		.L1071:
 1320         %FINISH
 1321      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:
 1322 L1:   %IF I\=0 %THEN %START                     ;! SOMETHING IN LIST
				cmpl	$0, -24(%ebp)
				je	.L1072
				nop
		.L1064:
 1323         %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:
 1324         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)
 1325         ->L1 ; %FINISH
				jmp	.L1062
		.L1072:
 1326      I=NEWCELL                                 ;! LABEL NOT IN LIST SO GET NEW CELL
				movl	8(%esi), %eax
				movl	%eax, %ecx
				call	NEWCELL.6037
				movl	%eax, -24(%ebp)
 1327      J=BT NEXT                                 ;! GET NEXT BRANCH TABLE POSITION
				movl	%esi, %ecx
				call	BTNEXT.6291
				movl	%eax, -20(%ebp)
 1328      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)
 1329      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)
 1330      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)
 1331      %RESULT=J                                 ;! NEW BRANCH TABLE POSITION
				movl	-20(%ebp), %eax
		.L1061:
 1332 %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:
 1333 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1334 %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
 1335 ! STORE TAGS I.E. SET NAME & CHECK NOT SET ALREADY
 1336 %INTEGER M,N
 1337      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)
 1338      %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:
 1339         PRINT NAME(NAM)
				movl	8(%ebx), %eax
				subl	$12, %esp
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	PRINTNAME.6041
				addl	$16, %esp
 1340         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
 1341         %RETURN ; %FINISH
				jmp	.L1074
		.L1081:
 1342      N=NEWCELL                                 ;! NEW CELL FOR TAGS
				movl	8(%ebx), %eax
				movl	%eax, %ecx
				call	NEWCELL.6037
				movl	%eax, -16(%ebp)
 1343      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)
 1344      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)
 1345      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)
 1346      N=NEWCELL
				movl	8(%ebx), %eax
				movl	%eax, %ecx
				call	NEWCELL.6037
				movl	%eax, -16(%ebp)
 1347      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)
 1348      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)
 1349      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)
 1350 %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:
 1351 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1352 %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:
 1353 ! PRINT OUT CURRENT ADDRESS, OPERATION MNEMONIC & OPERANDS
 1354 %ROUTINESPEC PMN(%INTEGER I)
 1355 %INTEGER COM
 1356      SPACES(10)
 1357      COM=' '
				movl	$32, %eax
				movl	%eax, -20(%ebp)
 1358      PMN(OP)                                   ;! OPERATOR MNEMONIC
				subl	$12, %esp
				leal	-20(%ebp), %eax
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	PMN.6763
				addl	$16, %esp
 1359      COM=','
				movl	$44, %eax
				movl	%eax, -20(%ebp)
 1360      PMN(REG)                                  ;! REGISTER MNEMONIC
				subl	$12, %esp
				leal	-20(%ebp), %eax
				pushl	12(%ebp)
				movl	%eax, %ecx
				call	PMN.6763
				addl	$16, %esp
 1361      %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:
 1362         PRINT SYMBOL(',')
 1363         SPACES(7)
 1364         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
 1365         %FINISH %ELSE %START
				jmp	.L1108
		.L1116:
 1366         %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:
 1367            PRINT SYMBOL(',')
 1368            SPACES(7)
 1369            %FINISH
 1370         PMN(BASE)                              ;! BASE MNEMONIC
				subl	$12, %esp
				leal	-20(%ebp), %eax
				pushl	16(%ebp)
				movl	%eax, %ecx
				call	PMN.6763
				addl	$16, %esp
 1371         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:
 1372         %FINISH
 1373      NEWLINE
 1374      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)
 1375 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1376 %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)
 1377 ! PRINT MNEMONIC - CHARS INTO ONE WORD
 1378 %INTEGER J,K,L
 1379      J=2                                   ;! AT LEAST TWO SPACES
				movl	$2, -24(%ebp)
 1380      K=24                                  ;! FIRST SHIFT VALUE
				movl	$24, -20(%ebp)
		.L1085:
 1381 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)
 1382      %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:
 1383      K=K-8                                 ;! NEXT SHIFT VALUE
				subl	$8, -20(%ebp)
 1384      %IF K>=0 %THEN ->L1                    ;! MORE CHARS POSSIBLY YET
				cmpl	$0, -20(%ebp)
				js	.L1101
				jmp	.L1085
		.L1101:
				nop
		.L1090:
 1385      %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:
 1386            PRINT SYMBOL('+') %ELSE %START
 1387         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:
 1388         SPACES(J)                          ;! TO ALLIGN FIELDS CORRECTLY
 1389         %FINISH
 1390 %END
				nop
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE225:
		DUMP.6307:
		.LFB224:
 1391 %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:
 1392 %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
 1393 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1394 %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)
 1395 ! MONITOR FAULT - A 'PRINT STRING' ROUTINE
 1396 %ROUTINESPEC OUT(%INTEGER I)
 1397      OUT(A)
				subl	$12, %esp
				leal	-16(%ebp), %eax
				pushl	8(%ebp)
				movl	%eax, %ecx
				call	OUT.6789
				addl	$16, %esp
 1398      OUT(B)
				subl	$12, %esp
				leal	-16(%ebp), %eax
				pushl	12(%ebp)
				movl	%eax, %ecx
				call	OUT.6789
				addl	$16, %esp
 1399      OUT(C)
				subl	$12, %esp
				leal	-16(%ebp), %eax
				pushl	16(%ebp)
				movl	%eax, %ecx
				call	OUT.6789
				addl	$16, %esp
 1400      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:
 1401      NEWLINE
 1402      FAULTS=FAULTS+1                     ;! INCREMENT FAULT COUNT
				movl	4(%esi), %eax
				addl	$1, %eax
				movl	%eax, 4(%esi)
 1403 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
 1404 %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)
 1405 ! PRINT OUT PACKED CHARS
 1406      PRINT SYMBOL(I>>24) %if I>>24 # 0
				movl	8(%ebp), %eax
				shrl	$24, %eax
				testl	%eax, %eax
				je	.L1128
				movl	8(%ebp), %eax
				shrl	$24, %eax
				movsbl	%al, %eax
				movb	%al, -12(%ebp)
		.LBB209:
		.LBB210:
				movsbl	-12(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				jmp	.L1127
		.L1122:
		.L1128:
		.LBE210:
		.LBE209:
				nop
		.L1127:
 1407      PRINT SYMBOL(I>>16&255) %if I>>16&255 # 0
				movl	8(%ebp), %eax
				shrl	$16, %eax
				movsbl	%al, %eax
				movb	%al, -11(%ebp)
		.LBB211:
		.LBB212:
				movsbl	-11(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.L1123:
		.LBE212:
		.LBE211:
 1408      PRINT SYMBOL(I>>8&255) %if I>>8&255 # 0
				movl	8(%ebp), %eax
				shrl	$8, %eax
				movsbl	%al, %eax
				movb	%al, -10(%ebp)
		.LBB213:
		.LBB214:
				movsbl	-10(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.L1124:
		.LBE214:
		.LBE213:
 1409      PRINT SYMBOL(I&255) %if I&255 # 0
				movl	8(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -9(%ebp)
		.LBB215:
		.LBB216:
				movsbl	-9(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE216:
		.LBE215:
 1410 %END
				nop
				movl	-4(%ebp), %ebx
				leave
				ret
		.L1125:
		.LFE227:
		FAULT.6033:
		.LFB226:
 1411 %END
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1131
				call	__stack_chk_fail_local
		.L1131:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%ebp
				ret
		.LFE226:
		CHNEXT.6035:
		.LFB228:
 1412 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1413 %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)
 1414 ! ALLOCATE NEXT POSITION IN 'CH' ARRAY
 1415      %IF CHP>512 %THEN %START            ;! CHARACTER ARRAY FULL
				movl	20228(%eax), %edx
				cmpl	$512, %edx
				jle	.L1137
				nop
		.L1134:
 1416         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
		.L1137:
		.LBE220:
		.LBE219:
 1417         %STOP ; %FINISH
 1418      CHP=CHP+1
				movl	20228(%eax), %edx
				addl	$1, %edx
				movl	%edx, 20228(%eax)
 1419      %RESULT=CHP-1
				movl	20228(%eax), %eax
				subl	$1, %eax
 1420 %END
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE228:
		NEWCELL.6037:
		.LFB229:
 1421 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1422 %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
 1423 ! ALLOCATE NEW CELL FOR LIST PROCESSING
 1424 %INTEGER I
 1425      %IF ASL=0 %THEN %START              ;! END OF AVAILABLE SPACE LIST
				movl	(%eax), %edx
				testl	%edx, %edx
				jne	.L1144
				nop
		.L1140:
 1426         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
		.L1144:
		.LBE222:
		.LBE221:
 1427         %STOP ; %FINISH
 1428      I=ASL                               ;! POINTER TO TOP CELL OF ASL
				movl	(%eax), %edx
				movl	%edx, -20(%ebp)
 1429      ASL=LINK(ASL)                       ;! ASL POINTER TO NEXT CELL DOWN
				movl	(%eax), %edx
				addl	$2292, %edx
				movl	12(%eax,%edx,4), %edx
				movl	%edx, (%eax)
 1430      TAG(I)=0                            ;! CLEAR NEW CELL OUT
				movl	-20(%ebp), %edx
				addl	$3520, %edx
				movl	$0, 4(%eax,%edx,4)
 1431      LINK(I)=0
				movl	-20(%ebp), %edx
				addl	$2292, %edx
				movl	$0, 12(%eax,%edx,4)
 1432      %RESULT=I                           ;! INDEX TO NEW CELL
				movl	-20(%ebp), %eax
 1433 %END
				movl	-12(%ebp), %ebx
				xorl	%gs:20, %ebx
				je	.L1142
				call	__stack_chk_fail_local
		.L1142:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE229:
		RETURNCELL.6039:
		.LFB230:
 1434 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1435 %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
 1436 ! DEALLOCATE CELL AND RETURN IT TO ASL
 1437 %INTEGER J
 1438      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)
 1439      LINK(I)=ASL                         ;! LINK TO TOP OF ASL
				movl	(%eax), %edx
				movl	8(%ebp), %ecx
				addl	$2292, %ecx
				movl	%edx, 12(%eax,%ecx,4)
 1440      ASL=I                               ;! ASL POINTER TO RETURNED CELL
				movl	8(%ebp), %edx
				movl	%edx, (%eax)
 1441      %RESULT=J                           ;! RETURN VALUE OF LINK
				movl	-16(%ebp), %eax
 1442 %END
				movl	-12(%ebp), %ecx
				xorl	%gs:20, %ecx
				je	.L1147
				call	__stack_chk_fail_local
		.L1147:
				leave
				ret
		.LFE230:
		PRINTNAME.6041:
		.LFB231:
 1443 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1444 %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
 1445 ! PRINT NAME FROM HASH POSITION
 1446 %INTEGER J,K,L,M
 1447      J=TAG(I)                             ;! POINTER TO CH ARRAY
				movl	8(%ebp), %eax
				addl	$3520, %eax
				movl	4(%esi,%eax,4), %eax
				movl	%eax, -32(%ebp)
 1448      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)
 1449      L=K>>24                              ;! NUMBER OF CHARS IN NAME
				movl	-28(%ebp), %eax
				shrl	$24, %eax
				movl	%eax, -24(%ebp)
 1450      M=16                                 ;! FIRST SHIFT VALUE
				movl	$16, -20(%ebp)
		.L1149:
 1451 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:
 1452      L=L-1
				subl	$1, -24(%ebp)
 1453      %IF L=0 %THEN %START
				cmpl	$0, -24(%ebp)
				jne	.L1158
				movl	$2, -16(%ebp)
		.LBB225:
		.LBB226:
				subl	$12, %esp
				pushl	-16(%ebp)
				call	_imp_spaces@PLT
				addl	$16, %esp
		.LBE226:
		.LBE225:
				nop
		.L1151:
 1454         SPACES(2)
 1455         %RETURN ; %FINISH
				nop
 1456      M=M-8                                ;! NEXT SHIFT VALUE
				subl	$8, -20(%ebp)
 1457      %IF M<0 %THEN %START
				cmpl	$0, -20(%ebp)
				jns	.L1159
				nop
		.L1154:
 1458         J=J+1
				addl	$1, -32(%ebp)
 1459         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)
 1460         M=24
				movl	$24, -20(%ebp)
				jmp	.L1149
		.L1159:
 1461         %FINISH
 1462      ->L1
				jmp	.L1149
		.L1157:
				call	__stack_chk_fail_local
		.L1155:
				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:
 1463 %END
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L1155
				jmp	.L1157
		.L1158:
 1464 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 1465 %ENDOFPROGRAM
 1396 Statements compiled
