         Edinburgh IMP77 Compiler - Version 8.4

    1 %BEGIN;                               !HAL-70
		.Ltext0:
		CHAR.8460:
		.LFB203:
		.LVL629:
				leal	4(%esp), %ecx
				andl	$-16, %esp
				pushl	-4(%ecx)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				pushl	%ecx
				subl	$2272, %esp
				call	__x86.get_pc_thunk.di
				addl	$_GLOBAL_OFFSET_TABLE_, %edi
				movl	%edi, %esi
				movl	%edi, -2256(%ebp)
				movl	(%ecx), %eax
				movl	4(%ecx), %edx
				movl	%gs:20, %ecx
				movl	%ecx, -28(%ebp)
				xorl	%ecx, %ecx
				leal	8(%ebp), %ecx
				movl	%ecx, -2080(%ebp)
    2 !    INPUT/OUTPUT STREAMS
    3 %OWNINTEGER MAIN=1, PRE=2;            !INPUT
				pushl	%edx
				pushl	%eax
				movl	%edi, %ebx
				call	_imp_initialise@PLT
		.LVL630:
				addl	$8, %esp
		.LVL631:
		.LBB197:
		.LBB198:
    4 %OWNINTEGER BIN=1, LIS=2;             !OUTPUT
    5 !    OPERAND TYPES
    6 %OWNINTEGER OPMASK=16_F000;           !MACHINE INSTRUCTION OR MACRO
    7 %OWNINTEGER MACRO=16_A000
    8 %OWNINTEGER SINGLE=16_5000
    9 %OWNINTEGER FMASK=16_0800;            !FORWARD REF
   10 %OWNINTEGER OPFMASK=16_F800;          !=OPMASK+FMASK
   11 %OWNINTEGER UMASK=16_0200;            !UNDEF (FORWARD REF)
   12 %OWNINTEGER BMASK=16_0100;            !BYTE
   13 %OWNINTEGER REG=16_0080;              !REGISTER
   14 %OWNINTEGER MEMMASK=16_0040;          !MEM REF
   15 %OWNINTEGER RELMASK=16_0020;          !RELOCATABLE
   16 %OWNINTEGER XMASK=16_0010;            !INDEXED
   17 %OWNINTEGER REGXMASK=16_0090;         !=REG+XMASK
   18 %OWNINTEGER RELUXMASK=16_0230;        !=RELMASK+UMASK+XMASK
   19 !    TEXT POINTERS (BYTE ADDRESSES)
   20 %OWNINTEGER CODEPOS;                  !(NOT ACTUALLY BYTE)
   21 %OWNINTEGER STARTPOS;                 !START OF CURRENT LINE
   22 %OWNINTEGER GETPOS;                   !INPUT POINTER (NEXT)
   23 %OWNINTEGER PUTPOS
   24 %OWNINTEGER PSEUDOLIM
   25 %OWNINTEGER PRINTPOS;                 !START OF PRINT LINE
   26 %OWNINTEGER FAULTPOS
   27 %OWNINTEGER MACLIM;                   !MACRO DEF LIMIT
   28 !    OTHER POINTERS (WORD ADDRESSES)
   29 %OWNINTEGER MP;                       !MACRO-CALL PARAMETERS
   30 %OWNINTEGER QBASE,QSTART,QLIM,TRANSF; !OPERAND QUEUE
   31 %OWNINTEGER DEFMIN;                   !TAG MIN (DOWN - RESET)
   32 %OWNINTEGER DEFLIM;                   !TAG LIM (FIXED)
   33 %OWNINTEGER ALMAX;                    !ASSEMBLER LAB MAX (UP - RESET)
   34 %OWNINTEGER LABMIN;                   !USER LAB MIN (DOWN - RESET)
   35 %OWNINTEGER LABLIM;                   !USER LAB LIM (FIXED)
   36 %OWNINTEGER BP;                       !BLOCK POINTER (UP - DOWN)
   37 %OWNINTEGER NP;                       !NEST POINTER (DOWN - UP)
   38 %OWNINTEGER STORELIM;                 !(FIXED)
   39 
   40 %INTEGER SYM;                         !CURRENT SYMBOL
   41 %INTEGER TERM;                        !TAG TERMINATOR
   42 %INTEGER FSYM;                        !FAULT FLAG SYMBOL
   43 %OWNINTEGER CHARS=0;                  !PRINT CHAR COUNT
   44 %OWNINTEGER LINES=0;                  !PRINT LINE COUNT
   45 %OWNINTEGER BINCOUNT=0;               !OUTPUT RECORD ITEM COUNT
   46 %OWNINTEGER CHECK=0;                  !OUTPUT RECORD CHECKSUM
   47 %OWNINTEGER PASS=-1;                  !CURRENT PASS (-1,0,1)
   48 %OWNINTEGER LIST=-1;                  !LISTING CONTROL
   49 %INTEGER ASSCOND,SKIP;                !ASSEMBLY CONDITIONS (BIT NEST)
   50 %OWNINTEGER SAVE=1;                   !REG SAVE DISPLACEMENT
   51 %OWNINTEGER TEMPS=12;                 !TEMPORARY REGISTER SET (2,3)
   52 %INTEGER LOCTYPE,LOC;                 !LOCATION COUNTER
   53 %INTEGER ACC,ATYPE,AVAL;              !MAIN TEMP REGISTER
   54 %INTEGER CREG,CTYPE,CVAL;             !CONDITION CODE
   55 %INTEGER COND;                        !CONDITION CODE MASK
   56 %INTEGER DREG,DUSE;                   !DESTINATION REGISTER
   57 %INTEGER TYPE,VAL;                    !CURRENT TYPE,VALUE
   58 %INTEGER TAG1,TAG2;                   !TAG (CHARS 1:3, 4:6)
   59 %INTEGER MODE;                        !ASSEMBLY MODE
   60 %INTEGER PEND;                        !TAG ALREADY RECOGNISED
   61 %INTEGER FLAG;                        !JUMPS / AHM
   62 %OWNINTEGER QQ='?'
   63 
   64 %OWNINTEGERARRAY BREC(1:52);          !BINARY OUTPUT RECORD
   65 
   66 !!%INTEGER SBOUND
   67 %constINTEGER SBOUND = 16_7F00
   68 !!    SBOUND = FREESTORE-260;           !ALLOW FOR INPUT BUFFER
   69 !!    SBOUND = SBOUND-256 %IF OUTDEV = 2
   70     SELECT OUTPUT(LIS)
   71 !!    SBOUND = SBOUND-256 %IF OUTDEV = 2
   72 
   73 !! Simulate 18-bit word-addressed PDP9/15 memory:
   74 
   75 %ownINTEGERARRAY STORE(1:SBOUND)
   76 
   77 %integerfn integer(%integer p)
		.LVL111:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$540, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%eax, %ebp
				movl	%gs:20, %eax
				movl	%eax, 524(%esp)
				xorl	%eax, %eax
		.LVL112:
   78     %if p&1 # 0 %start
				testl	$1, %ebp
				jne	.L166
		.L163:
   79       printstring("Integer fetch was not aligned at "); write(p, -1); newline
				leal	12(%esp), %edi
				leal	.LC5@GOTOFF(%ebx), %esi
				movl	$64, %ecx
				rep movsl
				leal	268(%esp), %edi
				leal	12(%esp), %esi
				movl	$64, %ecx
				rep movsl
		.LBB109:
		.LBB110:
   80       %stop
				movl	$0, (%esp)
				call	exit@PLT
		.LVL118:
		.L167:
   81     %finish
   82     %result = store(P>>1)
				shrl	%ebp
		.LVL113:
				movl	-4+STORE.8452@GOTOFF(%ebx,%ebp,4), %eax
   83 %end
   84 
				movl	524(%esp), %edx
				xorl	%gs:20, %edx
				jne	.L167
				addl	$540, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LVL114:
		.L166:
				call	__stack_chk_fail_local
		.LVL119:
		.LFE202:
		SETLAB.8605:
		.LFB222:
   85 %INTEGERFN CHAR(%INTEGER P)
		.LVL0:
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
   86 !BYTE FETCH
   87 
   88     %integer val = store(p>>1)
				movl	%eax, %ecx
				shrl	%ecx
				movl	-4+STORE.8452@GOTOFF(%edx,%ecx,4), %edx
		.LVL1:
   89     %if p&1 = 0 %start
				andl	$1, %eax
		.LVL2:
   90       %result = val&255
				movzbl	%dl, %ecx
				movzbl	%dh, %edx
		.LVL3:
				movl	%ecx, %eax
				cmovne	%edx, %eax
   91     %else
   92       %result = (val>>8)&255
   93     %finish
   94     
   95 !!    %OPR 2064;!RCR;  %DAC P
   96 !!    %LAC* P;  %OPR 768;!SZL;  %JMP L1
   97 !!    %OPR 1040;!RTR;  %OPR 1040
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				pushl	32(%esp)
				leal	.LC7@GOTOFF(%edi), %eax
				pushl	%eax
				pushl	$1
		.LBE190:
		.LBE189:
   98 !!    %OPR 1040;  %OPR 1040
   99 !!L1: %AND #255;  %JMP* CHAR
  100 !!    %STOP
  101 
  102 %END
  103 
				ret
		.L2:
		.LFE203:
		SETINTEGER.8467:
		.LFB204:
  104 %routine set integer(%integer p, k)
		.LVL4:
				call	__x86.get_pc_thunk.cx
				addl	$_GLOBAL_OFFSET_TABLE_, %ecx
				subl	$12, %esp
				movl	-2256(%ebp), %ebx
				leal	.LC9@GOTOFF(%ebx), %eax
				pushl	%eax
				call	puts@PLT
		.LVL642:
				addl	$16, %esp
				jmp	.L713
		.LVL643:
		.L924:
		.LBE201:
		.LBE200:
		.LBB202:
		.LBB203:
				subl	$12, %esp
				movl	-2256(%ebp), %ebx
				leal	.LC10@GOTOFF(%ebx), %eax
				pushl	%eax
				call	puts@PLT
		.LVL644:
				addl	$16, %esp
				jmp	.L714
		.LVL645:
		.L925:
		.LBE203:
		.LBE202:
		.LBB204:
		.LBB205:
				subl	$12, %esp
				movl	-2256(%ebp), %ebx
				leal	.LC11@GOTOFF(%ebx), %eax
				pushl	%eax
				call	puts@PLT
		.LVL646:
				addl	$16, %esp
				jmp	.L715
		.LVL647:
		.L717:
		.LDL36:
		.LBE205:
		.LBE204:
		.LBE212:
  105     store(p>>1) = k
				shrl	%eax
		.LVL5:
				movl	%edx, -4+STORE.8452@GOTOFF(%ecx,%eax,4)
		.LDL1:
  106 %end
  107 
  108 %ROUTINE PUT CHAR(%INTEGER K)
				ret
		.LFE204:
		PUTCHAR.8471:
		.LFB205:
		.LVL6:
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.cx
				addl	$_GLOBAL_OFFSET_TABLE_, %ecx
				movl	%eax, %edi
  109 !AT PUTPOS WITH POST-INCREMENT
  110 %INTEGER P
  111 !!    %MONITOR 21 %IF PUTPOS>>1-DEFMIN >= 0
  112 !{}    %signal 2,1 %IF PUTPOS>>1-DEFMIN >= 0
  113 
  114     p = store(putpos>>1)
				movl	PUTPOS.8401@GOTOFF(%ecx), %edx
				movl	%edx, %ebx
				shrl	%ebx
				leal	-4+STORE.8452@GOTOFF(%ecx,%ebx,4), %ebx
				movl	(%ebx), %esi
		.LVL7:
  115     %if putpos&1 = 0 %start
				testb	$1, %dl
				je	.L9
		.L6:
  116       p = (p&16_FF00) ! (K&255)
				andl	$65280, %esi
		.LVL13:
				movzbl	%al, %eax
		.LVL14:
				orl	%esi, %eax
		.LVL15:
  117     %else
				jmp	.L7
		.LFE205:
		FAULT.8478:
		.LFB206:
		.LVL16:
  118       p = (p&16_00FF) ! ((K&255)<<8)
				movl	%esi, %eax
		.LVL8:
				movzbl	%al, %esi
		.LVL9:
				movl	%edi, %eax
				sall	$8, %eax
				movzwl	%ax, %eax
				orl	%esi, %eax
		.LVL10:
		.L7:
  119     %finish
  120     store(putpos>>1) = p
				movl	%eax, (%ebx)
  121 
  122 !!    %LAC PUTPOS;  %OPR 2064;!RCR;  %DAC P
  123 !!    %OPR 768;!SZL;  %JMP L1
  124 !!    %LAC K;  %OPR 1032;!RTL;  %OPR 1032
  125 !!    %OPR 1032;  %OPR 1032;  %DAC K
  126 !!    %LAC #-256;  %OPR 513;!SKP!CMA
  127 !!L1: %LAC #-256;  %AND* P;  %TAD K;  %DAC* P
  128 !!    %ISZ PUTPOS
  129 
  130     putpos = putpos+1
				addl	$1, %edx
				movl	%edx, PUTPOS.8401@GOTOFF(%ecx)
		.LDL2:
  131 %END
  132 
  133 %ROUTINE FAULT(%INTEGER K)
				popl	%ebx
				popl	%esi
				popl	%edi
		.LVL11:
				ret
		.LVL12:
		.L9:
  134 !RECORD (FIRST) FAULT
  135 !NOT NECESSARILY CULPABLE IN PASS 0
  136     FSYM = K %IF FSYM = ' '
				cmpl	$32, 80(%ecx)
				je	.L13
		.L11:
		.L12:
		.L10:
				movl	%eax, 80(%ecx)
				jmp	.L10
		.LFE206:
		PRINT.8483:
		.LFB207:
		.LVL17:
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%eax, %edx
  137 %END
  138 
  139 %ROUTINE PRINT(%INTEGER K)
				rep ret
		.L13:
  140 !!    INTEGER(CODEPOS+CHARS) = K
  141     set INTEGER(CODEPOS+CHARS, K)
				movl	CHARS.8422@GOTOFF(%esi), %ebx
				movl	%ebx, %eax
		.LVL18:
				addl	CODEPOS.8398@GOTOFF(%esi), %eax
				call	SETINTEGER.8467
		.LVL19:
  142     CHARS = CHARS+1
				addl	$1, %ebx
				movl	%ebx, CHARS.8422@GOTOFF(%esi)
		.LDL3:
  143 %END
  144 
  145 %ROUTINE PRINT WORD(%INTEGER V)
				popl	%ebx
				popl	%esi
				ret
		.LFE207:
		PRINTHIT.8491:
		.LFB209:
		.LVL340:
				pushl	%ebx
				movl	%eax, %ebx
		.LVL341:
		.LBB169:
		.LBB170:
  146     %ROUTINE PRINT HIT(%INTEGER V)
		.LVL20:
  147         V = V&15+'0';  V = V+7 %IF V > '9'
				andl	$15, %eax
		.LVL21:
				movl	%eax, %edx
				leal	48(%eax), %eax
		.LVL22:
				addl	$55, %edx
				cmpl	$57, %eax
				cmovg	%edx, %eax
		.LVL23:
		.L17:
  148         PRINT(V)
				call	PRINT.8483
		.LVL24:
		.LDL4:
  149     %END
  150     %ROUTINE PRINT1(%INTEGER V)
  151         PRINT HIT(V>>4);  PRINT HIT(V)
				rep ret
		.LFE209:
		PUT.8539:
		.LFB215:
				shrl	$12, %eax
		.LVL342:
				call	PRINTHIT.8491
		.LVL343:
		.LBE170:
		.LBE169:
				call	PRINTHIT.8491
		.LVL345:
		.LDL25:
		.LBE171:
		.LBE172:
		.LBB173:
		.LBB174:
				movl	%ebx, %eax
				shrl	$4, %eax
				call	PRINTHIT.8491
		.LVL346:
				movl	%ebx, %eax
				call	PRINTHIT.8491
		.LVL347:
		.LDL26:
		.LDL27:
		.LBE174:
		.LBE173:
  152     %END
  153     PRINT1(V>>8);  PRINT1(V)
				movl	%ebx, %eax
				shrl	$8, %eax
		.LVL344:
		.LBB172:
		.LBB171:
  154 %END
  155 
  156 %ROUTINE PRINT LOC
				popl	%ebx
		.LVL348:
				ret
		.LFE208:
		PRINTLOC.8500:
		.LFB211:
				pushl	%ebx
				movl	%ecx, %ebx
  157     PRINT WORD(LOC)
				movl	76(%ecx), %eax
				call	PRINTWORD.8487
		.LVL349:
  158     %IF LOCTYPE&RELMASK # 0 %THEN PRINT('''') %ELSE PRINT(' ')
				testb	$32, 72(%ebx)
				jne	.L411
		.L408:
				movl	$32, %eax
				call	PRINT.8483
		.LVL350:
		.L409:
				movl	$39, %eax
				call	PRINT.8483
		.LVL352:
				jmp	.L409
		.LFE211:
		PRINTLINE.8511:
		.LFB213:
  159     PRINT(' ')
				movl	$32, %eax
				call	PRINT.8483
		.LVL351:
		.LDL28:
  160 %END
  161 
  162 %ROUTINE DO NEWLINE
				pushl	%ebx
				subl	$8, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
		.LBB105:
		.LBB106:
				popl	%ebx
				ret
		.L411:
  163     NEWLINE;  LINES = LINES+1
				movl	LINES.8423@GOTOFF(%ebx), %eax
				addl	$1, %eax
				movl	%eax, LINES.8423@GOTOFF(%ebx)
  164     NEWLINES(2) %AND LINES = 0 %IF LINES = 61
				cmpl	$61, %eax
				je	.L161
		.L158:
		.L159:
		.L157:
				movl	$0, LINES.8423@GOTOFF(%ebx)
		
				addl	$16, %esp
				jmp	.L157
		.LFE212:
				.section	.rodata
				.align 32
		.LC5:
				.byte	33
				.string	"Integer fetch was not aligned at "
		
		
		
		
				.zero	221
		
		
		
		
		INTEGER.8454:
		.LFB202:
  165 %END
  166 
  167 %ROUTINE PRINT LINE
				addl	$8, %esp
				popl	%ebx
				ret
		.L161:
		.LVL109:
		.LBB107:
		.LBB108:
				pushl	%esi
				pushl	%ebx
				subl	$20, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%gs:20, %eax
				movl	%eax, 12(%esp)
				xorl	%eax, %eax
				leal	32(%esp), %eax
				movl	%eax, 8(%esp)
				movl	%ecx, 4(%esp)
  168    %ROUTINE PRINTIT(%INTEGER SUB)
		.LVL301:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$28, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%eax, 12(%esp)
				movl	%ecx, %esi
  169    %OWNINTEGER MARKER=124;            !VERTICAL BAR
  170    %INTEGER P,Q,K
  171        %RETURN %IF CHARS = 0 %AND CHAR(PRINTPOS) = NL
				cmpl	$0, CHARS.8422@GOTOFF(%ebx)
				jne	.L389
				movl	PRINTPOS.8403@GOTOFF(%ebx), %eax
		.LVL302:
				call	CHAR.8460
		.LVL303:
				cmpl	$10, %eax
				je	.L388
		.L389:
		.LVL304:
		.LBB133:
		.LBB134:
  172        PRINT SYMBOL(FSYM);  SPACE
				movl	(%esi), %eax
				movsbl	80(%eax), %eax
		.LBB136:
		.LBB135:
  173        P = CODEPOS;  Q = P+CHARS
				movl	CODEPOS.8398@GOTOFF(%ebx), %esi
		.LVL308:
				movl	%esi, %edi
				addl	CHARS.8422@GOTOFF(%ebx), %edi
		.LVL309:
  174        PRINT SYMBOL(INTEGER(P)) %AND P=P+1 %WHILE P # Q
				addl	$16, %esp
				cmpl	%edi, %esi
				je	.L391
		.L392:
				movl	%esi, %eax
				call	INTEGER.8454
		.LVL310:
		.LBB139:
		.LBB140:
				movsbl	%al, %eax
		.LBB142:
		.LBB141:
				addl	$1, %esi
		.LVL312:
		.LDL21:
				addl	$16, %esp
				cmpl	%esi, %edi
				jne	.L392
		.L391:
  175        %RETURN %IF PRINTPOS = 0
				cmpl	$0, PRINTPOS.8403@GOTOFF(%ebx)
				jne	.L401
		.L390:
		.LVL313:
		.L388:
  176        SPACES(17-CHARS)
				movl	$17, %eax
				subl	CHARS.8422@GOTOFF(%ebx), %eax
		.LVL315:
		.LBB146:
		.LBB145:
  177        P = PRINTPOS;  Q = 0
				movl	PRINTPOS.8403@GOTOFF(%ebx), %edi
		.LVL317:
				addl	$16, %esp
				movl	$0, %ebp
				jmp	.L394
		.LVL318:
		.L402:
		.LBB147:
		.LBB148:
  178        %CYCLE
  179           PRINT SYMBOL(MARKER) %IF P = FAULTPOS
				cmpl	%edi, FAULTPOS.8404@GOTOFF(%ebx)
				je	.L402
		.L395:
  180           K = CHAR(P);  K = SUB %IF P = PSEUDOLIM
				movl	%edi, %eax
				call	CHAR.8460
		.LVL325:
				movl	%eax, %esi
		.LVL326:
				cmpl	%edi, PSEUDOLIM.8402@GOTOFF(%ebx)
				cmove	12(%esp), %esi
		.L396:
		.LVL327:
  181           PRINT SYMBOL('''') %IF (K!!Q)&128 # 0
				xorl	%esi, %ebp
		.LVL328:
				testl	$128, %ebp
				je	.L397
		.LVL329:
		.LBB153:
		.LBB154:
  182           %RETURN %IF K = NL
				cmpl	$10, %esi
				je	.L388
		.L398:
		.LVL321:
		.LBB149:
		.LBB150:
  183           PRINT SYMBOL(K&127)
				movl	%esi, %eax
				andl	$127, %eax
		.LBB152:
		.LBB151:
  184           P = P+1;  Q = K
				addl	$1, %edi
		.LVL323:
				movl	%esi, %ebp
  185        %REPEAT
				addl	$16, %esp
		.LVL324:
		.L394:
  186    %END
  187     %RETURN %IF PASS = 0
				cmpl	$0, PASS.8426@GOTOFF(%ebx)
				je	.L412
				movl	%ecx, %esi
		.L414:
  188     %UNLESS LIST < 0 %OR (PRINTPOS=0 %AND FSYM=' ' %AND LIST&1=0) %START
				addl	$28, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LVL314:
		.L401:
		.L393:
		.LBB143:
		.LBB144:
				movl	LIST.8427@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				js	.L415
				cmpl	$0, PRINTPOS.8403@GOTOFF(%ebx)
				jne	.L416
				cmpl	$32, 80(%ecx)
				je	.L423
		.L416:
				testb	$1, %al
				je	.L417
				jmp	.L416
		.L424:
		.LVL360:
		.LBB183:
		.LBB184:
				subl	$12, %esp
				pushl	$3
				call	_imp_newlines@PLT
		.LVL361:
				addl	$16, %esp
				jmp	.L418
		.LVL362:
		.L425:
		.LBE184:
		.LBE183:
  189        NEWLINES(3) %IF LINES = 0
				cmpl	$0, LINES.8423@GOTOFF(%ebx)
				je	.L424
		.L418:
  190        PRINTIT(' ')
				leal	4(%esp), %ecx
				movl	$32, %eax
				call	PRINTIT.8515
		.LVL353:
  191        DO NEWLINE
				call	DONEWLINE.8506
		.LVL354:
		.L415:
  192     %FINISH
  193     %IF FSYM # ' ' %AND OUTDEV # 1 %START
				cmpl	$32, 80(%esi)
				je	.L417
		.LBB175:
		.LBB176:
				cmpl	$1, (%eax)
				je	.L417
		.LVL355:
		.LBB177:
		.LBB178:
  194        SELECT OUTPUT(0)
  195        PRINTPOS = STARTPOS %IF PRINTPOS = 0
				cmpl	$0, PRINTPOS.8403@GOTOFF(%ebx)
				jne	.L419
				movl	STARTPOS.8399@GOTOFF(%ebx), %eax
				movl	%eax, PRINTPOS.8403@GOTOFF(%ebx)
		.L419:
  196        PRINT LOC %IF CHARS = 0
				cmpl	$0, CHARS.8422@GOTOFF(%ebx)
				je	.L425
		.L420:
				movl	%esi, %ecx
				call	PRINTLOC.8500
		.LVL363:
				jmp	.L420
		.L426:
  197        PRINTIT(NL)
				leal	4(%esp), %ecx
				movl	$10, %eax
				call	PRINTIT.8515
		.LVL357:
		.LBB179:
		.LBB180:
  198        NEWLINE
  199        SELECT OUTPUT(LIS)
  200     %FINISH
  201     FSYM = ' ';  PRINTPOS = 0;  CHARS = 0
				movl	$32, 80(%esi)
				movl	$0, PRINTPOS.8403@GOTOFF(%ebx)
		
				movl	$0, CHARS.8422@GOTOFF(%ebx)
		
		.L413:
		.L412:
  202 %END
  203 
  204 %ROUTINE PUT(%INTEGER V)
		.LVL25:
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
		.LVL26:
				movl	12(%esp), %eax
				xorl	%gs:20, %eax
				jne	.L426
				addl	$20, %esp
				popl	%ebx
				popl	%esi
				ret
		.L423:
				call	__stack_chk_fail_local
		.LVL364:
		.LFE213:
		PLANTVAL.8579:
		.LFB220:
  205 !STORE 4-BIT ITEM IN BINARY RECORD
  206 %OWNINTEGER HOLD=0
  207     V = V&15
				andl	$15, %eax
		.LVL27:
				addl	%ecx, %eax
		.LVL28:
				movl	%eax, HOLD.8542@GOTOFF(%edx)
  208     HOLD = HOLD<<4+V
				movl	HOLD.8542@GOTOFF(%edx), %ecx
				sall	$4, %ecx
  209     BINCOUNT = BINCOUNT+1
				movl	BINCOUNT.8424@GOTOFF(%edx), %ecx
				addl	$1, %ecx
				movl	%ecx, BINCOUNT.8424@GOTOFF(%edx)
  210     %IF BINCOUNT&3 = 0 %START
				testb	$3, %cl
				jne	.L18
  211        BREC(BINCOUNT>>2) = HOLD
				shrl	$2, %ecx
				movl	%eax, -4+BREC.8451@GOTOFF(%edx,%ecx,4)
  212        CHECK = CHECK!!HOLD
				xorl	%eax, CHECK.8425@GOTOFF(%edx)
  213        HOLD = 0
				movl	$0, HOLD.8542@GOTOFF(%edx)
		
		.L19:
		.L20:
		.L18:
  214     %FINISH
  215 %END
  216 
  217 %ROUTINE PUT WORD(%INTEGER V)
				rep ret
		.LFE215:
		NEST.8601:
		.LFB221:
		.LVL331:
				pushl	%ebx
				movl	%eax, %ebx
		.LVL332:
		.LBB159:
		.LBB160:
  218     %ROUTINE PUT1(%INTEGER V)
  219         PUT(V>>4);  PUT(V)
				shrl	$12, %eax
		.LVL333:
				call	PUT.8539
		.LVL334:
		.LBE160:
		.LBE159:
				call	PUT.8539
		.LVL336:
		.LDL22:
		.LBE161:
		.LBE162:
		.LBB163:
		.LBB164:
				movl	%ebx, %eax
				shrl	$4, %eax
				call	PUT.8539
		.LVL337:
				movl	%ebx, %eax
				call	PUT.8539
		.LVL338:
		.LDL23:
		.LDL24:
		.LBE164:
		.LBE163:
  220     %END
  221     PUT1(V>>8);  PUT1(V)
				movl	%ebx, %eax
				shrl	$8, %eax
		.LVL335:
		.LBB162:
		.LBB161:
  222 %END
  223 
  224 %ROUTINE OUTPUT RECORD
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				popl	%ebx
		.LVL339:
				ret
		.LFE216:
		PRINTWORD.8487:
		.LFB208:
  225 %OWNINTEGER SEQ=0
  226 %INTEGER I
  227     %ROUTINE OUTPUT WORD(%INTEGER W)
		.LVL281:
				pushl	%esi
				pushl	%ebx
				subl	$16, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%eax, %esi
		.LVL282:
  228         PRINT CH(W>>8&255);  PRINT CH(W&255)
				movsbl	%ah, %eax
		.LVL283:
		.LBB121:
		.LBB122:
				movl	%esi, %eax
				movsbl	%al, %esi
		.LVL285:
		.LBB123:
		.LBB124:
  229     %END
  230     PUT(0) %WHILE BINCOUNT # 208
				cmpl	$208, BINCOUNT.8424@GOTOFF(%ebx)
		
				je	.L378
		.L379:
				movl	$0, %eax
				call	PUT.8539
		.LVL287:
		.LDL17:
				cmpl	$208, BINCOUNT.8424@GOTOFF(%ebx)
		
				jne	.L379
		.L378:
		.LVL288:
		.LBB125:
		.LBB126:
  231     SELECT OUTPUT(BIN)
				addl	$20, %esp
				popl	%ebx
				popl	%esi
				ret
		.LFE219:
		OUTPUTRECORD.8553:
		.LFB218:
  232     %CYCLE I = 1,1,10
  233        PRINT CH(0);                   !RUNOUT
  234     %REPEAT
  235     PRINT CH(16_F0);                  !HEADER CODE
				addl	$16, %esp
				subl	$1, %esi
		.LVL292:
				jne	.L380
		.L381:
		.LVL293:
		.LBB129:
		.LBB130:
  236     SEQ = SEQ-1
				movl	SEQ.8556@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, SEQ.8556@GOTOFF(%ebx)
  237     OUTPUT WORD(SEQ);                 !SEQUENCE NUMBER
				call	OUTPUTWORD.8559
		.LVL295:
  238     OUTPUT WORD(\(CHECK!!SEQ));       !CHECKSUM
				movl	CHECK.8425@GOTOFF(%ebx), %eax
				xorl	SEQ.8556@GOTOFF(%ebx), %eax
				notl	%eax
				call	OUTPUTWORD.8559
		.LVL296:
				leal	BREC.8451@GOTOFF(%ebx), %esi
				leal	208+BREC.8451@GOTOFF(%ebx), %edi
				addl	$16, %esp
		.LVL297:
		.L382:
  239     %CYCLE I = 1,1,52
  240        OUTPUT WORD(BREC(I))
				movl	(%esi), %eax
				call	OUTPUTWORD.8559
		.LVL298:
		.LDL19:
				addl	$4, %esi
  241     %REPEAT
  242     BINCOUNT = 0;  CHECK = 0
				cmpl	%esi, %edi
				jne	.L382
		.L383:
				movl	$0, BINCOUNT.8424@GOTOFF(%ebx)
		
				movl	$0, CHECK.8425@GOTOFF(%ebx)
		
		.LVL299:
		.LBB131:
		.LBB132:
  243     SELECT OUTPUT(LIS)
  244 %END
  245 
  246 %ROUTINE PLANT VAL
				popl	%ebx
				popl	%esi
				popl	%edi
				ret
		.LFE218:
		PRINTIT.8515:
		.LFB214:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$12, %esp
				call	__x86.get_pc_thunk.di
				addl	$_GLOBAL_OFFSET_TABLE_, %edi
				movl	%ecx, %ebx
  247 %INTEGER I,J
  248     TYPE = 0 %IF TYPE = SINGLE
				movl	68(%ecx), %eax
				cmpl	$20480, %eax
				je	.L446
		.L428:
		.LVL365:
				movl	$0, 68(%ecx)
		.LVL370:
  249     I = 2;  I = 4 %IF TYPE&OPMASK # 0
				andl	$61440, %eax
				cmpl	$1, %eax
				sbbl	%esi, %esi
				andl	$-2, %esi
				addl	$4, %esi
		.L429:
		.LVL366:
				movl	$2, %esi
				jmp	.L429
		.LVL371:
		.L447:
  250     %IF PASS > 0 %START
				cmpl	$0, PASS.8426@GOTOFF(%edi)
				jle	.L443
  251        OUTPUT RECORD %IF BINCOUNT+I+I >= 208
				movl	%esi, %eax
				addl	BINCOUNT.8424@GOTOFF(%edi), %eax
				addl	%esi, %eax
				cmpl	$207, %eax
				jg	.L447
		.L431:
				call	OUTPUTRECORD.8553
		.LVL372:
				jmp	.L431
		.L448:
  252        %IF I = 4 %START
				cmpl	$4, %esi
				je	.L448
		.L432:
  253           %IF TYPE&16_4000 = 0 %START
				testb	$64, 69(%ebx)
				jne	.L433
  254              PUT(11);  J = TYPE!!OPMASK
				movl	$11, %eax
				call	PUT.8539
		.LVL373:
				movl	68(%ebx), %ebp
				xorl	$61440, %ebp
		.LVL374:
  255              TYPE = RELMASK
				movl	$32, 68(%ebx)
		.L434:
  256           %finish %ELSE %START
  257              PUT(10);  J = TYPE;  TYPE = 0
				movl	$10, %eax
				call	PUT.8539
		.LVL381:
				movl	68(%ebx), %ebp
		.LVL382:
				movl	$0, 68(%ebx)
				jmp	.L434
		.L449:
  258           %FINISH
  259           PUT WORD(J)
				movl	%ebp, %eax
				call	PUTWORD.8545
		.LVL375:
  260           PRINT LINE %IF CHARS # 0
				cmpl	$0, CHARS.8422@GOTOFF(%edi)
				jne	.L449
		.L435:
				movl	%ebx, %ecx
				call	PRINTLINE.8511
		.LVL383:
				jmp	.L435
		.LVL384:
		.L437:
  261           PRINT LOC
				movl	%ebx, %ecx
				call	PRINTLOC.8500
		.LVL376:
  262           PRINT WORD(J);  PRINT(' ')
				movl	%ebp, %eax
				call	PRINTWORD.8487
		.LVL377:
				movl	$32, %eax
				call	PRINT.8483
		.LVL378:
		.L436:
		.L440:
  263        %finish %ELSE %START
  264           %IF TYPE&RELMASK # 0 %THEN PUT(9) %ELSE PUT(8)
				testb	$32, 68(%ebx)
				je	.L437
				movl	$9, %eax
				call	PUT.8539
		.LVL367:
		.L438:
				movl	$8, %eax
				call	PUT.8539
		.LVL385:
				jmp	.L438
		.L439:
  265           %IF CHARS # 0 %THEN PRINT(' ') %ELSE PRINT LOC
				cmpl	$0, CHARS.8422@GOTOFF(%edi)
				je	.L439
				movl	$32, %eax
				call	PRINT.8483
		.LVL368:
				jmp	.L440
		.LVL369:
		.L446:
				movl	%ebx, %ecx
				call	PRINTLOC.8500
		.LVL386:
				jmp	.L440
		.L450:
  266        %FINISH
  267        PUT WORD(VAL);  PRINT WORD(VAL)
				movl	64(%ebx), %eax
				call	PUTWORD.8545
		.LVL379:
				movl	64(%ebx), %eax
				call	PRINTWORD.8487
		.LVL380:
  268        PRINT('''') %IF TYPE&RELMASK # 0
				testb	$32, 68(%ebx)
				jne	.L450
		.L441:
				movl	$39, %eax
				call	PRINT.8483
		.LVL387:
		.LDL29:
  269        PRINT LINE %IF TYPE&RELMASK#0 %OR CHARS=15
				cmpl	$15, CHARS.8422@GOTOFF(%edi)
				jne	.L443
				jmp	.L442
		.L433:
				testb	$32, 68(%ebx)
				je	.L441
		.L442:
				movl	%ebx, %ecx
				call	PRINTLINE.8511
		.LVL388:
		.L430:
		.L443:
  270     %FINISH
  271     LOC = LOC+I
				addl	%esi, 76(%ebx)
		.LDL30:
  272 %END
  273 
  274 %ROUTINE NEST(%INTEGER K)
		.LVL29:
				pushl	%ebx
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%eax, %edx
				addl	$12, %esp
				popl	%ebx
				popl	%esi
		.LVL389:
				popl	%edi
				popl	%ebp
				ret
		.LFE220:
		PLANTJUMP.8708:
		.LFB225:
  275 !!    NP = NP-1;  %MONITOR 23 %IF NP = BP
  276     NP = NP-1;  !{}%signal 2,3 %IF NP = BP
				movl	NP.8417@GOTOFF(%ebx), %ecx
				leal	-1(%ecx), %eax
		.LVL30:
				movl	%eax, NP.8417@GOTOFF(%ebx)
  277 !!    INTEGER(NP) = K
  278     set INTEGER(NP, K)
				call	SETINTEGER.8467
		.LVL31:
		.LDL5:
  279 %END
  280 
  281 %ROUTINE SET LAB(%INTEGER DEST)
				popl	%ebx
				ret
		.LFE221:
		FORMINST.8689:
		.LFB224:
		.LVL120:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$12, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%eax, %ebp
				movl	%ecx, %ebx
		.LVL121:
  282 %INTEGER D
  283     D = DEST
				movl	%eax, %edi
				jmp	.L169
		.LVL122:
		.L180:
  284     %CYCLE
  285        TYPE = INTEGER(NP)&16_FFF+DEFLIM; !DEST SLOT
				movl	NP.8417@GOTOFF(%esi), %eax
				call	INTEGER.8454
		.LVL124:
				andl	$4095, %eax
				addl	DEFLIM.8412@GOTOFF(%esi), %eax
				movl	%eax, 68(%ebx)
  286        NP = NP+1
				movl	NP.8417@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, NP.8417@GOTOFF(%esi)
  287        VAL = INTEGER(NP);             !LOC OF JUMP
				call	INTEGER.8454
		.LVL125:
				movl	%eax, 64(%ebx)
  288        NP = NP+1
				addl	$1, NP.8417@GOTOFF(%esi)
  289        ATYPE = -1;  CREG = -1
				movl	$-1, 60(%ebx)
				movl	$-1, 56(%ebx)
  290        FLAG = 0;  FLAG = 2 %IF (D-VAL)>>1+PASS <= 16
				movl	$0, 52(%ebx)
				movl	PASS.8426@GOTOFF(%esi), %edx
				movl	%edi, %ecx
				subl	%eax, %ecx
				sarl	%ecx
				addl	%edx, %ecx
				cmpl	$16, %ecx
				jg	.L170
				movl	$2, 52(%ebx)
		.L170:
  291        VAL = VAL-FLAG
				movl	52(%ebx), %ecx
				subl	%ecx, %eax
				movl	%eax, 64(%ebx)
  292        %IF PASS = 0 %START
				testl	%edx, %edx
				jne	.L171
  293 !!          D = D-FLAG;  INTEGER(TYPE) = D
  294           D = D-FLAG;  set INTEGER(TYPE, D)
				subl	%ecx, %edi
		.LVL126:
				movl	68(%ebx), %eax
				movl	%edi, %edx
				call	SETINTEGER.8467
		.LVL127:
  295           %IF FLAG # 0 %START
				cmpl	$0, 52(%ebx)
				jne	.L182
		.L172:
		.L174:
		.L175:
		.L176:
  296              LOC = LOC-2;  DEST = DEST-2
				subl	$2, 76(%ebx)
				subl	$2, %ebp
		.LVL131:
  297              %WHILE TYPE # ALMAX %CYCLE
				movl	68(%ebx), %eax
				cmpl	%eax, ALMAX.8413@GOTOFF(%esi)
				je	.L176
		.L173:
				movl	68(%ebx), %eax
				cmpl	%eax, ALMAX.8413@GOTOFF(%esi)
				jne	.L173
				jmp	.L176
		.L171:
  298 !!                TYPE = TYPE+1;  INTEGER(TYPE) = INTEGER(TYPE)-2
  299                 TYPE = TYPE+1;  set INTEGER(TYPE,  INTEGER(TYPE)-2)
				addl	$1, %eax
				movl	%eax, 68(%ebx)
				call	INTEGER.8454
		.LVL132:
				leal	-2(%eax), %edx
				movl	68(%ebx), %eax
				call	SETINTEGER.8467
		.LVL133:
		.LDL12:
  300              %REPEAT
  301           %FINISH
  302        %finish %ELSE %START
  303           FAULT('P') %IF INTEGER(TYPE) # D
				movl	68(%ebx), %eax
				call	INTEGER.8454
		.LVL134:
				cmpl	%edi, %eax
				je	.L176
				movl	%ebx, %ecx
				movl	$80, %eax
				call	FAULT.8478
		.LVL135:
				jmp	.L176
		.L177:
		.L168:
  304        %FINISH
  305        %RETURN %UNLESS INTEGER(NP)&16_1000 # 0
				movl	NP.8417@GOTOFF(%esi), %eax
				call	INTEGER.8454
		.LVL128:
				testb	$16, %ah
				je	.L168
		.L178:
  306        %IF INTEGER(NP)&16_2000 # 0 %START; !OR
				movl	NP.8417@GOTOFF(%esi), %eax
				call	INTEGER.8454
		.LVL129:
				testb	$32, %ah
				je	.L180
  307           D = VAL+4 %IF D = DEST
				cmpl	%edi, %ebp
				jne	.L169
				movl	64(%ebx), %eax
				leal	4(%eax), %edi
		.LVL130:
				jmp	.L169
		.L182:
  308        %finish %ELSE %START
  309           D = DEST
				movl	%ebp, %edi
		.LVL123:
		.L169:
  310        %FINISH
  311     %REPEAT
  312 %END
  313 
  314 %ROUTINE ASSEMBLE
				addl	$12, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
		.LVL136:
				popl	%ebp
		.LVL137:
				ret
		.LFE222:
		LOOKUP.8889:
		.LFB234:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$76, %esp
				call	__x86.get_pc_thunk.di
				addl	$_GLOBAL_OFFSET_TABLE_, %edi
				movl	%ecx, %ebx
				movl	%gs:20, %eax
				movl	%eax, 60(%esp)
				xorl	%eax, %eax
				leal	96(%esp), %eax
				movl	%eax, 56(%esp)
				movl	%ecx, 52(%esp)
  315 !   INTERDATA OP-CODES (+FORMATS)
  316 %OWNINTEGER LOAD=16_080F, LB=16_9303
  317 %OWNINTEGER ADD=16_0A0F, SUB=16_0B0F, AND=16_0407
  318 %OWNINTEGER OR=16_0607, XOR=16_0707
  319 %OWNINTEGER SLLS=16_7508, SRLS=16_7408, SLHL=16_0D04, SRHL=16_0C04
  320 %OWNINTEGER COMP=16_0907, CLB=16_9402
  321 %OWNINTEGER STORE=16_0002, STB=16_9202, AHM=16_2102
  322 %OWNINTEGER BT=16_0203, BF=16_0303
  323 !    FORMAT CODES
  324 %OWNINTEGER REGISTER=1, MEM=2, LIT=4, SHORT=8
  325 
  326 %OWNINTEGER ZQUERY=0
  327 %INTEGER OP,K,Q,LITVAL,NQ,TYPE1,VAL1,FREE
  328 %SWITCH ASS(-30:-1)
  329 
  330 %ROUTINE FORM INST(%INTEGER CODE)
		.LVL32:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
  331 !    LS 4 BITS OF CODE DEFINE VALID FORMATS
  332 !    INTERDATA OP-CODES FOR DIFFERENT FORMATS
  333 !    ARE SYSTEMATICALLY RELATED
  334 !    SHORT=REGISTER+SINC, LIT=REGISTER+LINC, MEM=REGISTER+MINC
  335 %OWNINTEGER SINC=16_1C00, LINC=16_C000, MINC=16_4000
  336 %INTEGER OP
  337     OP = CODE&16_FFF0
				movl	%eax, %esi
				andl	$65520, %esi
		.LVL33:
  338     %IF TYPE = REG %START
				movl	12(%ecx), %edx
				cmpl	$128, 68(%edx)
				je	.L39
		.L24:
				movl	%ecx, %ebx
				movl	%eax, %edi
  339        %IF CODE&REGISTER # 0 %START
				testb	$1, %al
				jne	.L41
		.L25:
  340           TYPE = SINGLE;  VAL = OP+VAL
				movl	$20480, 68(%edx)
				movl	12(%ecx), %eax
		.LVL36:
				addl	%esi, 64(%eax)
  341           %RETURN
				jmp	.L23
		.LVL37:
		.L40:
  342        %FINISH
  343        TYPE = XMASK+VAL;  VAL = 0;    !COERCE TO INDEXED IMMEDIATE
				movl	64(%edx), %edi
				leal	16(%edi), %ebx
				movl	%ebx, 68(%edx)
				movl	12(%ecx), %edx
				movl	$0, 64(%edx)
				jmp	.L24
		.L41:
  344     %FINISH
  345 !!    %IF TYPE=0 %AND !VAL!<=15 %AND CODE&SHORT#0 %START; !SHORT
  346     %IF TYPE=0 %AND |VAL|<=15 %AND CODE&SHORT#0 %START; !SHORT
				movl	12(%ecx), %ecx
				movl	68(%ecx), %eax
		.LVL34:
				testl	%eax, %eax
				jne	.L27
				movl	64(%ecx), %edx
		.LBB102:
		.LBB103:
  347        VAL = -VAL %AND OP = OP!!16_100 %IF VAL < 0
				testl	%edx, %edx
				js	.L40
		.L29:
				negl	%edx
				movl	%edx, 64(%ecx)
				xorl	$256, %esi
		.LVL38:
				jmp	.L29
		.L27:
  348        TYPE = SINGLE;  VAL = OP+SINC+VAL
				movl	12(%ebx), %eax
				movl	$20480, 68(%eax)
				movl	12(%ebx), %ecx
				leal	7168(%esi), %edx
				addl	%edx, 64(%ecx)
  349     %finish %ELSE %START
				jmp	.L23
		.LVL35:
		.L39:
  350        FAULT('R') %IF TYPE&31 = XMASK; !R0 AS INDEX
				andl	$31, %eax
				cmpl	$16, %eax
				je	.L42
		.L30:
				movl	$82, %eax
				call	FAULT.8478
		.LVL41:
				jmp	.L30
		.L44:
  351        %IF TYPE&MEMMASK = 0 %START;   !IMMEDIATE
				movl	12(%ebx), %ecx
				testb	$64, 68(%ecx)
				je	.L37
		.L31:
				movl	12(%ebx), %ecx
		.L37:
  352           FAULT('I') %IF CODE&LIT = 0
				movl	$73, %eax
				call	FAULT.8478
		.LVL42:
				jmp	.L32
		.L43:
				testl	$4, %edi
				je	.L44
		.L32:
  353           OP = OP+LINC
				leal	49152(%esi), %edx
		.LVL44:
		.L33:
  354        %finish %ELSE %START;                  !MEMORY
  355           FAULT('I') %IF CODE&MEM = 0
				testl	$2, %edi
				je	.L43
		.L34:
				movl	$73, %eax
				call	FAULT.8478
		.LVL43:
				jmp	.L34
		.L28:
  356           OP = OP+MINC
				leal	16384(%esi), %edx
		.LVL39:
				jmp	.L33
		.LVL40:
		.L42:
  357        %FINISH
  358        OP = OP!!OPMASK %IF TYPE&RELMASK # 0
				movl	12(%ebx), %ecx
				movl	68(%ecx), %eax
				movl	%eax, %esi
				andl	$32, %esi
				movl	%edx, %ebx
				xorb	$-16, %bh
				testl	%esi, %esi
				cmovne	%ebx, %edx
		.LVL45:
		.L35:
  359        TYPE = TYPE&15+OP
				andl	$15, %eax
				addl	%edx, %eax
				movl	%eax, 68(%ecx)
		.L26:
		.L36:
		.LVL46:
		.L23:
  360     %FINISH
  361 %END
  362 
  363 %ROUTINE PLANT JUMP
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE224:
		RELEASE.8750:
		.LFB229:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$12, %esp
				call	__x86.get_pc_thunk.di
				addl	$_GLOBAL_OFFSET_TABLE_, %edi
				movl	%ecx, %ebx
		.LVL390:
  364 %INTEGER I,OP
  365     OP = BF;  COND=\COND %AND OP=BT %IF COND < 0
				movl	12(%ecx), %edx
				movl	48(%edx), %eax
				movl	$771, %esi
				testl	%eax, %eax
				js	.L468
		.LVL391:
		.L452:
				notl	%eax
				movl	%eax, 48(%edx)
		.LVL396:
				movl	$515, %esi
				jmp	.L452
		.LVL397:
		.L469:
  366     %IF TYPE&(\UMASK) = LOCTYPE %START
				movl	12(%ebx), %ecx
				movl	68(%ecx), %eax
				andb	$-3, %ah
				cmpl	72(%ecx), %eax
				je	.L469
		.L453:
		.L459:
		.L460:
		.L461:
  367        I = LOC>>1-VAL>>1
				movl	76(%ecx), %eax
				shrl	%eax
				movl	64(%ecx), %edx
				shrl	%edx
				subl	%edx, %eax
		.LVL398:
  368 !!       FAULT('J') %AND I=0 %IF FLAG # 0 %AND !I! > 15
  369        FAULT('J') %AND I=0 %IF FLAG # 0 %AND |I| > 15
				cmpl	$0, 52(%ecx)
				je	.L454
		.LBB185:
		.LBB186:
				cmpl	$15, %edx
				jg	.L470
		.LVL399:
		.L455:
				movl	$74, %eax
		.LVL403:
				call	FAULT.8478
		.LVL404:
				movl	$0, %eax
				jmp	.L455
		.LVL405:
		.L454:
		.LBB187:
		.LBB188:
  370 !!       %IF !I! <= 15 %START
  371        %IF |I| <= 15 %START
				cmpl	$15, %edx
				jg	.L461
  372           %IF TYPE&UMASK = 0 %OR FLAG # 0 %START
				movl	12(%ebx), %ecx
				testb	$2, 69(%ecx)
				je	.L458
				cmpl	$0, 52(%ecx)
				jne	.L458
		.L457:
				movl	12(%ebx), %ecx
				testb	$2, 69(%ecx)
				jne	.L457
		.L458:
  373              OP = OP<<1+2;            !0408, 0608
				leal	2(%esi,%esi), %esi
		.LVL406:
  374              TYPE = 0;  VAL = I
				movl	$0, 68(%ecx)
				movl	12(%ebx), %edx
				movl	%eax, 64(%edx)
  375           %finish %ELSE %START
				jmp	.L461
		.LFE225:
		SETJUMP.8722:
		.LFB226:
  376              FAULT('S') %IF LIST >= 0 %AND LIST&8 # 0
				movl	LIST.8427@GOTOFF(%edi), %eax
		.LVL400:
				testl	%eax, %eax
				js	.L461
				testb	$8, %al
				je	.L461
				movl	$83, %eax
				call	FAULT.8478
		.LVL401:
				jmp	.L461
		.LVL402:
		.L470:
  377           %FINISH
  378        %FINISH
  379     %FINISH
  380     FORM INST(COND<<4+OP)
				movl	12(%ebx), %eax
				movl	48(%eax), %eax
				sall	$4, %eax
				addl	%esi, %eax
				movl	%ebx, %ecx
				call	FORMINST.8689
		.LVL392:
  381     PLANT VAL
				movl	12(%ebx), %ecx
				call	PLANTVAL.8579
		.LVL393:
  382     COND = 0
				movl	12(%ebx), %eax
				movl	$0, 48(%eax)
		.LDL31:
  383 %END
  384 
  385 %ROUTINE SET JUMP(%INTEGER CASE)
				addl	$12, %esp
				popl	%ebx
				popl	%esi
		.LVL394:
				popl	%edi
				popl	%ebp
				ret
		.LVL395:
		.L468:
		.LVL407:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$28, %esp
				call	__x86.get_pc_thunk.di
				addl	$_GLOBAL_OFFSET_TABLE_, %edi
				movl	%eax, %ebp
				movl	%ecx, %ebx
  386 %INTEGER THOLD,VHOLD,FHOLD
  387 !!    ALMAX = ALMAX+1;  %MONITOR 22 %IF ALMAX = LABMIN
  388     ALMAX = ALMAX+1;  !{}%signal 2,2 %IF ALMAX = LABMIN
				movl	ALMAX.8413@GOTOFF(%edi), %esi
				addl	$1, %esi
				movl	%esi, ALMAX.8413@GOTOFF(%edi)
  389     NEST(LOC);  NEST(ALMAX-DEFLIM+CASE)
				movl	12(%ecx), %eax
		.LVL408:
				movl	76(%eax), %eax
				call	NEST.8601
		.LVL409:
				movl	%esi, %eax
				subl	DEFLIM.8412@GOTOFF(%edi), %eax
				addl	%ebp, %eax
				call	NEST.8601
		.LVL410:
  390     THOLD = TYPE;  VHOLD = VAL;  FHOLD = FLAG
				movl	12(%ebx), %eax
				movl	68(%eax), %edx
				movl	%edx, 4(%esp)
		.LVL411:
				movl	64(%eax), %ecx
				movl	%ecx, 8(%esp)
		.LVL412:
				movl	52(%eax), %edx
		.LVL413:
				movl	%edx, 12(%esp)
		.LVL414:
  391     TYPE = LOCTYPE;  VAL = INTEGER(ALMAX);  FLAG = 0
				movl	72(%eax), %edx
		.LVL415:
				movl	%edx, 68(%eax)
		.LVL416:
				movl	12(%ebx), %ebp
		.LVL417:
				movl	%esi, %eax
		.LVL418:
				call	INTEGER.8454
		.LVL419:
				movl	%eax, 64(%ebp)
				movl	12(%ebx), %eax
				movl	$0, 52(%eax)
  392     TYPE = TYPE+UMASK %IF PASS = 0
				cmpl	$0, PASS.8426@GOTOFF(%edi)
				jne	.L472
				movl	12(%ebx), %eax
				addl	$512, 68(%eax)
		.L472:
  393     COND = \COND
				movl	12(%ebx), %eax
				notl	48(%eax)
  394     PLANT JUMP
				movl	%ebx, %ecx
				call	PLANTJUMP.8708
		.LVL420:
  395     TYPE = THOLD;  VAL = VHOLD;  FLAG = FHOLD
				movl	12(%ebx), %eax
				movl	4(%esp), %ecx
				movl	%ecx, 68(%eax)
				movl	12(%ebx), %eax
				movl	8(%esp), %edi
				movl	%edi, 64(%eax)
				movl	12(%ebx), %eax
				movl	12(%esp), %edx
				movl	%edx, 52(%eax)
		.LDL32:
  396 %END
  397 
  398 %ROUTINE PLANT INST(%INTEGER CODE)
				addl	$28, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE226:
		PLANTINST.8730:
		.LFB227:
		.LVL421:
				pushl	%ebx
				subl	$8, %esp
				movl	%ecx, %ebx
  399     FORM INST(CODE)
				call	FORMINST.8689
		.LVL422:
  400     SET JUMP(16_1000) %IF COND # 0
				movl	12(%ebx), %eax
				cmpl	$0, 48(%eax)
				jne	.L477
		.L475:
				movl	%ebx, %ecx
				movl	$4096, %eax
				call	SETJUMP.8722
		.LVL424:
				jmp	.L475
		.LFE227:
		LOADREG.8735:
		.LFB228:
  401     PLANT VAL
				movl	12(%ebx), %ecx
				call	PLANTVAL.8579
		.LVL423:
		.LDL33:
  402 %END
  403 
  404 %ROUTINE LOAD REG(%INTEGER R)
				addl	$8, %esp
				popl	%ebx
				ret
		.L477:
		.LVL425:
				pushl	%esi
				pushl	%ebx
				subl	$4, %esp
  405 %INTEGER OP
  406     %IF ATYPE = TYPE %AND AVAL = VAL %START
				movl	12(%ecx), %edx
				movl	68(%edx), %ebx
				cmpl	%ebx, 60(%edx)
				je	.L493
		.L479:
		.L482:
				movl	64(%edx), %esi
				cmpl	%esi, 44(%edx)
				jne	.L482
  407        TYPE = REG;  VAL = ACC
				movl	$128, 68(%edx)
				movl	12(%ecx), %edx
				movl	40(%edx), %ebx
				movl	%ebx, 64(%edx)
  408        %RETURN %IF R = ACC
				movl	12(%ecx), %edx
				cmpl	%eax, 40(%edx)
				jne	.L480
				jmp	.L478
		.L494:
  409     %FINISH
  410     ATYPE = TYPE %AND AVAL = VAL %IF R = ACC
				cmpl	40(%edx), %eax
				je	.L494
		.L480:
				movl	%ebx, 60(%edx)
				movl	12(%ecx), %edx
				movl	64(%edx), %ebx
				movl	%ebx, 44(%edx)
				jmp	.L480
		.L495:
  411     ATYPE = -1 %IF (ATYPE=REG %AND AVAL=R) %OR ATYPE&15=R#0
				movl	12(%ecx), %ebx
				movl	60(%ebx), %edx
				cmpl	$128, %edx
				je	.L495
		.L483:
				andl	$15, %edx
				cmpl	%eax, %edx
				jne	.L485
				testl	%eax, %eax
				jne	.L484
		.L485:
				cmpl	44(%ebx), %eax
				jne	.L483
		.L484:
				movl	$-1, 60(%ebx)
				jmp	.L485
		.LVL434:
		.L496:
  412     %IF TYPE&BMASK = 0 %START
				movl	12(%ecx), %ebx
				movl	68(%ebx), %edx
				testb	$1, %dh
				jne	.L486
		.LVL426:
  413        OP = LOAD
				movl	$2063, %edx
		.LVL427:
		.L487:
  414        OP = ADD %AND TYPE = 0 %IF TYPE!!XMASK = R # 0
				xorl	$16, %edx
				cmpl	%eax, %edx
				jne	.L490
				testl	%eax, %eax
				jne	.L496
		.L490:
				movl	$0, 68(%ebx)
				movl	$2575, %edx
				jmp	.L487
		.LVL435:
		.L486:
  415        CREG = R;  CTYPE = 0;  CVAL = 0
				movl	12(%ecx), %ebx
				movl	%eax, 56(%ebx)
				movl	12(%ecx), %ebx
				movl	$0, 36(%ebx)
				movl	12(%ecx), %ebx
				movl	$0, 32(%ebx)
		.L488:
		.LVL428:
		.L489:
				movl	%ecx, %ebx
				movl	%eax, %esi
		.LVL429:
  416     %finish %ELSE %START
  417        OP = LB
				movl	$37635, %edx
  418        CREG = -1 %IF CREG = R
				cmpl	56(%ebx), %eax
				jne	.L489
				movl	$-1, 56(%ebx)
				jmp	.L489
		.LFE228:
		LOADTEMP.8760:
		.LFB230:
  419     %FINISH
  420     PLANT INST(R<<4+OP)
				sall	$4, %eax
		.LVL430:
				addl	%edx, %eax
				call	PLANTINST.8730
		.LVL431:
  421     TYPE = REG;  VAL = R
				movl	12(%ebx), %eax
				movl	$128, 68(%eax)
				movl	12(%ebx), %eax
				movl	%esi, 64(%eax)
		.L481:
		.LVL432:
		.L478:
  422 %END
  423 
  424 %ROUTINE RELEASE
				pushl	%ebx
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %edx
				addl	$4, %esp
				popl	%ebx
				popl	%esi
				ret
		.LVL433:
		.L493:
  425 %INTEGER I
  426     %RETURN %IF TYPE&REGXMASK = 0
				movl	12(%ecx), %eax
				movl	68(%eax), %ecx
				testb	$-112, %cl
				je	.L45
		.L47:
		.LVL47:
  427     I = TYPE&15;  I = VAL %IF I = 0
				andl	$15, %ecx
		.LVL48:
				jne	.L48
				movl	64(%eax), %ecx
		.LVL49:
		.L48:
  428     %IF I = DREG %START
				cmpl	28(%eax), %ecx
				je	.L53
		.L49:
  429        DUSE = DUSE-1
				subl	$1, 24(%eax)
  430     %finish %ELSE %START
				jmp	.L45
		.LFE229:
		SWOP.8777:
		.LFB231:
  431        I = 1<<I
				movl	$1, %eax
				sall	%cl, %eax
		.LVL50:
  432        FREE = FREE!I %IF TEMPS&I # 0
				testl	%eax, TEMPS.8431@GOTOFF(%ebx)
				je	.L45
				orl	%eax, 8(%edx)
		.L46:
		.L50:
		.L51:
		.LVL51:
		.L45:
  433     %FINISH
  434 %END
  435 
  436 %ROUTINE LOAD TEMP
				popl	%ebx
				ret
		.LVL52:
		.L53:
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
  437 %INTEGER I,J
  438     RELEASE
				call	RELEASE.8750
		.LVL436:
  439     %IF DREG >= ZQUERY %AND DUSE = 0 %START
				movl	ZQUERY.8647@GOTOFF(%ebx), %eax
				movl	12(%esi), %ecx
				movl	28(%ecx), %edi
				cmpl	%edi, %eax
				jg	.L498
				cmpl	$0, 24(%ecx)
				je	.L507
		.L498:
  440        I = DREG;  DUSE = 1
				movl	$1, 24(%ecx)
				movl	%edi, %eax
  441     %finish %ELSE %START
				jmp	.L499
		.LVL442:
		.L500:
  442        J = 1+ZQUERY
				leal	1(%eax), %ebx
		.LVL437:
  443        %CYCLE I = ZQUERY,1,15
  444           ->OK %IF FREE&J # 0 %AND I # DREG
				movl	8(%esi), %edx
				testl	%edx, %ebx
				je	.L505
				cmpl	%edi, %eax
				jne	.L502
		.L501:
		.L505:
				testl	%edx, %ebx
				je	.L505
				cmpl	%eax, %edi
				je	.L505
				jmp	.L502
		.LVL441:
		.L507:
  445           J = J<<1
				addl	%ebx, %ebx
		.LVL439:
		.LDL34:
  446        %REPEAT
				cmpl	$16, %eax
				je	.L500
		.LVL438:
				cmpl	$15, %eax
				je	.L500
  447        FAULT('R')
				addl	$1, %eax
		.LVL440:
				movl	$82, %eax
				call	FAULT.8478
		.LVL443:
				movl	$15, %eax
		.L502:
		.LVL444:
  448 OK:    FREE = FREE-J
				subl	%ebx, 8(%esi)
		.LVL445:
		.L499:
  449     %FINISH
  450     LOAD REG(I)
				movl	%esi, %ecx
				call	LOADREG.8735
		.LVL446:
		.LDL35:
  451 %END
  452 
  453 %ROUTINE SWOP
				pushl	%ebx
				popl	%ebx
				popl	%esi
				popl	%edi
				ret
		.LFE230:
				.section	.rodata.str1.4,"aMS",@progbits,1
				.align 4
		.LC6:
				.string	"regression-compile-tmp/hal70.imp"
		
		
		
		
				.align 4
		.LC7:
				.string	"%%SWITCH index ASS(%d) not in range -30:-1 at %s:%d\n"
		
		
		
		
				.align 4
		.LC8:
				.string	"%%SWITCH LABEL NOT SET - sw1_ASS(%d): at line %s:%d"
		
		
		
		
		ASSEMBLE.8622:
		.LFB223:
  454 %INTEGER K
  455     K = TYPE1;  TYPE1 = TYPE;  TYPE = K
				movl	4(%ecx), %edx
		.LVL53:
				movl	12(%ecx), %eax
				movl	68(%eax), %ebx
				movl	%ebx, 4(%ecx)
				movl	%edx, 68(%eax)
  456     K = VAL1;  VAL1 = VAL;  VAL = K
				movl	(%ecx), %edx
		.LVL54:
				movl	12(%ecx), %eax
				movl	64(%eax), %ebx
				movl	%ebx, (%ecx)
				movl	%edx, 64(%eax)
		.LDL6:
  457 %END
  458 
  459 %ROUTINE PROGREF
				popl	%ebx
				ret
		.LFE231:
		PROGREF.8782:
		.LFB232:
				pushl	%ebx
  460     %IF TYPE&RELUXMASK = XMASK %AND VAL = 0 %START
				movl	12(%ecx), %eax
				movl	68(%eax), %edx
				movl	%edx, %ebx
				andl	$560, %ebx
				cmpl	$16, %ebx
				je	.L61
		.L57:
				cmpl	$0, 64(%eax)
				jne	.L57
  461        VAL = TYPE&15;  TYPE = REG
				andl	$15, %edx
				movl	%edx, 64(%eax)
				movl	12(%ecx), %eax
				movl	$128, 68(%eax)
				jmp	.L57
		.LFE232:
		TEMP.8793:
		.LFB233:
  462     %FINISH
  463     TYPE = TYPE!MEMMASK %IF TYPE # REG
				movl	12(%ecx), %edx
				movl	68(%edx), %eax
				cmpl	$128, %eax
				je	.L56
				orl	$64, %eax
				movl	%eax, 68(%edx)
		.L58:
		.L59:
		.L56:
  464 %END
  465 
  466     Q = QSTART
				popl	%ebx
				ret
		.L61:
				movl	QSTART.8408@GOTOFF(%edi), %ebp
		.LVL447:
		.L509:
  467 NEW:NQ = QSTART;  FREE = TEMPS
				movl	QSTART.8408@GOTOFF(%edi), %eax
				movl	%eax, 12(%esp)
		.LVL448:
				movl	TEMPS.8431@GOTOFF(%edi), %eax
		.LVL449:
				movl	%eax, 48(%esp)
  468     TYPE = INTEGER(Q);  Q = Q+1
				movl	%ebp, %eax
				call	INTEGER.8454
		.LVL450:
				movl	%eax, 68(%ebx)
		.LVL451:
				leal	1(%ebp), %eax
		.LVL452:
  469     VAL = INTEGER(Q);  Q = Q+1
				call	INTEGER.8454
		.LVL453:
				movl	%eax, 64(%ebx)
				leal	2(%ebp), %esi
		.LVL454:
  470 
  471 GET:%CYCLE
  472        %RETURN %IF Q = QLIM
				cmpl	%esi, QLIM.8409@GOTOFF(%edi)
				je	.L508
		.L512:
  473        K = INTEGER(Q);  Q = Q+1
				movl	%esi, %eax
				call	INTEGER.8454
		.LVL466:
				movl	%eax, 16(%esp)
		.LVL467:
				leal	1(%esi), %ebp
		.LVL468:
				movl	%ebp, %esi
		.LVL477:
				movl	%ebp, %esi
				movl	%ebp, %esi
  474        ->ASS(K) %IF K < 0
				testl	%eax, %eax
				jns	.L513
				addl	$30, %eax
		.LVL469:
				cmpl	$29, %eax
				ja	.L514
				jmp	*sw1_ASS.8657@GOTOFF(%edi,%eax,4)
		.LVL470:
		.L645:
  475 !!       INTEGER(NQ) = TYPE1;  INTEGER(NQ+1) = VAL1
  476        set INTEGER(NQ, TYPE1);  set INTEGER(NQ+1, VAL1)
				testl	%edx, %edx
				movl	$478, %eax
				cmove	%eax, %edx
				testl	%eax, %eax
				leal	.LC6@GOTOFF(%edi), %ecx
				cmove	%ecx, %eax
		.LVL456:
		.LBB189:
		.LBB190:
				movl	stderr@GOT(%edi), %eax
		.LVL457:
		.LBB192:
		.LBB191:
				pushl	(%eax)
				movl	%edi, %ebx
				call	__fprintf_chk@PLT
		.LVL458:
		.LBE191:
		.LBE192:
				movl	44(%esp), %edx
				movl	12(%esp), %eax
		.LVL460:
				call	SETINTEGER.8467
		.LVL461:
				movl	12(%esp), %eax
				addl	$1, %eax
				movl	40(%esp), %edx
				call	SETINTEGER.8467
		.LVL462:
  477        NQ = NQ+2
				movl	_imp_current_file@GOT(%edi), %eax
				movl	(%eax), %eax
				addl	$2, 12(%esp)
		.LVL463:
  478        TYPE1 = TYPE;  VAL1 = VAL
				movl	_imp_current_line@GOT(%edi), %eax
				movl	(%eax), %edx
				movl	68(%ebx), %eax
				movl	%eax, 44(%esp)
				movl	64(%ebx), %eax
				movl	%eax, 40(%esp)
  479        TYPE = K;  VAL = INTEGER(Q);  Q = Q+1
				addl	$20, %esp
				pushl	$1
				call	exit@PLT
		.LVL459:
		.L513:
				movl	16(%esp), %eax
				movl	%eax, 68(%ebx)
				movl	%ebp, %eax
				call	INTEGER.8454
		.LVL464:
				movl	%eax, 64(%ebx)
				addl	$2, %esi
		.LVL465:
		.L510:
  480     %REPEAT
  481 
  482 %PREDICATE TEMP
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
				pushl	%ebx
		.L64:
  483     %FALSE %IF TYPE1 # REG
				movl	$0, %eax
		.L63:
		.L66:
		.L67:
				cmpl	$128, 4(%ecx)
				je	.L73
				andl	$1, %eax
		.L62:
				popl	%ebx
				ret
		.L74:
  484     %IF VAL1 = DREG %START
				movl	(%ecx), %ebx
				movl	12(%ecx), %eax
				cmpl	28(%eax), %ebx
				je	.L74
		.L65:
  485        %FALSE %IF DUSE # 1
				cmpl	$1, 24(%eax)
				sete	%al
				movzbl	%al, %eax
				jmp	.L62
		.LFE233:
		GETSYM.8925:
		.LFB236:
  486     %finish %ELSE %START
  487        %FALSE %IF 1<<VAL1&TEMPS = 0
				movl	TEMPS.8431@GOTOFF(%edx), %eax
				movl	%ebx, %ecx
				sarl	%cl, %eax
  488     %FINISH
  489     %TRUE
  490 %END
  491 
				rep ret
		.L73:
  492 NOP: K = 0;                           !NOT SYMMETRIC
				movl	$0, 16(%esp)
		
				movl	$0, 16(%esp)
		
		.LVL503:
				movl	$0, 16(%esp)
		
		.LVL506:
  493 BOP:%IF MODE <= 0 %OR (TYPE = 0 %AND TYPE1 = 0) %START
				movl	68(%ebx), %esi
				cmpl	$0, 20(%ebx)
				jle	.L519
				movl	68(%ebx), %esi
				testl	%esi, %esi
				jne	.L520
		.LVL494:
		.L638:
				cmpl	$0, 44(%esp)
				je	.L522
		.L511:
		.L635:
		.L636:
				cmpl	$0, 20(%ebx)
				jle	.L522
				movl	$0, 16(%esp)
		
				jmp	.L638
		.LVL585:
		.L647:
				cmpl	$0, 20(%ebx)
				jle	.L639
				movl	68(%ebx), %esi
		.LVL588:
		.L520:
  494        FAULT('A') %IF TYPE # 0
				cmpl	$0, 68(%ebx)
				je	.L522
		.L639:
				movl	%ebx, %ecx
				movl	$65, %eax
				call	FAULT.8478
		.LVL472:
		.L522:
  495        TYPE = TYPE1;  VAL = LITVAL
				movl	44(%esp), %eax
				movl	%eax, 68(%ebx)
				movl	28(%esp), %eax
				movl	%eax, 64(%ebx)
		.L523:
		.L533:
		.L534:
		.L535:
		.LVL473:
		.L536:
  496     %finish %ELSE %START
  497        %IF %NOT TEMP %OR (TYPE=REG %AND VAL=DREG %AND DUSE=1 %AND K#0) %START
				movl	20(%esp), %ecx
				call	TEMP.8793
		.LVL495:
				testl	%eax, %eax
				jne	.L524
				movl	20(%esp), %ecx
				call	TEMP.8793
		.LVL589:
				testl	%eax, %eax
				jne	.L524
				cmpl	$128, %esi
				jne	.L528
				movl	28(%ebx), %eax
				cmpl	%eax, 64(%ebx)
				jne	.L526
				cmpl	$1, 24(%ebx)
				jne	.L526
				cmpl	$0, 16(%esp)
				je	.L526
		.L524:
  498           SWOP
				movl	20(%esp), %esi
				movl	%esi, %ecx
				call	SWOP.8777
		.LVL590:
  499           %IF K = 0 %OR %NOT TEMP %START
				cmpl	$0, 16(%esp)
				je	.L527
				movl	%esi, %ecx
				call	TEMP.8793
		.LVL591:
				testl	%eax, %eax
				jne	.L528
		.L527:
  500              LOAD TEMP;  SWOP
				movl	20(%esp), %esi
				movl	%esi, %ecx
				call	LOADTEMP.8760
		.LVL592:
				movl	%esi, %ecx
				call	SWOP.8777
		.LVL593:
		.L525:
		.L528:
  501           %FINISH
  502        %FINISH
  503        LOAD TEMP %IF TYPE&BMASK # 0 %OR (OP&MEM=0 %AND TYPE&MEMMASK#0)
				movl	68(%ebx), %esi
		.LVL496:
		.L526:
				testb	$2, 24(%esp)
				jne	.L530
				testl	$64, %esi
				je	.L530
				jmp	.L529
		.LVL497:
		.L548:
				movl	68(%ebx), %esi
				testl	$256, %esi
				je	.L526
		.L529:
				movl	20(%esp), %ecx
				call	LOADTEMP.8760
		.LVL594:
		.L530:
  504        RELEASE
				movl	20(%esp), %esi
				movl	%esi, %ecx
				call	RELEASE.8750
		.LVL595:
  505        PLANT INST(VAL1<<4+OP)
				movl	40(%esp), %eax
				sall	$4, %eax
				addl	24(%esp), %eax
				movl	%esi, %ecx
				call	PLANTINST.8730
		.LVL596:
  506        TYPE = REG;  VAL = VAL1
				movl	$128, 68(%ebx)
				movl	40(%esp), %eax
				movl	%eax, 64(%ebx)
  507        CREG = VAL;  CTYPE = 0;  CVAL = 0
				movl	%eax, 56(%ebx)
				movl	$0, 36(%ebx)
				movl	$0, 32(%ebx)
  508        ATYPE = -1 %IF ACC = VAL %OR ATYPE&15 = VAL # 0
				movl	$-1, 60(%ebx)
				jmp	.L536
		.LVL479:
		.L537:
				cmpl	40(%ebx), %eax
				je	.L531
				movl	60(%ebx), %edx
				movl	%edx, %ecx
				andl	$15, %ecx
				cmpl	%eax, %ecx
				jne	.L532
				testl	%eax, %eax
				jne	.L531
		.L532:
  509        ATYPE = -1 %IF ATYPE = REG %AND AVAL = VAL
				cmpl	$128, %edx
				jne	.L536
				cmpl	44(%ebx), %eax
				jne	.L536
				movl	$-1, 60(%ebx)
				jmp	.L536
		.LVL597:
		.L673:
  510     %FINISH
  511 
  512 POP:NQ = NQ-2
				movl	12(%esp), %eax
				leal	-2(%eax), %esi
		.LVL474:
				movl	%esi, 12(%esp)
  513     TYPE1 = INTEGER(NQ);  VAL1 = INTEGER(NQ+1)
				movl	%esi, %eax
				call	INTEGER.8454
		.LVL475:
				movl	%eax, 44(%esp)
				movl	12(%esp), %eax
				subl	$1, %eax
				call	INTEGER.8454
		.LVL476:
				movl	%eax, 40(%esp)
  514     ->GET
				jmp	.L510
		.LVL478:
		.L531:
  515 
  516 ASS(-2):
  517     OP = SUB
				movl	$2831, 24(%esp)
		
				jmp	.L520
		.LVL481:
		.L538:
  518     ->NOP %IF MODE > 0 %AND TYPE # 0
				cmpl	$0, 20(%ebx)
				jle	.L538
				cmpl	$0, 68(%ebx)
				je	.L539
		.LVL480:
  519     TYPE1 = 0 %AND TYPE = 0 %IF MODE <= 0 %AND TYPE1 = TYPE
				movl	44(%esp), %eax
				cmpl	%eax, 68(%ebx)
				je	.L659
		.L539:
				movl	$0, 44(%esp)
		
				movl	$0, 68(%ebx)
				jmp	.L539
		.LVL486:
		.L660:
  520     VAL = -VAL
				negl	64(%ebx)
		.LVL482:
		.L541:
  521 ASS(-1):
  522     OP = ADD;  LITVAL = VAL1+VAL
				movl	$2575, 24(%esp)
		
				jmp	.L518
		.LVL471:
		.L519:
				movl	40(%esp), %eax
				addl	64(%ebx), %eax
				movl	%eax, 28(%esp)
		.LVL483:
				movl	$2575, 24(%esp)
		
		.LVL587:
		.L542:
  523     ->BOP %UNLESS TYPE = 0
				cmpl	$0, 68(%ebx)
				jne	.L644
		.L543:
  524     %IF TYPE1&MEMMASK # 0 %AND MODE > 0 %START
				testb	$64, 44(%esp)
				je	.L544
				cmpl	$0, 20(%ebx)
				jg	.L660
		.LVL484:
		.L544:
  525        SWOP;  LOAD TEMP;  SWOP
				movl	20(%esp), %esi
				movl	%esi, %ecx
				call	SWOP.8777
		.LVL487:
				movl	%esi, %ecx
				call	LOADTEMP.8760
		.LVL488:
				movl	%esi, %ecx
				call	SWOP.8777
		.LVL489:
				jmp	.L544
		.L661:
  526     %FINISH
  527     %IF TYPE1 = REG %START
				cmpl	$128, 44(%esp)
		
				je	.L661
		.L545:
  528        ->BOP %IF VAL1 = 0
				movl	40(%esp), %eax
				testl	%eax, %eax
				je	.L645
		.L546:
  529        TYPE1 = XMASK+VAL1;  LITVAL = VAL
				addl	$16, %eax
				movl	%eax, 44(%esp)
		.LVL490:
				movl	64(%ebx), %eax
				movl	%eax, 28(%esp)
				jmp	.L545
		.LVL491:
		.L547:
  530     %FINISH
  531     TYPE = TYPE1;  VAL = LITVAL
				movl	44(%esp), %eax
				movl	%eax, 68(%ebx)
				movl	28(%esp), %eax
				movl	%eax, 64(%ebx)
  532     ->POP
				jmp	.L536
		.LVL485:
		.L659:
  533 ASS(-3):
  534     OP = AND;  LITVAL = VAL1&VAL
				movl	64(%ebx), %eax
				andl	40(%esp), %eax
				movl	%eax, 28(%esp)
		.LVL492:
				movl	$1031, 24(%esp)
		
		.LVL493:
		.L518:
  535     ->BOP
  536 ASS(-4):
  537     OP = OR;  LITVAL = VAL1!VAL
				movl	64(%ebx), %eax
				orl	40(%esp), %eax
				movl	%eax, 28(%esp)
		.LVL498:
				movl	$1543, 24(%esp)
		
  538     ->BOP
				jmp	.L518
		.LVL499:
		.L549:
  539 ASS(-5):
  540     OP = XOR;  LITVAL = VAL1!!VAL
				movl	64(%ebx), %eax
				xorl	40(%esp), %eax
				movl	%eax, 28(%esp)
		.LVL500:
				movl	$1799, 24(%esp)
		
  541     ->BOP
				jmp	.L518
		.LVL501:
		.L550:
  542 ASS(-6):
  543     OP = SLLS;  LITVAL = VAL1<<VAL
				movl	64(%ebx), %ecx
				movl	40(%esp), %eax
				sall	%cl, %eax
				movl	%eax, 28(%esp)
		.LVL502:
				movl	$29960, 24(%esp)
		
		.LVL584:
		.L551:
  544     OP = SLHL %IF TYPE # 0
				cmpl	$0, 68(%ebx)
				je	.L646
				movl	$3332, 24(%esp)
		
				jmp	.L542
		.LVL504:
		.L552:
  545     ->NOP
  546 ASS(-7):
  547     OP = SRLS;  LITVAL = VAL1>>VAL
				movl	64(%ebx), %ecx
				movl	40(%esp), %eax
				shrl	%cl, %eax
				movl	%eax, 28(%esp)
		.LVL505:
				movl	$29704, 24(%esp)
		
				jmp	.L551
		.LVL586:
		.L644:
  548     OP = SRHL %IF TYPE # 0
				cmpl	$0, 68(%ebx)
				je	.L647
				movl	$3076, 24(%esp)
		
				jmp	.L542
		.LVL507:
		.L553:
  549     ->NOP
  550 
  551 ASS(-8):                              !TYPE_VAL
  552     TYPE = VAL1
				movl	40(%esp), %eax
				movl	%eax, 68(%ebx)
  553     TYPE = 0 %IF TYPE&OPMASK = MACRO; !SAFETY
				movl	%eax, %edx
				andl	$61440, %edx
				cmpl	$40960, %edx
				je	.L662
		.L554:
				movl	$0, 68(%ebx)
				jmp	.L536
		.L555:
  554     TYPE = 0 %IF TYPE&(OPMASK+FMASK) = FMASK
				andl	$63488, %eax
				cmpl	$2048, %eax
				jne	.L536
				movl	$0, 68(%ebx)
				jmp	.L536
		.L662:
  555     ->POP
  556 
  557 ASS(-11):                             !COMPARE
  558     K = INTEGER(Q);  Q = Q+1
				movl	%ebp, %eax
				call	INTEGER.8454
		.LVL508:
				movl	%eax, %ebp
		.LVL509:
				addl	$2, %esi
		.LVL510:
  559     %IF MODE <= 0 %START
				cmpl	$0, 20(%ebx)
				jle	.L663
		.L556:
  560        VAL1 = TYPE1 %AND VAL = TYPE %IF TYPE1 # TYPE
				movl	68(%ebx), %eax
		.LVL517:
				movl	44(%esp), %edx
				cmpl	%edx, %eax
				je	.L557
				movl	%edx, 40(%esp)
				movl	%eax, 64(%ebx)
		.L557:
		.LVL518:
  561        LITVAL = \3
  562        LITVAL = 1 %IF VAL1 < VAL
				movl	64(%ebx), %ecx
				movl	40(%esp), %edx
				movl	$1, %eax
				cmpl	%edx, %ecx
				jg	.L558
		.L559:
  563        LITVAL = 2 %IF VAL1 > VAL
				movl	$-4, %eax
				movl	$2, %edx
				cmovl	%edx, %eax
		.L558:
		.LVL519:
  564        K = K&LITVAL;  K = \0 %IF K # 0
				testl	%ebp, %eax
				setne	%al
		.LVL520:
				movzbl	%al, %eax
				negl	%eax
				movl	%eax, %ebp
				jmp	.L575
		.LVL521:
		.L664:
  565     %finish %ELSE %UNLESS CREG=16 %AND TYPE1=CTYPE %AND VAL1=CVAL %AND TYPE=VAL=0 %START
				cmpl	$16, 56(%ebx)
				je	.L664
		.LVL511:
		.L561:
				movl	44(%esp), %eax
		.LVL522:
				cmpl	%eax, 36(%ebx)
				jne	.L561
				movl	40(%esp), %eax
				cmpl	%eax, 32(%ebx)
				jne	.L561
				movl	64(%ebx), %eax
				cmpl	%eax, 68(%ebx)
				jne	.L575
				testl	%eax, %eax
				je	.L575
				jmp	.L561
		.L665:
  566        %IF TYPE1 # REG %START
				cmpl	$128, 44(%esp)
		
				jne	.L665
		.L562:
		.L564:
		.LVL512:
		.L565:
  567           SWOP
				movl	20(%esp), %ecx
				call	SWOP.8777
		.LVL523:
  568           %IF TYPE1 # REG %START
				cmpl	$128, 44(%esp)
		
				jne	.L668
		.L563:
  569              LOAD TEMP;  SWOP
				movl	20(%esp), %ecx
				call	LOADTEMP.8760
		.LVL526:
				movl	20(%esp), %ecx
				call	SWOP.8777
		.LVL527:
  570           %finish %ELSE %START
				jmp	.L565
		.L666:
  571              K = K!!3 %UNLESS K = 3 %OR K = \3
				cmpl	$3, %ebp
				je	.L565
				cmpl	$-4, %ebp
				sete	%dl
				movl	%ebp, %eax
				xorl	$3, %eax
				testb	%dl, %dl
				cmove	%eax, %ebp
		.LVL524:
				jmp	.L565
		.LVL525:
		.L668:
  572           %FINISH
  573        %FINISH
  574        %UNLESS CREG = VAL1 %AND CTYPE = TYPE %AND CVAL = VAL %START
				movl	40(%esp), %eax
				cmpl	%eax, 56(%ebx)
				je	.L666
		.L566:
				movl	68(%ebx), %edx
				cmpl	%edx, 36(%ebx)
				jne	.L566
				movl	64(%ebx), %edx
				cmpl	%edx, 32(%ebx)
				jne	.L566
  575           CREG = VAL1;  CTYPE = TYPE;  CVAL = VAL
				movl	%eax, 56(%ebx)
				movl	68(%ebx), %ecx
				movl	%ecx, 36(%ebx)
				movl	64(%ebx), %edx
				movl	%edx, 32(%ebx)
  576           %UNLESS TYPE = VAL = 0 %START
				testl	%edx, %edx
				je	.L567
				cmpl	%edx, %ecx
				je	.L667
		.L567:
		.LVL513:
  577              OP = COMP
				movl	$2311, %edx
				movl	$2311, %edx
				jmp	.L572
		.LVL531:
		.L670:
  578              %IF TYPE = ATYPE %AND VAL = AVAL %START
				cmpl	60(%ebx), %ecx
				je	.L669
		.L569:
				cmpl	44(%ebx), %edx
				jne	.L569
  579                 TYPE = REG;  VAL = ACC
				movl	$128, 68(%ebx)
				movl	40(%ebx), %eax
				movl	%eax, 64(%ebx)
  580              %FINISH
  581              %IF TYPE&BMASK # 0 %START
				testb	$1, %ch
				je	.L572
		.LVL529:
  582                 OP = CLB
				movl	$37890, %edx
				jmp	.L572
		.LVL530:
		.L669:
				movl	$37890, %edx
				jmp	.L572
		.LVL533:
		.L576:
  583                 FAULT('I') %UNLESS K = 3 %OR K = \3
				cmpl	$3, %ebp
				je	.L651
				cmpl	$-4, %ebp
				jne	.L670
		.L651:
				movl	%ebx, %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL532:
  584              %FINISH
  585           %finish %ELSE %START
  586              OP = LOAD
				movl	$2063, %edx
		.L570:
		.L571:
		.LVL514:
		.L572:
  587              TYPE = REG;  VAL = VAL1
				movl	$128, 68(%ebx)
				movl	%eax, 64(%ebx)
  588           %FINISH
  589           PLANT INST(VAL1<<4+OP)
				movl	40(%esp), %eax
				sall	$4, %eax
				addl	%edx, %eax
				movl	20(%esp), %ecx
				call	PLANTINST.8730
		.LVL515:
		.L560:
		.L573:
		.L574:
		.L575:
  590        %FINISH
				jmp	.L575
		.L667:
		.L568:
		.LVL528:
  591     %FINISH
  592     COND = K
				movl	%ebp, 48(%ebx)
  593     ->GET
				jmp	.L510
		.LVL516:
		.L663:
  594 
  595 ASS(-12):                             !TEST CC
  596     COND = \VAL
				movl	64(%ebx), %eax
				notl	%eax
				movl	%eax, 48(%ebx)
  597     ->GET
				jmp	.L510
		.L577:
  598 
  599 ASS(-13):                             !AND,WHILE
  600     %IF MODE > 0 %START
				cmpl	$0, 20(%ebx)
				jg	.L671
		.L578:
  601        SET JUMP(16_1000)
				leal	40(%esp), %ecx
				movl	$4096, %eax
				call	SETJUMP.8722
		.LVL534:
  602     %finish %ELSE %START
				jmp	.L580
		.L582:
  603        %RETURN %IF COND # 0;          !CONDITION FALSE
				cmpl	$0, 48(%ebx)
				jne	.L508
		.L579:
		.L580:
  604     %FINISH
  605     %RETURN %IF Q = QLIM
				cmpl	%ebp, QLIM.8409@GOTOFF(%edi)
				jne	.L509
				jmp	.L508
		.L671:
  606     ->NEW
  607 
  608 ASS(-14):                             !OR
  609     %IF MODE > 0 %START
				cmpl	$0, 20(%ebx)
				jg	.L672
		.L583:
  610        COND = \COND
				notl	48(%ebx)
  611        SET JUMP(16_3000)
				leal	40(%esp), %ecx
				movl	$12288, %eax
				call	SETJUMP.8722
		.LVL535:
  612     %finish %ELSE %START
				jmp	.L509
		.L584:
  613        %RETURN %IF COND = 0;          !CONDITION TRUE
				cmpl	$0, 48(%ebx)
				jne	.L509
				jmp	.L508
		.L672:
  614     %FINISH
  615     ->NEW
  616 
  617 ASS(-15):                             !IF
  618     SET JUMP(16_2000)
				leal	40(%esp), %ecx
				movl	$8192, %eax
				call	SETJUMP.8722
		.LVL536:
		.L508:
  619     %RETURN
  620 
  621 ASS(-16):                             !ELSE
  622     COND = \0
				movl	$-1, 48(%ebx)
  623     SET JUMP(16_4000)
				leal	40(%esp), %ecx
				movl	$16384, %eax
				call	SETJUMP.8722
		.LVL538:
  624     %RETURN
				jmp	.L508
		.L586:
  625 
  626 ASS(-17):                             !IF AFTER ELSE
  627     SET JUMP(16_6000)
				leal	40(%esp), %ecx
				movl	$24576, %eax
				call	SETJUMP.8722
		.LVL539:
  628     %RETURN
				jmp	.L508
		.L587:
  629 
  630 ASS(-18):                             !MACCALL IF
  631     SET JUMP(16_8000)
				leal	40(%esp), %ecx
				movl	$32768, %eax
				call	SETJUMP.8722
		.LVL540:
  632     %RETURN
				jmp	.L508
		.L588:
  633 
  634 ASS(-20):                             !HASH
  635     TYPE = TYPE&(UMASK+63)
				andl	$575, 68(%ebx)
  636     ->GET
				jmp	.L510
		.L589:
  637 
  638 ASS(-21):                             !INDEX
  639     FAULT('I') %IF TYPE1&REGXMASK # 0
				testb	$-112, 44(%esp)
				jne	.L674
		.L590:
				movl	%ebx, %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL542:
				jmp	.L590
		.L592:
  640     %IF TYPE&MEMMASK # 0 %START
				testb	$64, 68(%ebx)
				je	.L593
  641        %IF MODE > 0 %START
				cmpl	$0, 20(%ebx)
				jle	.L592
  642           ZQUERY = 1
				movl	$1, ZQUERY.8647@GOTOFF(%edi)
		
  643           LOAD TEMP
				movl	20(%esp), %ecx
				call	LOADTEMP.8760
		.LVL541:
  644           ZQUERY = 0
				movl	$0, ZQUERY.8647@GOTOFF(%edi)
		
		.L591:
		.L593:
  645        %finish %ELSE FAULT('A')
				movl	%ebx, %ecx
				movl	$65, %eax
				call	FAULT.8478
		.LVL543:
				jmp	.L593
		.L675:
  646     %FINISH
  647     %IF TYPE = REG %START
				cmpl	$128, 68(%ebx)
				je	.L675
		.L594:
  648        TYPE = XMASK+VAL;  VAL = 0
				movl	64(%ebx), %eax
				addl	$16, %eax
				movl	%eax, 68(%ebx)
				movl	$0, 64(%ebx)
				jmp	.L594
		.L676:
  649     %FINISH
  650     ZQUERY = 0
				movl	$0, ZQUERY.8647@GOTOFF(%edi)
		
  651     FAULT('I') %IF TYPE1&TYPE&RELMASK # 0
				movl	44(%esp), %eax
				andl	$32, %eax
				testl	%eax, 68(%ebx)
				jne	.L676
		.L595:
				movl	%ebx, %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL544:
				jmp	.L595
		.L596:
  652     TYPE = TYPE1!TYPE!MEMMASK;  VAL = VAL1+VAL
				movl	44(%esp), %eax
				orl	$64, %eax
				orl	%eax, 68(%ebx)
				movl	40(%esp), %eax
				addl	%eax, 64(%ebx)
  653     ->POP
				jmp	.L536
		.L674:
  654 
  655 ASS(-22):                             !MINST SEPARATOR
  656     %IF TYPE1&OPMASK = 16_7000 %START
				movl	44(%esp), %edx
				movl	%edx, %eax
				andl	$61440, %eax
				cmpl	$28672, %eax
				je	.L677
		.L597:
  657        %IF TYPE1&16_10 = 0 %START;    !REG-TYPE INST
				testb	$16, %dl
				jne	.L598
  658           FAULT('I') %IF TYPE # REG
				cmpl	$128, 68(%ebx)
				je	.L603
				movl	%ebx, %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL546:
				jmp	.L603
		.L598:
  659        %finish %ELSE %START
  660           VAL = \VAL %AND VAL1 = VAL1!!16_0100 %IF VAL < 0
				movl	64(%ebx), %eax
				testl	%eax, %eax
				js	.L679
		.L600:
				notl	%eax
				movl	%eax, 64(%ebx)
				xorl	$256, 40(%esp)
		
				jmp	.L600
		.L678:
  661           FAULT('I') %IF TYPE # 0 %OR VAL > 15
				cmpl	$0, 68(%ebx)
				jne	.L601
				cmpl	$15, 64(%ebx)
				jle	.L603
		.L601:
				movl	%ebx, %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL547:
		.L599:
		.L602:
		.L603:
  662        %FINISH
  663        TYPE = TYPE1+16_8000;  VAL = VAL1&16_FF0F+VAL<<4
				movl	44(%esp), %eax
				addl	$32768, %eax
				movl	%eax, 68(%ebx)
				movl	40(%esp), %eax
				andl	$65295, %eax
				movl	64(%ebx), %edx
				sall	$4, %edx
				addl	%edx, %eax
				movl	%eax, 64(%ebx)
  664     %finish %ELSE %IF TYPE1&OPMASK = 16_F000 %START
				cmpl	$61440, %eax
				jne	.L604
				jmp	.L536
		.L679:
  665        PROGREF %IF VAL1&16_FC0F = 16_0003; !BAL,BTC,BFC
				movl	40(%esp), %eax
				andl	$64527, %eax
				cmpl	$3, %eax
				je	.L678
		.L605:
				movl	20(%esp), %ecx
				call	PROGREF.8782
		.LVL548:
				jmp	.L605
		.L604:
  666        FORM INST(VAL1)
				movl	20(%esp), %ecx
				movl	40(%esp), %eax
				call	FORMINST.8689
		.LVL545:
  667     %finish %ELSE FAULT('I')
				jmp	.L536
		.L677:
				movl	%ebx, %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL549:
				jmp	.L536
		.L606:
  668     ->POP
  669 
  670 ASS(-23):                             !MACHINE INST
  671     SET JUMP(16_1000) %IF COND # 0
				cmpl	$0, 48(%ebx)
				jne	.L680
		.L607:
				leal	40(%esp), %ecx
				movl	$4096, %eax
				call	SETJUMP.8722
		.LVL551:
				jmp	.L607
		.L608:
  672     PLANT VAL
				movl	%ebx, %ecx
				call	PLANTVAL.8579
		.LVL550:
  673     CREG = -1;  ATYPE = -1
				movl	$-1, 56(%ebx)
				movl	$-1, 60(%ebx)
  674     %RETURN
				jmp	.L508
		.L680:
  675 
  676 ASS(-24):                             !LOAD
  677     LOAD TEMP %IF TYPE # REG
				leal	40(%esp), %eax
				movl	%eax, 20(%esp)
				jmp	.L510
		.LVL455:
		.L514:
				cmpl	$128, 68(%ebx)
				jne	.L681
		.L609:
				movl	20(%esp), %ecx
				call	LOADTEMP.8760
		.LVL554:
				jmp	.L609
		.L610:
  678     Q = QBASE
				movl	QBASE.8407@GOTOFF(%edi), %esi
		.LVL552:
  679     ->GET
				jmp	.L510
		.LVL553:
		.L681:
  680 
  681 ASS(-25):                             !STORE (TYPE1,VAL1 -> TYPE,VAL)
  682     %IF TYPE = REG %START
				movl	68(%ebx), %eax
				cmpl	$128, %eax
				je	.L682
		.L611:
  683        SWOP %AND LOAD REG(VAL1) %IF VAL1 # VAL
				movl	40(%esp), %eax
				cmpl	%eax, 64(%ebx)
				je	.L508
				leal	40(%esp), %ebx
				movl	%ebx, %ecx
				call	SWOP.8777
		.LVL559:
				movl	%ebx, %ecx
				movl	40(%esp), %eax
				call	LOADREG.8735
		.LVL560:
				jmp	.L508
		.L683:
  684     %finish %ELSE %START
  685        ATYPE = -1 %IF ATYPE&MEMMASK # 0
				testb	$64, 60(%ebx)
				je	.L612
				movl	$-1, 60(%ebx)
		.L612:
  686        %IF FLAG = 0 %START
				cmpl	$0, 52(%ebx)
				jne	.L613
  687           %IF VAL1 = ACC %AND ATYPE < 0 %START
				movl	40(%esp), %edx
				cmpl	%edx, 40(%ebx)
				je	.L683
		.L614:
		.LVL555:
		.L616:
				cmpl	$0, 60(%ebx)
				jns	.L616
		.LVL561:
  688              K = TYPE&15
  689              ATYPE = TYPE %AND AVAL = VAL %IF K = 0 %OR 1<<K&TEMPS = 0
				movl	%eax, %edx
				andl	$15, %edx
		.LVL562:
				je	.L615
				movl	TEMPS.8431@GOTOFF(%edi), %ecx
				btl	%edx, %ecx
				jc	.L616
		.L615:
				movl	%eax, 60(%ebx)
				movl	64(%ebx), %edx
		.LVL563:
				movl	%edx, 44(%ebx)
				jmp	.L616
		.LVL564:
		.L613:
  690           %FINISH
  691           OP = STORE;  OP = STB %IF TYPE&BMASK # 0
				andl	$256, %eax
				cmpl	$1, %eax
				sbbl	%edx, %edx
				andl	$-37376, %edx
				addl	$37378, %edx
		.L617:
		.LVL556:
		.L618:
  692        %finish %ELSE %START
  693           CREG = 16;  CTYPE = TYPE;  CVAL = VAL
				movl	$16, 56(%ebx)
				movl	%eax, 36(%ebx)
				movl	64(%ebx), %eax
				movl	%eax, 32(%ebx)
		.LVL565:
  694           OP = AHM
				movl	$8450, %edx
				jmp	.L618
		.LVL566:
		.L619:
  695        %FINISH
  696        PLANT INST(VAL1<<4+OP)
				movl	40(%esp), %eax
				sall	$4, %eax
				addl	%edx, %eax
				leal	40(%esp), %ecx
				call	PLANTINST.8730
		.LVL557:
				jmp	.L508
		.LVL558:
		.L682:
  697     %FINISH
  698     %RETURN
  699 
  700 ASS(-26):                             !JUMP
  701     SET JUMP(16_1000) %IF INTEGER(NP)&16_F000 = 16_3000; !OR
				movl	NP.8417@GOTOFF(%edi), %eax
				call	INTEGER.8454
		.LVL567:
				andl	$61440, %eax
				cmpl	$12288, %eax
				je	.L684
		.L620:
				leal	40(%esp), %ecx
				movl	$4096, %eax
				call	SETJUMP.8722
		.LVL572:
				jmp	.L620
		.L685:
  702     %IF FLAG < 0 %START;              !REPEAT
				cmpl	$0, 52(%ebx)
				js	.L685
		.L621:
		.L624:
		.LVL568:
		.L625:
  703        FLAG = 0
				movl	$0, 52(%ebx)
  704        %IF PASS = 0 %START
				cmpl	$0, PASS.8426@GOTOFF(%edi)
				jne	.L625
  705           K = NP;  LITVAL = LOC
				movl	NP.8417@GOTOFF(%edi), %esi
		.LVL573:
				movl	76(%ebx), %edi
		.LVL574:
				jmp	.L622
		.L686:
  706           %WHILE INTEGER(K)&16_1000 # 0 %CYCLE
				movl	%esi, %eax
				call	INTEGER.8454
		.LVL577:
				testb	$16, %ah
				jne	.L686
		.L623:
  707              K = K+2;  LITVAL = LITVAL-2
				addl	$2, %esi
		.LVL575:
				subl	$2, %edi
		.LVL576:
		.L622:
  708           %REPEAT
  709           FLAG = 1 %IF LITVAL-VAL < 32
				subl	64(%ebx), %edi
		.LVL578:
				cmpl	$31, %edi
				jg	.L625
				movl	$1, 52(%ebx)
				jmp	.L625
		.LVL579:
		.L626:
				jmp	.L632
		.L627:
				jmp	.L632
		.L628:
				jmp	.L632
		.L629:
				jmp	.L632
		.L630:
				jmp	.L632
		.L631:
		.L632:
  710        %FINISH
  711     %FINISH
  712     PROGREF
				leal	40(%esp), %ebx
				movl	%ebx, %ecx
				call	PROGREF.8782
		.LVL569:
  713     PLANT JUMP
				movl	%ebx, %ecx
				call	PLANTJUMP.8708
		.LVL570:
  714     %RETURN
				jmp	.L508
		.LVL571:
		.L684:
  715 
  716 %END;  !ASSEMBLE
  717 
  718 %ROUTINE LOOKUP(%INTEGER CONTROL)
		.LVL138:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$12, %esp
				call	__x86.get_pc_thunk.di
				addl	$_GLOBAL_OFFSET_TABLE_, %edi
				movl	%eax, %ebp
				movl	%ecx, %esi
  719 !ALL DICT OPERATIONS LOCALISED HERE
  720 !CONTROL = 0 (LOOKUP ONLY), 1 (FORWARD OK),
  721 !          2 (REDEF), 3 (DEF),
  722 !          4 (MACPARM), 7 (LABEL)
  723 %INTEGER DP
  724     DP = DEFMIN;  DP = MP+5 %IF CONTROL = 4
				movl	DEFMIN.8411@GOTOFF(%edi), %ebx
		.LVL139:
				cmpl	$4, %eax
				jne	.L188
				movl	MP.8406@GOTOFF(%edi), %ebx
		.LVL140:
				addl	$5, %ebx
		.LVL141:
				jmp	.L188
		.LVL142:
		.L186:
  725     
				movl	_imp_current_line@GOT(%edi), %eax
				movl	(%eax), %edx
				testl	%edx, %edx
				movl	$725, %eax
				cmove	%eax, %edx
				movl	_imp_current_file@GOT(%edi), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				leal	.LC6@GOTOFF(%edi), %ecx
				cmove	%ecx, %eax
		.LVL580:
		.LBB193:
		.LBB194:
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				pushl	32(%esp)
				leal	.LC8@GOTOFF(%edi), %eax
				pushl	%eax
				pushl	$1
		.LBE194:
		.LBE193:
				movl	stderr@GOT(%edi), %eax
		.LVL581:
		.LBB196:
		.LBB195:
				pushl	(%eax)
				movl	%edi, %ebx
				call	__fprintf_chk@PLT
		.LVL582:
		.LBE195:
		.LBE196:
  726 {}    %WHILE INTEGER(DP) # 0 %CYCLE
				movl	%ebx, %eax
				call	INTEGER.8454
		.LVL144:
				testl	%eax, %eax
				je	.L185
				addl	$20, %esp
				pushl	$1
				call	exit@PLT
		.LVL583:
		.L646:
  727 {}       ->YES %IF INTEGER(DP) = TAG1 %AND INTEGER(DP+1) = TAG2
				movl	%ebx, %eax
				call	INTEGER.8454
		.LVL145:
				cmpl	16(%esi), %eax
				jne	.L186
				leal	1(%ebx), %eax
				call	INTEGER.8454
		.LVL146:
				cmpl	12(%esi), %eax
				jne	.L186
		.L187:
  728 {}       DP = DP+4
				addl	$4, %ebx
		.LVL143:
		.L188:
				movl	60(%esp), %eax
				xorl	%gs:20, %eax
				jne	.L673
				addl	$76, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LVL537:
		.L585:
				call	__stack_chk_fail_local
		.LVL598:
		.LFE223:
		CONDIT.9061:
		.LFB245:
  729 {}    %REPEAT
  730 
  731 !!%OWNINTEGER P
  732 !!    DP = DP-4
  733 !!REP:DP = DP+4
  734 !!    %LAC* DP; %OPR 640;!SNA; %JMP NO
  735 !!    %SAD TAG1; %OPR 512; %JMP REP
  736 !!    %LAC DP; %TAD #1; %DAC P
  737 !!    %LAC* P; %SAD TAG2; %JMP YES
  738 !!    ->REP
  739 !!NO:
  740     %RETURN %IF CONTROL&1 = 0;        !NO CREATION
				testl	$1, %ebp
				je	.L183
		.L190:
		.L191:
  741 NEW:DEFMIN = DEFMIN-4;  DP = DEFMIN
				movl	DEFMIN.8411@GOTOFF(%edi), %ebp
		.LVL150:
				leal	-4(%ebp), %ebx
		.LVL151:
				movl	%ebx, DEFMIN.8411@GOTOFF(%edi)
		.LVL152:
  742 !!    %MONITOR 21 %IF DP-QLIM <= 0
  743     !{}%signal 2,1 %IF DP-QLIM <= 0
  744 !!    INTEGER(DP) = TAG1;  INTEGER(DP+1) = TAG2
  745     set INTEGER(DP, TAG1);  set INTEGER(DP+1,  TAG2)
				movl	16(%esi), %edx
				movl	%ebx, %eax
				call	SETINTEGER.8467
		.LVL153:
				movl	12(%esi), %edx
				leal	-3(%ebp), %eax
				call	SETINTEGER.8467
		.LVL154:
		.L192:
		.L193:
  746 !!SET:INTEGER(DP+2) = TYPE;  INTEGER(DP+3) = VAL
  747 SET:set INTEGER(DP+2, TYPE);  set INTEGER(DP+3, VAL)
				movl	68(%esi), %edx
				leal	2(%ebx), %eax
				call	SETINTEGER.8467
		.LVL155:
				movl	64(%esi), %edx
				leal	3(%ebx), %eax
				call	SETINTEGER.8467
		.LVL156:
		.L189:
		.L183:
  748     %RETURN
  749 YES:%IF CONTROL&2 = 0 %START;         !NOT DEF CLASS
				testl	$2, %ebp
				je	.L204
		.L194:
  750        TYPE = INTEGER(DP+2);  VAL = INTEGER(DP+3)
				leal	2(%ebx), %eax
				call	INTEGER.8454
		.LVL159:
				movl	%eax, 68(%esi)
				leal	3(%ebx), %eax
				call	INTEGER.8454
		.LVL160:
				movl	%eax, 64(%esi)
  751        %RETURN
				jmp	.L183
		.L205:
  752     %FINISH
  753     %IF CONTROL = 3 %START
				cmpl	$3, %ebp
				je	.L205
		.L195:
  754        ->NEW %IF DP-INTEGER(BP) >= 0; !GLOBAL
				movl	BP.8416@GOTOFF(%edi), %eax
				call	INTEGER.8454
		.LVL161:
				cmpl	%eax, %ebx
				jns	.L190
		.L196:
  755        FAULT('D')
				movl	%esi, %ecx
				movl	$68, %eax
				call	FAULT.8478
		.LVL162:
				jmp	.L192
		.L206:
  756     %FINISH
  757     ->SET %IF CONTROL # 7
				cmpl	$7, %ebp
				jne	.L192
		.L197:
  758     %IF INTEGER(DP+2)&OPFMASK = FMASK %START
				leal	2(%ebx), %eax
				call	INTEGER.8454
		.LVL147:
				andl	$63488, %eax
				cmpl	$2048, %eax
				je	.L206
		.L198:
  759        VAL = INTEGER(DP+3)
				leal	3(%ebx), %eax
				call	INTEGER.8454
		.LVL163:
				movl	%eax, 64(%esi)
  760        %IF PASS = 0 %START
				cmpl	$0, PASS.8426@GOTOFF(%edi)
				jne	.L199
  761 !!          INTEGER(VAL) = LOC
  762           set INTEGER(VAL, LOC)
				movl	76(%esi), %edx
				call	SETINTEGER.8467
		.LVL164:
		.L200:
		.L201:
  763        %finish %ELSE %START
  764           FAULT('P') %AND LOC=INTEGER(VAL) %IF INTEGER(VAL) # LOC
				call	INTEGER.8454
		.LVL165:
				cmpl	76(%esi), %eax
				je	.L201
				movl	%esi, %ecx
				movl	$80, %eax
				call	FAULT.8478
		.LVL166:
				movl	64(%esi), %eax
				call	INTEGER.8454
		.LVL167:
				movl	%eax, 76(%esi)
				jmp	.L201
		.LFE234:
		TAG.8946:
		.LFB239:
  765        %FINISH
  766        VAL = LOC
				movl	76(%esi), %eax
				movl	%eax, 64(%esi)
  767     %finish %ELSE %START
				jmp	.L192
		.L199:
  768        ->NEW %IF DP-INTEGER(BP) >= 0
				movl	BP.8416@GOTOFF(%edi), %eax
				call	INTEGER.8454
		.LVL148:
				cmpl	%eax, %ebx
				jns	.L190
		.L202:
  769        FAULT('D')
				movl	%esi, %ecx
				movl	$68, %eax
				call	FAULT.8478
		.LVL149:
				jmp	.L192
		.L185:
  770     %FINISH
  771     ->SET
  772 %END
  773 
  774 %ROUTINE TAGREF
				addl	$12, %esp
				popl	%ebx
		.LVL157:
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LVL158:
		.L204:
				pushl	%esi
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
  775 %OWNINTEGER B=2184, W=24717
  776     %IF TERM = '(' %START
				cmpl	$40, 8(%ecx)
				jne	.L231
  777        TYPE = 0;  VAL = 0
				movl	$0, 68(%ecx)
				movl	$0, 64(%ecx)
  778        %RETURN %IF TAG1 = W
				movl	16(%ecx), %eax
				cmpl	$24717, %eax
				je	.L227
		.L230:
  779        TYPE = BMASK
				movl	$256, 68(%ecx)
  780        %RETURN %IF TAG1 = B
				cmpl	$2184, %eax
				je	.L227
		.L228:
		.L231:
				movl	%ecx, %ebx
  781     %FINISH
  782     TYPE = LOCTYPE+FMASK+UMASK;  VAL = LABMIN-1
				movl	72(%ecx), %eax
				addl	$2560, %eax
				movl	%eax, 68(%ecx)
				movl	LABMIN.8414@GOTOFF(%esi), %eax
				subl	$1, %eax
				movl	%eax, 64(%ecx)
  783     LOOKUP(1)
				movl	$1, %eax
				call	LOOKUP.8889
		.LVL177:
  784     %IF TYPE&OPFMASK = FMASK %START
				movl	68(%ebx), %eax
				andl	$63488, %eax
				cmpl	$2048, %eax
				je	.L237
		.L229:
		.L235:
		.L227:
  785        %IF VAL = LABMIN-1 %START
				movl	64(%ebx), %eax
				movl	LABMIN.8414@GOTOFF(%esi), %edx
				subl	$1, %edx
				cmpl	%eax, %edx
				je	.L238
		.L232:
  786 !!          LABMIN = VAL;  %MONITOR 22 %IF LABMIN = ALMAX
  787           LABMIN = VAL;  !{}%signal 2,2 %IF LABMIN = ALMAX
				movl	%eax, LABMIN.8414@GOTOFF(%esi)
				jmp	.L232
		.L239:
  788        %FINISH
  789        %IF PASS > 0 %START
				cmpl	$0, PASS.8426@GOTOFF(%esi)
				jg	.L239
		.L233:
		.L234:
  790           VAL = INTEGER(VAL)
				call	INTEGER.8454
		.LVL178:
				movl	%eax, 64(%ebx)
  791           FAULT('U') %IF VAL = 0
				testl	%eax, %eax
				jne	.L234
				movl	%ebx, %ecx
				movl	$85, %eax
				call	FAULT.8478
		.LVL179:
				jmp	.L234
		.LFE235:
		GETEXP.8992:
		.LFB244:
  792        %FINISH
  793        TYPE = TYPE-FMASK
				subl	$2048, 68(%ebx)
				jmp	.L227
		.L238:
  794     %FINISH
  795 %END
  796 
  797 %ROUTINE GET SYM
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %edi
		.L76:
		.L80:
		.L77:
				addl	$4, %esp
				popl	%ebx
				popl	%esi
				ret
		.L237:
  798     %CYCLE
  799        SYM = CHAR(GETPOS);  GETPOS = GETPOS+1
				movl	GETPOS.8400@GOTOFF(%esi), %ebx
				movl	%ebx, %eax
				call	CHAR.8460
		.LVL55:
				movl	%eax, 4(%edi)
				addl	$1, %ebx
				movl	%ebx, GETPOS.8400@GOTOFF(%esi)
  800        %RETURN %IF SYM # ' '
				cmpl	$32, %eax
				je	.L80
  801     %REPEAT
  802 %END
  803 
  804 %PREDICATE S(%INTEGER K)
				popl	%ebx
				popl	%esi
				popl	%edi
				ret
		.L78:
		.LFE236:
		S.8931:
		.LFB237:
		.LVL56:
  805     %FALSE %UNLESS K = SYM
				cmpl	%eax, 4(%ecx)
				je	.L86
				movl	$0, %eax
		.LVL57:
  806     GET SYM
				call	GETSYM.8925
		.LVL59:
  807     %TRUE
				movl	$1, %eax
				ret
		.LFE237:
		SS.8936:
		.LFB238:
  808 %END
  809 
				ret
		.LVL58:
		.L86:
		.L84:
  810 %PREDICATE SS(%INTEGER K)
		.LVL60:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$4, %esp
				call	__x86.get_pc_thunk.bp
				addl	$_GLOBAL_OFFSET_TABLE_, %ebp
				movl	%eax, (%esp)
				movl	%ecx, %edi
		.LVL61:
		.LBB104:
  811     %FALSE %UNLESS K = SYM = CHAR(GETPOS)
				movl	4(%ecx), %esi
		.LVL62:
				movl	GETPOS.8400@GOTOFF(%ebp), %ebx
				movl	%ebx, %eax
		.LVL63:
				call	CHAR.8460
		.LVL64:
		.LBE104:
				cmpl	%esi, (%esp)
				jne	.L90
				movl	$0, %edx
		.L88:
				cmpl	%eax, %esi
				je	.L90
		.LVL65:
		.L87:
  812     GETPOS = GETPOS+1
				addl	$1, %ebx
				movl	%ebx, GETPOS.8400@GOTOFF(%ebp)
  813     GET SYM
				movl	%edi, %ecx
				call	GETSYM.8925
		.LVL69:
  814     %TRUE
				movl	%edx, %ebp
				sarl	$31, %ebp
				movl	%ebp, %eax
				xorl	%edx, %eax
				subl	%ebp, %eax
		.LBE103:
		.LBE102:
				cmpl	$15, %eax
				jg	.L28
				testl	$8, %edi
				je	.L28
				movl	$1, %edx
				jmp	.L87
		.LFE238:
		CODESYM.8952:
		.LFB240:
				movl	%eax, %ebp
				sarl	$31, %ebp
				movl	%ebp, %edx
				xorl	%eax, %edx
				subl	%ebp, %edx
		.LBE186:
		.LBE185:
				movl	%eax, %ecx
				sarl	$31, %ecx
				movl	%ecx, %edx
				xorl	%eax, %edx
				subl	%ecx, %edx
		.LBE188:
		.LBE187:
  815 %END
  816 
				movl	%edx, %eax
				addl	$4, %esp
		.LVL66:
				popl	%ebx
				popl	%esi
		.LVL67:
				popl	%edi
				popl	%ebp
				ret
		.LVL68:
		.L90:
  817 %PREDICATE TAG
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$32, %esp
				call	__x86.get_pc_thunk.di
				addl	$_GLOBAL_OFFSET_TABLE_, %edi
				movl	%ecx, %ebx
				movl	%gs:20, %eax
				movl	%eax, 28(%esp)
				xorl	%eax, %eax
				leal	48(%esp), %eax
				movl	%eax, 24(%esp)
				movl	%ecx, 20(%esp)
  818 %INTEGER J,K
  819     %ROUTINE CODE SYM
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.di
				addl	$_GLOBAL_OFFSET_TABLE_, %edi
				movl	%ecx, %esi
  820        SYM = CHAR(GETPOS);  GETPOS = GETPOS+1
				movl	GETPOS.8400@GOTOFF(%edi), %ebx
				movl	%ebx, %eax
				call	CHAR.8460
		.LVL70:
				movl	8(%esi), %edx
				movl	%eax, 4(%edx)
				addl	$1, %ebx
				movl	%ebx, GETPOS.8400@GOTOFF(%edi)
  821        K = SYM-'0'
				movl	8(%esi), %edx
				movl	4(%edx), %eax
				subl	$48, %eax
				movl	%eax, 4(%esi)
  822        %IF K >= 0 %START
				testl	%eax, %eax
				js	.L97
  823           TERM = -1 %AND %RETURN %IF K < 10
				cmpl	$9, %eax
				jle	.L99
		.L95:
				movl	$-1, 8(%edx)
				jmp	.L93
		.L100:
  824           K = SYM-'A'
				movl	4(%edx), %eax
				subl	$65, %eax
				movl	%eax, 4(%esi)
  825           %RETURN %IF K >= 0 %AND K < 26 %AND TERM = 0
				cmpl	$25, %eax
				jbe	.L100
		.L94:
		.L97:
				cmpl	$0, 8(%edx)
				jne	.L97
				jmp	.L93
		.LFE240:
		PACKTRIPLE.8959:
		.LFB241:
  826        %FINISH
  827        TERM = SYM
				movl	4(%edx), %eax
				movl	%eax, 8(%edx)
		.L96:
		.L93:
  828     %END
  829     %ROUTINE PACK TRIPLE
				pushl	%ebx
				movl	%ecx, %ebx
				movl	8(%ecx), %eax
				cmpl	$0, 8(%eax)
				js	.L102
		.L103:
  830        ->T1 %IF TERM < 0
				popl	%ebx
				popl	%esi
				popl	%edi
				ret
		.L99:
  831        J = ((K<<5+K)<<1+K)<<4+K+1111; !K*1073+1111
				movl	4(%ecx), %eax
				movl	%eax, %edx
				sall	$5, %edx
				addl	%eax, %edx
				leal	(%eax,%edx,2), %edx
				sall	$4, %edx
				leal	1111(%eax,%edx), %eax
				movl	%eax, (%ecx)
  832        CODE SYM
				call	CODESYM.8952
		.LVL71:
  833        ->T2 %IF TERM # 0
				movl	8(%ebx), %eax
				cmpl	$0, 8(%eax)
				je	.L112
		.L104:
  834        J = (K<<3+K)<<2+K+111+J;       !J+K*37+111
				movl	4(%ebx), %eax
				leal	(%eax,%eax,8), %edx
				leal	111(%eax,%edx,4), %eax
				addl	%eax, (%ebx)
  835        CODE SYM
				movl	%ebx, %ecx
				call	CODESYM.8952
		.LVL72:
  836        ->T3 %IF TERM # 0
				movl	8(%ebx), %eax
				cmpl	$0, 8(%eax)
				jne	.L106
		.L107:
  837        J = J+K+11
				movl	4(%ebx), %eax
				addl	(%ebx), %eax
				addl	$11, %eax
				movl	%eax, (%ebx)
  838        CODE SYM
				movl	%ebx, %ecx
				call	CODESYM.8952
		.LVL73:
  839        %RETURN
				jmp	.L101
		.L102:
  840 T1:    J = ((K<<1+K)<<1+K)<<4-K+1;    !K*111+1
				movl	4(%ecx), %edx
				leal	(%edx,%edx,2), %eax
				leal	(%edx,%eax,2), %eax
				sall	$4, %eax
				subl	%edx, %eax
				addl	$1, %eax
				movl	%eax, (%ecx)
  841        CODE SYM
				call	CODESYM.8952
		.LVL74:
				jmp	.L104
		.L113:
		.L109:
  842 T2:    %RETURN %IF TERM > 0
				movl	8(%ebx), %eax
				cmpl	$0, 8(%eax)
				jle	.L113
		.L108:
		.L101:
  843        J = (K<<2+K)<<1+K+1+J;         !J+K*11+1
				movl	4(%ebx), %eax
				leal	(%eax,%eax,4), %edx
				leal	1(%eax,%edx,2), %eax
				addl	%eax, (%ebx)
  844        CODE SYM
				movl	%ebx, %ecx
				call	CODESYM.8952
		.LVL75:
		.L106:
  845 T3:    %RETURN %IF TERM > 0
				movl	8(%ebx), %eax
				cmpl	$0, 8(%eax)
				jg	.L101
		.L110:
  846        J = J+K+1
				movl	4(%ebx), %eax
				addl	(%ebx), %eax
				addl	$1, %eax
				movl	%eax, (%ebx)
				subl	$12, %esp
				pushl	%ebp
				call	_imp_readsymbol@PLT
		.LVL251:
		.LBE116:
		.LBE115:
				subl	$12, %esp
				pushl	%ebp
				call	_imp_readsymbol@PLT
		.LVL254:
		.LBE118:
		.LBE117:
				subl	$12, %esp
				pushl	%ebp
				call	_imp_readsymbol@PLT
		.LVL258:
				addl	$16, %esp
		.LVL259:
		.L349:
		.LBE120:
		.LBE119:
  847        CODE SYM
				movl	%ebx, %ecx
				call	CODESYM.8952
		.LVL76:
  848     %END
				jmp	.L101
		.LFE241:
		TAGIF.8982:
		.LFB242:
  849     K = SYM-'A'
				movl	4(%ecx), %ecx
				leal	-65(%ecx), %edx
				movl	%edx, 16(%esp)
  850     %FALSE %UNLESS K >= 0 %AND K < 26
				popl	%ebx
				ret
		.L112:
		.L105:
				movl	$0, %eax
				cmpl	$25, %edx
				jbe	.L224
		.L207:
  851     %FALSE %IF SYM = 'X' %AND CHAR(GETPOS)&128 # 0
				cmpl	$88, %ecx
				jne	.L210
				movl	GETPOS.8400@GOTOFF(%edi), %eax
				call	CHAR.8460
		.LVL168:
				movl	%eax, %edx
				movl	$0, %eax
				testb	$-128, %dl
				jne	.L207
		.L210:
				subl	$12, %esp
		.LBE134:
		.LBE133:
				pushl	%eax
		.LVL305:
				call	_imp_printsymbol@PLT
		.LVL306:
		.LBE135:
		.LBE136:
		.LBB137:
		.LBB138:
				subl	$12, %esp
		.LBE140:
		.LBE139:
				pushl	%eax
				call	_imp_printsymbol@PLT
		.LVL311:
		.LBE141:
		.LBE142:
				subl	$12, %esp
				pushl	$124
				call	_imp_printsymbol@PLT
		.LVL319:
				addl	$16, %esp
				jmp	.L395
		.LVL320:
		.L397:
		.LBE148:
		.LBE147:
				subl	$12, %esp
		.LBE150:
		.LBE149:
				pushl	%eax
				call	_imp_printsymbol@PLT
		.LVL322:
		.LBE151:
		.LBE152:
				subl	$12, %esp
				pushl	$39
				call	_imp_printsymbol@PLT
		.LVL330:
				addl	$16, %esp
				jmp	.L397
		.LBE154:
		.LBE153:
		.LFE214:
		PUTWORD.8545:
		.LFB216:
  852     TERM = 0
				movl	$0, 8(%ebx)
				pushl	%eax
				call	_imp_printch@PLT
		.LVL284:
		.LBE122:
		.LBE121:
				movl	%esi, (%esp)
				call	_imp_printch@PLT
		.LVL286:
		.LDL16:
		.LBE124:
		.LBE123:
				subl	$12, %esp
				pushl	$0
				call	_imp_printch@PLT
		.LVL291:
		.LBE128:
		.LBE127:
				subl	$12, %esp
				pushl	$-16
				call	_imp_printch@PLT
		.LVL294:
		.LBE130:
		.LBE129:
  853     PACK TRIPLE
				subl	$256, %esp
				leal	524(%esp), %esi
				movl	$64, %ecx
				movl	%esp, %edi
				rep movsl
				call	_imp_printstring@PLT
		.LVL115:
		.LBE110:
		.LBE109:
		.LBB111:
		.LBB112:
				leal	12(%esp), %ecx
				call	PACKTRIPLE.8959
		.LVL169:
  854     TAG1 = J
				addl	$248, %esp
				pushl	$-1
				pushl	%ebp
				call	_imp_write@PLT
		.LVL116:
		.LBE112:
		.LBE111:
		.LBB113:
		.LBB114:
				movl	12(%esp), %eax
				movl	%eax, 16(%ebx)
  855     %CYCLE
  856        J = 0
				movl	$0, 12(%esp)
		
  857        PACK TRIPLE %IF TERM <= 0
				leal	12(%esp), %esi
				jmp	.L211
		.L226:
				movl	%esi, %ecx
				call	PACKTRIPLE.8959
		.LVL170:
				jmp	.L212
		.L217:
				cmpl	$0, 8(%ebx)
				jle	.L226
		.L212:
  858        TAG2 = J
				movl	12(%esp), %eax
				movl	%eax, 12(%ebx)
  859        CODE SYM %WHILE TERM <= 0
				movl	8(%ebx), %edx
				testl	%edx, %edx
				jg	.L213
		.L214:
				movl	%esi, %ecx
				call	CODESYM.8952
		.LVL172:
		.LDL13:
				movl	8(%ebx), %edx
				testl	%edx, %edx
				jle	.L214
		.L213:
  860        %EXIT %UNLESS TERM = QQ
				cmpl	%edx, QQ.8450@GOTOFF(%edi)
				jne	.L215
		.L216:
  861        TYPE = 1;  LOOKUP(0)
				movl	$1, 68(%ebx)
				movl	%ebx, %ecx
				movl	$0, %eax
				call	LOOKUP.8889
		.LVL173:
  862        FAULT('U') %IF TYPE # 0
				cmpl	$0, 68(%ebx)
				je	.L217
				movl	%ebx, %ecx
				movl	$85, %eax
				call	FAULT.8478
		.LVL174:
				jmp	.L217
		.L215:
  863        TAG1 = VAL
				movl	64(%ebx), %eax
				movl	%eax, 16(%ebx)
  864        TERM = 0;  CODE SYM
				movl	$0, 8(%ebx)
				movl	%esi, %ecx
				call	CODESYM.8952
		.LVL171:
		.L211:
  865     %REPEAT
  866     GET SYM %IF TERM = ' '
				cmpl	$32, %edx
				jne	.L207
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL175:
  867     %TRUE
				movl	$1, %eax
		.L208:
				movl	$1, %eax
				jmp	.L207
		.L225:
  868 %END
  869 
				movl	28(%esp), %edi
				xorl	%gs:20, %edi
				jne	.L225
				addl	$32, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				ret
		.L224:
		.L209:
				call	__stack_chk_fail_local
		.LVL176:
		.LFE239:
		TAGREF.8912:
		.LFB235:
  870 %PREDICATE TAGIF
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	_imp_OutStream@GOT(%ebx), %eax
		.LBE176:
		.LBE175:
  871     %FALSE %UNLESS SYM='I' %AND CHAR(GETPOS)='F' %AND CHAR(GETPOS+1)=' '
				movl	$0, %eax
				cmpl	$73, 4(%ecx)
				je	.L121
		.L114:
				movl	GETPOS.8400@GOTOFF(%esi), %edi
				movl	%edi, %eax
				call	CHAR.8460
		.LVL77:
				movl	%eax, %edx
				movl	$0, %eax
				cmpl	$70, %edx
				jne	.L114
				leal	1(%edi), %eax
				call	CHAR.8460
		.LVL78:
				movl	%eax, %edx
				movl	$0, %eax
				cmpl	$32, %edx
				jne	.L114
		.L116:
  872     GETPOS = GETPOS+2
				addl	$2, %edi
				movl	%edi, GETPOS.8400@GOTOFF(%esi)
  873     GET SYM
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL79:
  874     %TRUE
				movl	$1, %eax
				jmp	.L114
		.LFE242:
		QUEUE.8988:
		.LFB243:
  875 %END
  876 
				popl	%ebx
				popl	%esi
				popl	%edi
				ret
		.L121:
				movl	%ecx, %ebx
  877 %ROUTINE QUEUE(%INTEGER K)
		.LVL80:
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	_imp_InStream@GOT(%edi), %eax
				movl	$2, (%eax)
				movl	_imp_infile@GOT(%edi), %eax
				movl	556(%eax), %edx
				movl	_imp_INFILE@GOT(%edi), %eax
				movl	%edx, (%eax)
		.LVL663:
		.L725:
		.LBE224:
		.LBE223:
				movl	_imp_InStream@GOT(%edi), %eax
				movl	$1, (%eax)
				movl	_imp_infile@GOT(%edi), %eax
				movl	280(%eax), %edx
				movl	_imp_INFILE@GOT(%edi), %eax
				movl	%edx, (%eax)
		.LVL878:
		.LBE228:
		.LBE227:
  878 !!    INTEGER(QLIM) = K
				movl	_imp_OutStream@GOT(%ebx), %eax
				movl	$1, (%eax)
				movl	_imp_outfile@GOT(%ebx), %eax
				movl	280(%eax), %edx
				movl	_imp_OUTFILE@GOT(%ebx), %eax
				movl	%edx, (%eax)
		.LDL18:
		.LVL289:
				movl	$10, %esi
		.LVL290:
		.L380:
		.LBE126:
		.LBE125:
		.LBB127:
		.LBB128:
				movl	_imp_OutStream@GOT(%ebx), %eax
				movl	$2, (%eax)
				movl	_imp_outfile@GOT(%ebx), %eax
				movl	556(%eax), %edx
				movl	_imp_OUTFILE@GOT(%ebx), %eax
				movl	%edx, (%eax)
		.LVL300:
		.LDL20:
		.LBE132:
		.LBE131:
				movl	$0, (%eax)
				movl	_imp_outfile@GOT(%ebx), %eax
				movl	4(%eax), %edx
				movl	_imp_OUTFILE@GOT(%ebx), %eax
				movl	%edx, (%eax)
		.LVL356:
		.LBE178:
		.LBE177:
				movl	_imp_OutStream@GOT(%ebx), %eax
				movl	$2, (%eax)
				movl	_imp_outfile@GOT(%ebx), %eax
				movl	556(%eax), %edx
				movl	_imp_OUTFILE@GOT(%ebx), %eax
				movl	%edx, (%eax)
		.LVL359:
		.L417:
		.LBE182:
		.LBE181:
				movl	_imp_OutStream@GOT(%edi), %eax
				movl	$2, (%eax)
				movl	_imp_outfile@GOT(%edi), %eax
				movl	556(%eax), %edx
				movl	_imp_OUTFILE@GOT(%edi), %eax
				movl	%edx, (%eax)
		.LVL632:
		.LBE198:
		.LBE197:
		.LBB199:
				movl	_imp_OutStream@GOT(%ebx), %eax
				movl	$0, (%eax)
				movl	_imp_outfile@GOT(%ebx), %eax
				movl	4(%eax), %edx
				movl	_imp_OUTFILE@GOT(%ebx), %eax
				movl	%edx, (%eax)
		.LVL660:
				leal	STORE.8452@GOTOFF(%ebx), %eax
				leal	130048(%eax), %edx
		.LVL661:
		.L723:
		.LBE222:
		.LBE221:
  879     set INTEGER(QLIM, K)
				movl	QLIM.8409@GOTOFF(%esi), %ebx
				movl	%eax, %edx
				movl	%ebx, %eax
		.LVL81:
				call	SETINTEGER.8467
		.LVL82:
				subl	$268, %esp
				leal	-1052(%ebp), %esi
				movl	$64, %ecx
				movl	%esp, %edi
				rep movsl
				pushl	$1
				movl	%eax, %esi
				movl	%eax, %ebx
				call	_imp_openinput@PLT
		.LVL649:
				addl	$4, %esp
		.LVL650:
		.LBE214:
		.LBE213:
				leal	-796(%ebp), %esi
				movl	$64, %ecx
				movl	%esp, %edi
				rep movsl
				pushl	$2
				call	_imp_openinput@PLT
		.LVL652:
				addl	$4, %esp
		.LVL653:
		.LBE216:
		.LBE215:
  880 !!    QLIM = QLIM+1;  %MONITOR 21 %IF QLIM = DEFMIN
				leal	-540(%ebp), %esi
				movl	$64, %ecx
				movl	%esp, %edi
				rep movsl
				pushl	$1
				call	_imp_openoutput@PLT
		.LVL655:
				addl	$4, %esp
		.LVL656:
		.LBE218:
		.LBE217:
				leal	-284(%ebp), %esi
				movl	$64, %ecx
				movl	%esp, %edi
				rep movsl
				pushl	$2
				call	_imp_openoutput@PLT
		.LVL658:
				addl	$272, %esp
		.LVL659:
		.LBE220:
		.LBE219:
		.LBB221:
		.LBB222:
  881     QLIM = QLIM+1;  !{}%signal 2,1 %IF QLIM = DEFMIN
				addl	$1, %ebx
				movl	%ebx, QLIM.8409@GOTOFF(%esi)
		.LDL7:
  882 %END
  883 
  884 %ROUTINE GET EXP
				popl	%ebx
				popl	%esi
				ret
		.LFE243:
		SCANARG.9127:
		.LFB248:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$28, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
  885 %INTEGER I,NBASE
  886 
  887     NBASE = NP
				movl	NP.8417@GOTOFF(%esi), %edi
		.LVL180:
  888     ->E3 %IF PEND # 0
				cmpl	$0, (%ecx)
				je	.L244
		.L242:
				movl	-2256(%ebp), %edi
				movl	%edi, %ebx
				call	_imp_closeinput@PLT
		.LVL877:
		.LBE226:
		.LBE225:
		.LBB227:
		.LBB228:
  889 E1: NEST(0) %WHILE S('(')
				movl	%ebx, %ecx
				movl	$40, %eax
				call	S.8931
		.LVL231:
				testl	%eax, %eax
				jne	.L243
				call	NEST.8601
		.LVL232:
				jmp	.L244
		.LVL233:
		.L315:
  890     NEST(-20) %IF S('#')
				movl	%ebx, %ecx
				movl	$35, %eax
				call	S.8931
		.LVL185:
				testl	%eax, %eax
				je	.L308
		.L245:
				movl	$-20, %eax
				call	NEST.8601
		.LVL188:
				jmp	.L245
		.L305:
  891     %IF TAG %START
				movl	%ebx, %ecx
				call	TAG.8946
		.LVL186:
				testl	%eax, %eax
				je	.L242
		.L246:
  892 E3:    TAGREF %IF PEND >= 0
				cmpl	$0, (%ebx)
				jns	.L305
		.L247:
				movl	%ebx, %ecx
				call	TAGREF.8912
		.LVL189:
				jmp	.L247
		.L306:
  893        PEND = 0
				movl	$0, (%ebx)
  894        %IF TYPE = REG %AND TERM = '(' %START
				cmpl	$128, 68(%ebx)
				je	.L306
		.L248:
				cmpl	$40, 8(%ebx)
				je	.L309
		.L297:
  895           TYPE = 0 %IF SAVE&1 = 0;  VAL = VAL+VAL+SAVE
				movl	SAVE.8430@GOTOFF(%esi), %eax
				testb	$1, %al
				jne	.L250
				movl	$0, 68(%ebx)
		.L250:
				movl	64(%ebx), %edx
				leal	(%eax,%edx,2), %eax
				movl	%eax, 64(%ebx)
				jmp	.L248
		.L307:
  896        %FINISH
  897        FAULT('I') %AND TYPE=0 %IF TYPE&OPMASK # 0
				testl	$61440, 68(%ebx)
				jne	.L307
		.L251:
				movl	%ebx, %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL190:
				movl	$0, 68(%ebx)
		.L252:
		.L254:
		.L255:
  898        %IF MODE # 0 %START
				cmpl	$0, 20(%ebx)
				je	.L255
		.L302:
				cmpl	$0, 20(%ebx)
				je	.L282
				jmp	.L302
		.L309:
  899           %IF TYPE&REGXMASK # 0 %START
				movl	68(%ebx), %eax
				testb	$-112, %al
				je	.L255
		.LVL181:
  900              I = TYPE&15;  I = VAL %IF I = 0
				andl	$15, %eax
		.LVL182:
				jne	.L253
				movl	64(%ebx), %eax
		.LVL183:
		.L253:
  901              DUSE = DUSE+1 %IF I = DREG
				cmpl	28(%ebx), %eax
				jne	.L255
				addl	$1, 24(%ebx)
				jmp	.L255
		.LVL184:
		.L243:
  902           %FINISH
  903        %FINISH
  904        %IF TERM = '(' %START
				cmpl	$40, 8(%ebx)
				je	.L310
		.L256:
		.L279:
		.L280:
		.L281:
		.L282:
				call	_imp_space@PLT
		.LVL307:
		.LBE138:
		.LBE137:
  905           GET SYM
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL193:
				subl	$12, %esp
		.LBE144:
		.LBE143:
				pushl	%eax
				call	_imp_spaces@PLT
		.LVL316:
		.LBE145:
		.LBE146:
  906           I = TYPE&31
				movl	68(%ebx), %ebp
				movl	%ebp, %eax
				andl	$31, %eax
				movl	%eax, %edx
		.LVL194:
  907           QUEUE(TYPE-I);  QUEUE(VAL)
				call	_imp_newline@PLT
		.LVL108:
		.LBE106:
		.LBE105:
				call	_imp_newline@PLT
		.LVL117:
		.LBE114:
		.LBE113:
				movl	%ebp, %eax
		.LVL195:
				movl	%edx, 12(%esp)
				subl	%edx, %eax
				call	QUEUE.8988
		.LVL196:
				movl	64(%ebx), %eax
				call	QUEUE.8988
		.LVL197:
				call	_imp_newline@PLT
		.LVL358:
		.LBE180:
		.LBE179:
		.LBB181:
		.LBB182:
  908           NEST(-21);  NEST(0)
				subl	$12, %esp
				pushl	$2
				call	_imp_newlines@PLT
		.LVL110:
		.LBE108:
		.LBE107:
				movl	$-21, %eax
				call	NEST.8601
		.LVL198:
				movl	$0, %eax
				call	NEST.8601
		.LVL199:
  909           %IF I # 0 %START
				cmpl	$0, 12(%esp)
				je	.L244
  910              QUEUE(REG);  QUEUE(I&15)
				movl	$128, %eax
				call	QUEUE.8988
		.LVL200:
				movl	%ebp, %eax
				andl	$15, %eax
				call	QUEUE.8988
		.LVL201:
  911              NEST(-1)
				movl	$-1, %eax
				call	NEST.8601
		.LVL202:
				jmp	.L244
		.L259:
		.LVL203:
		.L261:
  912           %FINISH
  913           ->E1
  914        %FINISH
  915     %finish %ELSE %IF '0' <= SYM <= '9' %START
				movl	4(%ebx), %eax
				leal	-48(%eax), %edx
				cmpl	$9, %edx
				ja	.L257
  916        TYPE = 0;  VAL = SYM-'0'
				movl	$0, 68(%ebx)
				movl	%edx, 64(%ebx)
		.L258:
  917        %CYCLE
  918           SYM = CHAR(GETPOS)-'0'
				movl	GETPOS.8400@GOTOFF(%esi), %ebp
				movl	%ebp, %eax
				call	CHAR.8460
		.LVL187:
				subl	$48, %eax
				movl	%eax, 4(%ebx)
  919           %EXIT %UNLESS 0 <= SYM <= 9
				cmpl	$9, %eax
				jg	.L261
		.L260:
  920           VAL = (VAL<<2+VAL)<<1+SYM
				movl	64(%ebx), %edx
				leal	(%edx,%edx,4), %edx
				leal	(%eax,%edx,2), %eax
				movl	%eax, 64(%ebx)
  921           GETPOS = GETPOS+1
				addl	$1, %ebp
				movl	%ebp, GETPOS.8400@GOTOFF(%esi)
  922        %REPEAT
				jmp	.L258
		.L308:
  923        GET SYM
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL204:
  924     %finish %ELSE %IF SYM = 'X' %START
				jmp	.L282
		.L257:
				cmpl	$88, %eax
				je	.L311
		.L262:
  925        TYPE = 0;  VAL = 0
				movl	$0, 68(%ebx)
				movl	$0, 64(%ebx)
				jmp	.L263
		.L267:
  926        %CYCLE
  927           SYM = CHAR(GETPOS)-128
				movl	GETPOS.8400@GOTOFF(%esi), %ebp
				movl	%ebp, %eax
				call	CHAR.8460
		.LVL207:
				leal	-128(%eax), %edx
				movl	%edx, 4(%ebx)
  928           %EXIT %IF SYM < 0
				testl	%edx, %edx
				js	.L264
		.L265:
  929           SYM = SYM-32 %IF SYM >= 96; !ENSURE UPPER-CASE
				cmpl	$95, %edx
				jle	.L266
				subl	$160, %eax
				movl	%eax, 4(%ebx)
		.L266:
  930           %IF '0' <= SYM <= '9' %OR 'A' <= SYM <= 'F' %START
				movl	4(%ebx), %edx
				cmpl	$57, %edx
				jle	.L267
		.L268:
				leal	-65(%edx), %eax
				cmpl	$5, %eax
				jbe	.L267
		.L269:
  931              VAL = VAL<<4+SYM-'0'
				movl	64(%ebx), %eax
				sall	$4, %eax
				addl	%edx, %eax
				leal	-55(%eax), %ecx
				subl	$48, %eax
				cmpl	$65, %edx
				cmovge	%ecx, %eax
				movl	%eax, 64(%ebx)
		.L271:
		.L272:
  932              VAL = VAL-7 %IF SYM >= 'A'
  933           %finish %ELSE FAULT('H')
				movl	%ebx, %ecx
				movl	$72, %eax
				call	FAULT.8478
		.LVL208:
				jmp	.L272
		.L264:
  934           GETPOS = GETPOS+1
				addl	$1, %ebp
				movl	%ebp, GETPOS.8400@GOTOFF(%esi)
		.L263:
  935        %REPEAT
  936        GET SYM
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL209:
  937     %finish %ELSE %IF SYM&128 # 0 %START
				testb	$-128, %al
				je	.L273
				jmp	.L282
		.L273:
  938        TYPE = 0;  VAL = SYM-128
				movl	$0, 68(%ebx)
				addl	$-128, %eax
				movl	%eax, 64(%ebx)
  939        GET SYM
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL205:
  940        %IF MODE >= 0 %AND SYM&128 # 0 %START
				cmpl	$0, 20(%ebx)
				js	.L282
				movl	4(%ebx), %eax
				testb	$-128, %al
				je	.L282
  941           VAL = VAL<<8+SYM-128;  GET SYM
				movl	64(%ebx), %edx
				sall	$8, %edx
				leal	-128(%eax,%edx), %eax
				movl	%eax, 64(%ebx)
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL206:
				jmp	.L282
		.L311:
  942        %FINISH
  943     %finish %ELSE %IF S('.') %START
				movl	%ebx, %ecx
				movl	$46, %eax
				call	S.8931
		.LVL210:
				testl	%eax, %eax
				jne	.L274
				movl	_imp_Event@GOT(%edi), %eax
				leal	-2236(%ebp), %edi
				movl	$6, %ecx
				movl	%eax, %esi
				rep movsl
				movl	(%eax), %eax
		.LBE207:
		.LBE206:
  944        ->ERR %IF %NOT TAG
				movl	%ebx, %ecx
				call	TAG.8946
		.LVL211:
				testl	%eax, %eax
				je	.L299
		.L276:
  945        TYPE = 0;  VAL = TAG1
				movl	$0, 68(%ebx)
				movl	16(%ebx), %eax
				movl	%eax, 64(%ebx)
  946     %finish %ELSE %IF S('*') %START
				jmp	.L282
		.L274:
				movl	%ebx, %ecx
				movl	$42, %eax
				call	S.8931
		.LVL212:
				testl	%eax, %eax
				jne	.L277
  947        TYPE = LOCTYPE&63;  VAL = LOC
				movl	72(%ebx), %eax
				andl	$63, %eax
				movl	%eax, 68(%ebx)
				movl	76(%ebx), %eax
				movl	%eax, 64(%ebx)
  948        %IF SYM = 'L' %START;          !FOR NOW
				cmpl	$76, 4(%ebx)
				jne	.L282
  949           TYPE = 0;  VAL = LIST %IF TAG
				movl	$0, 68(%ebx)
				movl	%ebx, %ecx
				call	TAG.8946
		.LVL213:
				testl	%eax, %eax
				jne	.L282
				movl	LIST.8427@GOTOFF(%esi), %eax
				movl	%eax, 64(%ebx)
				jmp	.L282
		.L277:
  950        %FINISH
  951     %finish %ELSE %IF SYM = '-' %START
				movl	4(%ebx), %eax
				cmpl	$45, %eax
				je	.L312
		.L278:
  952        TYPE = 0;  VAL = 0
				movl	$0, 68(%ebx)
				movl	$0, 64(%ebx)
  953     %finish %ELSE %IF SYM = '\' %START
				cmpl	$92, %eax
				jne	.L299
				jmp	.L282
		.L313:
  954        TYPE = 0;  VAL = \0
				movl	$0, 68(%ebx)
				movl	$-1, 64(%ebx)
  955     %finish %ELSE ->ERR
				jmp	.L282
		.L312:
  956     QUEUE(TYPE);  QUEUE(VAL)
				movl	68(%ebx), %eax
				call	QUEUE.8988
		.LVL191:
				movl	64(%ebx), %eax
				call	QUEUE.8988
		.LVL192:
  957 
  958     %WHILE NP # NBASE %CYCLE
				movl	NP.8417@GOTOFF(%esi), %eax
				cmpl	%edi, %eax
				jne	.L287
				jmp	.L283
		.L310:
				cmpl	%edi, %eax
				je	.L283
		.L287:
  959        %IF INTEGER(NP) < 0 %START
				call	INTEGER.8454
		.LVL216:
				testl	%eax, %eax
				js	.L313
		.L284:
  960           QUEUE(INTEGER(NP))
				movl	NP.8417@GOTOFF(%esi), %eax
				call	INTEGER.8454
		.LVL214:
				call	QUEUE.8988
		.LVL215:
		.L285:
		.L286:
  961        %finish %ELSE %START
  962           %EXIT %IF %NOT S(')')
				movl	%ebx, %ecx
				movl	$41, %eax
				call	S.8931
		.LVL217:
				testl	%eax, %eax
				jne	.L286
		.L283:
		.LVL218:
  963        %FINISH
  964        NP = NP+1
				movl	NP.8417@GOTOFF(%esi), %eax
				addl	$1, %eax
				movl	%eax, NP.8417@GOTOFF(%esi)
		.LDL14:
  965     %REPEAT
  966 
  967     I = 1
				movl	$1, %ebp
				movl	$1, %ebp
				movl	$1, %ebp
				movl	$1, %ebp
				movl	$1, %ebp
				movl	$1, %ebp
  968     NEST(-1) %AND ->E8 %IF S('+')
				movl	%ebx, %ecx
				movl	$43, %eax
				call	S.8931
		.LVL219:
				movl	%eax, %ebp
				testl	%eax, %eax
				je	.L314
		.L288:
				movl	$-1, %eax
				call	NEST.8601
		.LVL229:
		.L289:
  969     NEST(-2) %AND ->E8 %IF S('-')
				movl	%ebx, %ecx
				movl	$45, %eax
				call	S.8931
		.LVL220:
				movl	%eax, %ebp
				testl	%eax, %eax
				je	.L315
		.L290:
				movl	$-2, %eax
				call	NEST.8601
		.LVL234:
				jmp	.L289
		.L316:
  970     NEST(-3) %AND ->E9 %IF S('&')
				movl	%ebx, %ecx
				movl	$38, %eax
				call	S.8931
		.LVL221:
				testl	%eax, %eax
				je	.L316
		.L291:
				movl	$-3, %eax
				call	NEST.8601
		.LVL235:
				jmp	.L289
		.L317:
  971     NEST(-4) %AND ->E9 %IF S('!')
				movl	%ebx, %ecx
				movl	$33, %eax
				call	S.8931
		.LVL222:
				testl	%eax, %eax
				je	.L317
		.L292:
				movl	$-4, %eax
				call	NEST.8601
		.LVL236:
				jmp	.L289
		.L318:
  972     NEST(-5) %AND ->E9 %IF S('\')
				movl	%ebx, %ecx
				movl	$92, %eax
				call	S.8931
		.LVL223:
				testl	%eax, %eax
				je	.L318
		.L293:
				movl	$-5, %eax
				call	NEST.8601
		.LVL237:
				jmp	.L289
		.L319:
  973     NEST(-6) %AND ->E9 %IF SS('<')
				movl	%ebx, %ecx
				movl	$60, %eax
				call	SS.8936
		.LVL224:
				testl	%eax, %eax
				je	.L319
		.L294:
				movl	$-6, %eax
				call	NEST.8601
		.LVL238:
				jmp	.L289
		.L320:
  974     NEST(-7) %AND ->E9 %IF SS('>')
				movl	%ebx, %ecx
				movl	$62, %eax
				call	SS.8936
		.LVL225:
				testl	%eax, %eax
				je	.L320
		.L295:
				movl	$-7, %eax
				call	NEST.8601
		.LVL239:
				jmp	.L289
		.L321:
  975     NEST(-8) %AND ->E9 %IF S('_')
				movl	%ebx, %ecx
				movl	$95, %eax
				call	S.8931
		.LVL226:
				testl	%eax, %eax
				je	.L321
		.L296:
				movl	$-8, %eax
				call	NEST.8601
		.LVL240:
				jmp	.L289
		.LVL241:
		.L322:
  976     %RETURN %IF NP = NBASE
				cmpl	%edi, NP.8417@GOTOFF(%esi)
				je	.L240
		.L275:
		.L298:
		.LVL227:
		.L299:
  977 ERR:NP = NBASE
				movl	%edi, NP.8417@GOTOFF(%esi)
  978 !!    %MONITOR 19
  979 
  980 E8: I = 0
				movl	$0, %ebp
				jmp	.L289
		.LVL228:
		.L314:
  981 E9: ->E1 %UNLESS MODE = 2 %AND NP+1 = NBASE
				cmpl	$2, 20(%ebx)
				je	.L322
		.LVL230:
		.L244:
				movl	NP.8417@GOTOFF(%esi), %eax
				addl	$1, %eax
				cmpl	%edi, %eax
				jne	.L244
		.L300:
  982     %IF FLAG = I %THEN FLAG = QLIM %ELSE FLAG = -1
				cmpl	52(%ebx), %ebp
				je	.L323
		.L301:
				movl	$-1, 52(%ebx)
				jmp	.L244
		.L323:
				movl	QLIM.8409@GOTOFF(%esi), %eax
				movl	%eax, 52(%ebx)
				jmp	.L244
		.LVL242:
		.L240:
  983     ->E1
  984 %END
  985 
  986 %ROUTINE CONDIT(%INTEGER QVAL)
				addl	$28, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
		.LVL243:
				popl	%ebp
				ret
		.LFE244:
		GETINST.9084:
		.LFB246:
		.LVL599:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$28, %esp
				call	__x86.get_pc_thunk.dx
				addl	$_GLOBAL_OFFSET_TABLE_, %edx
				movl	%eax, 12(%esp)
				movl	%ecx, %ebx
  987 %OWNINTEGER AND=1717, OR=16873
  988 %INTEGER J,K
  989     TRANSF = QSTART;  QSTART = QLIM
				movl	QSTART.8408@GOTOFF(%edx), %eax
		.LVL600:
				movl	%eax, TRANSF.8410@GOTOFF(%edx)
				movl	QLIM.8409@GOTOFF(%edx), %eax
				movl	%eax, QSTART.8408@GOTOFF(%edx)
		.LVL601:
  990     J = 0
				movl	$0, %edi
  991     %CYCLE
  992        GET EXP
				movl	%ebx, %ecx
				call	GETEXP.8992
		.LVL616:
  993        %IF S('=') %START
				movl	%ebx, %ecx
				movl	$61, %eax
				call	S.8931
		.LVL617:
				testl	%eax, %eax
				je	.L704
		.L690:
  994           K = 3
				movl	$3, %esi
		.L689:
		.L695:
		.L696:
		.LVL608:
  995        %finish %ELSE %IF S('#') %START
				movl	%ebx, %ecx
				movl	$35, %eax
				call	S.8931
		.LVL618:
				testl	%eax, %eax
				je	.L696
		.L691:
  996           K = \3
				movl	$-4, %esi
  997        %finish %ELSE %IF S('<') %START
				movl	%ebx, %ecx
				movl	$60, %eax
				call	S.8931
		.LVL619:
				testl	%eax, %eax
				jne	.L692
		.LVL620:
  998           K = \1;  K = 2 %IF S('=')
				movl	%ebx, %ecx
				movl	$61, %eax
				call	S.8931
		.LVL621:
				cmpl	$1, %eax
				sbbl	%esi, %esi
				andl	$4, %esi
				subl	$2, %esi
				jmp	.L696
		.LVL622:
		.L709:
  999        %finish %ELSE %IF S('>') %START
				movl	%ebx, %ecx
				movl	$62, %eax
				call	S.8931
		.LVL603:
				testl	%eax, %eax
				jne	.L693
		.LVL604:
 1000           K = \2;  K = 1 %IF S('=')
				movl	%ebx, %ecx
				movl	$61, %eax
				call	S.8931
		.LVL605:
				cmpl	$1, %eax
				sbbl	%esi, %esi
				andl	$4, %esi
				subl	$3, %esi
				jmp	.L696
		.LVL606:
		.L693:
 1001        %finish %ELSE %START
 1002           QUEUE(-12)
				movl	$-12, %eax
				call	QUEUE.8988
		.LVL607:
 1003           ->ANDOR
				jmp	.L694
		.L704:
 1004        %FINISH
 1005        GET EXP
				movl	%ebx, %ecx
				call	GETEXP.8992
		.LVL609:
 1006        QUEUE(-11);  QUEUE(K)
				movl	$-11, %eax
				call	QUEUE.8988
		.LVL610:
				movl	%esi, %eax
				call	QUEUE.8988
		.LVL611:
		.L694:
 1007 ANDOR:
 1008        %EXIT %IF %NOT TAG
				movl	%ebx, %ecx
				call	TAG.8946
		.LVL612:
				testl	%eax, %eax
				je	.L697
		.L698:
 1009        %IF TAG1 = AND %AND TAG2 = 0 %START
				cmpl	$1717, 16(%ebx)
				jne	.L699
				cmpl	$0, 12(%ebx)
				je	.L709
		.L699:
		.LVL613:
 1010 !!          %MONITOR 19 %IF J < 0
 1011           J = 1;  QUEUE(-13)
				movl	$-13, %eax
				call	QUEUE.8988
		.LVL623:
				movl	$1, %edi
 1012        %finish %ELSE %START
				jmp	.L688
		.LVL624:
		.L697:
 1013 !!          %MONITOR 19 %IF TAG1 # OR %OR J > 0
 1014           J = -1;  QUEUE(-14)
				movl	$-1, %ebp
				jmp	.L688
		.LVL602:
		.L692:
				movl	$-14, %eax
				call	QUEUE.8988
		.LVL614:
				movl	%ebp, %edi
		.LVL615:
		.L688:
 1015        %FINISH
 1016     %REPEAT
 1017     QUEUE(QVAL) %IF QVAL # 0
				cmpl	$0, 12(%esp)
				jne	.L710
		.L701:
				movl	12(%esp), %eax
				call	QUEUE.8988
		.LVL628:
				jmp	.L701
		.L711:
 1018     ASSEMBLE
				movl	%ebx, %ecx
				call	ASSEMBLE.8622
		.LVL625:
 1019     ATYPE=-1 %AND CREG=-1 %IF J < 0
				testl	%edi, %edi
				js	.L711
		.L702:
		.L703:
		.L687:
				movl	$-1, 60(%ebx)
				movl	$-1, 56(%ebx)
				jmp	.L687
		.LFE245:
				.section	.rodata.str1.1,"aMS",@progbits,1
		.LC9:
				.string	"\nCan't catch SIGSEGV"
		
		
		
		
		.LC10:
				.string	"\nCan't catch SIGFPE"
		
		
		
		
		.LC11:
				.string	"\nCan't catch SIGILL"
		
		
		
		
				.section	.rodata
				.align 32
		.LC0:
				.byte	18
				.string	"interdata/test.hal"
		
		
		
				.zero	236
		
		
		
		
				.align 32
		.LC1:
				.byte	19
				.string	"interdata/hal70.def"
		
		
		
		
				.zero	235
		
		
		
		
				.align 32
		.LC2:
				.byte	18
				.string	"interdata/test.bin"
		
		
		
				.zero	236
		
		
		
		
				.align 32
		.LC3:
				.byte	18
				.string	"interdata/test.lis"
		
		
		
				.zero	236
		
		
		
		
				.globl	main
		main:
		.LFB201:
 1020 %END
?OR unused
 1021 
 1022 %ROUTINE GET INST
				pushl	%ebx
				subl	$8, %esp
				movl	%ecx, %ebx
				addl	$28, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
		.LVL626:
				popl	%ebp
				ret
		.LVL627:
		.L710:
 1023 %INTEGER I
 1024 !OPMASK VALUES
 1025 !    0100,0110,1100,1101,1110: DOUBLE WORD INSTRUCTIONS
 1026 !    1011,1001,0011,0010,0001: AS ABOVE BUT RELOCATABLE
 1027 !    0101: SINGLE WORD INSTRUCTION
 1028 !    0111: 2 OPERANDS TO COME
 1029 !    1111: 1 OPERAND TO COME
 1030 !    1010: MACRO
 1031     QUEUE(TYPE);  QUEUE(VAL)
				movl	68(%ecx), %eax
				call	QUEUE.8988
		.LVL244:
				movl	64(%ebx), %eax
				call	QUEUE.8988
		.LVL245:
 1032     %RETURN %IF TYPE&16_7000 # 16_7000
				movl	68(%ebx), %eax
				andl	$28672, %eax
				cmpl	$28672, %eax
				je	.L333
		.L325:
		.L324:
 1033     %RETURN %IF TERM # ' ';           !NO OPERAND FOLLOWING =>
				cmpl	$32, 8(%ebx)
				jne	.L324
		.L327:
		.L328:
		.L331:
		.L329:
 1034     %CYCLE
 1035        GET EXP
				movl	%ebx, %ecx
				call	GETEXP.8992
		.LVL246:
 1036        QUEUE(-22)
				movl	$-22, %eax
				call	QUEUE.8988
		.LVL247:
 1037        %RETURN %IF %NOT S(',')
				movl	%ebx, %ecx
				movl	$44, %eax
				call	S.8931
		.LVL248:
				testl	%eax, %eax
				jne	.L331
				jmp	.L324
		.LFE246:
		READLINE.9093:
		.LFB247:
 1038     %REPEAT
 1039 %END
?I unused
 1040 
 1041 %ROUTINE READ LINE
				addl	$8, %esp
				popl	%ebx
				ret
		.L333:
		.L326:
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$12, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %esi
 1042 %INTEGER Q
 1043     PUTPOS = STARTPOS
				movl	STARTPOS.8399@GOTOFF(%ebx), %eax
				movl	%eax, PUTPOS.8401@GOTOFF(%ebx)
 1044     %IF MP = 0 %START
				movl	MP.8406@GOTOFF(%ebx), %edi
				testl	%edi, %edi
				jne	.L335
		.LVL249:
 1045        Q = 0;  PSEUDOLIM = 0
				movl	$0, PSEUDOLIM.8402@GOTOFF(%ebx)
		
 1046        %CYCLE
 1047           READ SYMBOL(SYM)
				leal	4(%ecx), %ebp
				jmp	.L336
		.LVL250:
		.L370:
		.LBB115:
		.LBB116:
 1048           READ SYMBOL(SYM) %AND Q=Q!!128 %IF SYM = ''''
				xorl	$128, %edi
		.LVL252:
				addl	$16, %esp
				jmp	.L337
		.L371:
				addl	$16, %esp
				cmpl	$39, 4(%esi)
				je	.L370
		.L337:
 1049           %EXIT %IF SYM = NL
				movl	4(%esi), %eax
				cmpl	$10, %eax
				je	.L338
		.L339:
 1050           SYM = SYM-32 %IF SYM-Q >= 96; !LOWER-CASE -> UPPER-CASE
				movl	%eax, %edx
				subl	%edi, %edx
				cmpl	$95, %edx
				jle	.L340
				subl	$32, %eax
				movl	%eax, 4(%esi)
		.L340:
 1051           SYM = SYM+Q
				movl	%edi, %eax
				addl	4(%esi), %eax
				movl	%eax, 4(%esi)
 1052           %EXIT %IF SYM = '/' %AND PSEUDOLIM # 0
				movl	PSEUDOLIM.8402@GOTOFF(%ebx), %edx
				testl	%edx, %edx
				jne	.L343
		.L342:
				cmpl	$47, %eax
				je	.L371
		.L341:
 1053           %IF SYM = ' ' %START
				cmpl	$32, %eax
				jne	.L342
 1054              PSEUDOLIM = PUTPOS %IF PSEUDOLIM = 0
				cmpl	$0, PSEUDOLIM.8402@GOTOFF(%ebx)
				jne	.L345
				movl	PUTPOS.8401@GOTOFF(%ebx), %edx
				movl	%edx, PSEUDOLIM.8402@GOTOFF(%ebx)
				jmp	.L345
		.L338:
 1055           %finish %ELSE PSEUDOLIM = 0
				movl	$0, PSEUDOLIM.8402@GOTOFF(%ebx)
		
		.L344:
		.L345:
 1056           PUT CHAR(SYM)
				call	PUTCHAR.8471
		.LVL253:
		.L336:
		.LBB117:
		.LBB118:
 1057        %REPEAT
 1058        %IF PSEUDOLIM # 0 %START
				movl	PSEUDOLIM.8402@GOTOFF(%ebx), %edx
				testl	%edx, %edx
				je	.L349
		.L343:
 1059           Q = PUTPOS;  PUTPOS = PSEUDOLIM
				movl	PUTPOS.8401@GOTOFF(%ebx), %edi
		.LVL255:
				movl	%edx, PUTPOS.8401@GOTOFF(%ebx)
 1060           PUT CHAR(NL)
				movl	$10, %eax
				call	PUTCHAR.8471
		.LVL256:
 1061           PUTPOS = Q
				movl	%edi, PUTPOS.8401@GOTOFF(%ebx)
				jmp	.L349
		.L372:
		.L348:
		.LVL257:
		.LBB119:
		.LBB120:
 1062        %FINISH
 1063        %CYCLE
 1064           PUT CHAR(SYM)
				movl	4(%esi), %eax
				call	PUTCHAR.8471
		.LVL260:
 1065           %EXIT %IF SYM = NL
				cmpl	$10, 4(%esi)
				jne	.L372
		.L347:
 1066           READ SYMBOL(SYM)
 1067        %REPEAT
 1068        PRINTPOS = STARTPOS
				movl	STARTPOS.8399@GOTOFF(%ebx), %eax
				movl	%eax, PRINTPOS.8403@GOTOFF(%ebx)
		.LVL261:
		.L350:
 1069     %finish %ELSE %START
 1070        GETPOS = INTEGER(MP)
				movl	%edi, %eax
				call	INTEGER.8454
		.LVL263:
				movl	%eax, GETPOS.8400@GOTOFF(%ebx)
 1071        %IF CHAR(GETPOS) = 0 %START
				call	CHAR.8460
		.LVL264:
				testl	%eax, %eax
				je	.L373
		.L351:
 1072           QBASE = MP
				movl	MP.8406@GOTOFF(%ebx), %eax
				movl	%eax, QBASE.8407@GOTOFF(%ebx)
 1073           GETPOS = INTEGER(MP+2)
				addl	$2, %eax
				call	INTEGER.8454
		.LVL265:
				movl	%eax, GETPOS.8400@GOTOFF(%ebx)
 1074           STARTPOS = INTEGER(MP+3)
				movl	MP.8406@GOTOFF(%ebx), %eax
				addl	$3, %eax
				call	INTEGER.8454
		.LVL266:
				movl	%eax, STARTPOS.8399@GOTOFF(%ebx)
 1075           MP = INTEGER(MP+4)
				movl	MP.8406@GOTOFF(%ebx), %eax
				addl	$4, %eax
				call	INTEGER.8454
		.LVL267:
				movl	%eax, MP.8406@GOTOFF(%ebx)
		.L353:
 1076           %IF MP < 0 %START
				testl	%eax, %eax
				js	.L352
 1077              MP = MP-8_700000
				subl	$229376, %eax
				movl	%eax, MP.8406@GOTOFF(%ebx)
		.L354:
 1078              %WHILE INTEGER(NP)&16_8000 = 0 %CYCLE
				movl	NP.8417@GOTOFF(%ebx), %eax
				call	INTEGER.8454
		.LVL270:
				testb	$-128, %ah
				jne	.L355
 1079                 FAULT('C');  NP = NP+2
				movl	%esi, %ecx
				movl	$67, %eax
				call	FAULT.8478
		.LVL271:
				addl	$2, NP.8417@GOTOFF(%ebx)
 1080              %REPEAT
				jmp	.L354
		.L355:
 1081              SET LAB(LOC)
				movl	76(%esi), %eax
				movl	%esi, %ecx
				call	SETLAB.8605
		.LVL272:
				jmp	.L353
		.L362:
 1082           %FINISH
 1083           PRINTPOS = 0 %IF LIST&2 # 0
				testb	$2, LIST.8427@GOTOFF(%ebx)
				je	.L356
				movl	$0, PRINTPOS.8403@GOTOFF(%ebx)
		
		.L356:
 1084           GET SYM;                    !TERMINATOR
				movl	%esi, %ecx
				call	GETSYM.8925
		.LVL268:
 1085           GET SYM %IF SYM = ';'
				cmpl	$59, 4(%esi)
				jne	.L334
				movl	%esi, %ecx
				call	GETSYM.8925
		.LVL269:
				jmp	.L334
		.L352:
 1086           %RETURN
 1087        %FINISH
 1088        PRINTPOS = STARTPOS %IF LIST&2 # 0
				testb	$2, LIST.8427@GOTOFF(%ebx)
				je	.L358
				movl	STARTPOS.8399@GOTOFF(%ebx), %eax
				movl	%eax, PRINTPOS.8403@GOTOFF(%ebx)
		.L358:
 1089        QQ = 0
				movl	$0, QQ.8450@GOTOFF(%ebx)
		
				jmp	.L359
		.L373:
 1090        %CYCLE
 1091           SYM = CHAR(GETPOS);  GETPOS = GETPOS+1
				movl	GETPOS.8400@GOTOFF(%ebx), %edi
				movl	%edi, %eax
				call	CHAR.8460
		.LVL279:
				movl	%eax, 4(%esi)
				addl	$1, %edi
				movl	%edi, GETPOS.8400@GOTOFF(%ebx)
 1092           %IF TAG %START
				movl	%esi, %ecx
				call	TAG.8946
		.LVL280:
				testl	%eax, %eax
				jne	.L364
 1093              SYM=TERM %AND GETPOS=GETPOS-1 %IF TERM = ' '
				cmpl	$32, 8(%esi)
				jne	.L362
				movl	$32, 4(%esi)
				subl	$1, GETPOS.8400@GOTOFF(%ebx)
				jmp	.L362
		.L374:
		.L365:
 1094              TYPE = INTEGER(MP);  VAL = GETPOS-1
				movl	MP.8406@GOTOFF(%ebx), %eax
				call	INTEGER.8454
		.LVL273:
				movl	%eax, 68(%esi)
				movl	GETPOS.8400@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, 64(%esi)
 1095              LOOKUP(4)
				movl	%esi, %ecx
				movl	$4, %eax
				call	LOOKUP.8889
		.LVL274:
 1096              %WHILE TYPE # VAL %CYCLE
				movl	68(%esi), %eax
				cmpl	64(%esi), %eax
				je	.L364
		.L363:
				cmpl	%eax, 64(%esi)
				jne	.L363
		.L361:
		.L364:
 1097                 PUT CHAR(CHAR(TYPE))
				call	CHAR.8460
		.LVL275:
				call	PUTCHAR.8471
		.LVL276:
 1098                 TYPE = TYPE+1
				movl	68(%esi), %eax
				addl	$1, %eax
				movl	%eax, 68(%esi)
		.LDL15:
 1099              %REPEAT
 1100           %FINISH
 1101           PUT CHAR(SYM)
				movl	4(%esi), %eax
				call	PUTCHAR.8471
		.LVL277:
 1102 !!          INTEGER(MP) = GETPOS
 1103           set INTEGER(MP, GETPOS)
				movl	GETPOS.8400@GOTOFF(%ebx), %edx
				movl	MP.8406@GOTOFF(%ebx), %eax
				call	SETINTEGER.8467
		.LVL278:
 1104           %EXIT %IF SYM = NL
				cmpl	$10, 4(%esi)
				je	.L374
		.L359:
		.L360:
 1105        %REPEAT
 1106        QQ = '?'
				movl	$63, QQ.8450@GOTOFF(%ebx)
		
				jmp	.L350
		.LFE247:
		OUTPUTWORD.8559:
		.LFB219:
 1107     %FINISH
 1108     QBASE = (PUTPOS+1)>>1
				movl	PUTPOS.8401@GOTOFF(%ebx), %eax
				addl	$1, %eax
				sarl	%eax
				movl	%eax, QBASE.8407@GOTOFF(%ebx)
 1109     GETPOS = STARTPOS;  GET SYM
				movl	STARTPOS.8399@GOTOFF(%ebx), %eax
				movl	%eax, GETPOS.8400@GOTOFF(%ebx)
				movl	%esi, %ecx
				call	GETSYM.8925
		.LVL262:
		.L357:
		.L366:
		.L334:
 1110 %END
 1111 
 1112 %ROUTINE SCAN ARG
				pushl	%ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$8, %esp
				call	__x86.get_pc_thunk.bp
				addl	$_GLOBAL_OFFSET_TABLE_, %ebp
				movl	%ecx, (%esp)
				addl	$12, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.L335:
 1113 !    SET TYPE,VAL TO START,LIM OF ARG IF NOT NULL
 1114 %INTEGER I,J
 1115     %RETURN %IF SYM='I' %AND CHAR(GETPOS)='F' %AND CHAR(GETPOS+1)=' '
				movl	4(%ecx), %ebx
				cmpl	$73, %ebx
				je	.L146
		.L125:
				movl	GETPOS.8400@GOTOFF(%ebp), %esi
				movl	%esi, %eax
				call	CHAR.8460
		.LVL87:
				cmpl	$70, %eax
				je	.L147
		.L126:
				leal	1(%esi), %eax
				call	CHAR.8460
		.LVL89:
				cmpl	$32, %eax
				jne	.L126
				jmp	.L124
		.LVL90:
		.L149:
 1116     I = GETPOS-1;  I = GETPOS %IF SYM = '['
				movl	GETPOS.8400@GOTOFF(%ebp), %eax
				movl	%eax, 4(%esp)
		.LVL83:
				cmpl	$91, %ebx
				je	.L128
				subl	$1, %eax
		.LVL84:
				movl	%eax, 4(%esp)
		.LVL85:
				leal	-1(%esi), %eax
				movl	%eax, 4(%esp)
		.LVL88:
		.L128:
				movl	$0, %edi
				jmp	.L137
		.L147:
 1117     J = 0
 1118     %CYCLE
 1119        %EXIT %IF SYM = NL
				cmpl	$10, %ebx
				jne	.L128
				jmp	.L124
		.LVL86:
		.L146:
				cmpl	$10, %ebx
				je	.L148
		.LVL93:
		.L137:
 1120        %EXIT %IF (SYM=' ' %OR SYM=',' %OR SYM=';') %AND J<=0
				cmpl	$44, %ebx
				sete	%dl
				cmpl	$32, %ebx
				sete	%al
				orb	%al, %dl
				jne	.L131
				cmpl	$59, %ebx
				jne	.L129
		.L131:
				testl	%edi, %edi
				jle	.L132
		.L129:
 1121        J = J+1 %IF SYM = '['
				addl	$1, %edi
		.LVL91:
		.L134:
		.L136:
				cmpl	$91, %ebx
				je	.L149
		.L133:
 1122        %IF SYM = ']' %START
				cmpl	$93, %ebx
				jne	.L136
		.LVL94:
 1123           J = J-1;  %EXIT %IF J = 0
				subl	$1, %edi
		.LVL95:
				jne	.L136
 1124        %FINISH
 1125        SYM = CHAR(GETPOS);  GETPOS = GETPOS+1
				movl	GETPOS.8400@GOTOFF(%ebp), %esi
				movl	%esi, %eax
				call	CHAR.8460
		.LVL92:
				movl	%eax, %ebx
				movl	(%esp), %eax
				movl	%ebx, 4(%eax)
				addl	$1, %esi
				movl	%esi, GETPOS.8400@GOTOFF(%ebp)
		.LDL8:
 1126     %REPEAT
 1127     %IF GETPOS-1 # I %START
				movl	GETPOS.8400@GOTOFF(%ebp), %eax
				subl	$1, %eax
				cmpl	4(%esp), %eax
				jne	.L142
		.LVL96:
		.L141:
				movl	GETPOS.8400@GOTOFF(%ebp), %eax
				subl	$1, %eax
				cmpl	4(%esp), %eax
				je	.L139
		.L142:
				movl	GETPOS.8400@GOTOFF(%ebp), %eax
				subl	$1, %eax
				cmpl	4(%esp), %eax
				je	.L124
				jmp	.L142
		.LFE248:
		SETACC.9145:
		.LFB249:
 1128        TYPE = I;  VAL = GETPOS-1
				movl	(%esp), %ecx
				movl	4(%esp), %edi
		.LVL99:
				movl	%edi, 68(%ecx)
				movl	%eax, 64(%ecx)
		.L139:
				cmpl	$93, %ebx
				je	.L141
		.L124:
 1129     %FINISH
 1130     GET SYM %IF SYM = ']'
				movl	(%esp), %ecx
				call	GETSYM.8925
		.LVL97:
		.L127:
		.L140:
				jmp	.L124
		.LVL98:
		.L132:
 1131 %END
 1132 
 1133 
				addl	$8, %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LVL100:
		.L148:
 1134 %ROUTINE SET ACC
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
 1135 %INTEGER I
 1136     ACC = -1;  ATYPE = -1;  CREG = -1
				movl	$-1, 40(%ecx)
				movl	$-1, 60(%ecx)
				movl	$-1, 56(%ecx)
 1137     I = TEMPS
				movl	TEMPS.8431@GOTOFF(%eax), %ebx
		.LVL101:
 1138     %RETURN %IF I = 0
				testl	%ebx, %ebx
				je	.L150
 1139     %CYCLE
 1140        ACC = ACC+1
				movl	$0, 40(%ecx)
				movl	%eax, %esi
				addl	$1, %eax
 1141        %RETURN %IF I&1 # 0
				testb	$1, %bl
				jne	.L150
				movl	$1, %eax
		.L152:
				testb	$1, %bl
				je	.L152
				movl	%esi, 40(%ecx)
		.L151:
		.L150:
 1142        I = I>>1
				shrl	%ebx
		.LVL102:
		.LDL9:
		.LDL10:
 1143     %REPEAT
 1144 %END
 1145 
 1146 !MAIN PROGRAM
				popl	%ebx
		.LVL103:
				popl	%esi
				ret
		.LFE249:
		BNEST.9349:
		.LFB250:
 1147 
 1148 !RADIX 36 CONSTANTS
 1149 %OWNINTEGER B=2184, IF=9991, ELS=5950, E=5403, FIN=6907, ISH=10490
 1150 %OWNINTEGER JUM=11642, P=17206, PS=17983, DEF=4605, END=6009
 1151 
 1152 %INTEGER I,J,K
 1153 !!%FAULT 19 ->ERR;                      !RECOGNITION ERROR
 1154 !!%FAULT 9 ->BEND;                      !INPUT ENDED
 1155 
 1156     %on %event 9,1 %start
				movl	global_handler@GOT(%edi), %edx
				movl	(%edx), %ebx
				leal	4+this_handler.9166@GOTOFF(%edi), %edi
				movl	$39, %ecx
				movl	$0, %eax
				rep stosl
				movl	%ebx, this_handler.9166@GOTOFF(%esi)
				leal	this_handler.9166@GOTOFF(%esi), %eax
				movl	%eax, (%edx)
				movl	handler_at_this_level@GOT(%esi), %eax
				movl	$1, (%eax)
				pushl	sig_handler@GOT(%esi)
				pushl	$11
				movl	%esi, %ebx
				call	signal@PLT
		.LVL633:
				addl	$16, %esp
				cmpl	$-1, %eax
				je	.L923
		.L713:
				subl	$8, %esp
				movl	-2256(%ebp), %eax
				pushl	sig_handler@GOT(%eax)
		.LVL634:
				pushl	$8
				movl	%eax, %ebx
				call	signal@PLT
		.LVL635:
				addl	$16, %esp
				cmpl	$-1, %eax
				je	.L924
		.L714:
				subl	$8, %esp
				movl	-2256(%ebp), %eax
				pushl	sig_handler@GOT(%eax)
				pushl	$4
				movl	%eax, %ebx
				call	signal@PLT
		.LVL636:
				addl	$16, %esp
				cmpl	$-1, %eax
				je	.L925
		.L715:
		.LVL637:
				subl	$12, %esp
				movl	-2256(%ebp), %edi
				leal	4+this_handler.9166@GOTOFF(%edi), %eax
				pushl	%eax
		.LVL638:
				movl	%edi, %ebx
				call	_setjmp@PLT
		.LVL639:
				addl	$16, %esp
				testl	%eax, %eax
				je	.L717
				pushl	$-1
				pushl	$9
				pushl	$1
				movl	-2256(%ebp), %edi
				movl	_imp_Event@GOT(%edi), %eax
				pushl	(%eax)
				movl	%edi, %ebx
				call	_imp_caught_on_event@PLT
		.LVL640:
				addl	$16, %esp
				testl	%eax, %eax
				je	.L717
		.LBE199:
		.LBB206:
		.LBB207:
 1157        ->err %if event_event = 9
				cmpl	$9, %eax
				je	.L850
		.L718:
		.LBB208:
		.LBB209:
				movl	-2256(%ebp), %edx
				movl	_imp_Event@GOT(%edx), %esi
				leal	-2212(%ebp), %edi
				movl	$6, %ecx
				rep movsl
		.LBE209:
		.LBE208:
 1158        ->bend %if event_event = 1 %and event_sub = 9
				cmpl	$1, %eax
				jne	.L721
		.LBB210:
		.LBB211:
				movl	_imp_Event@GOT(%edx), %eax
				leal	-2188(%ebp), %edi
				movl	$6, %ecx
				movl	%eax, %esi
				rep movsl
		.LBE211:
		.LBE210:
				cmpl	$9, 4(%eax)
				je	.L722
		.L721:
 1159        %stop
				subl	$12, %esp
				pushl	$0
				movl	-2256(%ebp), %ebx
				call	exit@PLT
		.LVL641:
		.L923:
		.LBB212:
		.LBB200:
		.LBB201:
 1160     %finish
 1161     
 1162     open input(MAIN, "interdata/test.hal")
				leal	-2076(%ebp), %edi
				movl	-2256(%ebp), %eax
				leal	.LC0@GOTOFF(%eax), %esi
				movl	$64, %ecx
				rep movsl
		.LVL648:
				leal	-1052(%ebp), %edi
				leal	-2076(%ebp), %esi
				movl	$64, %ecx
				rep movsl
		.LBB213:
		.LBB214:
 1163     open input(PRE, "interdata/hal70.def")
				leal	-1820(%ebp), %edi
				leal	.LC1@GOTOFF(%esi), %esi
				movl	$64, %ecx
				rep movsl
		.LVL651:
				leal	-796(%ebp), %edi
				leal	-1820(%ebp), %esi
				movl	$64, %ecx
				rep movsl
		.LBB215:
		.LBB216:
 1164     open output(BIN, "interdata/test.bin")
				leal	-1564(%ebp), %edi
				leal	.LC2@GOTOFF(%ebx), %esi
				movl	$64, %ecx
				rep movsl
		.LVL654:
				leal	-540(%ebp), %edi
				leal	-1564(%ebp), %esi
				movl	$64, %ecx
				rep movsl
		.LBB217:
		.LBB218:
 1165     open output(LIS, "interdata/test.lis")
				leal	-1308(%ebp), %edi
				leal	.LC3@GOTOFF(%ebx), %esi
				movl	$64, %ecx
				rep movsl
		.LVL657:
				leal	-284(%ebp), %edi
				leal	-1308(%ebp), %esi
				movl	$64, %ecx
				rep movsl
		.LBB219:
		.LBB220:
 1166     select output(0)
 1167 
 1168     %CYCLE I = 1,1,SBOUND
 1169        STORE(I) = 0
				movl	$0, (%eax)
		.LDL37:
				addl	$4, %eax
 1170     %REPEAT
 1171 !!    CODEPOS = ADDR(STORE(1))
				cmpl	%edx, %eax
				jne	.L723
		.L724:
 1172 {}    CODEPOS = 1
				movl	-2256(%ebp), %edi
				movl	$1, CODEPOS.8398@GOTOFF(%edi)
		
 1173     MACLIM = (CODEPOS+20)<<1
				movl	$42, MACLIM.8405@GOTOFF(%edi)
		
 1174 !!    STORELIM = ADDR(STORE(SBOUND))
 1175 {}    STORELIM = sbound
				movl	$32512, STORELIM.8418@GOTOFF(%edi)
		
 1176     NP = STORELIM
				movl	$32512, NP.8417@GOTOFF(%edi)
		
 1177     LABLIM = NP-60
				movl	$32452, LABLIM.8415@GOTOFF(%edi)
		
 1178     BP = LABLIM
				movl	$32452, BP.8416@GOTOFF(%edi)
		
 1179     DEFLIM = BP-(SBOUND>>2)
				movl	$24324, DEFLIM.8412@GOTOFF(%edi)
		
 1180     DEFMIN = DEFLIM
				movl	$24324, DEFMIN.8411@GOTOFF(%edi)
		
 1181 !!    INTEGER(BP) = DEFLIM
 1182     set INTEGER(BP, DEFLIM)
				movl	$24324, %edx
				movl	$32452, %eax
				call	SETINTEGER.8467
		.LVL662:
		.LBB223:
		.LBB224:
 1183     SELECT INPUT(PRE)
 1184 DO PASS:
 1185     STARTPOS = MACLIM
				movl	-2256(%ebp), %edi
				movl	MACLIM.8405@GOTOFF(%edi), %eax
				movl	%eax, STARTPOS.8399@GOTOFF(%edi)
 1186     MP = 0
				movl	$0, MP.8406@GOTOFF(%edi)
		
 1187     ALMAX = DEFLIM
				movl	DEFLIM.8412@GOTOFF(%edi), %eax
				movl	%eax, ALMAX.8413@GOTOFF(%edi)
 1188     LABMIN = LABLIM
				movl	LABLIM.8415@GOTOFF(%edi), %eax
				movl	%eax, LABMIN.8414@GOTOFF(%edi)
 1189     ASSCOND = 1;  SKIP = 0
				movl	$1, -2268(%ebp)
		
		.LVL664:
				movl	$0, -2260(%ebp)
		
 1190     LOCTYPE = MEMMASK+RELMASK;  LOC = 0
				movl	$96, -2092(%ebp)
		
				movl	$0, -2088(%ebp)
		
 1191     SET ACC
				leal	-2164(%ebp), %ecx
				call	SETACC.9145
		.LVL665:
		.L726:
		.L727:
 1192 READ: FSYM = ' ';  FAULTPOS = 0
				movl	$32, -2084(%ebp)
		
				movl	-2256(%ebp), %eax
				movl	$0, FAULTPOS.8404@GOTOFF(%eax)
		
 1193     READ LINE
				leal	-2164(%ebp), %ecx
				call	READLINE.9093
		.LVL666:
 1194 NEXT:
 1195     DREG = -1
				movl	$-1, -2136(%ebp)
		
 1196     MODE = 0
				movl	$0, -2144(%ebp)
		
 1197     PEND = 0;  COND = 0
				movl	$0, -2164(%ebp)
		
				movl	$0, -2116(%ebp)
		
 1198     QSTART = QBASE;  QLIM = QSTART
				movl	-2256(%ebp), %edx
				movl	QBASE.8407@GOTOFF(%edx), %eax
				movl	%eax, QSTART.8408@GOTOFF(%edx)
				movl	%eax, QLIM.8409@GOTOFF(%edx)
 1199     FLAG = 0
				movl	$0, -2112(%ebp)
		
 1200     %IF S('$') %START
				leal	-2164(%ebp), %ecx
				movl	$36, %eax
				call	S.8931
		.LVL721:
				movl	%eax, %esi
				testl	%eax, %eax
				jne	.L729
 1201        ->NEWPAGE %IF SYM = '/'
				cmpl	$47, -2160(%ebp)
				je	.L731
		.L730:
 1202        ->ERR %IF %NOT TAG
				leal	-2164(%ebp), %ecx
				call	TAG.8946
		.LVL722:
				testl	%eax, %eax
				je	.L850
		.L732:
 1203        ->ASSIF %IF TAG1 = IF
				movl	-2148(%ebp), %ebx
				cmpl	$9991, %ebx
				je	.L733
		.L734:
 1204        ->ASSELSE %IF TAG1 = ELS
				cmpl	$5950, %ebx
				je	.L735
		.L736:
 1205        ->ASSFIN %IF TAG1 = FIN
				cmpl	$6907, %ebx
				je	.L737
		.L738:
 1206        ->LEND %IF SKIP # 0
				cmpl	$0, -2260(%ebp)
				jne	.L908
		.L740:
		.L741:
 1207        ->DEFINE %IF TAG1 = DEF
 1208        ->DEFINE %IF TAG1 = 19625;     !RED
				cmpl	$4605, %ebx
				je	.L742
				cmpl	$19625, %ebx
				je	.L742
		.L743:
 1209        ->LISTC %IF TAG1 = 13350;      !LIS
				cmpl	$13350, %ebx
				je	.L744
		.L745:
 1210        ->TEMP %IF TAG1 = 21780;       !TEM
				cmpl	$21780, %ebx
				je	.L746
		.L747:
		.L748:
 1211        ->LOCC %IF TAG1 = 13556;       !LOC
 1212        ->LOCC %IF TAG1 = 1917;        !ASS
				cmpl	$1917, %ebx
				je	.L749
				cmpl	$13556, %ebx
				je	.L749
		.L750:
 1213        ->SAVC %IF TAG1 = 20568;       !SAV
				cmpl	$20568, %ebx
				jne	.L937
		.L751:
 1214        ->MACDEF %IF TAG1 = 14111;     !MAC
				cmpl	$14111, %ebx
				je	.L753
		.L754:
 1215        ->BEGIN %IF TAG1 = 2460;       !BEG
				cmpl	$2460, %ebx
				je	.L755
		.L756:
 1216        ->BEND %IF TAG1 = END
				cmpl	$6009, %ebx
				je	.L722
		.L757:
 1217        FAULT('U')
				leal	-2164(%ebp), %ecx
				movl	$85, %eax
				call	FAULT.8478
		.LVL667:
		.L758:
		.L853:
		.L854:
		.L855:
		.L856:
		.L857:
 1218        ->LEND
 1219     %FINISH
 1220     ->LEND %IF SKIP # 0 %OR SYM = '/'
				cmpl	$0, -2260(%ebp)
				jne	.L908
				movl	-2160(%ebp), %eax
		.LDL38:
 1221     ->LEND %IF SYM = NL
				cmpl	$10, %eax
				je	.L858
				cmpl	$47, %eax
				je	.L858
		.L762:
 1222     %IF TAG %START
				leal	-2164(%ebp), %ecx
				call	TAG.8946
		.LVL671:
				testl	%eax, %eax
				jne	.L763
 1223        ->LABDEF %IF TERM = ':'
				movl	-2156(%ebp), %eax
				cmpl	$58, %eax
				je	.L764
		.L765:
 1224        MODE = 1
				movl	%edi, -2144(%ebp)
 1225        ->ASSIGN %IF TERM = '(' %OR SYM = '='
				cmpl	$40, %eax
				je	.L811
				cmpl	$61, -2160(%ebp)
				je	.L811
		.L767:
 1226        ->JUMP %IF TAG1 = JUM %AND (TAG2=P %OR TAG2=PS)
				movl	-2148(%ebp), %eax
				cmpl	$11642, %eax
				je	.L926
		.L768:
				movl	-2152(%ebp), %edx
				cmpl	$17983, %edx
				je	.L826
				cmpl	$17206, %edx
				jne	.L769
		.L771:
		.L826:
 1227        ->IFC %IF TAG1 = IF
				cmpl	$9991, %eax
				je	.L772
		.L773:
 1228        ->ELSE %IF TAG1 = ELS %AND TAG2 = E
				cmpl	$5950, %eax
				jne	.L769
				cmpl	$5403, -2152(%ebp)
		
				je	.L927
		.L774:
 1229        ->FINISH %IF TAG1 = FIN %AND TAG2 = ISH
				cmpl	$6907, %eax
				jne	.L776
				cmpl	$10490, -2152(%ebp)
		
				je	.L930
		.L777:
 1230        ->WHILE %IF TAG1 = 25106 %AND TAG2 = 13173
				cmpl	$25106, %eax
				jne	.L774
				cmpl	$13173, -2152(%ebp)
		
				je	.L931
		.L779:
 1231        ->CYCLE %IF TAG1 = 4269 %AND TAG2 = 13173
				cmpl	$4269, %eax
				jne	.L777
				cmpl	$13173, -2152(%ebp)
		
				je	.L928
		.L781:
 1232        ->REPEAT %IF TAG1 = 19637 %AND TAG2 = 5544
				cmpl	$19637, %eax
				jne	.L779
				cmpl	$5544, -2152(%ebp)
		
				jne	.L781
		.L783:
 1233        MODE=-2 %AND ->DATA %IF TAG1 = B
				cmpl	$2184, %eax
				jne	.L781
				movl	$-2, -2144(%ebp)
		
				jmp	.L784
		.L929:
 1234        TYPE = UMASK;  LOOKUP(0)
				movl	$512, -2096(%ebp)
		
				leal	-2164(%ebp), %ecx
				movl	$0, %eax
				call	LOOKUP.8889
		.LVL672:
 1235        ->MACCALL %IF TYPE&OPMASK = MACRO
				movl	-2096(%ebp), %eax
				movl	%eax, %edx
				andl	$61440, %edx
				cmpl	$40960, %edx
				je	.L785
		.L786:
 1236        ->MINST %IF TYPE&OPMASK # 0
				testl	%edx, %edx
				jne	.L787
		.L788:
 1237        FAULT('U') %AND ->LEND %IF TYPE&UMASK # 0
				testb	$2, %ah
				jne	.L929
		.L789:
				leal	-2164(%ebp), %ecx
				movl	$85, %eax
				call	FAULT.8478
		.LVL680:
				jmp	.L857
		.LVL681:
		.L932:
 1238        PEND = -1
				movl	$-1, -2164(%ebp)
		
		.L763:
 1239     %FINISH
 1240     MODE = -1
				movl	$-1, -2144(%ebp)
		
		.L784:
 1241 DATA:
 1242     %CYCLE
 1243        GET EXP;  ASSEMBLE
				leal	-2164(%ebp), %esi
				jmp	.L807
		.L926:
				movl	%esi, %ecx
				call	GETEXP.8992
		.LVL693:
				movl	%esi, %ecx
				call	ASSEMBLE.8622
		.LVL694:
 1244        FAULT('I') %IF TYPE&REGXMASK # 0
				testb	$-112, -2096(%ebp)
				je	.L790
				movl	%esi, %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL695:
		.L790:
 1245        I = 1
				movl	$1, %edi
				jmp	.L728
		.L937:
		.L752:
				cmpl	$1000, %ebx
				cmovge	%edi, %ebx
		.L795:
		.LVL697:
				movl	$1, %ebx
				jmp	.L802
		.LVL887:
		.L813:
 1246        %IF S('$') %START
				movl	%esi, %ecx
				movl	$36, %eax
				call	S.8931
		.LVL696:
				testl	%eax, %eax
				jne	.L791
 1247           I = VAL %IF VAL < 1000
				movl	-2100(%ebp), %ebx
 1248           QLIM = QSTART
				movl	-2256(%ebp), %edx
				movl	QSTART.8408@GOTOFF(%edx), %eax
				movl	%eax, QLIM.8409@GOTOFF(%edx)
 1249           GET EXP;  ASSEMBLE
				movl	%esi, %ecx
				call	GETEXP.8992
		.LVL698:
				movl	%esi, %ecx
				call	ASSEMBLE.8622
		.LVL699:
 1250        %FINISH
 1251        %WHILE I > 0 %CYCLE
				testl	%ebx, %ebx
				jle	.L793
		.LVL686:
		.L802:
				testl	%ebx, %ebx
				jg	.L802
				jmp	.L793
		.LVL700:
		.L933:
 1252           %IF MODE # -1 %START
				cmpl	$-1, -2144(%ebp)
				je	.L797
 1253              FAULT('T') %IF VAL&16_FF00 # 0
				movl	%esi, %ecx
				movl	$84, %eax
				call	FAULT.8478
		.LVL682:
				jmp	.L798
		.L799:
				testl	$65280, -2100(%ebp)
		
				jne	.L932
		.L798:
 1254              %IF MODE = -2 %START
				cmpl	$-2, -2144(%ebp)
				jne	.L799
 1255                 J = VAL<<8;  MODE = -3
				movl	-2100(%ebp), %eax
				sall	$8, %eax
				movl	%eax, -2252(%ebp)
		.LVL687:
				movl	$-3, -2144(%ebp)
		
 1256              %finish %ELSE %START
				jmp	.L801
		.LVL688:
		.L797:
 1257                 VAL = VAL+J;  MODE = -2
				movl	-2252(%ebp), %eax
				addl	%eax, -2100(%ebp)
				movl	$-2, -2144(%ebp)
		
 1258                 PLANT VAL;  VAL = VAL&255
				movl	%esi, %ecx
				call	PLANTVAL.8579
		.LVL683:
				andl	$255, -2100(%ebp)
		
		.L800:
		.LVL684:
		.L801:
 1259              %FINISH
 1260           %finish %ELSE %START
 1261              PLANT VAL
				movl	%esi, %ecx
				call	PLANTVAL.8579
		.LVL689:
				jmp	.L801
		.LVL690:
		.L793:
 1262           %FINISH
 1263           I = I-1
				subl	$1, %ebx
		.LVL685:
 1264        %REPEAT
 1265        %EXIT %UNLESS S(',') %OR SYM&128 # 0
				movl	%esi, %ecx
				movl	$44, %eax
				call	S.8931
		.LVL691:
				testl	%eax, %eax
				jne	.L803
				testb	$-128, -2160(%ebp)
				je	.L804
		.L803:
 1266        %IF SYM = NL %START
				cmpl	$10, -2160(%ebp)
				je	.L933
		.L805:
 1267           PRINT LINE %IF PRINTPOS # 0;  READ LINE
				movl	-2256(%ebp), %eax
				cmpl	$0, PRINTPOS.8403@GOTOFF(%eax)
				je	.L806
				movl	%esi, %ecx
				call	PRINTLINE.8511
		.LVL701:
		.L806:
				movl	%esi, %ecx
				call	READLINE.9093
		.LVL702:
 1268           QSTART = QBASE
				movl	-2256(%ebp), %edx
				movl	QBASE.8407@GOTOFF(%edx), %eax
				movl	%eax, QSTART.8408@GOTOFF(%edx)
				jmp	.L805
		.L804:
 1269        %FINISH
 1270        QLIM = QSTART
				movl	-2256(%ebp), %edx
				movl	QSTART.8408@GOTOFF(%edx), %eax
				movl	%eax, QLIM.8409@GOTOFF(%edx)
		.LVL692:
		.L807:
 1271     %REPEAT
 1272     VAL=J %AND PLANT VAL %IF MODE = -3
				cmpl	$-3, -2144(%ebp)
				jne	.L846
				movl	-2252(%ebp), %eax
				movl	%eax, -2100(%ebp)
				leal	-2164(%ebp), %ecx
				call	PLANTVAL.8579
		.LVL703:
				jmp	.L846
		.LVL704:
		.L764:
 1273     ->SEND
 1274 
 1275 LABDEF:
 1276     CREG = -1;  ATYPE = -1
				movl	$-1, -2108(%ebp)
		
				movl	$-1, -2104(%ebp)
		
 1277     GET SYM
				leal	-2164(%ebp), %ecx
				call	GETSYM.8925
		.LVL705:
 1278     FAULT('C') %AND NP=STORELIM %IF NP # STORELIM
				movl	-2256(%ebp), %esi
				movl	STORELIM.8418@GOTOFF(%esi), %ebx
				cmpl	%ebx, NP.8417@GOTOFF(%esi)
				je	.L809
				leal	-2164(%ebp), %ecx
				movl	$67, %eax
				call	FAULT.8478
		.LVL706:
				movl	%ebx, NP.8417@GOTOFF(%esi)
		.L809:
 1279     TYPE = LOCTYPE;  VAL = LOC
				movl	-2092(%ebp), %eax
				movl	%eax, -2096(%ebp)
				movl	-2088(%ebp), %eax
				movl	%eax, -2100(%ebp)
 1280     LOOKUP(7)
				leal	-2164(%ebp), %ecx
				movl	$7, %eax
				call	LOOKUP.8889
		.LVL707:
				jmp	.L728
		.L766:
		.L811:
 1281     ->NEXT
 1282 
 1283 ASSIGN:
 1284     PEND = 1
				movl	%edi, -2164(%ebp)
 1285     GET EXP
				leal	-2164(%ebp), %ebx
				movl	%ebx, %ecx
				call	GETEXP.8992
		.LVL708:
 1286     ->ERR %IF %NOT S('=')
				movl	%ebx, %ecx
				movl	$61, %eax
				call	S.8931
		.LVL709:
				testl	%eax, %eax
				je	.L813
		.L812:
 1287     QUEUE(-25);                       !'STORE'
				movl	$-25, %eax
				call	QUEUE.8988
		.LVL710:
 1288     %IF INTEGER(QBASE) = REG %START
				movl	-2256(%ebp), %eax
				movl	QBASE.8407@GOTOFF(%eax), %eax
				call	INTEGER.8454
		.LVL711:
				cmpl	$128, %eax
				je	.L934
		.L814:
 1289        DREG = INTEGER(QBASE+1)
				movl	-2256(%ebp), %eax
				movl	QBASE.8407@GOTOFF(%eax), %eax
				addl	$1, %eax
				call	INTEGER.8454
		.LVL725:
				movl	%eax, -2136(%ebp)
 1290        DUSE = 0
				movl	$0, -2140(%ebp)
		
				jmp	.L814
		.L935:
 1291     %FINISH
 1292     QSTART = QLIM;  MODE = 2
				movl	-2256(%ebp), %edx
				movl	QLIM.8409@GOTOFF(%edx), %eax
				movl	%eax, QSTART.8408@GOTOFF(%edx)
				movl	$2, -2144(%ebp)
		
 1293     GET EXP
				leal	-2164(%ebp), %ecx
				call	GETEXP.8992
		.LVL712:
 1294     %IF FLAG # 0 %START
				movl	-2112(%ebp), %ecx
				testl	%ecx, %ecx
				je	.L823
 1295        %IF DREG<0 %AND FLAG-QSTART=QSTART-QBASE-1 %C
				cmpl	$0, -2136(%ebp)
				js	.L935
		.L816:
				movl	-2256(%ebp), %eax
				movl	QSTART.8408@GOTOFF(%eax), %edx
				movl	QBASE.8407@GOTOFF(%eax), %eax
				subl	%edx, %ecx
				subl	%eax, %edx
				subl	$1, %edx
				cmpl	%edx, %ecx
				jne	.L816
				call	INTEGER.8454
		.LVL726:
				testb	$1, %ah
				jne	.L816
 1296           %AND INTEGER(QBASE)&BMASK=0 %START
 1297        I = QBASE;  J = QSTART
				movl	-2256(%ebp), %edx
				movl	QBASE.8407@GOTOFF(%edx), %eax
		.LVL727:
				movl	QSTART.8408@GOTOFF(%edx), %edx
		.LVL728:
				movl	%edx, -2252(%ebp)
				movl	%eax, %esi
				subl	%eax, %edx
		.LVL729:
				movl	%edx, %ebx
		.LVL730:
		.L817:
 1298        I = I+1 %AND J=J+1 %WHILE INTEGER(I) = INTEGER(J)
				movl	%esi, %eax
				call	INTEGER.8454
		.LVL731:
				movl	%eax, -2272(%ebp)
				movl	-2252(%ebp), %eax
				call	INTEGER.8454
		.LVL732:
				cmpl	%eax, -2272(%ebp)
				jne	.L818
				addl	$1, %esi
		.LVL733:
				leal	(%ebx,%esi), %eax
				movl	%eax, -2252(%ebp)
		.LVL734:
				jmp	.L817
		.LVL735:
		.L818:
 1299        %IF J = FLAG %START
				movl	-2252(%ebp), %eax
				cmpl	%eax, -2112(%ebp)
				jne	.L819
 1300           %IF INTEGER(QLIM-1) = -2 %START; !MINUS
				movl	-2256(%ebp), %eax
				movl	QLIM.8409@GOTOFF(%eax), %eax
				subl	$1, %eax
				call	INTEGER.8454
		.LVL736:
				cmpl	$-2, %eax
				jne	.L820
 1301              QSTART = J-2
				movl	-2252(%ebp), %esi
		.LVL737:
				leal	-2(%esi), %eax
				movl	-2256(%ebp), %edx
				movl	%eax, QSTART.8408@GOTOFF(%edx)
 1302 !!             INTEGER(QSTART) = 0;  INTEGER(QSTART+1) = 0
 1303              set INTEGER(QSTART, 0);  set INTEGER(QSTART+1, 0)
				movl	$0, %edx
				call	SETINTEGER.8467
		.LVL738:
				leal	-1(%esi), %eax
				movl	$0, %edx
				call	SETINTEGER.8467
		.LVL739:
				jmp	.L823
		.LVL740:
		.L820:
 1304           %ELSE
 1305              QSTART = J;  QLIM = QLIM-1
				movl	-2256(%ebp), %eax
				movl	-2252(%ebp), %edx
				movl	%edx, QSTART.8408@GOTOFF(%eax)
				subl	$1, QLIM.8409@GOTOFF(%eax)
				jmp	.L823
		.L819:
 1306           %FINISH
 1307        %finish %ELSE FLAG = 0
				movl	$0, -2112(%ebp)
		
				jmp	.L823
		.LVL741:
		.L787:
 1308        %finish %ELSE FLAG = 0
				movl	$0, -2112(%ebp)
		
		.L815:
		.L821:
		.L822:
		.LVL713:
		.L823:
 1309     %FINISH
 1310     QUEUE(-24);                       !'LOAD'
				movl	$-24, %eax
				call	QUEUE.8988
		.LVL714:
		.L824:
 1311 
 1312 CONDQ:
 1313     %IF TAGIF %START
				leal	-2164(%ebp), %ecx
				call	TAGIF.8982
		.LVL715:
				testl	%eax, %eax
				jne	.L825
 1314        MODE = MODE+4;  DREG = DREG-16; !SCARIFY
				addl	$4, -2144(%ebp)
				subl	$16, -2136(%ebp)
 1315        CONDIT(0)
				leal	-2164(%ebp), %ecx
				call	CONDIT.9061
		.LVL716:
 1316        MODE = MODE-4;  DREG = DREG+16; !RESTORE
				subl	$4, -2144(%ebp)
				addl	$16, -2136(%ebp)
 1317        QLIM = QSTART;  QSTART = TRANSF
				movl	-2256(%ebp), %edx
				movl	QSTART.8408@GOTOFF(%edx), %eax
				movl	%eax, QLIM.8409@GOTOFF(%edx)
				movl	TRANSF.8410@GOTOFF(%edx), %eax
				movl	%eax, QSTART.8408@GOTOFF(%edx)
		.L825:
 1318     %FINISH
 1319     ASSEMBLE
				leal	-2164(%ebp), %ecx
				call	ASSEMBLE.8622
		.LVL717:
		.L808:
		.L843:
		.L844:
		.L845:
		.L846:
 1320     ->SEND
 1321 
 1322 JUMP:
 1323     FLAG = TAG2-P;                    !POSITIVE IF SHORT
				subl	$17206, %edx
				movl	%edx, -2112(%ebp)
 1324     GET EXP
				leal	-2164(%ebp), %ecx
				call	GETEXP.8992
		.LVL673:
 1325     QUEUE(-26);                       !'JUMP'
				movl	$-26, %eax
				call	QUEUE.8988
		.LVL674:
				jmp	.L824
		.L769:
 1326     ->CONDQ
 1327 
 1328 MINST:
 1329     MODE = -1
				movl	$-1, -2144(%ebp)
		
 1330     GET INST
				leal	-2164(%ebp), %ecx
				call	GETINST.9084
		.LVL742:
 1331     QUEUE(-23);                       !'PLANT'
				movl	$-23, %eax
				call	QUEUE.8988
		.LVL743:
				jmp	.L824
		.L785:
 1332     ->CONDQ
 1333 
 1334 MACCALL:
 1335     QUEUE(0);                         !(DEFPOS)
				movl	$0, %eax
				call	QUEUE.8988
		.LVL744:
 1336     QUEUE(0);                         !SPARE
				movl	$0, %eax
				call	QUEUE.8988
		.LVL745:
 1337     QUEUE(0);                         !(CALLPOS)
				movl	$0, %eax
				call	QUEUE.8988
		.LVL746:
 1338     QUEUE(STARTPOS)
				movl	-2256(%ebp), %edi
				movl	STARTPOS.8399@GOTOFF(%edi), %eax
				call	QUEUE.8988
		.LVL747:
 1339     QUEUE(MP)
				movl	MP.8406@GOTOFF(%edi), %eax
				call	QUEUE.8988
		.LVL748:
 1340     J = VAL;  QQ = 0
				movl	-2100(%ebp), %esi
		.LVL749:
				movl	$0, QQ.8450@GOTOFF(%edi)
		
 1341     %CYCLE
 1342        %EXIT %IF CHAR(J) = NL;        !END OF MAC DEF
				movl	%esi, %eax
				call	CHAR.8460
		.LVL750:
				cmpl	$10, %eax
				je	.L828
		.L829:
 1343        I = GETPOS-1;                  !SAVE CALLPOS
				movl	-2256(%ebp), %eax
				movl	GETPOS.8400@GOTOFF(%eax), %edi
				subl	$1, %edi
		.LVL751:
 1344        GETPOS = J;  GET SYM
				leal	-2164(%ebp), %ebx
		.L827:
				movl	%esi, GETPOS.8400@GOTOFF(%eax)
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL752:
 1345 !!       %MONITOR 24 %IF %NOT TAG
 1346        TYPE = 0;  VAL = 0
				movl	$0, -2096(%ebp)
		
				movl	$0, -2100(%ebp)
		
 1347        SCAN ARG
				movl	%ebx, %ecx
				call	SCANARG.9127
		.LVL753:
 1348        GET SYM %IF SYM = ','
				cmpl	$44, -2160(%ebp)
				je	.L938
		.L830:
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL762:
				jmp	.L830
		.L939:
 1349        J = GETPOS-1;                  !SAVE DEFPOS
				movl	-2256(%ebp), %eax
				movl	GETPOS.8400@GOTOFF(%eax), %esi
		.LVL754:
				subl	$1, %esi
		.LVL755:
 1350        GETPOS = I;  GET SYM;          !RESTORE CALLPOS
				movl	%edi, GETPOS.8400@GOTOFF(%eax)
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL756:
 1351        SCAN ARG
				movl	%ebx, %ecx
				call	SCANARG.9127
		.LVL757:
 1352        GET SYM %IF SYM = ','
				cmpl	$44, -2160(%ebp)
				je	.L939
		.L831:
				movl	%ebx, %ecx
				call	GETSYM.8925
		.LVL763:
				jmp	.L831
		.LVL764:
		.L828:
				movl	%esi, -2252(%ebp)
 1353        QUEUE(TAG1);  QUEUE(TAG2)
				movl	-2148(%ebp), %eax
				call	QUEUE.8988
		.LVL758:
				movl	-2152(%ebp), %eax
				call	QUEUE.8988
		.LVL759:
 1354        QUEUE(TYPE);  QUEUE(VAL)
				movl	-2096(%ebp), %eax
				call	QUEUE.8988
		.LVL760:
				movl	-2100(%ebp), %eax
				call	QUEUE.8988
		.LVL761:
				jmp	.L827
		.L938:
 1355     %REPEAT
 1356     QQ = '?'
				movl	-2256(%ebp), %eax
				movl	$63, QQ.8450@GOTOFF(%eax)
		
 1357     GET SYM %IF SYM = ' '
				cmpl	$32, -2160(%ebp)
				jne	.L832
				leal	-2164(%ebp), %ecx
				call	GETSYM.8925
		.LVL765:
		.L832:
 1358     %IF TAGIF %START
				leal	-2164(%ebp), %ecx
				call	TAGIF.8982
		.LVL766:
				testl	%eax, %eax
				jne	.L833
 1359        CONDIT(-18)
				leal	-2164(%ebp), %ecx
				movl	$-18, %eax
				call	CONDIT.9061
		.LVL767:
 1360        QLIM = QSTART
				movl	-2256(%ebp), %edi
				movl	QSTART.8408@GOTOFF(%edi), %eax
				movl	%eax, QLIM.8409@GOTOFF(%edi)
 1361 !!       INTEGER(QBASE+4) = MP+8_700000
 1362        set INTEGER(QBASE+4, MP+8_700000)
				movl	MP.8406@GOTOFF(%edi), %edx
				addl	$229376, %edx
				movl	QBASE.8407@GOTOFF(%edi), %eax
				addl	$4, %eax
				call	SETINTEGER.8467
		.LVL768:
		.L833:
 1363     %FINISH
 1364     QUEUE(0)
				movl	$0, %eax
				call	QUEUE.8988
		.LVL769:
 1365     STARTPOS = QLIM<<1
				movl	-2256(%ebp), %edi
				movl	QLIM.8409@GOTOFF(%edi), %eax
				addl	%eax, %eax
				movl	%eax, STARTPOS.8399@GOTOFF(%edi)
 1366     MP = QBASE
				movl	QBASE.8407@GOTOFF(%edi), %ebx
				movl	%ebx, MP.8406@GOTOFF(%edi)
 1367 !!    INTEGER(MP) = J+1;                !START OF BODY
 1368     set INTEGER(MP, J+1);                !START OF BODY
				movl	-2252(%ebp), %eax
				leal	1(%eax), %edx
				movl	%ebx, %eax
				call	SETINTEGER.8467
		.LVL770:
 1369 !!    INTEGER(MP+2) = GETPOS-1
 1370     set INTEGER(MP+2, GETPOS-1)
				movl	GETPOS.8400@GOTOFF(%edi), %edx
				subl	$1, %edx
				leal	2(%ebx), %eax
				call	SETINTEGER.8467
		.LVL771:
				jmp	.L857
		.LVL772:
		.L772:
 1371     ->LEND
 1372 
 1373 !CODING OF JUMPS: 1000 (SINGLE INST), 2000 (MAIN IF)
 1374 !                 4000 (ELSE), 6000 (IF AFTER ELSE)
 1375 
 1376 IFC:
 1377     CONDIT(-15)
				leal	-2164(%ebp), %ecx
				movl	$-15, %eax
				call	CONDIT.9061
		.LVL773:
				jmp	.L846
		.L927:
		.L775:
 1378     ->SEND
 1379 
 1380 ELSE:
 1381     ->CERR %IF INTEGER(NP)&16_2000 = 0
				movl	-2256(%ebp), %eax
				movl	NP.8417@GOTOFF(%eax), %eax
				call	INTEGER.8454
		.LVL774:
				testb	$32, %ah
				je	.L837
		.L835:
 1382     QUEUE(0);  QUEUE(0)
				movl	$0, %eax
				call	QUEUE.8988
		.LVL775:
				movl	$0, %eax
				call	QUEUE.8988
		.LVL776:
 1383     QUEUE(-16);  ASSEMBLE
				movl	$-16, %eax
				call	QUEUE.8988
		.LVL777:
				leal	-2164(%ebp), %ebx
				movl	%ebx, %ecx
				call	ASSEMBLE.8622
		.LVL778:
 1384     ATYPE = -1; CREG = -1
				movl	$-1, -2104(%ebp)
		
				movl	$-1, -2108(%ebp)
		
 1385     %IF TAGIF %START
				movl	%ebx, %ecx
				call	TAGIF.8982
		.LVL779:
				testl	%eax, %eax
				jne	.L846
 1386        CONDIT(-17)
				movl	%ebx, %ecx
				movl	$-17, %eax
				call	CONDIT.9061
		.LVL780:
				jmp	.L846
		.L930:
		.L778:
 1387     %FINISH
 1388     ->SEND
 1389 
 1390 FINISH:
 1391     ->CERR %IF INTEGER(NP)&16_6000 = 0
				movl	-2256(%ebp), %eax
				movl	NP.8417@GOTOFF(%eax), %eax
				call	INTEGER.8454
		.LVL781:
				testb	$96, %ah
				je	.L837
		.L836:
 1392     I = LOC
				movl	-2088(%ebp), %ebx
		.LVL782:
 1393     %WHILE INTEGER(NP)&16_4000 # 0 %CYCLE
				movl	-2256(%ebp), %eax
				movl	NP.8417@GOTOFF(%eax), %eax
				call	INTEGER.8454
		.LVL785:
				testb	$64, %ah
				je	.L839
 1394        %IF INTEGER(NP)&16_2000 # 0 %START; !IF AFTER ELSE
				movl	-2256(%ebp), %eax
				movl	NP.8417@GOTOFF(%eax), %eax
				call	INTEGER.8454
		.LVL786:
				testb	$32, %ah
				je	.L840
 1395           SET LAB(I)
				movl	%esi, %ecx
				movl	%ebx, %eax
				call	SETLAB.8605
		.LVL787:
				jmp	.L838
		.L839:
 1396        %finish %ELSE %START
 1397           SET LAB(LOC)
				leal	-2164(%ebp), %esi
				jmp	.L838
		.L840:
				movl	%esi, %ecx
				movl	-2088(%ebp), %eax
				call	SETLAB.8605
		.LVL783:
 1398           I = VAL+4
				movl	-2100(%ebp), %eax
				leal	4(%eax), %ebx
		.LVL784:
		.L838:
 1399        %FINISH
 1400     %REPEAT
 1401     SET LAB(I)
				leal	-2164(%ebp), %ecx
				movl	%ebx, %eax
				call	SETLAB.8605
		.LVL788:
				jmp	.L846
		.LVL789:
		.L931:
		.L780:
 1402     ->SEND
 1403 
 1404 WHILE:
 1405     I = LOC;  ATYPE = -1;  CREG = -1
				movl	-2088(%ebp), %ebx
		.LVL790:
				movl	$-1, -2104(%ebp)
		
				movl	$-1, -2108(%ebp)
		
 1406     CONDIT(-13)
				leal	-2164(%ebp), %ecx
				movl	$-13, %eax
				call	CONDIT.9061
		.LVL791:
 1407     NEST(I);  NEST(1)
				movl	%ebx, %eax
				call	NEST.8601
		.LVL792:
				movl	%edi, %eax
				call	NEST.8601
		.LVL793:
				jmp	.L846
		.LVL794:
		.L928:
		.L782:
 1408     ->SEND
 1409 
 1410 CYCLE:
 1411     NEST(LOC);  NEST(1)
				movl	-2088(%ebp), %eax
				call	NEST.8601
		.LVL795:
				movl	%edi, %eax
				call	NEST.8601
		.LVL796:
 1412     ATYPE = -1;  CREG = -1
				movl	$-1, -2104(%ebp)
		
				movl	$-1, -2108(%ebp)
		
 1413     ->SEND
				jmp	.L846
		.L837:
 1414 
 1415 REPEAT:
 1416     ->CERR %IF INTEGER(NP) # 1
				movl	-2256(%ebp), %esi
				movl	NP.8417@GOTOFF(%esi), %eax
				call	INTEGER.8454
		.LVL675:
				cmpl	$1, %eax
				jne	.L837
		.L842:
 1417     QUEUE(LOCTYPE);  QUEUE(INTEGER(NP+1))
				movl	-2092(%ebp), %eax
				call	QUEUE.8988
		.LVL676:
				movl	NP.8417@GOTOFF(%esi), %eax
				addl	$1, %eax
				call	INTEGER.8454
		.LVL677:
				call	QUEUE.8988
		.LVL678:
 1418     NP = NP+2
				addl	$2, NP.8417@GOTOFF(%esi)
 1419     QUEUE(-26);                       !'JUMP'
				movl	$-26, %eax
				call	QUEUE.8988
		.LVL679:
 1420     FLAG = -1
				movl	$-1, -2112(%ebp)
		
 1421     ->CONDQ
				jmp	.L824
		.L776:
 1422 
 1423 CERR:
 1424     FAULT('C')
				leal	-2164(%ebp), %ecx
				movl	$67, %eax
				call	FAULT.8478
		.LVL797:
				jmp	.L857
		.L936:
 1425     ->LEND
 1426 
 1427 SEND:
 1428     SET LAB(LOC) %IF INTEGER(NP)&16_1000 # 0
				movl	-2256(%ebp), %eax
				movl	NP.8417@GOTOFF(%eax), %eax
				call	INTEGER.8454
		.LVL718:
				testb	$16, %ah
				jne	.L936
		.L847:
				leal	-2164(%ebp), %ecx
				movl	-2088(%ebp), %eax
				call	SETLAB.8605
		.LVL798:
				jmp	.L847
		.L719:
		.L849:
		.LVL799:
		.L850:
 1429     ->LEND %IF SYM = NL
				cmpl	$10, -2160(%ebp)
				je	.L857
		.L848:
 1430     ->NEXT %IF S(';')
				leal	-2164(%ebp), %ecx
				movl	$59, %eax
				call	S.8931
		.LVL719:
				testl	%eax, %eax
				jne	.L850
		.LVL720:
		.L728:
 1431 
 1432 ERR:FSYM = 'F';  FAULTPOS = GETPOS-1
				movl	$70, -2084(%ebp)
		
				movl	-2256(%ebp), %edi
				movl	GETPOS.8400@GOTOFF(%edi), %eax
				subl	$1, %eax
				movl	%eax, FAULTPOS.8404@GOTOFF(%edi)
				movl	$70, -2084(%ebp)
		
				movl	-2256(%ebp), %edi
				movl	GETPOS.8400@GOTOFF(%edi), %eax
				subl	$1, %eax
				movl	%eax, FAULTPOS.8404@GOTOFF(%edi)
 1433     PRINTPOS = STARTPOS
				movl	STARTPOS.8399@GOTOFF(%edi), %eax
				movl	%eax, PRINTPOS.8403@GOTOFF(%edi)
				movl	STARTPOS.8399@GOTOFF(%edi), %eax
				movl	%eax, PRINTPOS.8403@GOTOFF(%edi)
		.LVL888:
				movl	$0, -2260(%ebp)
		
		.LVL889:
		.L851:
 1434 
 1435 LEND:
 1436     ->READ %IF SKIP # 0 %AND LIST&4 = 0
				cmpl	$0, -2260(%ebp)
				je	.L858
		.LVL668:
		.L908:
				movl	-2256(%ebp), %eax
				testb	$4, LIST.8427@GOTOFF(%eax)
				je	.L726
		.LVL669:
		.L858:
				cmpl	$0, -2260(%ebp)
				je	.L851
				movl	-2256(%ebp), %eax
				testb	$4, LIST.8427@GOTOFF(%eax)
				je	.L726
				jmp	.L851
		.L733:
 1437     ->READ %IF FSYM = ' ' %AND CHARS = 0 %AND %C
				cmpl	$32, -2084(%ebp)
				jne	.L851
				movl	-2256(%ebp), %eax
				cmpl	$0, CHARS.8422@GOTOFF(%eax)
				jne	.L851
				cmpl	$0, PRINTPOS.8403@GOTOFF(%eax)
				je	.L726
				cmpl	$0, MP.8406@GOTOFF(%eax)
				je	.L851
				testb	$2, LIST.8427@GOTOFF(%eax)
				je	.L726
				jmp	.L851
		.LVL670:
		.L729:
 1438      (PRINTPOS = 0 %OR (MP#0 %AND LIST&2=0))
 1439     PRINT LINE
				leal	-2164(%ebp), %ecx
				call	PRINTLINE.8511
		.LVL890:
				jmp	.L726
		.LVL891:
		.L909:
				leal	-16(%ebp), %esp
				popl	%ecx
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
		.LVL892:
				leal	-4(%ecx), %esp
		.LVL893:
				ret
		.LFE201:
				.comm	SEQ.8556,4,4
				.comm	HOLD.8542,4,4
				.comm	ZQUERY.8647,4,4
				.section	.data.rel.local,"aw",@progbits
				.align 32
		sw1_ASS.8657:
				.long	.L626
				.long	.L627
				.long	.L628
				.long	.L629
				.long	.L619
				.long	.L610
				.long	.L608
				.long	.L606
				.long	.L596
				.long	.L589
				.long	.L588
				.long	.L630
				.long	.L587
				.long	.L586
				.long	.L585
				.long	.L584
				.long	.L582
				.long	.L577
				.long	.L576
				.long	.L555
				.long	.L631
				.long	.L632
				.long	.L553
				.long	.L552
				.long	.L550
				.long	.L549
				.long	.L548
				.long	.L547
				.long	.L537
				.long	.L541
				.comm	CHECK.8425,4,4
				.comm	BREC.8451,208,32
				.data
				.align 4
		PASS.8426:
				.long	-1
				.comm	PSEUDOLIM.8402,4,4
				.comm	PUTPOS.8401,4,4
				.align 4
		SAVE.8430:
				.long	1
				.comm	BINCOUNT.8424,4,4
				.align 4
		TEMPS.8431:
				.long	12
				.comm	LINES.8423,4,4
				.comm	CHARS.8422,4,4
				.align 4
		LIST.8427:
				.long	-1
				.comm	GETPOS.8400,4,4
				.align 4
		QQ.8450:
				.long	63
				.comm	TRANSF.8410,4,4
				.comm	PRINTPOS.8403,4,4
				.comm	QLIM.8409,4,4
				.comm	QSTART.8408,4,4
				.comm	QBASE.8407,4,4
				.comm	FAULTPOS.8404,4,4
				.comm	LABMIN.8414,4,4
				.comm	ALMAX.8413,4,4
				.comm	MP.8406,4,4
				.comm	STARTPOS.8399,4,4
				.comm	DEFMIN.8411,4,4
				.comm	DEFLIM.8412,4,4
				.comm	BP.8416,4,4
				.comm	LABLIM.8415,4,4
				.comm	NP.8417,4,4
				.comm	STORELIM.8418,4,4
				.comm	MACLIM.8405,4,4
				.comm	CODEPOS.8398,4,4
				.comm	STORE.8452,130048,32
				.comm	this_handler.9166,160,32
				.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:
		.LFB251:
				movl	(%esp), %eax
				ret
		.LFE251:
				.section	.text.__x86.get_pc_thunk.dx,"axG",@progbits,__x86.get_pc_thunk.dx,comdat
				.globl	__x86.get_pc_thunk.dx
				.hidden	__x86.get_pc_thunk.dx
		__x86.get_pc_thunk.dx:
		.LFB252:
				movl	(%esp), %edx
				ret
		.LFE252:
				.section	.text.__x86.get_pc_thunk.cx,"axG",@progbits,__x86.get_pc_thunk.cx,comdat
				.globl	__x86.get_pc_thunk.cx
				.hidden	__x86.get_pc_thunk.cx
		__x86.get_pc_thunk.cx:
		.LFB253:
				movl	(%esp), %ecx
				ret
		.LFE253:
				.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:
		.LFB254:
				movl	(%esp), %ebx
				ret
		.LFE254:
				.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:
		.LFB255:
				movl	(%esp), %esi
				ret
		.LFE255:
				.section	.text.__x86.get_pc_thunk.di,"axG",@progbits,__x86.get_pc_thunk.di,comdat
				.globl	__x86.get_pc_thunk.di
				.hidden	__x86.get_pc_thunk.di
		__x86.get_pc_thunk.di:
		.LFB256:
				movl	(%esp), %edi
				ret
		.LFE256:
				.section	.text.__x86.get_pc_thunk.bp,"axG",@progbits,__x86.get_pc_thunk.bp,comdat
				.globl	__x86.get_pc_thunk.bp
				.hidden	__x86.get_pc_thunk.bp
		__x86.get_pc_thunk.bp:
		.LFB257:
				movl	(%esp), %ebp
				ret
		.LFE257:
		.Letext0:
 1440     ->READ
 1441 
 1442 ASSIF:
 1443     ASSCOND = ASSCOND<<1
				movl	-2268(%ebp), %edi
				movl	%edi, %eax
				addl	%edi, %eax
				movl	%eax, -2268(%ebp)
		.LVL800:
 1444     ->LEND %IF SKIP # 0
				cmpl	$0, -2260(%ebp)
				jne	.L908
		.LVL801:
		.L859:
		.L860:
 1445 A1: CONDIT(0)
				leal	-2164(%ebp), %ecx
				movl	$0, %eax
				call	CONDIT.9061
		.LVL802:
 1446     SKIP = ASSCOND %IF COND # 0
				cmpl	$0, -2116(%ebp)
				movl	-2260(%ebp), %eax
				cmovne	-2268(%ebp), %eax
				movl	%eax, -2260(%ebp)
		.L861:
 1447     PRINT LINE %IF PRINTPOS # 0
				movl	-2256(%ebp), %eax
				cmpl	$0, PRINTPOS.8403@GOTOFF(%eax)
				je	.L857
				leal	-2164(%ebp), %ecx
				call	PRINTLINE.8511
		.LVL803:
				jmp	.L857
		.L735:
 1448     ->LEND
 1449 
 1450 ASSELSE:
 1451     %IF SKIP = 0 %START
				cmpl	$0, -2260(%ebp)
				jne	.L862
 1452        ->CERR %IF ASSCOND&1 # 0
				movl	-2268(%ebp), %eax
				testb	$1, %al
				jne	.L837
		.L863:
		.LVL804:
 1453        SKIP = ASSCOND
				movl	%eax, -2260(%ebp)
		.L864:
		.LVL805:
		.L866:
 1454     %finish %ELSE %START
 1455        ->LEND %IF SKIP # ASSCOND
				movl	-2260(%ebp), %edi
				cmpl	%edi, -2268(%ebp)
				jne	.L908
		.L865:
		.LVL807:
 1456        SKIP = 0
				movl	$0, -2260(%ebp)
		
 1457        ->A1 %IF TAGIF
				leal	-2164(%ebp), %ecx
				call	TAGIF.8982
		.LVL808:
				testl	%eax, %eax
				je	.L859
				jmp	.L866
		.LVL809:
		.L737:
 1458     %FINISH
 1459     ASSCOND = ASSCOND+1
				addl	$1, -2268(%ebp)
		.LVL806:
 1460     ->LEND
				jmp	.L857
		.L862:
 1461 
 1462 ASSFIN:
 1463     ->CERR %IF ASSCOND = 1
				movl	-2268(%ebp), %eax
				cmpl	$1, %eax
				je	.L837
		.L867:
 1464     ASSCOND = ASSCOND>>1
				shrl	%eax
				movl	%eax, -2268(%ebp)
		.LVL810:
 1465     SKIP = 0 %IF SKIP>>1 = ASSCOND
				movl	-2260(%ebp), %edx
				shrl	%edx
				cmpl	%edx, %eax
				jne	.L857
		.LVL811:
				movl	%esi, -2260(%ebp)
				jmp	.L858
		.LVL812:
		.L742:
 1466     ->LEND
 1467 
 1468 DEFINE:
 1469     FAULT('C') %IF NP # STORELIM
				movl	-2256(%ebp), %eax
				movl	STORELIM.8418@GOTOFF(%eax), %edx
				cmpl	%edx, NP.8417@GOTOFF(%eax)
				je	.L869
				leal	-2164(%ebp), %ecx
				movl	$67, %eax
				call	FAULT.8478
		.LVL813:
		.L869:
 1470     I = TAG1
				movl	-2148(%ebp), %eax
				movl	%eax, -2264(%ebp)
		.LVL814:
 1471     %CYCLE
 1472        ->ERR %IF %NOT (TAG %AND S('='))
				leal	-2164(%ebp), %esi
				jmp	.L870
		.LVL815:
		.L874:
				movl	%esi, %ecx
				call	TAG.8946
		.LVL822:
				testl	%eax, %eax
				jne	.L813
				movl	%esi, %ecx
				movl	$61, %eax
				call	S.8931
		.LVL823:
				testl	%eax, %eax
				je	.L813
		.L872:
 1473        J = TAG1;  K = TAG2
				movl	-2148(%ebp), %eax
				movl	%eax, -2252(%ebp)
		.LVL824:
				movl	-2152(%ebp), %ebx
		.LVL825:
 1474        %IF TAG %START
				movl	%esi, %ecx
				call	TAG.8946
		.LVL826:
				testl	%eax, %eax
				jne	.L873
 1475           TAGREF
				movl	%esi, %ecx
				call	TAGREF.8912
		.LVL827:
 1476           %IF TYPE&OPMASK # 0 %START
				testl	$61440, -2096(%ebp)
		
				je	.L874
 1477              GET INST
				movl	%esi, %ecx
				call	GETINST.9084
		.LVL828:
				jmp	.L876
		.L940:
 1478           %finish %ELSE %START
 1479              PEND = -1;  GET EXP
				movl	$-1, -2164(%ebp)
		
				movl	%esi, %ecx
				call	GETEXP.8992
		.LVL816:
				jmp	.L876
		.L873:
 1480           %FINISH
 1481        %finish %ELSE GET EXP
				movl	%esi, %ecx
				call	GETEXP.8992
		.LVL817:
		.L875:
		.L876:
 1482        ASSEMBLE
				movl	%esi, %ecx
				call	ASSEMBLE.8622
		.LVL818:
 1483        TAG1 = J;  TAG2 = K
				movl	-2252(%ebp), %eax
				movl	%eax, -2148(%ebp)
				movl	%ebx, -2152(%ebp)
 1484        %IF I=DEF %THEN LOOKUP(3) %ELSE LOOKUP(2)
				cmpl	$4605, -2264(%ebp)
		
				je	.L940
		.L877:
				movl	%esi, %ecx
				movl	$2, %eax
				call	LOOKUP.8889
		.LVL819:
		.L878:
				movl	%esi, %ecx
				movl	$3, %eax
				call	LOOKUP.8889
		.LVL829:
				jmp	.L878
		.LVL830:
		.L744:
 1485        %EXIT %UNLESS S(',')
				movl	%esi, %ecx
				movl	$44, %eax
				call	S.8931
		.LVL820:
				testl	%eax, %eax
				je	.L846
		.L879:
 1486        QLIM = QSTART
				movl	-2256(%ebp), %edx
				movl	QSTART.8408@GOTOFF(%edx), %eax
				movl	%eax, QLIM.8409@GOTOFF(%edx)
		.LVL821:
		.L870:
 1487     %REPEAT
 1488     ->SEND
 1489 
 1490 NEWPAGE:
 1491     DO NEWLINE %WHILE LINES # 0
				movl	-2256(%ebp), %eax
				cmpl	$0, LINES.8423@GOTOFF(%eax)
				je	.L857
				call	DONEWLINE.8506
		.LVL869:
				jmp	.L731
		.LVL870:
		.L722:
 1492     ->LEND
 1493 
 1494 LISTC:
 1495     GET EXP;  ASSEMBLE
				leal	-2164(%ebp), %ebx
				movl	%ebx, %ecx
				call	GETEXP.8992
		.LVL831:
				movl	%ebx, %ecx
				call	ASSEMBLE.8622
		.LVL832:
 1496     LIST = VAL
				movl	-2100(%ebp), %eax
				movl	-2256(%ebp), %edx
				movl	%eax, LIST.8427@GOTOFF(%edx)
 1497     ->SEND
				jmp	.L846
		.L746:
		.LVL833:
 1498 
 1499 TEMP:
 1500     I = 0
 1501     %IF SYM # NL %START
				cmpl	$10, -2160(%ebp)
				je	.L884
 1502        %CYCLE
 1503           GET EXP
				leal	-2164(%ebp), %ebx
				jmp	.L881
		.LVL834:
		.L883:
				movl	%ebx, %ecx
				call	GETEXP.8992
		.LVL838:
 1504           FAULT('I') %IF TYPE # REG
				cmpl	$128, -2096(%ebp)
		
				je	.L883
				movl	%ebx, %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL839:
				jmp	.L883
		.L880:
		.LVL840:
		.L884:
 1505           I = I!1<<VAL
				movl	-2100(%ebp), %ecx
				movl	%edi, %eax
				sall	%cl, %eax
				orl	%eax, %esi
		.LVL835:
 1506           %EXIT %UNLESS S(',')
				movl	%ebx, %ecx
				movl	$44, %eax
				call	S.8931
		.LVL836:
				testl	%eax, %eax
				je	.L884
		.LVL837:
		.L881:
		.L882:
 1507        %REPEAT
 1508     %FINISH
 1509     TEMPS = I
				movl	-2256(%ebp), %eax
				movl	%esi, TEMPS.8431@GOTOFF(%eax)
 1510     SET ACC
				leal	-2164(%ebp), %ecx
				call	SETACC.9145
		.LVL841:
				jmp	.L846
		.LVL842:
		.L749:
 1511     ->SEND
 1512 
 1513 LOCC:
 1514     I = TAG1
 1515     GET EXP;  ASSEMBLE
				leal	-2164(%ebp), %esi
				movl	%esi, %ecx
				call	GETEXP.8992
		.LVL843:
				movl	%esi, %ecx
				call	ASSEMBLE.8622
		.LVL844:
 1516     %IF TYPE&16_FF80 = 0 %START
				testl	$65408, -2096(%ebp)
		
				jne	.L885
 1517        %IF I = 13556 %START;          !LOC
				cmpl	$13556, %ebx
				je	.L941
		.L886:
 1518           OUTPUT RECORD %IF BINCOUNT >= 203
				movl	-2256(%ebp), %eax
				cmpl	$202, BINCOUNT.8424@GOTOFF(%eax)
		
				jle	.L887
				call	OUTPUTRECORD.8553
		.LVL845:
		.L887:
 1519           PUT(3) %IF (LOCTYPE!!TYPE)&RELMASK # 0
				movl	-2092(%ebp), %eax
				xorl	-2096(%ebp), %eax
				testb	$32, %al
				je	.L888
				movl	$3, %eax
				call	PUT.8539
		.LVL846:
		.L888:
 1520           PUT(5);  PUT WORD(VAL)
				movl	$5, %eax
				call	PUT.8539
		.LVL847:
				movl	-2100(%ebp), %eax
				call	PUTWORD.8545
		.LVL848:
				jmp	.L886
		.L885:
 1521        %FINISH
 1522        LOCTYPE = TYPE&63+MEMMASK;  LOC = VAL
				movl	-2096(%ebp), %eax
				andl	$63, %eax
				addl	$64, %eax
				movl	%eax, -2092(%ebp)
				movl	-2100(%ebp), %eax
				movl	%eax, -2088(%ebp)
 1523     %finish %ELSE FAULT('I')
				jmp	.L846
		.L941:
				leal	-2164(%ebp), %ecx
				movl	$73, %eax
				call	FAULT.8478
		.LVL849:
				jmp	.L846
		.LVL850:
		.L753:
 1524     ->SEND
 1525 
 1526 SAVC:
 1527     GET EXP;  ASSEMBLE
				leal	-2164(%ebp), %ebx
				movl	%ebx, %ecx
				call	GETEXP.8992
		.LVL723:
				movl	%ebx, %ecx
				call	ASSEMBLE.8622
		.LVL724:
 1528     SAVE = VAL
				movl	-2100(%ebp), %eax
				movl	-2256(%ebp), %edx
				movl	%eax, SAVE.8430@GOTOFF(%edx)
 1529     ->SEND
				jmp	.L846
		.L934:
 1530 
 1531 MACDEF:
 1532     ->CERR %IF MP # 0
				movl	-2256(%ebp), %eax
				cmpl	$0, MP.8406@GOTOFF(%eax)
				jne	.L837
		.L889:
 1533     ->ERR %IF %NOT TAG
				leal	-2164(%ebp), %ecx
				call	TAG.8946
		.LVL851:
				testl	%eax, %eax
				je	.L813
		.L890:
 1534     J = TAG1;  K = TAG2
				movl	-2148(%ebp), %eax
				movl	%eax, -2252(%ebp)
		.LVL852:
				movl	-2152(%ebp), %esi
		.LVL853:
 1535     I = GETPOS-1
				movl	-2256(%ebp), %eax
		.LVL854:
				movl	GETPOS.8400@GOTOFF(%eax), %edi
				subl	$1, %edi
		.LVL855:
 1536     %IF SYM # NL %START
				cmpl	$10, -2160(%ebp)
				je	.L891
 1537        %CYCLE
 1538           ->ERR %IF %NOT TAG
				leal	-2164(%ebp), %ebx
		.LVL856:
		.L892:
		.L893:
				movl	%ebx, %ecx
				call	TAG.8946
		.LVL857:
				testl	%eax, %eax
				je	.L813
		.L894:
 1539           SCAN ARG
				movl	%ebx, %ecx
				call	SCANARG.9127
		.LVL858:
 1540           %EXIT %IF %NOT S(',')
				movl	%ebx, %ecx
				movl	$44, %eax
				call	S.8931
		.LVL859:
				testl	%eax, %eax
				jne	.L892
		.L895:
		.L896:
 1541        %REPEAT
 1542     %FINISH
 1543     ->ERR %IF SYM # NL
				cmpl	$10, -2160(%ebp)
				jne	.L813
		.L891:
 1544     TAG1 = J;  TAG2 = K
				movl	-2252(%ebp), %eax
				movl	%eax, -2148(%ebp)
				movl	%esi, -2152(%ebp)
 1545     TYPE = MACRO;  VAL = I
				movl	$40960, -2096(%ebp)
		
				movl	%edi, -2100(%ebp)
 1546     LOOKUP(3)
				leal	-2164(%ebp), %ecx
				movl	$3, %eax
				call	LOOKUP.8889
		.LVL860:
 1547     %CYCLE
 1548        PRINT LINE
				leal	-2164(%ebp), %ebx
		.LVL861:
		.L897:
				movl	%ebx, %ecx
				call	PRINTLINE.8511
		.LVL862:
 1549        %EXIT %IF S('$') %AND TAG %AND TAG1 = END
				movl	%ebx, %ecx
				movl	$36, %eax
				call	S.8931
		.LVL863:
				testl	%eax, %eax
				jne	.L898
				movl	%ebx, %ecx
				call	TAG.8946
		.LVL864:
				testl	%eax, %eax
				jne	.L898
				cmpl	$6009, -2148(%ebp)
		
				je	.L899
		.L898:
 1550        STARTPOS = PUTPOS
				movl	-2256(%ebp), %edi
				movl	PUTPOS.8401@GOTOFF(%edi), %eax
				movl	%eax, STARTPOS.8399@GOTOFF(%edi)
 1551        STARTPOS = PSEUDOLIM+1 %IF PSEUDOLIM # 0
				movl	PSEUDOLIM.8402@GOTOFF(%edi), %eax
				testl	%eax, %eax
				je	.L900
				addl	$1, %eax
				movl	%eax, STARTPOS.8399@GOTOFF(%edi)
		.L900:
 1552        READ LINE
				movl	%ebx, %ecx
				call	READLINE.9093
		.LVL865:
				jmp	.L897
		.L899:
 1553     %REPEAT
 1554     PUTPOS = STARTPOS;  PUT CHAR(0)
				movl	-2256(%ebp), %edi
				movl	STARTPOS.8399@GOTOFF(%edi), %eax
				movl	%eax, PUTPOS.8401@GOTOFF(%edi)
				movl	$0, %eax
				call	PUTCHAR.8471
		.LVL866:
 1555     STARTPOS = PUTPOS
				movl	PUTPOS.8401@GOTOFF(%edi), %eax
				movl	%eax, STARTPOS.8399@GOTOFF(%edi)
 1556     MACLIM = STARTPOS
				movl	%eax, MACLIM.8405@GOTOFF(%edi)
 1557     ->LEND
				jmp	.L858
		.LVL867:
		.L755:
 1558 
 1559 %ROUTINE BNEST
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
 1560 !!    BP = BP+4;  %MONITOR 23 %IF BP-NP >= 0
 1561     BP = BP+4;  !{}%signal 2,3 %IF BP-NP >= 0
				movl	BP.8416@GOTOFF(%ebx), %esi
				leal	4(%esi), %edi
				movl	%edi, BP.8416@GOTOFF(%ebx)
 1562 !!    INTEGER(BP-3) = SAVE;  INTEGER(BP-2) = TEMPS
 1563     set INTEGER(BP-3, SAVE);  set INTEGER(BP-2, TEMPS)
				movl	SAVE.8430@GOTOFF(%ebx), %edx
				leal	1(%esi), %eax
				call	SETINTEGER.8467
		.LVL104:
				movl	TEMPS.8431@GOTOFF(%ebx), %edx
				leal	2(%esi), %eax
				call	SETINTEGER.8467
		.LVL105:
 1564 !!    INTEGER(BP-1) = MACLIM;  INTEGER(BP) = DEFMIN
 1565     set INTEGER(BP-1, MACLIM);  set INTEGER(BP, DEFMIN)
				movl	MACLIM.8405@GOTOFF(%ebx), %edx
				leal	3(%esi), %eax
				call	SETINTEGER.8467
		.LVL106:
				movl	DEFMIN.8411@GOTOFF(%ebx), %edx
				movl	%edi, %eax
				call	SETINTEGER.8467
		.LVL107:
		.LDL11:
 1566 %END
 1567 
 1568 BEGIN:
				popl	%ebx
				popl	%esi
				popl	%edi
				ret
		.LFE250:
		DONEWLINE.8506:
		.LFB212:
 1569     BNEST
				call	BNEST.9349
		.LVL868:
 1570     ->NEWPAGE %IF SYM # NL
				cmpl	$10, -2160(%ebp)
				je	.L858
		.L731:
 1571     ->LEND
 1572 
 1573 BEND:
 1574     FAULT('C') %IF NP # STORELIM %OR MP # 0
				movl	-2256(%ebp), %eax
				movl	STORELIM.8418@GOTOFF(%eax), %ebx
				cmpl	%ebx, NP.8417@GOTOFF(%eax)
				jne	.L902
				cmpl	$0, MP.8406@GOTOFF(%eax)
				je	.L903
		.L902:
				leal	-2164(%ebp), %ecx
				movl	$67, %eax
				call	FAULT.8478
		.LVL871:
		.L903:
 1575     MP = 0;  NP = STORELIM
				movl	-2256(%ebp), %edi
				movl	$0, MP.8406@GOTOFF(%edi)
		
				movl	%ebx, NP.8417@GOTOFF(%edi)
 1576     %IF BP # LABLIM %START
				movl	BP.8416@GOTOFF(%edi), %eax
				cmpl	LABLIM.8415@GOTOFF(%edi), %eax
				je	.L905
 1577        SAVE = INTEGER(BP-3);  TEMPS = INTEGER(BP-2)
				subl	$3, %eax
				call	INTEGER.8454
		.LVL872:
				movl	%eax, SAVE.8430@GOTOFF(%edi)
				movl	BP.8416@GOTOFF(%edi), %eax
				subl	$2, %eax
				call	INTEGER.8454
		.LVL873:
				movl	%eax, TEMPS.8431@GOTOFF(%edi)
 1578        MACLIM = INTEGER(BP-1);  STARTPOS = MACLIM
				movl	BP.8416@GOTOFF(%edi), %eax
				subl	$1, %eax
				call	INTEGER.8454
		.LVL874:
				movl	%eax, MACLIM.8405@GOTOFF(%edi)
				movl	%eax, STARTPOS.8399@GOTOFF(%edi)
 1579        DEFMIN = INTEGER(BP)
				movl	BP.8416@GOTOFF(%edi), %eax
				call	INTEGER.8454
		.LVL875:
				movl	%eax, DEFMIN.8411@GOTOFF(%edi)
 1580        SET ACC
				leal	-2164(%ebp), %ecx
				call	SETACC.9145
		.LVL876:
 1581        BP = BP-4
				movl	BP.8416@GOTOFF(%edi), %eax
				subl	$4, %eax
				movl	%eax, BP.8416@GOTOFF(%edi)
 1582        ->LEND %IF BP # LABLIM
				cmpl	LABLIM.8415@GOTOFF(%edi), %eax
				jne	.L857
		.L904:
		.L905:
		.LBB225:
		.LBB226:
 1583     %FINISH
 1584     CLOSE INPUT;  SELECT INPUT(MAIN)
 1585     BNEST
				call	BNEST.9349
		.LVL879:
 1586     LIST = 5
				movl	$5, LIST.8427@GOTOFF(%edi)
		
 1587     PASS = PASS+1
				movl	PASS.8426@GOTOFF(%edi), %eax
				addl	$1, %eax
				movl	%eax, PASS.8426@GOTOFF(%edi)
 1588     ->DO PASS %IF PASS # 2
				cmpl	$2, %eax
				jne	.L725
		.L906:
 1589 
 1590     OUTPUT RECORD %IF BINCOUNT = 208
				movl	-2256(%ebp), %eax
				cmpl	$208, BINCOUNT.8424@GOTOFF(%eax)
		
				jne	.L907
				call	OUTPUTRECORD.8553
		.LVL880:
		.L907:
 1591     PUT(1)
				movl	$1, %eax
				call	PUT.8539
		.LVL881:
 1592     OUTPUT RECORD
				call	OUTPUTRECORD.8553
		.LVL882:
 1593     FAULT('$')
				leal	-2164(%ebp), %ebx
				movl	%ebx, %ecx
				movl	$36, %eax
				call	FAULT.8478
		.LVL883:
 1594     PRINT LOC;  PRINT LINE
				movl	%ebx, %ecx
				call	PRINTLOC.8500
		.LVL884:
				movl	%ebx, %ecx
				call	PRINTLINE.8511
		.LVL885:
 1595 
 1596 %ENDOFPROGRAM

 1517 Statements compiled
				movl	$0, %eax
				movl	-28(%ebp), %edi
				xorl	%gs:20, %edi
				je	.L909
				call	__stack_chk_fail_local
		.LVL886:
		.L791:
