         Edinburgh IMP77 Compiler - Version 8.4

    1 %BEGIN;                               !HAL-70
		.Ltext0:
				.section	.rodata.str1.4,"aMS",%progbits,1
				.align	2
		.LC6:
				.ascii	"regression-compile-tmp/hal70.imp\000"
		
		
		
		
				.align	2
		CHAR.6:
		.LVL0:
		.LFB201:
				@ args = 0, pretend = 0, frame = 1392
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
				sub	sp, sp, #1632
				sub	sp, sp, #12
				add	r3, sp, #1680
				str	r3, [sp, #356]
    2 !    INPUT/OUTPUT STREAMS
    3 %OWNINTEGER MAIN=1, PRE=2;            !INPUT
				bl	_imp_initialise
		.LVL649:
    4 %OWNINTEGER BIN=1, LIS=2;             !OUTPUT
    5 !    OPERAND TYPES
    6 %OWNINTEGER OPMASK=16_F000;           !MACHINE INSTRUCTION OR MACRO
				ldr	r6, .L962
				ldr	r7, .L962+4
				str	r7, [r6]
    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)
		.LVL650:
		.LBB165:
		.LBI165:
   71 !!    SBOUND = SBOUND-256 %IF OUTDEV = 2
   72 
				ldr	r8, .L962+8
				mov	r3, #70
				str	r3, [r8]
   73 !! Simulate 18-bit word-addressed PDP9/15 memory:
   74 
   75 %ownINTEGERARRAY STORE(1:SBOUND)
   76 
				str	r7, [r6]
   77 %integerfn integer(%integer p)
				@ args = 0, pretend = 0, frame = 512
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, lr}
				sub	sp, sp, #756
				mov	r4, r0
   78     %if p&1 # 0 %start
				tst	r0, #1
				bne	.L212
		.LDL31:
   79       printstring("Integer fetch was not aligned at "); write(p, -1); newline
				add	r7, sp, #240
				mov	r9, #256
				mov	r2, r9
				ldr	r1, .L213+16
				mov	r0, r7
		.LVL130:
				bl	memcpy
		.LVL131:
				add	r5, sp, #496
				mov	r2, r9
				mov	r1, r7
				mov	r0, r5
				bl	memcpy
		.LVL132:
		.LBB71:
		.LBI71:
				mvn	r1, #0
				mov	r0, r4
				bl	_imp_writeint
		.LVL135:
		.LBB73:
		.LBI73:
   80       %stop
				ldr	r3, .L213
				ldr	r2, .L213+4
				str	r2, [r3]
				ldr	r6, .L213+8
				mov	r8, #79
				str	r8, [r6]
				str	r8, [r6]
				ldr	r5, .L213
				ldr	r7, .L213+4
				str	r7, [r5]
				str	r8, [r6]
				str	r7, [r5]
				mov	r0, #0
				bl	exit
		.LVL137:
		.L214:
				.align	2
		.L213:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	STORE.133
				.word	.LANCHOR2
		.LFE200:
				.align	2
		SETLAB.10:
		.LVL138:
		.LFB220:
   81     %finish
				mov	r3, #80
				str	r3, [r6]
				str	r7, [r5]
   82     %result = store(P>>1)
				lsr	r4, r0, #1
				sub	r4, r4, #-1073741823
				ldr	r3, .L213+12
				ldr	r0, [r3, r4, lsl #2]
		.LVL128:
   83 %end
				ldr	r3, .L213+8
				mov	r2, #82
				str	r2, [r3]
   84 
				add	sp, sp, #756
				@ sp needed
				pop	{r4, r5, r6, r7, r8, r9, pc}
		.LVL129:
		.L212:
   85 %INTEGERFN CHAR(%INTEGER P)
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				@ link register save eliminated.
   86 !BYTE FETCH
   87 
   88     %integer val = store(p>>1)
				lsr	r3, r0, #1
				sub	r3, r3, #-1073741823
				ldr	r2, .L4+8
				ldr	r3, [r2, r3, lsl #2]
		.LVL1:
   89     %if p&1 = 0 %start
				tst	r0, #1
		.LDL1:
   90       %result = val&255
				ldr	r3, .L4
				ldr	r2, .L4+4
				str	r2, [r3]
				uxtbeq	r0, r3
   91     %else
				moveq	r2, #90
				ldr	r3, .L4+12
		.LVL3:
				str	r2, [r3]
   92       %result = (val>>8)&255
				lsrne	r0, r3, #8
		.LVL2:
				uxtbne	r0, r0
				movne	r2, #92
   93     %finish
   94     
   95 !!    %OPR 2064;!RCR;  %DAC P
   96 !!    %LAC* P;  %OPR 768;!SZL;  %JMP L1
   97 !!    %OPR 1040;!RTR;  %OPR 1040
   98 !!    %OPR 1040;  %OPR 1040
   99 !!L1: %AND #255;  %JMP* CHAR
  100 !!    %STOP
  101 
  102 %END
  103 
				bx	lr
		.L5:
				.align	2
		.L4:
				.word	_imp_current_file
				.word	.LC6
				.word	STORE.133
				.word	_imp_current_line
		.LFE201:
				.align	2
		SETINTEGER.8:
		.LVL4:
		.LFB202:
  104 %routine set integer(%integer p, k)
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				@ link register save eliminated.
  105     store(p>>1) = k
				lsr	r0, r0, #1
		.LVL5:
				sub	r0, r0, #-1073741823
				ldr	r3, .L7+8
				str	r1, [r3, r0, lsl #2]
				ldr	r3, .L7+12
				mov	r2, #106
				str	r2, [r3]
  106 %end
  107 
				ldr	r3, .L7
				ldr	r2, .L7+4
				str	r2, [r3]
  108 %ROUTINE PUT CHAR(%INTEGER K)
				bx	lr
		.L8:
				.align	2
		.L7:
				.word	_imp_current_file
				.word	.LC6
				.word	STORE.133
				.word	_imp_current_line
		.LFE202:
				.align	2
		PUTCHAR.37:
		.LVL6:
		.LFB203:
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				str	lr, [sp, #-4]!
  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)
				ldr	r3, .L13
				ldr	r3, [r3]
				lsr	r2, r3, #1
				sub	r2, r2, #-1073741823
				ldr	ip, .L13+4
				ldr	r1, [ip, r2, lsl #2]
		.LVL7:
  115     %if putpos&1 = 0 %start
				tst	r3, #1
		.LDL2:
  116       p = (p&16_FF00) ! (K&255)
				andeq	r1, r1, #65280
				uxtbeq	r0, r0
				orr	r0, r0, r1
		.LVL10:
  117     %else
		.L11:
  118       p = (p&16_00FF) ! ((K&255)<<8)
				uxtbne	r1, r1
		.LVL8:
				lslne	r0, r0, #8
		.LVL9:
				uxthne	r0, r0
  119     %finish
  120     store(putpos>>1) = p
				str	r0, [ip, r2, lsl #2]
  121 
				ldr	r1, .L13+8
				ldr	lr, .L13+12
				str	lr, [r1]
  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
				add	r3, r3, #1
				ldr	r2, .L13
				str	r3, [r2]
  131 %END
  132 
				ldr	r3, .L13+16
				mov	r2, #131
				str	r2, [r3]
  133 %ROUTINE FAULT(%INTEGER K)
				ldr	pc, [sp], #4
		.L14:
				.align	2
		.L13:
				.word	.LANCHOR0
				.word	STORE.133
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
		.LFE203:
				.align	2
		FAULT.45:
		.LVL11:
		.LFB204:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				@ link register save eliminated.
  134 !RECORD (FIRST) FAULT
  135 !NOT NECESSARILY CULPABLE IN PASS 0
  136     FSYM = K %IF FSYM = ' '
				ldr	r3, [ip, #80]
				cmp	r3, #32
				streq	r0, [ip, #80]
		.L16:
				ldr	r3, .L17+8
				mov	r2, #137
				str	r2, [r3]
  137 %END
  138 
				ldr	r3, .L17
				ldr	r2, .L17+4
				str	r2, [r3]
  139 %ROUTINE PRINT(%INTEGER K)
				bx	lr
		.L18:
				.align	2
		.L17:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
		.LFE204:
				.align	2
		PRINT.5:
		.LVL12:
		.LFB205:
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, lr}
				mov	r1, r0
  140 !!    INTEGER(CODEPOS+CHARS) = K
  141     set INTEGER(CODEPOS+CHARS, K)
				ldr	r5, .L21
				ldr	r4, [r5, #4]
				ldr	r0, [r5, #8]
		.LVL13:
				add	r0, r4, r0
				bl	SETINTEGER.8
		.LVL14:
				ldr	r3, .L21+4
				ldr	r2, .L21+8
				str	r2, [r3]
  142     CHARS = CHARS+1
				add	r4, r4, #1
				str	r4, [r5, #4]
  143 %END
  144 
				ldr	r3, .L21+12
				mov	r2, #143
				str	r2, [r3]
  145 %ROUTINE PRINT WORD(%INTEGER V)
				pop	{r4, r5, r6, pc}
		.L22:
				.align	2
		.L21:
				.word	.LANCHOR0
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
		.LFE205:
				.align	2
		PRINTHIT.4:
		.LVL15:
		.LFB207:
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, r0
  146     %ROUTINE PRINT HIT(%INTEGER V)
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, lr}
  147         V = V&15+'0';  V = V+7 %IF V > '9'
				and	r3, r0, #15
				add	r0, r3, #48
		.LVL16:
				cmp	r0, #57
				addgt	r0, r3, #55
		.LVL17:
		.L24:
				ldr	r4, .L26+8
				mov	r3, #148
				str	r3, [r4]
  148         PRINT(V)
				bl	PRINT.5
		.LVL18:
				ldr	r5, .L34
				ldr	r6, .L34+4
				str	r6, [r5]
  149     %END
				ldr	r3, .L26
				ldr	r2, .L26+4
				str	r2, [r3]
  150     %ROUTINE PRINT1(%INTEGER V)
				mov	r3, #149
				str	r3, [r4]
				ldr	r3, .L26
				ldr	r2, .L26+4
				str	r2, [r3]
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, r0
  151         PRINT HIT(V>>4);  PRINT HIT(V)
				pop	{r4, pc}
		.L27:
				.align	2
		.L26:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
		.LFE207:
				.align	2
		PRINT1.3:
		.LVL19:
		.LFB208:
				lsr	r0, r0, #4
		.LVL20:
				bl	PRINTHIT.4
		.LVL21:
				mov	r0, r4
				bl	PRINTHIT.4
		.LVL22:
				mov	r3, #152
				str	r3, [r7]
				str	r6, [r5]
  152     %END
				str	r8, [r7]
				str	r6, [r5]
  153     PRINT1(V>>8);  PRINT1(V)
				ldr	r7, .L30
				mov	r8, #151
				str	r8, [r7]
				ldr	r5, .L30+4
				ldr	r6, .L30+8
				str	r6, [r5]
				lsr	r0, r0, #8
		.LVL24:
				bl	PRINT1.3
		.LVL25:
				mov	r0, r4
				bl	PRINT1.3
		.LVL26:
  154 %END
				pop	{r4, r5, r6, r7, r8, pc}
		.L31:
				.align	2
		.L30:
				.word	_imp_current_line
				.word	_imp_current_file
				.word	.LC6
		.LFE208:
				.align	2
		PRINTWORD.2:
		.LVL23:
		.LFB206:
				str	r8, [r7]
				str	r6, [r5]
  155 
				mov	r3, #154
				str	r3, [r7]
				str	r6, [r5]
				pop	{r4, r5, r6, r7, r8, pc}
		.L35:
				.align	2
		.L34:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
		.LFE206:
				.align	2
		PRINTLOC.46:
		.LFB209:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, ip
  156 %ROUTINE PRINT LOC
				ldr	r7, .L34+8
				mov	r8, #153
				str	r8, [r7]
  157     PRINT WORD(LOC)
				ldr	r0, [ip, #76]
				bl	PRINTWORD.2
		.LVL27:
				mov	r3, #158
				str	r3, [r7]
				str	r6, [r5]
  158     %IF LOCTYPE&RELMASK # 0 %THEN PRINT('''') %ELSE PRINT(' ')
				ldr	r3, [r4, #72]
				tst	r3, #32
		.LDL3:
				moveq	r0, #32
				movne	r0, #39
				bl	PRINT.5
		.LVL28:
		.L38:
  159     PRINT(' ')
				ldr	r7, .L40
				mov	r3, #157
				str	r3, [r7]
				ldr	r5, .L40+4
				ldr	r6, .L40+8
				str	r6, [r5]
				mov	r0, #32
				bl	PRINT.5
		.LVL29:
  160 %END
				ldr	r6, .L40
				mov	r3, #159
				str	r3, [r6]
				ldr	r4, .L40+4
				ldr	r5, .L40+8
				str	r5, [r4]
  161 
				mov	r3, #160
				str	r3, [r6]
				str	r5, [r4]
  162 %ROUTINE DO NEWLINE
				pop	{r4, r5, r6, r7, r8, pc}
		.L41:
				.align	2
		.L40:
				.word	_imp_current_line
				.word	_imp_current_file
				.word	.LC6
		.LFE209:
				.align	2
		PUT.42:
		.LVL30:
		.LFB213:
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, lr}
  163     NEWLINE;  LINES = LINES+1
		.LBB67:
		.LBI67:
				ldr	r2, .L205+12
				ldr	r3, [r2, #256]
				add	r3, r3, #1
				str	r3, [r2, #256]
  164     NEWLINES(2) %AND LINES = 0 %IF LINES = 61
				str	r6, [r5]
				cmp	r3, #61
				beq	.L204
		.L202:
		.LVL125:
		.LBB69:
		.LBI69:
				ldr	r3, .L205+12
				mov	r2, #0
				str	r2, [r3, #256]
				b	.L202
		.L206:
				.align	2
		.L205:
				.word	_imp_current_line
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
		.LFE210:
				.align	2
		INTEGER.39:
		.LVL127:
		.LFB200:
  165 %END
				ldr	r4, .L205
				mov	r3, #163
				str	r3, [r4]
				ldr	r5, .L205+4
				ldr	r6, .L205+8
				str	r6, [r5]
				mov	r2, #164
				str	r2, [r4]
  166 
				ldr	r3, .L205
				mov	r2, #165
				str	r2, [r3]
				ldr	r3, .L205+4
				ldr	r2, .L205+8
				str	r2, [r3]
  167 %ROUTINE PRINT LINE
				pop	{r4, r5, r6, pc}
		.L204:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 8
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, lr}
				sub	sp, sp, #12
				add	r3, sp, #32
				str	r3, [sp, #4]
				str	ip, [sp]
  168    %ROUTINE PRINTIT(%INTEGER SUB)
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
				mov	r10, r0
				mov	r4, ip
  169    %OWNINTEGER MARKER=124;            !VERTICAL BAR
  170    %INTEGER P,Q,K
				ldr	r3, .L492
				ldr	r2, .L492+4
				str	r2, [r3]
  171        %RETURN %IF CHARS = 0 %AND CHAR(PRINTPOS) = NL
				ldr	r3, .L466
				ldr	r2, .L466+4
				str	r2, [r3]
				ldr	r3, .L466+12
				ldr	r3, [r3, #4]
				cmp	r3, #0
				beq	.L464
		.LVL307:
		.L453:
				ldr	r3, .L466+12
				ldr	r0, [r3, #284]
		.LVL322:
				bl	CHAR.6
		.LVL323:
				cmp	r0, #10
				popeq	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
				b	.L453
		.LVL324:
		.L465:
  172        PRINT SYMBOL(FSYM);  SPACE
				ldr	r3, .L466+8
				mov	r2, #171
				str	r2, [r3]
		.LVL308:
		.LBB87:
		.LBI87:
				ldr	r3, [r4]
		.LBB90:
		.LBB89:
		.LBB91:
		.LBI91:
  173        P = CODEPOS;  Q = P+CHARS
				ldr	r6, .L466+8
				mov	r8, #172
				str	r8, [r6]
				ldr	r5, .L466
				ldr	r7, .L466+4
				str	r7, [r5]
				str	r8, [r6]
				str	r7, [r5]
				ldr	r3, .L466+12
				ldr	r4, [r3, #8]
		.LVL311:
				ldr	r5, [r3, #4]
				add	r5, r4, r5
		.LVL312:
  174        PRINT SYMBOL(INTEGER(P)) %AND P=P+1 %WHILE P # Q
				str	r7, [r5]
				cmp	r4, r5
				beq	.L457
		.L455:
				mov	r0, r4
				bl	INTEGER.39
		.LVL313:
		.LBB93:
		.LBI93:
				add	r4, r4, #1
		.LVL315:
		.LDL99:
				cmp	r5, r4
				bne	.L455
		.L457:
		.LDL100:
  175        %RETURN %IF PRINTPOS = 0
				mov	r3, #174
				str	r3, [r6]
				ldr	r3, .L466+12
				ldr	r3, [r3, #284]
				cmp	r3, #0
				popeq	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.LDL101:
  176        SPACES(17-CHARS)
				ldr	r3, .L466+8
				mov	r2, #175
				str	r2, [r3]
				ldr	r3, .L466
				ldr	r2, .L466+4
				str	r2, [r3]
		.LVL316:
		.LBB95:
		.LBI95:
				ldr	r4, .L466+12
		.LVL317:
				ldr	r0, [r4, #4]
		.LBB98:
		.LBB97:
  177        P = PRINTPOS;  Q = 0
				ldr	r3, .L466+8
				mov	r2, #176
				str	r2, [r3]
				ldr	r5, [r4, #284]
		.LVL320:
				mov	r9, #0
  178        %CYCLE
  179           PRINT SYMBOL(MARKER) %IF P = FAULTPOS
				ldr	fp, .L466+12
				b	.L458
		.LVL321:
		.L464:
		.LBB99:
		.LBI99:
				ldr	r3, [fp, #292]
				cmp	r3, r5
				beq	.L465
		.L459:
  180           K = CHAR(P);  K = SUB %IF P = PSEUDOLIM
				ldr	r4, .L466+8
				ldr	r8, .L466
				ldr	r7, .L466+4
				mov	r3, #179
				str	r3, [r4]
				str	r7, [r8]
				mov	r0, r5
				bl	CHAR.6
		.LVL331:
				ldr	r3, [fp, #280]
				cmp	r3, r5
				movne	r6, r0
				moveq	r6, r10
		.L460:
		.LVL332:
  181           PRINT SYMBOL('''') %IF (K!!Q)&128 # 0
				mov	r3, #180
				str	r3, [r4]
				str	r7, [r8]
				str	r7, [r8]
				eor	r9, r9, r6
		.LVL333:
				tst	r9, #128
				beq	.L461
		.LVL334:
		.LBB103:
		.LBI103:
  182           %RETURN %IF K = NL
				cmp	r6, #10
				popeq	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.LDL102:
				mov	r3, #181
				str	r3, [r4]
  183           PRINT SYMBOL(K&127)
				mov	r3, #182
				str	r3, [r4]
				str	r7, [r8]
		.LVL327:
		.LBB101:
		.LBI101:
  184           P = P+1;  Q = K
				mov	r3, #183
				str	r3, [r4]
				add	r5, r5, #1
		.LVL329:
				mov	r9, r6
		.LVL330:
		.L458:
  185        %REPEAT
  186    %END
  187     %RETURN %IF PASS = 0
				ldr	r3, .L492+12
				ldr	r3, [r3, #8]
				cmp	r3, #0
				bne	.L489
		.L480:
		.LDL109:
  188     %UNLESS LIST < 0 %OR (PRINTPOS=0 %AND FSYM=' ' %AND LIST&1=0) %START
				ldr	r3, .L492+12
				ldr	r3, [r3, #16]
				cmp	r3, #0
				blt	.L482
				ldr	r2, [ip, #80]
				cmp	r2, #32
				bne	.L483
				and	r3, r3, #1
				ldr	r2, .L492+16
				ldr	r2, [r2, #284]
				orrs	r3, r3, r2
				beq	.L482
		.L483:
  189        NEWLINES(3) %IF LINES = 0
				ldr	r3, .L492+16
				ldr	r3, [r3, #256]
				cmp	r3, #0
				beq	.L490
		.L484:
		.LVL361:
		.LBB143:
		.LBI143:
		.LBB144:
				mov	r0, #3
				bl	_imp_newlines
		.LVL362:
				b	.L484
		.L491:
		.LBE144:
		.LBE143:
  190        PRINTIT(' ')
				ldr	r3, .L492+8
				mov	r2, #187
				str	r2, [r3]
				ldr	r3, .L492+8
				mov	r2, #189
				str	r2, [r3]
				mov	ip, sp
				mov	r0, #32
				bl	PRINTIT.48
		.LVL352:
  191        DO NEWLINE
				ldr	r7, .L492+8
				mov	r3, #190
				str	r3, [r7]
				ldr	r5, .L492
				ldr	r6, .L492+4
				str	r6, [r5]
				bl	DONEWLINE.15
		.LVL353:
  192     %FINISH
				mov	r3, #191
				str	r3, [r7]
				str	r6, [r5]
  193     %IF FSYM # ' ' %AND OUTDEV # 1 %START
		.L482:
				ldr	r3, [r4, #80]
				cmp	r3, #32
				beq	.L485
		.LBB135:
		.LBI135:
				ldr	r3, [r3]
				cmp	r3, #1
				beq	.L485
  194        SELECT OUTPUT(0)
				ldr	r3, .L492+8
				mov	r2, #193
				str	r2, [r3]
				ldr	r3, .L492
				ldr	r2, .L492+4
				str	r2, [r3]
		.LVL355:
		.LBB137:
		.LBI137:
  195        PRINTPOS = STARTPOS %IF PRINTPOS = 0
				ldr	r3, .L492+8
				mov	r2, #194
				str	r2, [r3]
				ldr	r5, .L492
				ldr	r6, .L492+4
				str	r6, [r5]
				ldr	r3, .L492+16
				ldr	r3, [r3, #284]
				cmp	r3, #0
				ldreq	r3, .L492+16
				ldreq	r2, [r3, #276]
				streq	r2, [r3, #284]
		.L486:
  196        PRINT LOC %IF CHARS = 0
				str	r6, [r5]
				ldr	r3, .L492+16
				ldr	r3, [r3, #4]
				cmp	r3, #0
				beq	.L491
		.L487:
				mov	ip, r4
				bl	PRINTLOC.46
		.LVL363:
				b	.L487
		.L493:
				.align	2
		.L492:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	.LANCHOR1
				.word	.LANCHOR0
				.word	.LANCHOR2+296
				.word	_imp_OutStream
				.word	_imp_outfile
				.word	_imp_OUTFILE
				.word	.LANCHOR2+276
		.LFE211:
				.align	2
		PLANTVAL.1:
		.LFB218:
  197        PRINTIT(NL)
				ldr	r3, .L492+8
				mov	r2, #196
				str	r2, [r3]
				mov	ip, sp
				mov	r0, #10
				bl	PRINTIT.48
		.LVL357:
  198        NEWLINE
				ldr	r7, .L492+8
				mov	r3, #197
				str	r3, [r7]
				ldr	r5, .L492
				ldr	r6, .L492+4
				str	r6, [r5]
		.LBB139:
		.LBI139:
  199        SELECT OUTPUT(LIS)
				mov	r3, #198
				str	r3, [r7]
				str	r6, [r5]
		.LVL359:
		.LBB141:
		.LBI141:
  200     %FINISH
				mov	r3, #199
				str	r3, [r7]
				str	r6, [r5]
  201     FSYM = ' ';  PRINTPOS = 0;  CHARS = 0
		.L485:
				mov	r3, #32
				str	r3, [r4, #80]
				ldr	r3, .L492+16
				mov	r2, #0
				str	r2, [r3, #284]
				str	r2, [r3, #4]
  202 %END
				ldr	r3, .L492
				ldr	r2, .L492+4
				str	r2, [r3]
				b	.L480
		.L490:
  203 
				ldr	r3, .L492+8
				mov	r2, #202
				str	r2, [r3]
  204 %ROUTINE PUT(%INTEGER V)
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				@ link register save eliminated.
				add	sp, sp, #12
				@ sp needed
				pop	{r4, r5, r6, r7, pc}
		.L489:
				mov	r4, ip
  205 !STORE 4-BIT ITEM IN BINARY RECORD
  206 %OWNINTEGER HOLD=0
  207     V = V&15
		.LVL31:
				and	r0, r0, #15
		.LVL32:
  208     HOLD = HOLD<<4+V
				ldr	r3, .L44
				ldr	r2, .L44+4
				str	r2, [r3]
				ldr	r2, .L44+8
				ldr	r3, [r2, #12]
				add	r0, r0, r3, lsl #4
		.LVL33:
				str	r0, [r2, #12]
  209     BINCOUNT = BINCOUNT+1
				ldr	r3, [r2, #16]
				add	r3, r3, #1
				str	r3, [r2, #16]
  210     %IF BINCOUNT&3 = 0 %START
				tst	r3, #3
				bne	.L43
  211        BREC(BINCOUNT>>2) = HOLD
				bic	r3, r3, #3
				add	r3, r2, r3
				str	r0, [r3, #16]
  212        CHECK = CHECK!!HOLD
				ldr	r3, [r2, #228]
				eor	r3, r3, r0
				str	r3, [r2, #228]
  213        HOLD = 0
				mov	r3, #0
				str	r3, [r2, #12]
  214     %FINISH
  215 %END
		.L43:
  216 
				ldr	r3, .L44+12
				mov	r2, #215
				str	r2, [r3]
  217 %ROUTINE PUT WORD(%INTEGER V)
				bx	lr
		.L45:
				.align	2
		.L44:
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
				.word	_imp_current_line
		.LFE213:
				.align	2
		PUT1.30:
		.LVL34:
		.LFB215:
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, r0
  218     %ROUTINE PUT1(%INTEGER V)
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, r0
  219         PUT(V>>4);  PUT(V)
				lsr	r0, r0, #4
		.LVL35:
				bl	PUT.42
		.LVL36:
				mov	r0, r4
				bl	PUT.42
		.LVL37:
				mov	r3, #220
				str	r3, [r7]
				str	r6, [r5]
  220     %END
				str	r8, [r7]
				str	r6, [r5]
				ldr	r5, .L52
				ldr	r6, .L52+4
				str	r6, [r5]
  221     PUT1(V>>8);  PUT1(V)
				ldr	r7, .L48
				mov	r8, #219
				str	r8, [r7]
				ldr	r5, .L48+4
				ldr	r6, .L48+8
				str	r6, [r5]
				lsr	r0, r0, #8
		.LVL39:
				bl	PUT1.30
		.LVL40:
				mov	r0, r4
				bl	PUT1.30
		.LVL41:
  222 %END
				pop	{r4, r5, r6, r7, r8, pc}
		.L49:
				.align	2
		.L48:
				.word	_imp_current_line
				.word	_imp_current_file
				.word	.LC6
		.LFE215:
				.align	2
		PUTWORD.29:
		.LVL38:
		.LFB214:
				str	r8, [r7]
				str	r6, [r5]
  223 
				mov	r3, #222
				str	r3, [r7]
				str	r6, [r5]
				pop	{r4, r5, r6, r7, r8, pc}
		.L53:
				.align	2
		.L52:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
		.LFE214:
				.align	2
		NEST.0:
		.LVL42:
		.LFB219:
  224 %ROUTINE OUTPUT RECORD
				ldr	r7, .L52+8
				mov	r8, #221
				str	r8, [r7]
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, lr}
  225 %OWNINTEGER SEQ=0
  226 %INTEGER I
  227     %ROUTINE OUTPUT WORD(%INTEGER W)
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, r0
				ldr	r3, .L478
				ldr	r2, .L478+4
				str	r2, [r3]
  228         PRINT CH(W>>8&255);  PRINT CH(W&255)
		.LVL301:
		.LBB81:
		.LBI81:
				lsr	r0, r0, #8
		.LVL302:
		.LBB84:
		.LBB83:
		.LVL304:
		.LBB85:
		.LBI85:
  229     %END
				str	r8, [r7]
				str	r6, [r5]
  230     PUT(0) %WHILE BINCOUNT # 208
				ldr	r7, .L450
				mov	r8, #228
				str	r8, [r7]
				ldr	r5, .L450+4
				ldr	r6, .L450+8
				str	r6, [r5]
				mov	r3, #229
				str	r3, [r7]
				str	r6, [r5]
				ldr	r3, .L478+12
				ldr	r3, [r3, #16]
				cmp	r3, #208
				beq	.L471
				mov	r5, #0
				ldr	r4, .L478+12
		.L469:
				mov	r0, r5
				bl	PUT.42
		.LVL336:
		.LDL103:
				ldr	r3, [r4, #16]
				cmp	r3, #208
				bne	.L469
		.L471:
		.LDL104:
  231     SELECT OUTPUT(BIN)
				pop	{r4, r5, r6, r7, r8, pc}
		.L451:
				.align	2
		.L450:
				.word	_imp_current_line
				.word	_imp_current_file
				.word	.LC6
		.LFE217:
				.align	2
		PRINTIT.48:
		.LVL306:
		.LFB212:
		.LVL337:
		.LBB113:
		.LBI113:
  232     %CYCLE I = 1,1,10
				ldr	r3, .L478+8
				mov	r2, #231
				str	r2, [r3]
				ldr	r3, .L478
				ldr	r2, .L478+4
				str	r2, [r3]
  233        PRINT CH(0);                   !RUNOUT
				ldr	r3, .L478+8
				mov	r2, #230
				str	r2, [r3]
		.LVL340:
		.LBB120:
		.LBI117:
  234     %REPEAT
  235     PRINT CH(16_F0);                  !HEADER CODE
		.LBB116:
		.LBB115:
				subs	r4, r4, #1
		.LVL342:
				bne	.L470
		.LDL106:
		.LVL344:
		.LBB121:
		.LBI121:
  236     SEQ = SEQ-1
				ldr	r7, .L478+8
				mov	r3, #235
				str	r3, [r7]
				ldr	r4, .L478
		.LVL343:
				ldr	r6, .L478+4
				str	r6, [r4]
				ldr	r5, .L478+12
				ldr	r0, [r5, #296]
				sub	r0, r0, #1
				str	r0, [r5, #296]
  237     OUTPUT WORD(SEQ);                 !SEQUENCE NUMBER
				str	r6, [r4]
				bl	OUTPUTWORD.44
		.LVL346:
  238     OUTPUT WORD(\(CHECK!!SEQ));       !CHECKSUM
				ldr	r9, .L478+8
				mov	r8, #233
				ldr	r7, .L478
				ldr	r6, .L478+4
		.LBB117:
		.LBB118:
				str	r8, [r9]
				str	r6, [r7]
				mov	r3, #237
				str	r3, [r7]
				ldr	r0, [r5, #228]
				ldr	r3, [r5, #296]
				eor	r0, r0, r3
				mvn	r0, r0
				bl	OUTPUTWORD.44
		.LVL347:
  239     %CYCLE I = 1,1,52
				mov	r3, #238
				str	r3, [r7]
				str	r6, [r4]
  240        OUTPUT WORD(BREC(I))
				ldr	r0, [r4, #4]!
				bl	OUTPUTWORD.44
		.LVL349:
  241     %REPEAT
  242     BINCOUNT = 0;  CHECK = 0
				add	r4, r5, #16
				add	r5, r5, #224
				cmp	r4, r5
				bne	.L472
		.LDL108:
				ldr	r3, .L478+12
				mov	r2, #0
				str	r2, [r3, #16]
				str	r2, [r3, #228]
  243     SELECT OUTPUT(LIS)
				ldr	r4, .L478
				ldr	r5, .L478+4
				str	r5, [r4]
		.LVL350:
		.LBB123:
		.LBI123:
  244 %END
				ldr	r6, .L478+8
				mov	r3, #243
				str	r3, [r6]
  245 
				mov	r9, r7
				mov	r8, #240
				ldr	r7, .L478
		.LVL348:
		.L472:
		.LDL107:
				str	r8, [r9]
				str	r6, [r7]
				mov	r3, #244
				str	r3, [r6]
				str	r5, [r4]
  246 %ROUTINE PLANT VAL
				pop	{r4, r5, r6, r7, r8, r9, r10, pc}
		.L479:
				.align	2
		.L478:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	.LANCHOR0
				.word	_imp_OutStream
				.word	_imp_outfile
				.word	_imp_OUTFILE
				.word	.LANCHOR2+276
		.LFE216:
				.align	2
		PRINTLINE.47:
		.LFB211:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, lr}
				mov	r4, ip
  247 %INTEGER I,J
  248     TYPE = 0 %IF TYPE = SINGLE
				ldr	r3, [ip, #68]
				cmp	r3, #20480
				moveq	r3, #0
				streq	r3, [ip, #68]
  249     I = 2;  I = 4 %IF TYPE&OPMASK # 0
				ldr	r3, .L516
				ldr	r2, .L516+4
				str	r2, [r3]
		.LVL364:
				moveq	r5, #2
				beq	.L496
		.LVL365:
		.L495:
				tst	r3, #61440
				moveq	r5, #2
				movne	r5, #4
		.L496:
		.LVL366:
  250     %IF PASS > 0 %START
				ldr	r3, .L516+8
				ldr	r3, [r3, #8]
				cmp	r3, #0
				ble	.L497
  251        OUTPUT RECORD %IF BINCOUNT+I+I >= 208
				ldr	r3, .L516+16
				ldr	r3, [r3, #16]
				add	r3, r3, r5, lsl #1
				cmp	r3, #207
				bgt	.L513
		.L498:
				bl	OUTPUTRECORD.43
		.LVL368:
				b	.L498
		.L499:
  252        %IF I = 4 %START
				ldr	r3, .L516+12
				mov	r2, #251
				str	r2, [r3]
				cmp	r5, #4
				beq	.L499
		.LDL110:
  253           %IF TYPE&16_4000 = 0 %START
				ldr	r3, .L516
				ldr	r2, .L516+4
				str	r2, [r3]
				ldr	r3, [r4, #68]
				tst	r3, #16384
				beq	.L502
		.LDL111:
  254              PUT(11);  J = TYPE!!OPMASK
				mov	r0, #11
				bl	PUT.42
		.LVL378:
				ldr	r9, [r4, #68]
				eor	r9, r9, #61440
		.LVL379:
  255              TYPE = RELMASK
				str	r3, [r4, #68]
				ldr	r3, .L516+12
				mov	r2, #254
				str	r2, [r3]
  256           %finish %ELSE %START
				mov	r3, #32
				b	.L503
		.L514:
  257              PUT(10);  J = TYPE;  TYPE = 0
				mov	r0, #10
				bl	PUT.42
		.LVL369:
				ldr	r9, [r4, #68]
		.LVL370:
				mov	r3, #0
		.L503:
  258           %FINISH
				ldr	r3, .L516+12
				ldr	r2, .L516+20
				str	r2, [r3]
  259           PUT WORD(J)
				mov	r0, r9
				bl	PUTWORD.29
		.LVL371:
  260           PRINT LINE %IF CHARS # 0
				ldr	r8, .L516+12
				ldr	r3, .L516+24
				str	r3, [r8]
				ldr	r6, .L516
				ldr	r7, .L516+4
				str	r7, [r6]
				ldr	r3, .L516+16
				ldr	r3, [r3, #4]
				cmp	r3, #0
				bne	.L514
		.L504:
				mov	ip, r4
				bl	PRINTLINE.47
		.LVL380:
				b	.L504
		.LVL381:
		.L500:
  261           PRINT LOC
				mov	r3, #260
				str	r3, [r8]
				str	r7, [r6]
				mov	ip, r4
				bl	PRINTLOC.46
		.LVL372:
  262           PRINT WORD(J);  PRINT(' ')
				ldr	r8, .L516+12
				ldr	r3, .L516+28
				str	r3, [r8]
				ldr	r6, .L516
				ldr	r7, .L516+4
				str	r7, [r6]
				mov	r0, r9
				bl	PRINTWORD.2
		.LVL373:
				mov	r0, #32
				bl	PRINT.5
		.LVL374:
  263        %finish %ELSE %START
				ldr	r10, .L516+32
				str	r10, [r8]
				str	r7, [r6]
				str	r10, [r8]
				str	r7, [r6]
		.L505:
  264           %IF TYPE&RELMASK # 0 %THEN PUT(9) %ELSE PUT(8)
				ldr	r3, [r4, #68]
				tst	r3, #32
				beq	.L500
				mov	r0, #9
				bl	PUT.42
		.LVL367:
				b	.L506
		.L513:
		.LDL112:
				mov	r0, #8
				bl	PUT.42
		.LVL382:
		.L506:
  265           %IF CHARS # 0 %THEN PRINT(' ') %ELSE PRINT LOC
				ldr	r3, .L516+12
				mov	r2, #264
				str	r2, [r3]
				ldr	r3, .L516+16
				ldr	r3, [r3, #4]
				cmp	r3, #0
				bne	.L507
		.LDL113:
				mov	ip, r4
				bl	PRINTLOC.46
		.LVL383:
				b	.L505
		.L507:
				mov	r0, #32
				bl	PRINT.5
		.LVL384:
				b	.L505
		.L515:
  266        %FINISH
				ldr	r3, .L516+12
				ldr	r2, .L516+44
				str	r2, [r3]
				ldr	r3, .L516
				ldr	r2, .L516+4
				str	r2, [r3]
  267        PUT WORD(VAL);  PRINT WORD(VAL)
				ldr	r0, [r4, #64]
				bl	PUTWORD.29
		.LVL375:
				ldr	r0, [r4, #64]
				bl	PRINTWORD.2
		.LVL376:
  268        PRINT('''') %IF TYPE&RELMASK # 0
				ldr	r8, .L516+12
				ldr	r9, .L516+36
				str	r9, [r8]
				ldr	r6, .L516
				ldr	r7, .L516+4
				str	r7, [r6]
				str	r9, [r8]
				str	r7, [r6]
				ldr	r3, [r4, #68]
				tst	r3, #32
				bne	.L515
		.L508:
				mov	r0, #39
				bl	PRINT.5
		.LVL385:
				b	.L508
		.L517:
				.align	2
		.L516:
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR1
				.word	_imp_current_line
				.word	.LANCHOR0
				.word	257
				.word	259
				.word	261
				.word	262
				.word	267
				.word	269
				.word	265
		.LFE218:
				.align	2
		PLANTJUMP.28:
		.LFB223:
  269        PRINT LINE %IF TYPE&RELMASK#0 %OR CHARS=15
				mov	r3, #268
				str	r3, [r8]
				str	r7, [r6]
				ldr	r3, [r4, #68]
				tst	r3, #32
				bne	.L509
				ldr	r3, .L516+16
				ldr	r3, [r3, #4]
				cmp	r3, #15
				bne	.L497
		.L509:
				mov	ip, r4
				bl	PRINTLINE.47
		.LVL377:
		.L497:
  270     %FINISH
				ldr	r3, .L516+12
				ldr	r2, .L516+40
				str	r2, [r3]
				ldr	r3, .L516
				ldr	r2, .L516+4
				str	r2, [r3]
  271     LOC = LOC+I
				ldr	r3, [r4, #76]
				add	r3, r3, r5
				str	r3, [r4, #76]
  272 %END
				ldr	r3, .L516
				ldr	r2, .L516+4
				str	r2, [r3]
  273 
				ldr	r3, .L516+12
				mov	r2, #272
				str	r2, [r3]
  274 %ROUTINE NEST(%INTEGER K)
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, lr}
				mov	r1, r0
				pop	{r4, r5, r6, r7, r8, r9, r10, pc}
		.L502:
  275 !!    NP = NP-1;  %MONITOR 23 %IF NP = BP
  276     NP = NP-1;  !{}%signal 2,3 %IF NP = BP
				ldr	r2, .L56
				ldr	r3, [r2, #232]
				sub	r0, r3, #1
		.LVL43:
				str	r0, [r2, #232]
  277 !!    INTEGER(NP) = K
  278     set INTEGER(NP, K)
				bl	SETINTEGER.8
		.LVL44:
  279 %END
  280 
				ldr	r3, .L56+4
				ldr	r2, .L56+8
				str	r2, [r3]
				ldr	r3, .L56+12
				ldr	r2, .L56+16
				str	r2, [r3]
  281 %ROUTINE SET LAB(%INTEGER DEST)
				pop	{r4, pc}
		.L57:
				.align	2
		.L56:
				.word	.LANCHOR0
				.word	_imp_current_line
				.word	279
				.word	_imp_current_file
				.word	.LC6
		.LFE219:
				.align	2
		FORMINST.21:
		.LVL45:
		.LFB222:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 8
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
				sub	sp, sp, #12
				str	r0, [sp, #4]
				mov	r4, ip
  282 %INTEGER D
  283     D = DEST
		.LVL139:
				mov	r9, r0
  284     %CYCLE
  285        TYPE = INTEGER(NP)&16_FFF+DEFLIM; !DEST SLOT
				ldr	r5, .L227+16
				b	.L216
		.LVL140:
		.L223:
				ldr	r0, [r5, #232]
				bl	INTEGER.39
		.LVL142:
				lsl	r0, r0, #20
				lsr	r0, r0, #20
				ldr	r3, [r5, #260]
				add	r0, r0, r3
				str	r0, [r4, #68]
  286        NP = NP+1
				ldr	r8, .L227
				ldr	fp, .L227+4
				ldr	r7, .L227+8
				ldr	r6, .L227+12
				str	fp, [r8]
				str	r6, [r7]
				ldr	r0, [r5, #232]
				add	r0, r0, #1
				str	r0, [r5, #232]
  287        VAL = INTEGER(NP);             !LOC OF JUMP
				str	r6, [r7]
				bl	INTEGER.39
		.LVL143:
  288        NP = NP+1
				ldr	r3, .L227+20
				str	r3, [r8]
				ldr	r3, [r5, #232]
				add	r3, r3, #1
				str	r3, [r5, #232]
  289        ATYPE = -1;  CREG = -1
				str	r6, [r7]
				mvn	r3, #0
				str	r3, [r4, #60]
				str	r3, [r4, #56]
  290        FLAG = 0;  FLAG = 2 %IF (D-VAL)>>1+PASS <= 16
				ldr	r3, .L227+24
				ldr	r2, [r3, #8]
				sub	r3, r9, r0
				add	r3, r2, r3, asr #1
				cmp	r3, #16
				movgt	r3, #0
				movle	r3, #1
				lsl	r3, r3, #1
		.LDL33:
				str	r3, [r4, #52]
  291        VAL = VAL-FLAG
				sub	r0, r0, r3
				str	r0, [r4, #64]
  292        %IF PASS = 0 %START
				cmp	r2, #0
				beq	.L217
		.LDL34:
  293 !!          D = D-FLAG;  INTEGER(TYPE) = D
  294           D = D-FLAG;  set INTEGER(TYPE, D)
				sub	r9, r9, r3
		.LVL146:
				mov	r1, r9
				ldr	r0, [r4, #68]
				bl	SETINTEGER.8
		.LVL147:
  295           %IF FLAG # 0 %START
				ldr	r3, [r4, #52]
				cmp	r3, #0
				bne	.L226
		.L218:
		.LDL35:
  296              LOC = LOC-2;  DEST = DEST-2
				ldr	r3, .L227+32
				str	r3, [r8]
				str	r6, [r7]
				ldr	r3, [r4, #76]
				sub	r3, r3, #2
				str	r3, [r4, #76]
				ldr	r3, [sp, #4]
				sub	r3, r3, #2
				str	r3, [sp, #4]
		.LVL152:
  297              %WHILE TYPE # ALMAX %CYCLE
				ldr	r0, [r4, #68]
				ldr	r3, [r5, #264]
		.LVL153:
				cmp	r3, r0
				beq	.L218
				ldr	r0, [r4, #68]
				ldr	r3, [r5, #264]
				cmp	r3, r0
				bne	.L220
				b	.L218
		.L215:
  298 !!                TYPE = TYPE+1;  INTEGER(TYPE) = INTEGER(TYPE)-2
  299                 TYPE = TYPE+1;  set INTEGER(TYPE,  INTEGER(TYPE)-2)
				add	r0, r0, #1
				str	r0, [r4, #68]
				bl	INTEGER.39
		.LVL154:
				sub	r1, r0, #2
				ldr	r0, [r4, #68]
				bl	SETINTEGER.8
		.LVL155:
  300              %REPEAT
				ldr	r10, .L227+44
		.L220:
				str	r10, [r8]
				str	r6, [r7]
		.LDL37:
  301           %FINISH
				str	r6, [r7]
  302        %finish %ELSE %START
  303           FAULT('P') %IF INTEGER(TYPE) # D
				ldr	r0, [r4, #68]
				bl	INTEGER.39
		.LVL144:
				cmp	r0, r9
				beq	.L218
				mov	ip, r4
				mov	r0, #80
				bl	FAULT.45
		.LVL145:
				b	.L218
		.L217:
  304        %FINISH
				ldr	r3, .L227+28
				str	r3, [r8]
  305        %RETURN %UNLESS INTEGER(NP)&16_1000 # 0
				ldr	r0, [r5, #232]
				bl	INTEGER.39
		.LVL148:
				tst	r0, #4096
				beq	.L215
		.LDL36:
  306        %IF INTEGER(NP)&16_2000 # 0 %START; !OR
				ldr	r3, .L227+36
				str	r3, [r8]
				str	r6, [r7]
				ldr	r0, [r5, #232]
				bl	INTEGER.39
		.LVL149:
				tst	r0, #8192
				beq	.L223
  307           D = VAL+4 %IF D = DEST
				ldr	r3, .L227+40
				str	r3, [r8]
				str	r6, [r7]
				ldr	r3, [sp, #4]
				cmp	r3, r9
				ldreq	r9, [r4, #64]
		.LVL150:
				addeq	r9, r9, #4
		.LVL151:
				b	.L216
		.L226:
  308        %finish %ELSE %START
  309           D = DEST
				ldr	r9, [sp, #4]
		.LVL141:
		.L216:
		.LDL32:
  310        %FINISH
  311     %REPEAT
  312 %END
  313 
  314 %ROUTINE ASSEMBLE
				add	sp, sp, #12
				@ sp needed
				pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.LVL156:
		.L228:
				.align	2
		.L227:
				.word	_imp_current_line
				.word	285
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
				.word	287
				.word	.LANCHOR1
				.word	303
				.word	295
				.word	305
				.word	306
				.word	299
		.LFE220:
				.align	2
		LOOKUP.32:
		.LVL157:
		.LFB232:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 48
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
				sub	sp, sp, #60
				mov	r5, ip
				add	r3, sp, #96
				str	r3, [sp, #52]
				str	ip, [sp, #48]
  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)
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, lr}
				mov	r6, r0
				mov	r4, ip
  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
				ldr	r3, .L77
				ldr	r2, .L77+4
				str	r2, [r3]
				ldr	r5, .L77+8
				and	r5, r5, r0
		.LVL46:
  338     %IF TYPE = REG %START
				ldr	r3, [ip, #12]
				ldr	r2, [r3, #68]
				cmp	r2, #128
				bne	.L59
  339        %IF CODE&REGISTER # 0 %START
				tst	r0, #1
				beq	.L74
		.LDL4:
  340           TYPE = SINGLE;  VAL = OP+VAL
				ldr	r2, .L77+12
				ldr	r1, .L77+16
				str	r1, [r2]
				mov	r2, #20480
				str	r2, [r3, #68]
				ldr	r2, [ip, #12]
				ldr	r3, [r2, #64]
				add	r3, r3, r5
				str	r3, [r2, #64]
  341           %RETURN
				pop	{r4, r5, r6, pc}
		.L74:
  342        %FINISH
				ldr	r3, .L77+12
				ldr	r2, .L77+20
				str	r2, [r3]
  343        TYPE = XMASK+VAL;  VAL = 0;    !COERCE TO INDEXED IMMEDIATE
				ldr	r2, [r3, #64]
				add	r2, r2, #16
				str	r2, [r3, #68]
				ldr	r3, [ip, #12]
				mov	r2, #0
				str	r2, [r3, #64]
  344     %FINISH
  345 !!    %IF TYPE=0 %AND !VAL!<=15 %AND CODE&SHORT#0 %START; !SHORT
		.L59:
  346     %IF TYPE=0 %AND |VAL|<=15 %AND CODE&SHORT#0 %START; !SHORT
				ldr	ip, [r4, #12]
				ldr	r3, [ip, #68]
				cmp	r3, #0
				bne	.L62
				ldr	r3, [ip, #64]
		.LVL47:
		.LBB64:
		.LBI64:
				cmp	r2, #15
				bgt	.L63
				tst	r6, #8
				beq	.L63
  347        VAL = -VAL %AND OP = OP!!16_100 %IF VAL < 0
				ldr	r3, .L77+12
				ldr	r2, .L77+24
				str	r2, [r3]
				cmp	r3, #0
				rsblt	r3, r3, #0
				strlt	r3, [ip, #64]
				eorlt	r5, r5, #256
		.LVL48:
		.L64:
  348        TYPE = SINGLE;  VAL = OP+SINC+VAL
				ldr	r3, [r4, #12]
				mov	r2, #20480
				str	r2, [r3, #68]
				ldr	r2, [r4, #12]
				add	r5, r5, #7168
		.LVL49:
				ldr	r3, [r2, #64]
				add	r3, r3, r5
				str	r3, [r2, #64]
  349     %finish %ELSE %START
				b	.L65
		.LVL50:
		.L62:
  350        FAULT('R') %IF TYPE&31 = XMASK; !R0 AS INDEX
				and	r3, r3, #31
				cmp	r3, #16
				bne	.L63
				mov	r0, #82
		.LVL51:
				bl	FAULT.45
		.LVL52:
		.L63:
  351        %IF TYPE&MEMMASK = 0 %START;   !IMMEDIATE
				ldr	ip, [r4, #12]
				ldr	r3, [ip, #68]
				tst	r3, #64
				beq	.L66
		.LDL5:
  352           FAULT('I') %IF CODE&LIT = 0
				ldr	r3, .L77+12
				ldr	r2, .L77+28
				str	r2, [r3]
				ldr	r3, .L77
				ldr	r2, .L77+4
				str	r2, [r3]
				tst	r6, #4
				beq	.L76
		.L69:
				mov	r0, #73
				bl	FAULT.45
		.LVL58:
				b	.L69
		.L75:
  353           OP = OP+LINC
				add	r5, r5, #49152
		.LVL54:
  354        %finish %ELSE %START;                  !MEMORY
		.L70:
  355           FAULT('I') %IF CODE&MEM = 0
				tst	r6, #2
				beq	.L75
		.L67:
				mov	r0, #73
				bl	FAULT.45
		.LVL59:
				b	.L67
		.L78:
				.align	2
		.L77:
				.word	_imp_current_file
				.word	.LC6
				.word	65520
				.word	_imp_current_line
				.word	339
				.word	341
				.word	346
				.word	351
				.word	361
		.LFE222:
				.align	2
		RELEASE.20:
		.LFB227:
  356           OP = OP+MINC
				add	r5, r5, #16384
		.LVL53:
  357        %FINISH
  358        OP = OP!!OPMASK %IF TYPE&RELMASK # 0
				b	.L70
		.L66:
				ldr	r2, [r4, #12]
				ldr	r3, [r2, #68]
				tst	r3, #32
				eorne	r5, r5, #61440
		.LVL55:
		.L71:
  359        TYPE = TYPE&15+OP
				and	r3, r3, #15
				add	r3, r3, r5
				str	r3, [r2, #68]
  360     %FINISH
  361 %END
		.LVL56:
		.L65:
  362 
				ldr	r3, .L77+12
				ldr	r2, .L77+32
				str	r2, [r3]
				ldr	r3, .L77
				ldr	r2, .L77+4
				str	r2, [r3]
  363 %ROUTINE PLANT JUMP
				pop	{r4, r5, r6, pc}
		.LVL57:
		.L76:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, ip
  364 %INTEGER I,OP
  365     OP = BF;  COND=\COND %AND OP=BT %IF COND < 0
		.LVL386:
				ldr	r2, [ip, #12]
				ldr	r3, [r2, #48]
				cmp	r3, #0
				mvnlt	r3, r3
				strlt	r3, [r2, #48]
		.LVL387:
				ldrlt	r8, .L531+8
				ldrge	r8, .L531+12
		.L519:
		.LVL388:
  366     %IF TYPE&(\UMASK) = LOCTYPE %START
				ldr	r3, .L531
				ldr	r2, .L531+4
				str	r2, [r3]
				ldr	ip, [ip, #12]
				ldr	r3, [ip, #68]
				bic	r3, r3, #512
				ldr	r2, [ip, #72]
				cmp	r3, r2
				bne	.L520
  367        I = LOC>>1-VAL>>1
				ldr	r3, .L531+16
				ldr	r2, .L531+20
				str	r2, [r3]
				ldr	r2, [ip, #76]
				ldr	r3, [ip, #64]
				lsr	r3, r3, #1
				rsb	r3, r3, r2, lsr #1
		.LVL389:
  368 !!       FAULT('J') %AND I=0 %IF FLAG # 0 %AND !I! > 15
  369        FAULT('J') %AND I=0 %IF FLAG # 0 %AND |I| > 15
				ldr	r2, [ip, #52]
				cmp	r2, #0
				beq	.L521
		.LVL390:
		.LBB145:
		.LBI145:
				cmp	r2, #15
				bgt	.L530
		.LVL391:
		.L522:
				mov	r0, #74
				bl	FAULT.45
		.LVL396:
				mov	r3, #0
				b	.L522
		.LVL397:
		.L521:
  370 !!       %IF !I! <= 15 %START
  371        %IF |I| <= 15 %START
		.LVL392:
		.LBB147:
		.LBI147:
		.LVL398:
		.LBB150:
				cmp	r2, #15
				bgt	.L520
				b	.L525
		.L523:
  372           %IF TYPE&UMASK = 0 %OR FLAG # 0 %START
				ldr	r2, .L531
				ldr	r1, .L531+4
				str	r1, [r2]
				ldr	ip, [r4, #12]
				ldr	r2, [ip, #68]
				tst	r2, #512
				beq	.L523
				ldr	r2, [ip, #52]
				cmp	r2, #0
				bne	.L523
		.LDL114:
				ldr	r2, .L531
				ldr	r1, .L531+4
				str	r1, [r2]
  373              OP = OP<<1+2;            !0408, 0608
				ldr	r2, .L531+16
				mov	r1, #372
				str	r1, [r2]
				lsl	r8, r8, #1
		.LVL399:
				add	r8, r8, #2
		.LVL400:
  374              TYPE = 0;  VAL = I
				mov	r2, #0
				str	r2, [ip, #68]
				ldr	r2, [r4, #12]
				str	r3, [r2, #64]
  375           %finish %ELSE %START
		.LVL401:
		.L520:
  376              FAULT('S') %IF LIST >= 0 %AND LIST&8 # 0
				ldr	r3, .L531+24
		.LVL393:
				ldr	r3, [r3, #16]
				cmp	r3, #0
				blt	.L520
				tst	r3, #8
				beq	.L520
				mov	r0, #83
				bl	FAULT.45
		.LVL394:
				b	.L520
		.LVL395:
		.L530:
  377           %FINISH
  378        %FINISH
  379     %FINISH
  380     FORM INST(COND<<4+OP)
				ldr	r3, [r4, #12]
				ldr	r0, [r3, #48]
				mov	ip, r4
				add	r0, r8, r0, lsl #4
				bl	FORMINST.21
		.LVL402:
  381     PLANT VAL
				ldr	r5, .L531+16
				mov	r3, #380
				str	r3, [r5]
				ldr	r6, .L531
				ldr	r7, .L531+4
				str	r7, [r6]
				ldr	ip, [r4, #12]
				bl	PLANTVAL.1
		.LVL403:
  382     COND = 0
				ldr	r3, .L531+28
				str	r3, [r5]
				str	r7, [r6]
				ldr	r3, [r4, #12]
				mov	r2, #0
				str	r2, [r3, #48]
  383 %END
				str	r7, [r6]
  384 
				ldr	r3, .L531+32
				str	r3, [r5]
  385 %ROUTINE SET JUMP(%INTEGER CASE)
				pop	{r4, r5, r6, r7, r8, pc}
		.L532:
				.align	2
		.L531:
				.word	_imp_current_file
				.word	.LC6
				.word	515
				.word	771
				.word	_imp_current_line
				.word	366
				.word	.LANCHOR1
				.word	381
				.word	383
		.LFE223:
				.align	2
		SETJUMP.26:
		.LVL404:
		.LFB224:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
				mov	r9, r0
				mov	r4, ip
  386 %INTEGER THOLD,VHOLD,FHOLD
  387 !!    ALMAX = ALMAX+1;  %MONITOR 22 %IF ALMAX = LABMIN
  388     ALMAX = ALMAX+1;  !{}%signal 2,2 %IF ALMAX = LABMIN
				ldr	r6, .L536
				ldr	r7, .L536+4
				str	r7, [r6]
				ldr	r10, .L536+8
				ldr	r5, [r10, #264]
				add	r5, r5, #1
				str	r5, [r10, #264]
  389     NEST(LOC);  NEST(ALMAX-DEFLIM+CASE)
				ldr	r3, [ip, #12]
				ldr	r0, [r3, #76]
		.LVL405:
				bl	NEST.0
		.LVL406:
				ldr	r0, [r10, #260]
				sub	r0, r5, r0
				add	r0, r0, r9
				bl	NEST.0
		.LVL407:
  390     THOLD = TYPE;  VHOLD = VAL;  FHOLD = FLAG
				ldr	r8, .L536+12
				ldr	fp, .L536+16
				str	fp, [r8]
				str	fp, [r8]
				str	r7, [r6]
				ldr	r3, [r4, #12]
				ldr	fp, [r3, #68]
		.LVL408:
				ldr	r10, [r3, #64]
		.LVL409:
				ldr	r9, [r3, #52]
		.LVL410:
  391     TYPE = LOCTYPE;  VAL = INTEGER(ALMAX);  FLAG = 0
				str	r7, [r6]
				ldr	r2, [r3, #72]
				str	r2, [r3, #68]
				ldr	r8, [r4, #12]
				mov	r0, r5
				bl	INTEGER.39
		.LVL411:
				str	r0, [r8, #64]
				ldr	r3, [r4, #12]
				mov	r2, #0
				str	r2, [r3, #52]
  392     TYPE = TYPE+UMASK %IF PASS = 0
				ldr	r2, .L536+20
				str	r2, [r8]
				str	r7, [r6]
				ldr	r3, .L536+24
				ldr	r3, [r3, #8]
				cmp	r3, r2
				ldreq	r2, [r4, #12]
				ldreq	r3, [r2, #68]
				addeq	r3, r3, #512
				streq	r3, [r2, #68]
		.L534:
  393     COND = \COND
				ldr	r2, [r4, #12]
				ldr	r3, [r2, #48]
				mvn	r3, r3
				str	r3, [r2, #48]
  394     PLANT JUMP
				mov	ip, r4
				bl	PLANTJUMP.28
		.LVL412:
  395     TYPE = THOLD;  VAL = VHOLD;  FLAG = FHOLD
				ldr	r5, .L536+12
				ldr	r3, .L536+28
				str	r3, [r5]
				ldr	r3, [r4, #12]
				str	fp, [r3, #68]
				ldr	r3, [r4, #12]
				str	r10, [r3, #64]
				ldr	r3, [r4, #12]
				str	r9, [r3, #52]
  396 %END
				ldr	r3, .L536
				ldr	r2, .L536+4
				str	r2, [r3]
  397 
				mov	r3, #396
				str	r3, [r5]
  398 %ROUTINE PLANT INST(%INTEGER CODE)
				pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.L537:
				.align	2
		.L536:
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
				.word	_imp_current_line
				.word	389
				.word	391
				.word	.LANCHOR1
				.word	394
		.LFE224:
				.align	2
		PLANTINST.25:
		.LVL413:
		.LFB225:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, ip
  399     FORM INST(CODE)
				bl	FORMINST.21
		.LVL414:
  400     SET JUMP(16_1000) %IF COND # 0
				ldr	r3, [r4, #12]
				ldr	r3, [r3, #48]
				cmp	r3, #0
				bne	.L541
		.L539:
				mov	ip, r4
				mov	r0, #4096
				bl	SETJUMP.26
		.LVL416:
				b	.L539
		.L543:
				.align	2
		.L542:
				.word	_imp_current_line
				.word	399
				.word	_imp_current_file
				.word	.LC6
				.word	401
				.word	402
		.LFE225:
				.align	2
		LOADREG.24:
		.LVL417:
		.LFB226:
  401     PLANT VAL
				ldr	r7, .L542
				ldr	r3, .L542+4
				str	r3, [r7]
				ldr	r5, .L542+8
				ldr	r6, .L542+12
				str	r6, [r5]
				mov	r3, #400
				str	r3, [r7]
				str	r6, [r5]
				ldr	ip, [r4, #12]
				bl	PLANTVAL.1
		.LVL415:
  402 %END
				ldr	r7, .L542
				ldr	r3, .L542+16
				str	r3, [r7]
				ldr	r5, .L542+8
				ldr	r6, .L542+12
				str	r6, [r5]
  403 
				ldr	r3, .L542+20
				str	r3, [r7]
				str	r6, [r5]
  404 %ROUTINE LOAD REG(%INTEGER R)
				pop	{r4, r5, r6, r7, r8, pc}
		.L541:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, lr}
				mov	r5, r0
				mov	r4, ip
  405 %INTEGER OP
  406     %IF ATYPE = TYPE %AND AVAL = VAL %START
				ldr	r3, [ip, #12]
				ldr	r1, [r3, #60]
				ldr	r2, [r3, #68]
				cmp	r1, r2
				bne	.L545
				ldr	r1, [r3, #44]
				ldr	r2, [r3, #64]
				cmp	r1, r2
				bne	.L545
  407        TYPE = REG;  VAL = ACC
				ldr	r3, .L559
				ldr	r2, .L559+4
				str	r2, [r3]
				ldr	r3, .L559+8
				ldr	r2, .L559+12
				str	r2, [r3]
				mov	r2, #128
				str	r2, [r3, #68]
				ldr	r3, [ip, #12]
				ldr	r2, [r3, #40]
				str	r2, [r3, #64]
  408        %RETURN %IF R = ACC
				ldr	r3, [ip, #12]
				ldr	r3, [r3, #40]
				cmp	r3, r0
				popeq	{r4, r5, r6, pc}
		.L545:
		.LDL115:
  409     %FINISH
				ldr	r3, .L559+8
				mov	r2, #408
				str	r2, [r3]
  410     ATYPE = TYPE %AND AVAL = VAL %IF R = ACC
				ldr	r3, [r4, #12]
				ldr	r2, [r3, #40]
				cmp	r5, r2
				ldreq	r2, [r3, #68]
				streq	r2, [r3, #60]
				ldreq	r3, [r4, #12]
				ldreq	r2, [r3, #64]
				streq	r2, [r3, #44]
		.L547:
  411     ATYPE = -1 %IF (ATYPE=REG %AND AVAL=R) %OR ATYPE&15=R#0
				ldr	r3, .L559+8
				ldr	r2, .L559+16
				str	r2, [r3]
				ldr	r1, [r4, #12]
				ldr	r3, [r1, #60]
				cmp	r3, #128
				bne	.L548
				ldr	r2, [r1, #44]
				cmp	r5, r2
				beq	.L549
		.L548:
				and	r2, r3, #15
				clz	r3, r5
				lsr	r3, r3, #5
				cmp	r2, r5
				orrne	r3, r3, #1
				cmp	r3, #0
				beq	.L549
		.L550:
				mvn	r3, #0
				str	r3, [r1, #60]
				b	.L550
		.L551:
  412     %IF TYPE&BMASK = 0 %START
				ldr	r1, [r4, #12]
				ldr	r3, [r1, #68]
				tst	r3, #256
				beq	.L551
		.LDL116:
  413        OP = LOAD
				ldr	r3, .L559+8
				mov	r2, #412
				str	r2, [r3]
		.LVL421:
				ldrne	r0, .L559+28
		.L554:
		.LVL424:
  414        OP = ADD %AND TYPE = 0 %IF TYPE!!XMASK = R # 0
				eor	r3, r3, #16
				clz	r2, r5
				lsr	r2, r2, #5
				cmp	r3, r5
				orrne	r2, r2, #1
				cmp	r2, #0
		.LVL422:
				moveq	r3, #0
				streq	r3, [r1, #68]
				ldreq	r0, .L559+24
		.LVL423:
  415        CREG = R;  CTYPE = 0;  CVAL = 0
				ldr	r3, [r4, #12]
				str	r5, [r3, #56]
				ldr	r2, [r4, #12]
				mov	r3, #0
				str	r3, [r2, #36]
				ldr	r2, [r4, #12]
				str	r3, [r2, #32]
  416     %finish %ELSE %START
		.LVL425:
		.L552:
  417        OP = LB
		.LVL418:
				ldrne	r0, .L559+20
		.LVL419:
				ldreq	r0, .L559+20
				b	.L552
		.LVL420:
		.L549:
  418        CREG = -1 %IF CREG = R
				ldr	r3, [r1, #56]
				cmp	r5, r3
				mvneq	r3, #0
				streq	r3, [r1, #56]
  419     %FINISH
  420     PLANT INST(R<<4+OP)
				mov	ip, r4
				add	r0, r0, r5, lsl #4
		.LVL426:
				bl	PLANTINST.25
		.LVL427:
  421     TYPE = REG;  VAL = R
				ldr	r6, .L559+8
				mov	r3, #420
				str	r3, [r6]
				ldr	r3, [r4, #12]
				mov	r2, #128
				str	r2, [r3, #68]
				ldr	r3, [r4, #12]
				str	r5, [r3, #64]
  422 %END
				ldr	r3, .L559
				ldr	r2, .L559+4
				str	r2, [r3]
  423 
				ldr	r3, .L559+32
				str	r3, [r6]
  424 %ROUTINE RELEASE
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				@ link register save eliminated.
				pop	{r4, r5, r6, pc}
		.L560:
				.align	2
		.L559:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	406
				.word	410
				.word	37635
				.word	2575
				.word	2063
				.word	422
		.LFE226:
				.align	2
		LOADTEMP.22:
		.LFB228:
  425 %INTEGER I
				ldr	r3, .L86+8
				ldr	r2, .L86+12
				str	r2, [r3]
  426     %RETURN %IF TYPE&REGXMASK = 0
				ldr	r2, [ip, #12]
				ldr	r3, [r2, #68]
				tst	r3, #144
				bxeq	lr
		.LDL6:
  427     I = TYPE&15;  I = VAL %IF I = 0
				ldr	r3, .L86
				ldr	r2, .L86+4
				str	r2, [r3]
		.LVL60:
				ands	r3, r3, #15
		.LVL61:
				ldreq	r3, [r2, #64]
		.LVL62:
		.L81:
  428     %IF I = DREG %START
				ldr	r1, [r2, #28]
				cmp	r3, r1
				beq	.L82
		.LDL7:
  429        DUSE = DUSE-1
				ldr	r3, [r2, #24]
		.LVL67:
				sub	r3, r3, #1
				str	r3, [r2, #24]
  430     %finish %ELSE %START
				b	.L83
		.L87:
				.align	2
		.L86:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	426
				.word	.LANCHOR1
				.word	434
		.LFE227:
				.align	2
		SWOP.23:
		.LFB229:
  431        I = 1<<I
				mov	r2, #1
				lsl	r3, r2, r3
		.LVL63:
  432        FREE = FREE!I %IF TEMPS&I # 0
				ldr	r2, .L86+16
				ldr	r2, [r2]
				tst	r3, r2
				ldrne	r2, [ip, #8]
				orrne	r3, r2, r3
		.LVL64:
				strne	r3, [ip, #8]
		.LVL65:
		.L83:
  433     %FINISH
  434 %END
  435 
				ldr	r3, .L86+8
				ldr	r2, .L86+20
				str	r2, [r3]
  436 %ROUTINE LOAD TEMP
				bx	lr
		.LVL66:
		.L82:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r5, ip
  437 %INTEGER I,J
  438     RELEASE
				bl	RELEASE.20
		.LVL428:
  439     %IF DREG >= ZQUERY %AND DUSE = 0 %START
				ldr	r4, .L571
				ldr	r6, .L571+4
				str	r6, [r4]
				ldr	r7, .L571+8
				ldr	r3, .L571+12
				str	r3, [r7]
				ldr	r3, .L571+20
				ldr	r3, [r3, #300]
				ldr	ip, [r5, #12]
				ldr	r2, [ip, #28]
				cmp	r3, r2
				bgt	.L562
				ldr	r1, [ip, #24]
				cmp	r1, #0
  440        I = DREG;  DUSE = 1
				ldr	r3, .L571+16
				str	r3, [r7]
				str	r6, [r4]
		.LVL429:
				moveq	r3, #1
				streq	r3, [ip, #24]
				moveq	r0, r2
  441     %finish %ELSE %START
				beq	.L563
		.LVL430:
		.L562:
  442        J = 1+ZQUERY
				add	r4, r3, #1
		.LVL431:
  443        %CYCLE I = ZQUERY,1,15
				sub	r0, r3, #1
		.LVL432:
  444           ->OK %IF FREE&J # 0 %AND I # DREG
				ldrne	r1, [r5, #8]
				and	r3, r1, r4
				cmp	r3, #0
				cmpne	r2, r0
				bne	.L565
		.L566:
  445           J = J<<1
				lsl	r4, r4, #1
		.LVL434:
  446        %REPEAT
				cmp	r3, #16
				beq	.L567
		.L568:
		.LDL117:
				cmp	r0, #15
				bne	.L568
		.L567:
		.LDL118:
  447        FAULT('R')
				add	r0, r0, #1
		.LVL433:
				mov	r0, #82
		.LVL435:
				bl	FAULT.45
		.LVL436:
				mov	r0, #15
		.LVL437:
		.L565:
  448 OK:    FREE = FREE-J
				ldr	r3, [r5, #8]
				sub	r3, r3, r4
				str	r3, [r5, #8]
  449     %FINISH
  450     LOAD REG(I)
		.LVL438:
		.L563:
				mov	ip, r5
				bl	LOADREG.24
		.LVL439:
  451 %END
				ldr	r7, .L571+8
				ldr	r3, .L571+24
				str	r3, [r7]
				ldr	r4, .L571
				ldr	r6, .L571+4
				str	r6, [r4]
  452 
				ldr	r3, .L571+28
				str	r3, [r7]
				str	r6, [r4]
  453 %ROUTINE SWOP
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, lr}
				pop	{r4, r5, r6, r7, r8, pc}
		.L572:
				.align	2
		.L571:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	438
				.word	439
				.word	.LANCHOR0
				.word	450
				.word	451
		.LFE228:
				.section	.rodata.str1.4
				.align	2
		.LC7:
				.ascii	"%%SWITCH index ASS(%d) not in range -30:-1 at %s:%d"
		
		
		
		
				.ascii	"\012\000"
				.align	2
		.LC8:
				.ascii	"%%SWITCH LABEL NOT SET - sw1_ASS(%d): at line %s:%d"
		
		
		
		
				.ascii	"\000"
				.align	2
		ASSEMBLE.18:
		.LFB221:
  454 %INTEGER K
  455     K = TYPE1;  TYPE1 = TYPE;  TYPE = K
				ldr	r2, [ip, #4]
		.LVL68:
				ldr	r3, [ip, #12]
				ldr	lr, [r3, #68]
				str	lr, [ip, #4]
				str	r2, [r3, #68]
  456     K = VAL1;  VAL1 = VAL;  VAL = K
				ldr	r1, .L90
				ldr	r0, .L90+4
				str	r0, [r1]
				ldr	lr, [ip]
		.LVL70:
				ldr	r2, [ip, #12]
				ldr	r4, [r2, #64]
				str	r4, [ip]
				str	r0, [r1]
				str	lr, [r2, #64]
  457 %END
				ldr	r3, .L90+8
				mov	r2, #456
		.LVL69:
				str	r2, [r3]
  458 
				ldr	r2, .L90+12
				str	r2, [r3]
  459 %ROUTINE PROGREF
				pop	{r4, pc}
		.L91:
				.align	2
		.L90:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	457
		.LFE229:
				.align	2
		PROGREF.27:
		.LFB230:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				@ link register save eliminated.
  460     %IF TYPE&RELUXMASK = XMASK %AND VAL = 0 %START
				ldr	r2, [ip, #12]
				ldr	r3, [r2, #68]
				and	r1, r3, #560
				cmp	r1, #16
				bne	.L93
				ldr	r1, [r2, #64]
				cmp	r1, #0
  461        VAL = TYPE&15;  TYPE = REG
				andeq	r3, r3, #15
				streq	r3, [r2, #64]
				ldreq	r3, [ip, #12]
				moveq	r2, #128
				streq	r2, [r3, #68]
  462     %FINISH
				ldr	r3, .L95
				mov	r2, #460
				str	r2, [r3]
				ldr	r3, .L95+4
				ldr	r2, .L95+8
				str	r2, [r3]
  463     TYPE = TYPE!MEMMASK %IF TYPE # REG
		.L93:
				ldr	r2, [ip, #12]
				ldr	r3, [r2, #68]
				cmp	r3, #128
				orrne	r3, r3, #64
				strne	r3, [r2, #68]
		.L94:
  464 %END
  465 
				ldr	r3, .L95
				mov	r2, #464
				str	r2, [r3]
  466     Q = QSTART
				bx	lr
		.L96:
				.align	2
		.L95:
				.word	_imp_current_line
				.word	_imp_current_file
				.word	.LC6
		.LFE230:
				.align	2
		TEMP.19:
		.LFB231:
				ldr	r3, .L707
				ldr	r3, [r3, #304]
				str	r3, [sp, #12]
		.LVL440:
  467 NEW:NQ = QSTART;  FREE = TEMPS
				ldr	r9, .L707
				ldr	r7, [r9, #304]
		.LVL442:
				ldr	r3, .L707+16
				ldr	r3, [r3]
				str	r3, [sp, #44]
  468     TYPE = INTEGER(Q);  Q = Q+1
				ldr	fp, .L707+4
				ldr	r8, .L707+8
				str	r8, [fp]
				ldr	r4, [sp, #12]
				mov	r0, r4
				bl	INTEGER.39
		.LVL443:
				str	r0, [r5, #68]
		.LVL444:
  469     VAL = INTEGER(Q);  Q = Q+1
				ldr	r6, .L707+12
		.LVL441:
		.L574:
		.LDL119:
		.LDL120:
				mov	r3, #468
				str	r3, [r6]
				str	r8, [fp]
				add	r0, r4, #1
		.LVL445:
				bl	INTEGER.39
		.LVL446:
				str	r0, [r5, #64]
				add	r10, r4, #2
		.LVL447:
  470 
		.LBB65:
				eor	r2, r3, r3, asr #31
				sub	r2, r2, r3, asr #31
		.LBE65:
		.LBE64:
		.LBB146:
				eor	r2, r3, r3, asr #31
				sub	r2, r2, r3, asr #31
		.LBE146:
		.LBE145:
		.LBB148:
		.L525:
		.LBE148:
		.LBE147:
		.LBB149:
				eor	r2, r3, r3, asr #31
				sub	r2, r2, r3, asr #31
		.LBE149:
		.LBE150:
				ldr	r3, .L707+20
				str	r3, [r6]
  471 GET:%CYCLE
  472        %RETURN %IF Q = QLIM
		.L575:
				ldr	r3, [r9, #240]
				cmp	r10, r3
				beq	.L573
		.L578:
		.LDL121:
				ldr	r3, [r9, #240]
				cmp	r3, r10
				bne	.L578
		.LVL456:
		.L573:
  473        K = INTEGER(Q);  Q = Q+1
				mov	r3, #472
				str	r3, [r6]
				str	r8, [fp]
				mov	r0, r10
				bl	INTEGER.39
		.LVL448:
				add	r3, r10, #1
				str	r3, [sp, #12]
		.LVL449:
				mov	r3, #472
				str	r3, [r6]
				str	r8, [fp]
				ldr	r10, [sp, #12]
				ldr	r10, [sp, #12]
				ldr	r10, [sp, #12]
  474        ->ASS(K) %IF K < 0
				ldr	r3, .L707+24
				str	r3, [r6]
				str	r8, [fp]
				subs	r4, r0, #0
				blt	.L577
		.LDL122:
				adds	r2, r4, #30
				ldrcs	r3, .L707+16
		.LVL458:
				addcs	r3, r3, r2, lsl #2
				ldrcs	pc, [r3, #20]	@ indirect memory jump
		.LVL459:
		.L579:
  475 !!       INTEGER(NQ) = TYPE1;  INTEGER(NQ+1) = VAL1
				ldr	r2, .L707+28
				str	r2, [r6]
  476        set INTEGER(NQ, TYPE1);  set INTEGER(NQ+1, VAL1)
				ldr	r1, [sp, #16]
				mov	r0, r7
		.LVL450:
				bl	SETINTEGER.8
		.LVL451:
				ldr	r1, [sp, #20]
				add	r0, r7, #1
				bl	SETINTEGER.8
		.LVL452:
				ldr	r3, .L707+28
		.LVL460:
				str	r3, [sp]
				ldr	r3, .L707+8
				mov	r2, r4
				ldr	r1, .L707+36
				ldr	r0, .L707+272
		.LVL461:
				ldr	r0, [r0]
				bl	fprintf
		.LVL462:
  477        NQ = NQ+2
				add	r7, r7, #2
		.LVL453:
  478        TYPE1 = TYPE;  VAL1 = VAL
				str	r8, [fp]
				ldr	r2, [r5, #68]
				str	r2, [sp, #16]
				ldr	r2, [r5, #64]
				str	r2, [sp, #20]
  479        TYPE = K;  VAL = INTEGER(Q);  Q = Q+1
				str	r4, [r5, #68]
				ldr	r0, [sp, #12]
				bl	INTEGER.39
		.LVL454:
				str	r0, [r5, #64]
				add	r10, r10, #2
		.LVL455:
				mov	r0, #1
				bl	exit
		.LVL463:
		.L679:
  480     %REPEAT
				ldr	r3, .L707+32
				str	r3, [r6]
		.LDL123:
  481 
  482 %PREDICATE TEMP
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				@ link register save eliminated.
  483     %FALSE %IF TYPE1 # REG
				ldr	r3, [ip, #4]
				cmp	r3, #128
				beq	.L103
				mov	r0, #0
				bx	lr
		.L103:
		.LDL8:
				ldr	r3, .L104
				mov	r2, #484
				str	r2, [r3]
  484     %IF VAL1 = DREG %START
				ldr	r3, [ip, #12]
				ldr	r1, [ip]
				ldr	r2, [r3, #28]
				cmp	r1, r2
				beq	.L99
		.LDL9:
  485        %FALSE %IF DUSE # 1
				ldr	r3, .L104
				ldr	r2, .L104+4
				str	r2, [r3]
				ldr	r3, .L104+8
				ldr	r2, .L104+12
				str	r2, [r3]
				ldr	r3, [r3, #24]
				cmp	r3, #1
				beq	.L100
				mov	r0, #0
  486     %finish %ELSE %START
				ldr	r2, .L104
				ldr	r1, .L104+28
				str	r1, [r2]
  487        %FALSE %IF 1<<VAL1&TEMPS = 0
				ldr	r3, .L104+20
				ldr	r0, [r3]
				ldr	r3, [ip]
				asr	r0, r0, r3
				ands	r0, r0, #1
				bxeq	lr
		.L100:
		.LDL10:
		.LDL11:
  488     %FINISH
				ldr	r3, .L104
				ldr	r2, .L104+16
				str	r2, [r3]
  489     %TRUE
				mov	r0, #1
				bx	lr
		.L99:
  490 %END
				ldr	r3, .L104
				ldr	r2, .L104+24
				str	r2, [r3]
  491 
				bx	lr
		.L105:
				.align	2
		.L104:
				.word	_imp_current_line
				.word	483
				.word	_imp_current_file
				.word	.LC6
				.word	487
				.word	.LANCHOR1
				.word	489
				.word	485
		.LFE231:
				.align	2
		GETSYM.7:
		.LFB234:
  492 NOP: K = 0;                           !NOT SYMMETRIC
				mov	r4, #0
				movne	r4, #0
				movne	r4, #0
  493 BOP:%IF MODE <= 0 %OR (TYPE = 0 %AND TYPE1 = 0) %START
				ldr	r3, [r5, #20]
				cmp	r3, #0
				ble	.L581
				ldr	r3, [r5, #68]
				cmp	r3, #0
				bne	.L582
				ldr	r3, [sp, #16]
				cmp	r3, #0
				beq	.L583
		.L582:
  494        FAULT('A') %IF TYPE # 0
				ldr	r3, [r5, #68]
				cmp	r3, #0
				beq	.L583
				mov	ip, r5
				mov	r0, #65
				bl	FAULT.45
		.LVL466:
		.L583:
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
  495        TYPE = TYPE1;  VAL = LITVAL
				ldr	r3, [sp, #16]
				str	r3, [r5, #68]
				ldr	r3, [sp, #28]
				str	r3, [r5, #64]
  496     %finish %ELSE %START
		.LVL467:
		.L584:
  497        %IF %NOT TEMP %OR (TYPE=REG %AND VAL=DREG %AND DUSE=1 %AND K#0) %START
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				bl	TEMP.19
		.LVL484:
				cmp	r0, #0
				bne	.L585
				ldr	r3, [r5, #68]
				cmp	r3, #128
				bne	.L586
				ldr	r2, [r5, #64]
				ldr	r3, [r5, #28]
				cmp	r2, r3
				bne	.L586
				ldr	r3, [r5, #24]
				clz	r4, r4
		.LVL485:
				lsr	r4, r4, #5
				cmp	r3, #1
				orrne	r4, r4, #1
				cmp	r4, #0
				bne	.L586
  498           SWOP
				add	ip, sp, #36
				bl	SWOP.23
		.LVL472:
				ldr	r1, [sp, #36]
				str	r1, [sp, #20]
				ldr	r1, [sp, #40]
				str	r1, [sp, #16]
				ldr	r3, .L707+12
				ldr	r2, .L707+72
				str	r2, [r3]
				add	ip, sp, #36
				bl	SWOP.23
		.LVL486:
				ldr	r2, [sp, #36]
				str	r2, [sp, #20]
				ldr	r2, [sp, #40]
				str	r2, [sp, #16]
  499           %IF K = 0 %OR %NOT TEMP %START
				ldr	r3, .L707+48
				ldr	r2, .L707+12
				str	r3, [r2]
				ldr	r10, .L707+4
				ldr	r3, .L707+8
				str	r3, [r10]
				cmp	r4, #0
				bne	.L677
		.LVL473:
		.L588:
				ldr	r10, .L707+12
				ldr	r3, .L707+48
				str	r3, [r10]
				ldr	r4, .L707+4
				ldr	r3, .L707+8
				str	r3, [r4]
		.L677:
				add	ip, sp, #36
				bl	TEMP.19
		.LVL487:
				cmp	r0, #0
				beq	.L588
				b	.L586
		.LVL488:
		.L601:
  500              LOAD TEMP;  SWOP
		.LBB76:
				mov	r0, r8
				bl	_imp_readsymbol
		.LVL265:
		.LBE76:
		.LBE75:
		.LBB78:
				mov	r0, r8
				bl	_imp_readsymbol
		.LVL270:
		.LBE78:
		.LBE77:
		.LBB80:
				mov	r0, r8
				bl	_imp_readsymbol
		.LVL275:
		.LBE80:
		.LBE79:
				ldr	r3, .L707+52
				ldr	r2, .L707+12
				str	r3, [r2]
				ldr	r3, .L707+8
				str	r3, [r10]
				add	r4, sp, #36
				mov	ip, r4
				bl	LOADTEMP.22
		.LVL474:
				mov	ip, r4
				bl	SWOP.23
		.LVL475:
				ldr	r3, [sp, #36]
				str	r3, [sp, #20]
				ldr	r3, [sp, #40]
				str	r3, [sp, #16]
				ldr	r3, .L707+52
				str	r3, [r10]
				ldr	r3, .L707+8
				str	r3, [r4]
  501           %FINISH
				ldr	r3, .L707+12
				mov	r2, #500
				str	r2, [r3]
				ldr	r10, .L707+4
				ldr	r1, .L707+8
				str	r1, [r10]
				ldr	r3, .L707+12
				mov	r2, #500
				str	r2, [r3]
				ldr	r1, .L707+8
				str	r1, [r10]
  502        %FINISH
		.L586:
  503        LOAD TEMP %IF TYPE&BMASK # 0 %OR (OP&MEM=0 %AND TYPE&MEMMASK#0)
				ldr	r3, [r5, #68]
				tst	r3, #256
				bne	.L589
				ldr	r2, [sp, #24]
				tst	r2, #2
				bne	.L590
				tst	r3, #64
				beq	.L590
		.L589:
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				bl	LOADTEMP.22
		.LVL476:
				ldr	r3, [sp, #36]
				str	r3, [sp, #20]
				ldr	r3, [sp, #40]
				str	r3, [sp, #16]
		.L590:
  504        RELEASE
				ldr	r3, .L707+12
				ldr	r2, .L707+56
				str	r2, [r3]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				ldr	r0, [sp, #20]
				str	r0, [sp, #36]
				ldr	r0, [sp, #16]
				str	r0, [sp, #40]
				add	r4, sp, #36
				mov	ip, r4
				bl	RELEASE.20
		.LVL477:
				ldr	r10, [sp, #36]
  505        PLANT INST(VAL1<<4+OP)
		.LBB88:
		.LBE88:
		.LBE87:
				ldrb	r0, [r3, #80]	@ zero_extendqisi2
				bl	_imp_printsymbol
		.LVL309:
		.LBE89:
		.LBE90:
		.LBB94:
				uxtb	r0, r0
				bl	_imp_printsymbol
		.LVL314:
		.LBE94:
		.LBE93:
		.LBB100:
				mov	r0, #124
				bl	_imp_printsymbol
		.LVL325:
				b	.L459
		.LVL326:
		.L461:
		.LBE100:
		.LBE99:
		.LBB102:
				and	r0, r6, #127
				bl	_imp_printsymbol
		.LVL328:
		.LBE102:
		.LBE101:
		.LBB104:
				mov	r0, #39
				bl	_imp_printsymbol
		.LVL335:
				b	.L461
		.L467:
				.align	2
		.L466:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	.LANCHOR0
		.LBE104:
		.LBE103:
		.LFE212:
				.align	2
		OUTPUTRECORD.43:
		.LFB216:
				mov	r3, #504
				ldr	r2, .L707+12
				str	r3, [r2]
				ldr	r3, .L707+4
				ldr	r1, .L707+8
				str	r1, [r3]
				mov	ip, r4
				ldr	r3, [sp, #24]
				add	r0, r3, r10, lsl #4
				bl	PLANTINST.25
		.LVL478:
  506        TYPE = REG;  VAL = VAL1
		.LBB82:
		.LBE82:
		.LBE81:
				uxtb	r0, r0
				bl	_imp_printch
		.LVL303:
		.LBE83:
		.LBE84:
		.LBB86:
				uxtb	r0, r4
				bl	_imp_printch
		.LVL305:
		.LBE86:
		.LBE85:
				mov	r5, #0
		.LVL339:
		.L470:
		.LDL105:
		.LBE118:
		.LBE117:
		.LBB119:
				mov	r0, r5
				bl	_imp_printch
		.LVL341:
		.LBE119:
		.LBE120:
		.LBB122:
				mov	r0, #240
				bl	_imp_printch
		.LVL345:
		.LBE122:
		.LBE121:
				ldr	r3, .L707+60
				ldr	r2, .L707+12
				str	r3, [r2]
				ldr	r3, .L707+4
				ldr	r1, .L707+8
				str	r1, [r3]
				mov	r3, #128
				str	r3, [r5, #68]
				str	r10, [r5, #64]
  507        CREG = VAL;  CTYPE = 0;  CVAL = 0
		.LBB72:
				mov	r2, #240
				add	r1, sp, #512
				mov	r0, sp
				bl	memcpy
		.LVL133:
				ldm	r5, {r0, r1, r2, r3}
				bl	_imp_printstring
		.LVL134:
		.LBE72:
		.LBE71:
				str	r10, [r5, #56]
				mov	r3, #0
				str	r3, [r5, #36]
				str	r3, [r5, #32]
  508        ATYPE = -1 %IF ACC = VAL %OR ATYPE&15 = VAL # 0
				ldr	r3, [r5, #40]
				cmp	r3, r10
				beq	.L591
				ldr	r2, [r5, #60]
				and	r1, r2, #15
				clz	r3, r10
				lsr	r3, r3, #5
				cmp	r1, r10
				orrne	r3, r3, #1
				cmp	r3, #0
				beq	.L591
		.L592:
				mvn	r3, #0
				str	r3, [r5, #60]
  509        ATYPE = -1 %IF ATYPE = REG %AND AVAL = VAL
				cmp	r2, #128
				bne	.L584
				ldr	r3, [r5, #44]
				cmp	r3, r10
				mvneq	r3, #0
				streq	r3, [r5, #60]
				b	.L584
		.L591:
				b	.L584
		.LVL479:
		.L594:
  510     %FINISH
  511 
  512 POP:NQ = NQ-2
				sub	r1, r7, #2
		.LVL468:
				ldr	r7, [sp, #24]
  513     TYPE1 = INTEGER(NQ);  VAL1 = INTEGER(NQ+1)
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				str	r1, [sp, #24]
				mov	r0, r1
				bl	INTEGER.39
		.LVL469:
				str	r0, [sp, #16]
				sub	r0, r7, #1
				bl	INTEGER.39
		.LVL470:
				str	r0, [sp, #20]
  514     ->GET
				ldr	r4, .L707+12
				ldr	r10, .L707+44
				str	r10, [r4]
				str	r10, [r4]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				b	.L575
		.LVL471:
		.L585:
  515 
  516 ASS(-2):
  517     OP = SUB
				ldr	r3, .L707+64
				str	r3, [sp, #24]
				b	.L580
		.LVL480:
		.L600:
  518     ->NOP %IF MODE > 0 %AND TYPE # 0
				ldr	r3, [r5, #20]
				cmp	r3, #0
				ble	.L595
				ldr	r3, [r5, #68]
				cmp	r3, #0
				beq	.L596
  519     TYPE1 = 0 %AND TYPE = 0 %IF MODE <= 0 %AND TYPE1 = TYPE
				ldr	r3, [r5, #68]
				ldr	r2, [sp, #16]
				cmp	r3, r2
				moveq	r3, #0
				streq	r3, [r5, #68]
				streq	r3, [sp, #16]
		.L596:
  520     VAL = -VAL
				ldr	r3, [r5, #64]
				rsb	r3, r3, #0
				str	r3, [r5, #64]
  521 ASS(-1):
  522     OP = ADD;  LITVAL = VAL1+VAL
				ldr	r3, .L707+40
				str	r3, [sp, #24]
				b	.L580
		.LVL464:
		.L680:
				ldr	r3, .L707+40
				str	r3, [sp, #24]
				b	.L580
		.LVL465:
		.L581:
		.LVL613:
		.L597:
				ldr	r3, [r5, #64]
				ldr	r1, [sp, #20]
				add	r3, r1, r3
				str	r3, [sp, #28]
		.LVL614:
  523     ->BOP %UNLESS TYPE = 0
				ldr	r3, [r5, #68]
				cmp	r3, #0
				bne	.L679
		.LDL138:
  524     %IF TYPE1&MEMMASK # 0 %AND MODE > 0 %START
				ldr	r3, .L707+292
		.LVL615:
				ldr	r2, .L707+276
				str	r2, [r3]
				ldr	r2, [sp, #16]
				tst	r2, #64
				beq	.L598
				ldr	r3, [r5, #20]
				cmp	r3, #0
				ble	.L598
  525        SWOP;  LOAD TEMP;  SWOP
				str	r1, [sp, #36]
				str	r2, [sp, #40]
				add	ip, sp, #36
				bl	SWOP.23
		.LVL616:
				add	ip, sp, #36
				bl	LOADTEMP.22
		.LVL617:
				add	ip, sp, #36
				bl	SWOP.23
		.LVL618:
				ldr	r3, [sp, #36]
				str	r3, [sp, #20]
				ldr	r3, [sp, #40]
				str	r3, [sp, #16]
  526     %FINISH
				ldr	r10, .L707+292
				ldr	r3, .L707+280
				str	r3, [r10]
				ldr	r3, .L707+280
				str	r3, [r10]
				ldr	r2, .L707+284
				ldr	r1, .L707+288
				str	r1, [r2]
				ldr	r3, .L707+280
				str	r3, [r10]
				ldr	r3, .L707+284
				ldr	r1, .L707+288
				str	r1, [r3]
  527     %IF TYPE1 = REG %START
		.L598:
				ldr	r3, [sp, #16]
				cmp	r3, #128
				bne	.L599
  528        ->BOP %IF VAL1 = 0
				ldr	r3, .L707+284
				ldr	r2, .L707+288
				str	r2, [r3]
				ldr	r3, [sp, #20]
				cmp	r3, #0
				beq	.L680
		.LDL139:
  529        TYPE1 = XMASK+VAL1;  LITVAL = VAL
				ldr	r3, .L707+292
				mov	r2, #528
				str	r2, [r3]
				add	r3, r3, #16
				str	r3, [sp, #16]
				ldr	r3, [r5, #64]
				str	r3, [sp, #28]
		.LVL619:
  530     %FINISH
  531     TYPE = TYPE1;  VAL = LITVAL
		.L599:
				ldr	r3, [sp, #16]
				str	r3, [r5, #68]
				ldr	r3, [sp, #28]
				str	r3, [r5, #64]
  532     ->POP
		.LBB136:
				ldr	r0, .L492+20
				bl	check_outstream
		.LVL354:
				ldr	r3, .L492+24
		.LBE136:
		.LBE135:
				b	.L584
		.LFE221:
				.align	2
		CONDIT.11:
		.LVL620:
		.LFB243:
  533 ASS(-3):
  534     OP = AND;  LITVAL = VAL1&VAL
				ldr	r3, [r5, #64]
				ldr	r2, [sp, #20]
				and	r3, r2, r3
				str	r3, [sp, #28]
		.LVL481:
				ldr	r3, .L707+68
		.LVL482:
				str	r3, [sp, #24]
		.LVL483:
		.L580:
  535     ->BOP
  536 ASS(-4):
  537     OP = OR;  LITVAL = VAL1!VAL
				ldr	r3, [r5, #64]
				ldr	r2, [sp, #20]
				orr	r3, r2, r3
				str	r3, [sp, #28]
		.LVL489:
				ldr	r3, .L707+76
		.LVL490:
				str	r3, [sp, #24]
  538     ->BOP
				b	.L580
		.LVL491:
		.L602:
  539 ASS(-5):
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				cmp	r0, #0
				bxlt	lr
				push	{r4, lr}
				ldr	r3, .L446
				str	r0, [r3]
				add	r3, r0, r0, lsl #4
				add	r0, r0, r3, lsl #2
		.LVL298:
				ldr	r3, .L446+4
				add	r3, r3, r0, lsl #2
				ldr	r2, [r3, #4]
				ldr	r3, .L446+8
				str	r2, [r3]
				ldr	r0, .L446+12
				bl	check_instream
		.LVL299:
				pop	{r4, pc}
		.L447:
				.align	2
		.L446:
				.word	_imp_InStream
				.word	_imp_infile
				.word	_imp_INFILE
				.word	.LANCHOR2+256
		.LFE105:
				.align	2
		OUTPUTWORD.44:
		.LVL300:
		.LFB217:
  540     OP = XOR;  LITVAL = VAL1!!VAL
		.LBB114:
				ldr	r3, .L478+16
				mov	r2, #1
				str	r2, [r3]
				ldr	r3, .L478+20
				ldr	r2, [r3, #280]
				ldr	r3, .L478+24
				str	r2, [r3]
				ldr	r0, .L478+28
				bl	check_outstream
		.LVL338:
		.LBE114:
		.LBE113:
				mov	r4, #10
		.LBE115:
		.LBE116:
		.LBB124:
				ldr	r3, .L478+16
				mov	r2, #2
				str	r2, [r3]
				ldr	r3, .L478+20
				ldr	r2, [r3, #556]
				ldr	r3, .L478+24
				str	r2, [r3]
				ldr	r0, .L478+28
				bl	check_outstream
		.LVL351:
		.LBE124:
		.LBE123:
		.LBB138:
				ldr	r3, .L492+24
				mov	r2, #0
				str	r2, [r3]
				ldr	r3, .L492+28
				ldr	r2, [r3, #4]
				ldr	r3, .L492+32
				str	r2, [r3]
				ldr	r0, .L492+36
				bl	check_outstream
		.LVL356:
		.LBE138:
		.LBE137:
		.LBB142:
				ldr	r3, .L492+24
				mov	r2, #2
				str	r2, [r3]
				ldr	r3, .L492+28
				ldr	r2, [r3, #556]
				ldr	r3, .L492+32
				str	r2, [r3]
				ldr	r0, .L492+36
				bl	check_outstream
		.LVL360:
		.LBE142:
		.LBE141:
				ldr	r3, [r5, #64]
				ldr	r2, [sp, #20]
				eor	r3, r2, r3
				str	r3, [sp, #28]
		.LVL492:
				ldr	r3, .L707+80
		.LVL493:
				str	r3, [sp, #24]
		.LBB166:
				ldr	r3, .L962+12
				mov	r1, #2
				str	r1, [r3]
				ldr	r1, .L962+16
				ldr	r3, [r1, #556]
				ldr	r0, .L962+20
				str	r3, [r0]
				ldr	r9, .L962+24
				add	r0, r9, #276
				bl	check_outstream
		.LVL651:
		.LBE166:
		.LBE165:
		.LBB176:
				mov	r3, #0
				ldr	r2, .L962+12
				str	r3, [r2]
				ldr	r1, .L962+16
				ldr	r3, [r1, #4]
				ldr	r0, .L962+20
				str	r3, [r0]
				add	r0, r9, #276
				bl	check_outstream
		.LVL669:
		.LBE176:
		.LBE175:
  541     ->BOP
				b	.L580
		.LVL494:
		.L603:
		.LBB168:
				add	fp, sp, #1392
				add	fp, fp, #4
				mov	r2, #244
				mov	r1, fp
				mov	r0, sp
				bl	memcpy
		.LVL654:
				ldm	r4, {r1, r2, r3}
				mov	r0, #1
				bl	_imp_openinput
		.LVL655:
		.LBE168:
		.LBE167:
		.LBB170:
				mov	r2, #244
				mov	r1, fp
				mov	r0, sp
				bl	memcpy
		.LVL658:
				ldm	r4, {r1, r2, r3}
				mov	r0, #2
				bl	_imp_openinput
		.LVL659:
		.LBE170:
		.LBE169:
  542 ASS(-6):
		.LBB172:
				mov	r2, #244
				mov	r1, fp
				mov	r0, sp
				bl	memcpy
		.LVL662:
				ldm	r4, {r1, r2, r3}
				mov	r0, #1
				bl	_imp_openoutput
		.LVL663:
		.LBE172:
		.LBE171:
		.LBB174:
				mov	r2, #244
				mov	r1, fp
				mov	r0, sp
				bl	memcpy
		.LVL666:
				ldm	r4, {r1, r2, r3}
				mov	r0, #2
				bl	_imp_openoutput
		.LVL667:
		.LBE174:
		.LBE173:
  543     OP = SLLS;  LITVAL = VAL1<<VAL
				ldr	r3, [r5, #64]
				ldr	r2, [sp, #20]
				lsl	r3, r2, r3
				str	r3, [sp, #28]
		.LVL495:
				ldreq	r3, .L707+84
		.LVL496:
				streq	r3, [sp, #24]
  544     OP = SLHL %IF TYPE # 0
				ldr	r4, [r5, #68]
				cmp	r4, #0
				ldrne	r3, .L707+88
				strne	r3, [sp, #24]
				b	.L580
		.LVL497:
		.L604:
  545     ->NOP
  546 ASS(-7):
  547     OP = SRLS;  LITVAL = VAL1>>VAL
				ldr	r3, [r5, #64]
				ldr	r2, [sp, #20]
				lsr	r3, r2, r3
				str	r3, [sp, #28]
		.LVL498:
				ldreq	r3, .L707+92
		.LVL499:
				streq	r3, [sp, #24]
  548     OP = SRHL %IF TYPE # 0
				ldr	r4, [r5, #68]
				cmp	r4, #0
				ldrne	r3, .L707+96
				strne	r3, [sp, #24]
				b	.L580
		.LVL500:
		.L605:
  549     ->NOP
  550 
		.LBB178:
				bl	_imp_closeinput
		.LVL697:
		.LBE178:
		.LBE177:
				str	fp, [r6]
				str	r5, [r4]
  551 ASS(-8):                              !TYPE_VAL
  552     TYPE = VAL1
  553     TYPE = 0 %IF TYPE&OPMASK = MACRO; !SAFETY
				ldr	r2, [sp, #20]
				and	r3, r2, #61440
				cmp	r3, #40960
				moveq	r3, #0
				streq	r3, [r5, #68]
				beq	.L584
		.LDL124:
  554     TYPE = 0 %IF TYPE&(OPMASK+FMASK) = FMASK
				and	r3, r2, #63488
				cmp	r3, #2048
				movne	r3, r2
				moveq	r3, #0
				str	r3, [r5, #68]
		.LVL501:
				b	.L584
		.LVL502:
		.L608:
  555     ->POP
  556 
  557 ASS(-11):                             !COMPARE
  558     K = INTEGER(Q);  Q = Q+1
				ldr	r0, [sp, #12]
		.LVL503:
				bl	INTEGER.39
		.LVL504:
				mov	r4, r0
		.LVL505:
				add	r10, r10, #2
		.LVL506:
  559     %IF MODE <= 0 %START
				ldr	r3, .L707+100
				ldr	r2, .L707+12
				str	r3, [r2]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				ldr	r3, [r5, #20]
				cmp	r3, #0
				ble	.L609
		.LDL125:
  560        VAL1 = TYPE1 %AND VAL = TYPE %IF TYPE1 # TYPE
				ldr	r3, .L707+104
				ldr	r2, .L707+12
				str	r3, [r2]
				ldr	r3, [r5, #68]
				ldr	r2, [sp, #16]
				cmp	r3, r2
				strne	r3, [r5, #64]
				strne	r2, [sp, #20]
		.L612:
  561        LITVAL = \3
		.LVL514:
  562        LITVAL = 1 %IF VAL1 < VAL
				ldr	r3, [r5, #64]
				ldr	r2, [sp, #20]
				cmp	r3, r2
				movgt	r3, #1
				strgt	r3, [sp, #28]
				ble	.L698
		.L613:
		.LVL515:
  563        LITVAL = 2 %IF VAL1 > VAL
				mvneq	r3, #3
				movne	r3, #2
				str	r3, [sp, #28]
				b	.L613
		.LVL517:
		.L697:
  564        K = K&LITVAL;  K = \0 %IF K # 0
				ldr	r3, [sp, #28]
				tst	r3, r4
				mvnne	r4, #0
				moveq	r4, #0
				b	.L622
		.LVL516:
		.L698:
		.L614:
  565     %finish %ELSE %UNLESS CREG=16 %AND TYPE1=CTYPE %AND VAL1=CVAL %AND TYPE=VAL=0 %START
				ldr	r3, [r5, #56]
				cmp	r3, #16
				bne	.L610
				ldr	r3, [r5, #36]
				ldr	r2, [sp, #16]
				cmp	r3, r2
				bne	.L610
				ldr	r3, [r5, #32]
				ldr	r2, [sp, #20]
				cmp	r3, r2
				bne	.L610
				ldr	r2, [r5, #64]
				ldr	r1, [r5, #68]
				clz	r3, r2
				lsr	r3, r3, #5
				cmp	r1, r2
				orrne	r3, r3, #1
				cmp	r3, #0
				bne	.L622
		.L610:
  566        %IF TYPE1 # REG %START
				ldr	r1, [sp, #16]
				cmp	r1, #128
				beq	.L616
  567           SWOP
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				str	r1, [sp, #40]
				add	ip, sp, #36
				bl	SWOP.23
		.LVL507:
				ldr	r3, [sp, #36]
				str	r3, [sp, #20]
				ldr	r3, [sp, #40]
				mov	r1, r3
				str	r3, [sp, #16]
  568           %IF TYPE1 # REG %START
				ldr	r3, .L707+12
				ldr	r2, .L707+108
				str	r2, [r3]
				cmp	r1, #128
				bne	.L697
		.LDL126:
  569              LOAD TEMP;  SWOP
		.LBB92:
				bl	_imp_space
		.LVL310:
		.LBE92:
		.LBE91:
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				add	ip, sp, #36
				bl	LOADTEMP.22
		.LVL518:
				add	ip, sp, #36
				bl	SWOP.23
		.LVL519:
				ldr	r3, [sp, #36]
				str	r3, [sp, #20]
				ldr	r3, [sp, #40]
				str	r3, [sp, #16]
  570           %finish %ELSE %START
		.LBB96:
		.LBE96:
		.LBE95:
				rsb	r0, r0, #17
		.LVL318:
				bl	_imp_spaces
		.LVL319:
		.LBE97:
		.LBE98:
				ldr	r3, .L707+12
				ldr	r2, .L707+124
				str	r2, [r3]
				ldr	r3, .L707+12
				ldr	r2, .L707+124
				str	r2, [r3]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				b	.L616
		.L619:
  571              K = K!!3 %UNLESS K = 3 %OR K = \3
				cmn	r4, #4
				cmpne	r4, #3
				eorne	r4, r4, #3
		.LVL508:
		.L616:
  572           %FINISH
		.LBB68:
				bl	_imp_newline
		.LVL124:
		.LBE68:
		.LBE67:
		.LBB74:
				bl	_imp_newline
		.LVL136:
		.LBE74:
		.LBE73:
		.LBB140:
				bl	_imp_newline
		.LVL358:
		.LBE140:
		.LBE139:
  573        %FINISH
		.LBB70:
				mov	r0, #2
				bl	_imp_newlines
		.LVL126:
		.LBE70:
		.LBE69:
  574        %UNLESS CREG = VAL1 %AND CTYPE = TYPE %AND CVAL = VAL %START
				ldr	r3, [r5, #56]
				ldr	r2, [sp, #20]
				cmp	r3, r2
				bne	.L618
				ldr	r2, [r5, #36]
				ldr	r3, [r5, #68]
				cmp	r2, r3
				bne	.L618
				ldr	r2, [r5, #32]
				ldr	r3, [r5, #64]
				cmp	r2, r3
				beq	.L622
		.L618:
  575           CREG = VAL1;  CTYPE = TYPE;  CVAL = VAL
				ldr	r3, .L707+12
				ldr	r2, .L707+112
				str	r2, [r3]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				ldr	r0, [sp, #20]
				str	r0, [r5, #56]
				ldr	r3, [r5, #68]
				str	r3, [r5, #36]
				ldr	r2, [r5, #64]
				str	r2, [r5, #32]
  576           %UNLESS TYPE = VAL = 0 %START
				subs	r1, r3, r2
				movne	r1, #1
				cmp	r2, #0
				orreq	r1, r1, #1
				cmp	r1, #0
				beq	.L619
		.LDL127:
  577              OP = COMP
		.LVL520:
				ldr	r0, .L707+132
				b	.L620
		.L621:
				ldr	r0, .L707+132
				b	.L620
		.LVL524:
		.L623:
  578              %IF TYPE = ATYPE %AND VAL = AVAL %START
				ldr	r1, [r5, #60]
				cmp	r3, r1
				bne	.L621
				ldr	r1, [r5, #44]
				cmp	r2, r1
				bne	.L621
  579                 TYPE = REG;  VAL = ACC
				ldr	r1, .L707+12
				ldr	r0, .L707+128
				str	r0, [r1]
				mov	r3, #128
				str	r3, [r5, #68]
				ldr	r3, [r5, #40]
				str	r3, [r5, #64]
  580              %FINISH
  581              %IF TYPE&BMASK # 0 %START
				tst	r3, #256
				beq	.L685
  582                 OP = CLB
		.LVL521:
				ldreq	r0, .L707+136
				ldr	r0, .L707+136
				b	.L620
		.LVL523:
		.L685:
  583                 FAULT('I') %UNLESS K = 3 %OR K = \3
				cmn	r4, #4
				cmpne	r4, #3
				beq	.L620
				mov	ip, r5
				mov	r0, #73
				bl	FAULT.45
		.LVL522:
  584              %FINISH
  585           %finish %ELSE %START
  586              OP = LOAD
		.LVL509:
				ldr	r0, .L707+116
		.LVL510:
		.L620:
  587              TYPE = REG;  VAL = VAL1
				mov	r3, #128
				str	r3, [r5, #68]
				str	r0, [r5, #64]
  588           %FINISH
  589           PLANT INST(VAL1<<4+OP)
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r2, [sp, #16]
				str	r2, [sp, #40]
				add	ip, sp, #36
				add	r0, r0, r3, lsl #4
		.LVL511:
				bl	PLANTINST.25
		.LVL512:
  590        %FINISH
				ldr	r3, .L707+12
				ldr	r2, .L707+120
				str	r2, [r3]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
  591     %FINISH
		.L615:
		.L622:
  592     COND = K
				str	r4, [r5, #48]
  593     ->GET
				b	.L575
		.LVL513:
		.L609:
  594 
  595 ASS(-12):                             !TEST CC
  596     COND = \VAL
				ldr	r3, [r5, #64]
				mvn	r3, r3
				str	r3, [r5, #48]
  597     ->GET
				b	.L575
		.L624:
  598 
  599 ASS(-13):                             !AND,WHILE
  600     %IF MODE > 0 %START
				ldr	r3, [r5, #20]
				cmp	r3, #0
				bgt	.L625
		.LDL128:
  601        SET JUMP(16_1000)
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				mov	r0, #4096
		.LVL527:
				bl	SETJUMP.26
		.LVL528:
  602     %finish %ELSE %START
				ldr	r3, .L707+12
				ldr	r2, .L707+148
				str	r2, [r3]
				b	.L626
		.LVL529:
		.L628:
  603        %RETURN %IF COND # 0;          !CONDITION FALSE
				ldr	r3, [r5, #48]
				cmp	r3, #0
				bne	.L573
		.LVL525:
		.L626:
		.LDL129:
  604     %FINISH
				ldr	r3, .L707+12
				ldr	r2, .L707+140
				str	r2, [r3]
  605     %RETURN %IF Q = QLIM
				ldr	r3, .L707
				ldr	r3, [r3, #240]
				ldr	r2, [sp, #12]
				cmp	r3, r2
				bne	.L574
				b	.L573
		.LVL526:
		.L625:
  606     ->NEW
				ldr	r3, .L707+12
				ldr	r2, .L707+144
				str	r2, [r3]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
  607 
  608 ASS(-14):                             !OR
  609     %IF MODE > 0 %START
				ldr	r3, [r5, #20]
				cmp	r3, #0
				bgt	.L629
		.LDL130:
  610        COND = \COND
				ldr	r3, [r5, #48]
				mvn	r3, r3
				str	r3, [r5, #48]
  611        SET JUMP(16_3000)
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				mov	r0, #12288
		.LVL530:
				bl	SETJUMP.26
		.LVL531:
  612     %finish %ELSE %START
				ldr	r3, .L707+12
				ldr	r2, .L707+156
				str	r2, [r3]
				b	.L574
		.LVL532:
		.L630:
  613        %RETURN %IF COND = 0;          !CONDITION TRUE
				ldr	r3, [r5, #48]
				cmp	r3, #0
				bne	.L574
				b	.L573
		.L629:
  614     %FINISH
				ldr	r3, .L707+12
				ldr	r2, .L707+152
				str	r2, [r3]
  615     ->NEW
  616 
  617 ASS(-15):                             !IF
  618     SET JUMP(16_2000)
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				mov	r0, #8192
		.LVL533:
				bl	SETJUMP.26
		.LVL534:
  619     %RETURN
				ldr	r4, .L707+12
				ldr	r3, .L707+160
				str	r3, [r4]
				b	.L573
		.LVL535:
		.L631:
  620 
				ldr	r3, .L707+164
				str	r3, [r4]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
  621 ASS(-16):                             !ELSE
  622     COND = \0
				mvn	r3, #0
				str	r3, [r5, #48]
  623     SET JUMP(16_4000)
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				mov	r0, #16384
		.LVL536:
				bl	SETJUMP.26
		.LVL537:
  624     %RETURN
				ldr	r4, .L707+12
				add	r3, r3, #624
				str	r3, [r4]
				b	.L573
		.LVL538:
		.L632:
  625 
				mov	r3, #624
				str	r3, [r4]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
  626 ASS(-17):                             !IF AFTER ELSE
  627     SET JUMP(16_6000)
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				mov	r0, #24576
		.LVL539:
				bl	SETJUMP.26
		.LVL540:
  628     %RETURN
				ldr	r4, .L707+12
				ldr	r3, .L707+168
				str	r3, [r4]
				b	.L573
		.LVL541:
		.L633:
  629 
				mov	r3, #628
				str	r3, [r4]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
  630 ASS(-18):                             !MACCALL IF
  631     SET JUMP(16_8000)
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				mov	r0, #32768
		.LVL542:
				bl	SETJUMP.26
		.LVL543:
  632     %RETURN
				ldr	r4, .L707+12
				ldr	r3, .L707+172
				str	r3, [r4]
				b	.L573
		.LVL544:
		.L634:
  633 
				mov	r3, #632
				str	r3, [r4]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
  634 ASS(-20):                             !HASH
  635     TYPE = TYPE&(UMASK+63)
				ldr	r2, [r5, #68]
				ldr	r3, .L707+176
				and	r3, r3, r2
				str	r3, [r5, #68]
  636     ->GET
				b	.L575
		.L635:
  637 
  638 ASS(-21):                             !INDEX
  639     FAULT('I') %IF TYPE1&REGXMASK # 0
				ldr	r3, [sp, #16]
				tst	r3, #144
				bne	.L699
		.LVL545:
		.L636:
				mov	ip, r5
				mov	r0, #73
		.LVL549:
				bl	FAULT.45
		.LVL550:
				b	.L636
		.L700:
  640     %IF TYPE&MEMMASK # 0 %START
				ldr	r3, [r5, #68]
				tst	r3, #64
				beq	.L637
  641        %IF MODE > 0 %START
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				ldr	r3, [r5, #20]
				cmp	r3, #0
				ble	.L700
		.LDL131:
  642           ZQUERY = 1
				ldr	r3, .L707+12
				ldr	r2, .L707+180
				str	r2, [r3]
				ldr	r4, .L707
		.LVL546:
				mov	r3, #1
				str	r3, [r4, #300]
  643           LOAD TEMP
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				bl	LOADTEMP.22
		.LVL547:
				ldr	r3, [sp, #36]
				str	r3, [sp, #20]
				ldr	r3, [sp, #40]
				str	r3, [sp, #16]
  644           ZQUERY = 0
				ldr	r3, .L707+12
				ldr	r2, .L707+184
				str	r2, [r3]
				mov	r3, #0
				str	r3, [r4, #300]
  645        %finish %ELSE FAULT('A')
		.L637:
				mov	ip, r5
				mov	r0, #65
				bl	FAULT.45
		.LVL551:
				b	.L637
		.LVL552:
		.L701:
  646     %FINISH
  647     %IF TYPE = REG %START
				ldr	r3, [r5, #68]
				cmp	r3, #128
  648        TYPE = XMASK+VAL;  VAL = 0
				ldr	r3, .L707+12
				ldr	r2, .L707+188
				str	r2, [r3]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				ldreq	r3, [r5, #64]
				addeq	r3, r3, #16
				streq	r3, [r5, #68]
				moveq	r3, #0
				streq	r3, [r5, #64]
  649     %FINISH
  650     ZQUERY = 0
		.L639:
				ldr	r3, .L707
				mov	r2, #0
				str	r2, [r3, #300]
  651     FAULT('I') %IF TYPE1&TYPE&RELMASK # 0
				ldr	r3, [r5, #68]
				ldr	r2, [sp, #16]
				and	r3, r3, r2
				tst	r3, #32
				bne	.L701
		.L640:
				mov	ip, r5
				mov	r0, #73
				bl	FAULT.45
		.LVL553:
				b	.L640
		.LVL554:
		.L641:
  652     TYPE = TYPE1!TYPE!MEMMASK;  VAL = VAL1+VAL
				ldr	r3, [r5, #68]
				ldr	r2, [sp, #16]
				orr	r3, r2, r3
				orr	r3, r3, #64
				str	r3, [r5, #68]
				ldr	r3, [r5, #64]
				ldr	r2, [sp, #20]
				add	r3, r3, r2
				str	r3, [r5, #64]
  653     ->POP
				b	.L584
		.LVL548:
		.L699:
  654 
  655 ASS(-22):                             !MINST SEPARATOR
  656     %IF TYPE1&OPMASK = 16_7000 %START
				ldr	r3, [sp, #16]
				and	r3, r3, #61440
				cmp	r3, #28672
				beq	.L642
		.LDL132:
  657        %IF TYPE1&16_10 = 0 %START;    !REG-TYPE INST
				ldr	r3, .L707+12
				mov	r2, #656
				str	r2, [r3]
				ldr	r3, [sp, #16]
				tst	r3, #16
				beq	.L645
		.LDL133:
  658           FAULT('I') %IF TYPE # REG
				ldr	r3, [r5, #68]
				cmp	r3, #128
				beq	.L648
				mov	ip, r5
				mov	r0, #73
		.LVL561:
				bl	FAULT.45
		.LVL562:
				b	.L648
		.LVL563:
		.L702:
  659        %finish %ELSE %START
  660           VAL = \VAL %AND VAL1 = VAL1!!16_0100 %IF VAL < 0
				ldr	r3, [r5, #64]
				cmp	r3, #0
				bge	.L646
				mvn	r3, r3
				str	r3, [r5, #64]
				ldr	r3, [sp, #20]
				eor	r3, r3, #256
				str	r3, [sp, #20]
		.L646:
  661           FAULT('I') %IF TYPE # 0 %OR VAL > 15
				ldr	r3, [r5, #68]
				cmp	r3, #0
				bne	.L649
				ldr	r3, [r5, #64]
				cmp	r3, #15
				ble	.L648
		.L649:
				mov	ip, r5
				mov	r0, #73
		.LVL558:
				bl	FAULT.45
		.LVL559:
		.L648:
  662        %FINISH
  663        TYPE = TYPE1+16_8000;  VAL = VAL1&16_FF0F+VAL<<4
				ldr	r3, [sp, #16]
				add	r3, r3, #32768
				str	r3, [r5, #68]
				ldr	r2, [r5, #64]
				ldr	r3, .L707+204
				ldr	r1, [sp, #20]
				and	r1, r1, r3
				add	r3, r1, r2, lsl #4
				str	r3, [r5, #64]
  664     %finish %ELSE %IF TYPE1&OPMASK = 16_F000 %START
				cmp	r3, #61440
				bne	.L702
				b	.L584
		.LVL560:
		.L645:
		.LDL134:
  665        PROGREF %IF VAL1&16_FC0F = 16_0003; !BAL,BTC,BFC
				ldr	r3, .L707+196
				ldr	r2, [sp, #20]
				and	r3, r3, r2
				cmp	r3, #3
				beq	.L703
		.LVL555:
		.L650:
				str	r2, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				bl	PROGREF.27
		.LVL567:
				b	.L650
		.LVL568:
		.L651:
  666        FORM INST(VAL1)
				ldr	r3, .L707+12
				ldr	r2, .L707+192
				str	r2, [r3]
				ldr	r0, [sp, #20]
				str	r0, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				bl	FORMINST.21
		.LVL556:
  667     %finish %ELSE FAULT('I')
				ldr	r3, .L707+12
				ldr	r2, .L707+200
				str	r2, [r3]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				b	.L584
		.LVL557:
		.L642:
				mov	ip, r5
				mov	r0, #73
		.LVL564:
				bl	FAULT.45
		.LVL565:
				b	.L584
		.LVL566:
		.L703:
  668     ->POP
  669 
  670 ASS(-23):                             !MACHINE INST
  671     SET JUMP(16_1000) %IF COND # 0
				ldr	r3, [r5, #48]
				cmp	r3, #0
				bne	.L704
		.LVL569:
		.L652:
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				mov	r0, #4096
		.LVL574:
				bl	SETJUMP.26
		.LVL575:
				b	.L652
		.LVL576:
		.L653:
  672     PLANT VAL
				ldr	r3, .L707+12
				ldr	r2, .L707+208
				str	r2, [r3]
				mov	ip, r5
				bl	PLANTVAL.1
		.LVL572:
  673     CREG = -1;  ATYPE = -1
				ldr	r4, .L707+12
		.LVL570:
				mov	r3, #672
				str	r3, [r4]
				ldr	r6, .L707+4
				ldr	r7, .L707+8
		.LVL571:
				str	r7, [r6]
				mvn	r3, #0
				str	r3, [r5, #56]
				str	r3, [r5, #60]
  674     %RETURN
				str	r7, [r6]
				b	.L573
		.LVL573:
		.L704:
  675 
				ldr	r3, .L707+212
				str	r3, [r4]
  676 ASS(-24):                             !LOAD
  677     LOAD TEMP %IF TYPE # REG
				ldr	r3, [r5, #68]
				cmp	r3, #128
				beq	.L654
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				bl	LOADTEMP.22
		.LVL577:
				ldr	r3, [sp, #36]
				str	r3, [sp, #20]
				ldr	r3, [sp, #40]
				str	r3, [sp, #16]
		.L654:
  678     Q = QBASE
				ldr	r3, .L707+12
				ldr	r2, .L707+216
				str	r2, [r3]
				ldr	r3, .L707
				ldr	r10, [r3, #288]
		.LVL578:
  679     ->GET
				b	.L575
		.LVL579:
		.L655:
  680 
  681 ASS(-25):                             !STORE (TYPE1,VAL1 -> TYPE,VAL)
  682     %IF TYPE = REG %START
				ldr	r3, [r5, #68]
				cmp	r3, #128
				beq	.L656
		.LDL135:
  683        SWOP %AND LOAD REG(VAL1) %IF VAL1 # VAL
				ldr	r3, [r5, #64]
				ldr	r2, [sp, #20]
				cmp	r2, r3
				beq	.L659
				str	r2, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	r4, sp, #36
				mov	ip, r4
				bl	SWOP.23
		.LVL585:
				mov	ip, r4
				ldr	r0, [sp, #36]
				bl	LOADREG.24
		.LVL586:
				b	.L659
		.LVL587:
		.L660:
  684     %finish %ELSE %START
				ldr	r3, .L707+12
				ldr	r2, .L707+232
				str	r2, [r3]
  685        ATYPE = -1 %IF ATYPE&MEMMASK # 0
				ldr	r2, [r5, #60]
				tst	r2, #64
				mvnne	r2, #0
				strne	r2, [r5, #60]
		.L657:
  686        %IF FLAG = 0 %START
				ldr	r2, [r5, #52]
				cmp	r2, #0
				beq	.L660
		.LDL136:
  687           %IF VAL1 = ACC %AND ATYPE < 0 %START
				ldr	r2, .L707+12
				ldr	r1, .L707+220
				str	r1, [r2]
				ldr	r2, [r5, #40]
				ldr	r1, [sp, #20]
				cmp	r1, r2
				bne	.L662
				ldr	r2, [r5, #60]
				cmp	r2, #0
				bge	.L662
  688              K = TYPE&15
		.LVL588:
  689              ATYPE = TYPE %AND AVAL = VAL %IF K = 0 %OR 1<<K&TEMPS = 0
				ands	r1, r3, #15
		.LVL589:
				beq	.L663
				ldr	r2, .L707+16
				ldr	r2, [r2]
				asr	r2, r2, r1
				tst	r2, #1
				bne	.L662
		.L663:
				str	r3, [r5, #60]
				ldr	r2, [r5, #64]
				str	r2, [r5, #44]
		.LVL590:
		.L662:
  690           %FINISH
				ldr	r2, .L707+12
				ldr	r1, .L707+236
				str	r1, [r2]
  691           OP = STORE;  OP = STB %IF TYPE&BMASK # 0
				tst	r3, #256
				ldr	r0, .L707+240
				moveq	r0, #2
				b	.L661
		.LVL591:
		.L664:
  692        %finish %ELSE %START
  693           CREG = 16;  CTYPE = TYPE;  CVAL = VAL
				mov	r2, #16
				str	r2, [r5, #56]
				str	r3, [r5, #36]
				ldr	r3, [r5, #64]
				str	r3, [r5, #32]
  694           OP = AHM
		.LVL580:
				ldr	r0, .L707+224
		.LVL581:
		.L661:
  695        %FINISH
  696        PLANT INST(VAL1<<4+OP)
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r2, [sp, #16]
				str	r2, [sp, #40]
				add	ip, sp, #36
				add	r0, r0, r3, lsl #4
		.LVL582:
				bl	PLANTINST.25
		.LVL583:
  697     %FINISH
				ldr	r3, .L707+12
				mov	r2, #696
				str	r2, [r3]
  698     %RETURN
		.L659:
				b	.L573
		.LVL584:
		.L656:
  699 
				ldr	r3, .L707+12
				ldr	r2, .L707+228
				str	r2, [r3]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
  700 ASS(-26):                             !JUMP
  701     SET JUMP(16_1000) %IF INTEGER(NP)&16_F000 = 16_3000; !OR
				ldr	r3, .L707
				ldr	r0, [r3, #232]
		.LVL592:
				bl	INTEGER.39
		.LVL593:
				and	r3, r0, #61440
				cmp	r3, #12288
				beq	.L705
		.L665:
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	ip, sp, #36
				mov	r0, #4096
				bl	SETJUMP.26
		.LVL602:
				b	.L665
		.L708:
				.align	2
		.L707:
				.word	.LANCHOR0
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	.LANCHOR1
				.word	469
				.word	473
				.word	474
				.word	479
				.word	.LC7
				.word	2575
				.word	513
				.word	498
				.word	499
				.word	503
				.word	505
				.word	2831
				.word	1031
				.word	497
				.word	1543
				.word	1799
				.word	29960
				.word	3332
				.word	29704
				.word	3076
				.word	558
				.word	559
				.word	567
				.word	574
				.word	2063
				.word	589
				.word	569
				.word	578
				.word	2311
				.word	37890
				.word	603
				.word	605
				.word	601
				.word	613
				.word	611
				.word	618
				.word	619
				.word	627
				.word	631
				.word	575
				.word	641
				.word	643
				.word	647
				.word	665
				.word	64527
				.word	666
				.word	65295
				.word	671
				.word	674
				.word	677
				.word	686
				.word	8450
				.word	698
				.word	683
				.word	689
				.word	37378
				.word	701
				.word	702
				.word	706
				.word	713
				.word	714
				.word	474
				.word	.LC8
				.word	stderr
				.word	523
				.word	525
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
		.LVL603:
		.L706:
  702     %IF FLAG < 0 %START;              !REPEAT
				ldr	r3, .L707+12
				ldr	r2, .L707+244
				str	r2, [r3]
				ldr	r3, [r5, #52]
				cmp	r3, #0
				bge	.L666
  703        FLAG = 0
				ldr	r3, .L707+12
				ldr	r2, .L707+248
				str	r2, [r3]
				ldr	r3, .L707+4
				ldr	r2, .L707+8
				str	r2, [r3]
				mov	r3, #0
				str	r3, [r5, #52]
  704        %IF PASS = 0 %START
				ldr	r3, .L707+16
				ldr	r3, [r3, #8]
				cmp	r3, #0
				bne	.L666
  705           K = NP;  LITVAL = LOC
				ldr	r3, .L707
				ldr	r10, [r3, #232]
		.LVL594:
				ldr	r6, [r5, #76]
		.LVL595:
				mov	r4, r6
				ldr	r3, .L707+252
  706           %WHILE INTEGER(K)&16_1000 # 0 %CYCLE
				sub	r0, r0, r4
				bl	INTEGER.39
		.LVL598:
				tst	r0, #4096
				beq	.L706
		.LDL137:
  707              K = K+2;  LITVAL = LITVAL-2
				ldr	r9, .L707+12
				str	r3, [r9]
		.LVL597:
		.LVL599:
				sub	r4, r4, #2
		.LVL600:
  708           %REPEAT
				ldr	r8, .L707+4
				mov	r7, r2
		.LVL596:
		.L667:
				add	r0, r6, r10
				str	r7, [r8]
				mov	r3, #708
				b	.L667
		.LVL601:
		.L705:
  709           FLAG = 1 %IF LITVAL-VAL < 32
				ldr	r3, [r5, #64]
				sub	r4, r4, r3
		.LVL604:
				cmp	r4, #31
				movle	r3, #1
				strle	r3, [r5, #52]
		.LVL605:
		.L666:
  710        %FINISH
  711     %FINISH
  712     PROGREF
				ldr	r3, [sp, #20]
				str	r3, [sp, #36]
				ldr	r3, [sp, #16]
				str	r3, [sp, #40]
				add	r7, sp, #36
				mov	ip, r7
				bl	PROGREF.27
		.LVL606:
  713     PLANT JUMP
				ldr	r6, .L707+292
				mov	r3, #712
				str	r3, [r6]
				ldr	r4, .L707+284
				ldr	r5, .L707+288
				str	r5, [r4]
				mov	ip, r7
				bl	PLANTJUMP.28
		.LVL607:
  714     %RETURN
				ldr	r3, .L707+256
				str	r3, [r6]
				str	r5, [r4]
				b	.L573
		.LVL608:
		.L670:
				b	.L676
		.L671:
		.L676:
  715 
				ldr	r3, .L707+260
				str	r3, [r6]
				str	r5, [r4]
  716 %END;  !ASSEMBLE
  717 
  718 %ROUTINE LOOKUP(%INTEGER CONTROL)
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, lr}
				mov	r9, r0
				mov	r8, ip
  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
		.LVL158:
				cmp	r0, #4
				ldr	r3, .L254+8
				ldrne	r4, [r3, #252]
				ldreq	r4, [r3, #268]
				addeq	r4, r4, #5
		.L231:
		.LVL159:
				ldr	r3, .L254+12
  725     
				ldr	r3, .L254
				ldr	r2, .L254+4
				str	r2, [r3]
				ldr	r3, .L707+264
				str	r3, [sp]
				ldr	r3, .L707+288
				mov	r2, r4
				ldr	r1, .L707+268
				ldr	r0, .L707+272
		.LVL609:
				ldr	r0, [r0]
				bl	fprintf
		.LVL610:
  726 {}    %WHILE INTEGER(DP) # 0 %CYCLE
		.LDL38:
				mov	r0, r4
				bl	INTEGER.39
		.LVL168:
				cmp	r0, #0
				beq	.L251
				mov	r0, #1
				bl	exit
		.LVL611:
		.L672:
				b	.L676
		.L673:
				b	.L676
		.L674:
				b	.L676
		.L675:
				b	.L676
		.LVL612:
		.L595:
  727 {}       ->YES %IF INTEGER(DP) = TAG1 %AND INTEGER(DP+1) = TAG2
				ldr	r5, .L254+16
				str	r3, [r5]
				mov	r0, r4
				bl	INTEGER.39
		.LVL169:
				ldr	r3, [r8, #16]
				cmp	r0, r3
				bne	.L236
				add	r0, r4, #1
				bl	INTEGER.39
		.LVL170:
				ldr	r3, [r8, #12]
				cmp	r0, r3
				bne	.L236
		.LDL40:
  728 {}       DP = DP+4
				ldr	r7, .L254
				ldr	r6, .L254+4
				b	.L232
		.LVL160:
		.L251:
				add	r4, r4, #4
		.LVL167:
				ldr	r3, .L254+24
				str	r3, [r5]
				str	r6, [r7]
				add	sp, sp, #60
				@ sp needed
				pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.LVL457:
		.L577:
  729 {}    %REPEAT
				str	r6, [r7]
				ldr	r3, .L254+20
		.L232:
  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
				tst	r9, #1
				popeq	{r4, r5, r6, r7, r8, r9, r10, pc}
		.L234:
		.LDL39:
  741 NEW:DEFMIN = DEFMIN-4;  DP = DEFMIN
				ldr	r3, .L254+16
				mov	r2, #740
				str	r2, [r3]
				ldr	r3, .L254
				ldr	r2, .L254+4
				str	r2, [r3]
				ldr	r3, .L254+8
				ldr	r5, [r3, #252]
				sub	r4, r5, #4
		.LVL161:
				str	r4, [r3, #252]
		.LVL162:
  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)
				ldr	r1, [r8, #16]
				mov	r0, r4
				bl	SETINTEGER.8
		.LVL163:
				ldr	r1, [r8, #12]
				sub	r0, r5, #3
				bl	SETINTEGER.8
		.LVL164:
  746 !!SET:INTEGER(DP+2) = TYPE;  INTEGER(DP+3) = VAL
  747 SET:set INTEGER(DP+2, TYPE);  set INTEGER(DP+3, VAL)
				ldr	r1, [r8, #68]
				add	r0, r4, #2
				bl	SETINTEGER.8
		.LVL165:
				ldr	r1, [r8, #64]
				add	r0, r4, #3
				bl	SETINTEGER.8
		.LVL166:
  748     %RETURN
		.L239:
				pop	{r4, r5, r6, r7, r8, r9, r10, pc}
		.L236:
  749 YES:%IF CONTROL&2 = 0 %START;         !NOT DEF CLASS
				ldr	r3, .L254+16
				mov	r2, #748
				str	r2, [r3]
				ldr	r3, .L254
				ldr	r2, .L254+4
				str	r2, [r3]
				tst	r9, #2
				beq	.L252
		.LDL41:
  750        TYPE = INTEGER(DP+2);  VAL = INTEGER(DP+3)
				ldr	r3, .L254
				ldr	r2, .L254+4
				str	r2, [r3]
				add	r0, r4, #2
				bl	INTEGER.39
		.LVL174:
				str	r0, [r8, #68]
				add	r0, r4, #3
				bl	INTEGER.39
		.LVL175:
				str	r0, [r8, #64]
  751        %RETURN
				ldr	r5, .L254+16
				ldr	r6, .L254+32
				str	r6, [r5]
				str	r6, [r5]
				ldr	r6, .L254
				ldr	r7, .L254+4
				str	r7, [r6]
  752     %FINISH
				ldr	r3, .L254+36
				str	r3, [r5]
				str	r7, [r6]
  753     %IF CONTROL = 3 %START
				cmp	r9, #3
				beq	.L253
		.L240:
  754        ->NEW %IF DP-INTEGER(BP) >= 0; !GLOBAL
				ldr	r3, .L254+8
				ldr	r0, [r3, #244]
				bl	INTEGER.39
		.LVL176:
				cmp	r4, r0
				bge	.L234
		.LDL45:
  755        FAULT('D')
				ldr	r3, .L254+16
				ldr	r2, .L254+40
				str	r2, [r3]
				mov	ip, r8
				mov	r0, #68
				bl	FAULT.45
		.LVL177:
  756     %FINISH
  757     ->SET %IF CONTROL # 7
				cmp	r9, #7
				bne	.L239
		.LDL42:
				b	.L239
		.L242:
  758     %IF INTEGER(DP+2)&OPFMASK = FMASK %START
				add	r0, r4, #2
				bl	INTEGER.39
		.LVL171:
				and	r3, r0, #63488
				cmp	r3, #2048
				beq	.L242
		.LDL43:
  759        VAL = INTEGER(DP+3)
				ldr	r3, .L254+16
				ldr	r2, .L254+28
				str	r2, [r3]
				add	r0, r4, #3
				bl	INTEGER.39
		.LVL178:
				str	r0, [r8, #64]
  760        %IF PASS = 0 %START
				ldr	r3, .L254+16
				ldr	r2, .L254+44
				str	r2, [r3]
				ldr	r5, .L254
				ldr	r6, .L254+4
				str	r6, [r5]
				ldr	r3, .L254+48
				ldr	r3, [r3, #8]
				cmp	r3, #0
				beq	.L244
		.LDL46:
  761 !!          INTEGER(VAL) = LOC
				str	r6, [r5]
  762           set INTEGER(VAL, LOC)
				ldr	r1, [r8, #76]
				bl	SETINTEGER.8
		.LVL182:
  763        %finish %ELSE %START
		.L245:
  764           FAULT('P') %AND LOC=INTEGER(VAL) %IF INTEGER(VAL) # LOC
				bl	INTEGER.39
		.LVL179:
				ldr	r3, [r8, #76]
				cmp	r0, r3
				beq	.L245
				mov	ip, r8
				mov	r0, #80
				bl	FAULT.45
		.LVL180:
				ldr	r0, [r8, #64]
				bl	INTEGER.39
		.LVL181:
				str	r0, [r8, #76]
				b	.L245
		.L244:
  765        %FINISH
				ldr	r3, .L254+16
				mov	r2, #764
				str	r2, [r3]
  766        VAL = LOC
				ldr	r3, [r8, #76]
				str	r3, [r8, #64]
  767     %finish %ELSE %START
				b	.L239
		.L255:
				.align	2
		.L254:
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
				.word	726
				.word	_imp_current_line
				.word	729
				.word	727
				.word	758
				.word	750
				.word	751
				.word	754
				.word	759
				.word	.LANCHOR1
		.LFE232:
				.align	2
		TAG.34:
		.LFB237:
  768        ->NEW %IF DP-INTEGER(BP) >= 0
				ldr	r3, .L254+8
				ldr	r0, [r3, #244]
				bl	INTEGER.39
		.LVL172:
				cmp	r4, r0
				bge	.L234
		.LDL44:
  769        FAULT('D')
				ldr	r3, .L254+16
				mov	r2, #768
				str	r2, [r3]
				ldr	r3, .L254
				ldr	r2, .L254+4
				str	r2, [r3]
				mov	ip, r8
				mov	r0, #68
				bl	FAULT.45
		.LVL173:
  770     %FINISH
  771     ->SET
				b	.L239
		.L252:
  772 %END
  773 
  774 %ROUTINE TAGREF
				pop	{r4, r5, r6, r7, r8, r9, r10, pc}
		.L253:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, lr}
				mov	r4, ip
  775 %OWNINTEGER B=2184, W=24717
  776     %IF TERM = '(' %START
				ldr	r3, [ip, #8]
				cmp	r3, #40
				bne	.L284
  777        TYPE = 0;  VAL = 0
				ldr	r3, .L291
				ldr	r2, .L291+4
				str	r2, [r3]
				ldr	r3, .L291+8
				mov	r2, #776
				str	r2, [r3]
				mov	r3, #0
				str	r3, [ip, #68]
				str	r3, [ip, #64]
  778        %RETURN %IF TAG1 = W
				ldr	r3, [ip, #16]
				ldr	r2, .L291+12
				cmp	r3, r2
				popeq	{r4, r5, r6, pc}
		.LDL52:
  779        TYPE = BMASK
				ldr	r3, .L291+8
				add	r2, r2, #2
				str	r2, [r3]
				mov	r2, #256
				str	r2, [ip, #68]
  780        %RETURN %IF TAG1 = B
				ldr	r2, .L291+16
				cmp	r3, r2
				popeq	{r4, r5, r6, pc}
		.L284:
		.LDL53:
  781     %FINISH
				ldr	r2, .L291+8
				mov	r1, #780
				str	r1, [r2]
  782     TYPE = LOCTYPE+FMASK+UMASK;  VAL = LABMIN-1
				ldr	r3, [r4, #72]
				add	r3, r3, #2560
				str	r3, [r4, #68]
				ldr	r3, .L291+20
				ldr	r3, [r3, #272]
				sub	r3, r3, #1
				str	r3, [r4, #64]
  783     LOOKUP(1)
				mov	ip, r4
				mov	r0, #1
				bl	LOOKUP.32
		.LVL191:
  784     %IF TYPE&OPFMASK = FMASK %START
				ldr	r5, .L291+8
				ldr	r3, .L291+24
				str	r3, [r5]
				ldr	r3, [r4, #68]
				and	r3, r3, #63488
				cmp	r3, #2048
				bne	.L286
  785        %IF VAL = LABMIN-1 %START
				mov	r3, #784
				str	r3, [r5]
				ldr	r3, .L291
				ldr	r2, .L291+4
				str	r2, [r3]
				ldr	r0, [r4, #64]
				ldr	r3, .L291+20
				ldr	r3, [r3, #272]
				sub	r3, r3, #1
				cmp	r3, r0
  786 !!          LABMIN = VAL;  %MONITOR 22 %IF LABMIN = ALMAX
  787           LABMIN = VAL;  !{}%signal 2,2 %IF LABMIN = ALMAX
				ldreq	r3, .L291+20
				streq	r0, [r3, #272]
  788        %FINISH
  789        %IF PASS > 0 %START
		.L287:
				ldr	r3, .L291+28
				ldr	r3, [r3, #8]
				cmp	r3, #0
				ble	.L288
  790           VAL = INTEGER(VAL)
				bl	INTEGER.39
		.LVL192:
				str	r0, [r4, #64]
  791           FAULT('U') %IF VAL = 0
				ldr	r3, .L291+8
				ldr	r2, .L291+32
				str	r2, [r3]
				cmp	r0, #0
				beq	.L290
		.L288:
				mov	ip, r4
				mov	r0, #85
				bl	FAULT.45
		.LVL193:
				b	.L288
		.L292:
				.align	2
		.L291:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	24717
				.word	2184
				.word	.LANCHOR0
				.word	783
				.word	.LANCHOR1
				.word	790
				.word	795
		.LFE233:
				.align	2
		GETEXP.16:
		.LFB242:
  792        %FINISH
  793        TYPE = TYPE-FMASK
				ldr	r3, [r4, #68]
				sub	r3, r3, #2048
				str	r3, [r4, #68]
  794     %FINISH
  795 %END
		.L286:
  796 
				ldr	r3, .L291+8
				ldr	r2, .L291+36
				str	r2, [r3]
				ldr	r3, .L291
				ldr	r2, .L291+4
				str	r2, [r3]
  797 %ROUTINE GET SYM
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, lr}
				mov	r9, ip
				pop	{r4, r5, r6, pc}
		.L290:
  798     %CYCLE
				str	r10, [r8]
				str	r6, [r7]
  799        SYM = CHAR(GETPOS);  GETPOS = GETPOS+1
				ldr	r5, .L111+16
		.L107:
		.LDL12:
				ldr	r4, [r5, #236]
				mov	r0, r4
				bl	CHAR.6
		.LVL71:
				str	r0, [r9, #4]
				str	r6, [r7]
				add	r4, r4, #1
				str	r4, [r5, #236]
  800        %RETURN %IF SYM # ' '
				ldr	r8, .L111
				ldr	r10, .L111+4
				ldr	r7, .L111+8
				ldr	r6, .L111+12
				cmp	r0, #32
				beq	.L107
				pop	{r4, r5, r6, r7, r8, r9, r10, pc}
		.L112:
				.align	2
		.L111:
				.word	_imp_current_line
				.word	799
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
		.LFE234:
				.align	2
		S.33:
		.LVL72:
		.LFB235:
  801     %REPEAT
				mov	r3, #800
				str	r3, [r8]
  802 %END
  803 
  804 %PREDICATE S(%INTEGER K)
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, lr}
  805     %FALSE %UNLESS K = SYM
				ldr	r3, [ip, #4]
				cmp	r3, r0
				beq	.L120
				mov	r0, #0
		.LVL73:
		.LDL13:
  806     GET SYM
				bl	GETSYM.7
		.LVL75:
  807     %TRUE
				ldr	r3, .L121
				ldr	r2, .L121+4
				str	r2, [r3]
				ldr	r3, .L121+8
				ldr	r2, .L121+12
				str	r2, [r3]
				ldr	r4, .L121
				ldr	r3, .L121+16
				str	r3, [r4]
				mov	r0, #1
				pop	{r4, pc}
		.L122:
				.align	2
		.L121:
				.word	_imp_current_line
				.word	805
				.word	_imp_current_file
				.word	.LC6
				.word	806
				.word	807
		.LFE235:
				.align	2
		SS.17:
		.LVL76:
		.LFB236:
  808 %END
				ldr	r3, .L121+20
				str	r3, [r4]
				ldr	r3, .L121+8
				ldr	r2, .L121+12
				str	r2, [r3]
  809 
				bx	lr
		.LVL74:
		.L120:
  810 %PREDICATE SS(%INTEGER K)
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r5, r0
				mov	r4, ip
  811     %FALSE %UNLESS K = SYM = CHAR(GETPOS)
		.LBB66:
		.LVL77:
				ldr	r6, [ip, #4]
		.LVL78:
				ldr	r3, .L128+16
				ldr	r7, [r3, #236]
				mov	r0, r7
		.LVL79:
				bl	CHAR.6
		.LVL80:
				cmp	r6, r0
				movne	r3, #0
				moveq	r3, #1
		.LBE66:
				cmp	r5, r6
				orrne	r3, r3, #1
				cmp	r3, #0
				bne	.L127
				mov	r0, #0
		.LVL81:
		.L124:
		.LDL14:
  812     GETPOS = GETPOS+1
				add	r7, r7, #1
				ldr	r3, .L128+16
				str	r7, [r3, #236]
  813     GET SYM
				ldr	r3, .L128
				ldr	r2, .L128+4
				str	r2, [r3]
				ldr	r3, .L128+8
				ldr	r2, .L128+12
				str	r2, [r3]
				ldr	r5, .L128+8
		.LVL83:
				ldr	r6, .L128+12
		.LVL84:
				str	r6, [r5]
				mov	ip, r4
				bl	GETSYM.7
		.LVL85:
  814     %TRUE
				ldr	r7, .L128
				ldr	r3, .L128+20
				str	r3, [r7]
				mov	r0, #1
				pop	{r4, r5, r6, r7, r8, pc}
		.L129:
				.align	2
		.L128:
				.word	_imp_current_line
				.word	811
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
				.word	813
				.word	814
		.LFE236:
				.align	2
		CODESYM.36:
		.LFB238:
  815 %END
				ldr	r3, .L128+24
				str	r3, [r7]
				str	r6, [r5]
  816 
				pop	{r4, r5, r6, r7, r8, pc}
		.LVL82:
		.L127:
  817 %PREDICATE TAG
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 16
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
				sub	sp, sp, #20
				add	r3, sp, #56
				str	r3, [sp, #12]
				str	ip, [sp, #8]
  818 %INTEGER J,K
  819     %ROUTINE CODE SYM
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, ip
  820        SYM = CHAR(GETPOS);  GETPOS = GETPOS+1
				ldr	r6, .L140+12
				ldr	r5, [r6, #236]
				mov	r0, r5
				bl	CHAR.6
		.LVL86:
				ldr	r3, [r4, #8]
				str	r0, [r3, #4]
				add	r5, r5, #1
				str	r5, [r6, #236]
				ldr	r3, .L281
				ldr	r2, .L281+4
				str	r2, [r3]
  821        K = SYM-'0'
				str	r8, [r7]
				ldr	r2, [r4, #8]
				ldr	r3, [r2, #4]
				sub	r3, r3, #48
				str	r3, [r4, #4]
  822        %IF K >= 0 %START
				ldr	r3, .L140
				mov	r2, #820
				str	r2, [r3]
				ldr	r7, .L140+4
				ldr	r8, .L140+8
				str	r8, [r7]
				cmp	r3, #0
				blt	.L135
  823           TERM = -1 %AND %RETURN %IF K < 10
				cmp	r3, #9
				bgt	.L138
				mvn	r3, #0
				str	r3, [r2, #8]
				pop	{r4, r5, r6, r7, r8, pc}
		.L138:
		.LDL15:
  824           K = SYM-'A'
				ldr	r1, .L140
				ldr	r0, .L140+16
				str	r0, [r1]
				ldr	r3, [r2, #4]
				sub	r3, r3, #65
				str	r3, [r4, #4]
  825           %RETURN %IF K >= 0 %AND K < 26 %AND TERM = 0
				cmp	r3, #25
				bls	.L139
		.L131:
		.L135:
				ldr	r3, [r2, #8]
				cmp	r3, #0
				popeq	{r4, r5, r6, r7, r8, pc}
				b	.L135
		.L141:
				.align	2
		.L140:
				.word	_imp_current_line
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
				.word	823
		.LFE238:
				.align	2
		PACKTRIPLE.35:
		.LFB239:
  826        %FINISH
				add	r0, r0, #2
				str	r0, [r1]
  827        TERM = SYM
				ldr	r3, [r2, #4]
				str	r3, [r2, #8]
  828     %END
  829     %ROUTINE PACK TRIPLE
				ldr	r3, .L140
				mov	r2, #828
				str	r2, [r3]
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, ip
  830        ->T1 %IF TERM < 0
				pop	{r4, r5, r6, r7, r8, pc}
		.L139:
				ldr	r3, [ip, #8]
				ldr	r3, [r3, #8]
				cmp	r3, #0
				blt	.L143
		.LDL16:
		.LDL19:
  831        J = ((K<<5+K)<<1+K)<<4+K+1111; !K*1073+1111
				ldr	r3, [ip, #4]
				add	r2, r3, r3, lsl #5
				add	r2, r3, r2, lsl #1
				add	r3, r3, r2, lsl #4
				add	r3, r3, #1104
				add	r3, r3, #7
				str	r3, [ip]
  832        CODE SYM
				ldr	r3, .L150
				ldr	r2, .L150+4
				str	r2, [r3]
				ldr	r3, .L150+8
				ldr	r2, .L150+12
				str	r2, [r3]
				bl	CODESYM.36
		.LVL87:
  833        ->T2 %IF TERM # 0
				ldr	r3, .L150
				mov	r2, #832
				str	r2, [r3]
				ldr	r5, .L150+8
				ldr	r6, .L150+12
				str	r6, [r5]
				ldr	r3, [r4, #8]
				ldr	r3, [r3, #8]
				cmp	r3, #0
				bne	.L145
		.LDL17:
  834        J = (K<<3+K)<<2+K+111+J;       !J+K*37+111
				str	r6, [r5]
				ldr	r3, [r4, #4]
				add	r2, r3, r3, lsl #3
				add	r3, r3, r2, lsl #2
				add	r3, r3, #111
				ldr	r2, [r4]
				add	r3, r2, r3
				str	r3, [r4]
  835        CODE SYM
				ldr	r1, .L150
				ldr	r3, .L150+16
				str	r3, [r1]
				mov	ip, r4
				bl	CODESYM.36
		.LVL88:
  836        ->T3 %IF TERM # 0
				ldr	r3, .L150+20
				str	r3, [r1]
				ldr	r5, .L150+8
				ldr	r6, .L150+12
				str	r6, [r5]
				ldr	r3, [r4, #8]
				ldr	r3, [r3, #8]
				cmp	r3, #0
				beq	.L149
		.L146:
		.LDL21:
  837        J = J+K+11
				str	r6, [r5]
				ldr	r3, [r4]
				ldr	r2, [r4, #4]
				add	r3, r3, r2
				add	r3, r3, #11
				str	r3, [r4]
  838        CODE SYM
				ldr	r5, .L150
				ldr	r3, .L150+48
				str	r3, [r5]
				mov	ip, r4
				bl	CODESYM.36
		.LVL92:
  839        %RETURN
				ldr	r3, .L150+52
				str	r3, [r5]
				ldr	r6, .L150+8
				ldr	r7, .L150+12
				str	r7, [r6]
				pop	{r4, r5, r6, r7, r8, pc}
		.L151:
				.align	2
		.L150:
				.word	_imp_current_line
				.word	830
				.word	_imp_current_file
				.word	.LC6
				.word	834
				.word	835
				.word	845
				.word	846
				.word	847
				.word	841
				.word	842
				.word	843
				.word	837
				.word	838
				.word	839
		.LFE239:
				.align	2
		TAGIF.12:
		.LFB240:
  840 T1:    J = ((K<<1+K)<<1+K)<<4-K+1;    !K*111+1
				ldr	r3, [ip, #4]
				add	r2, r3, r3, lsl #1
				add	r2, r3, r2, lsl #1
				rsb	r3, r3, r2, lsl #4
				add	r3, r3, #1
				str	r3, [ip]
				ldr	r3, .L150+56
				str	r3, [r5]
				str	r7, [r6]
  841        CODE SYM
				bl	CODESYM.36
		.LVL90:
  842 T2:    %RETURN %IF TERM > 0
				ldr	r3, .L150
				ldr	r2, .L150+36
				str	r2, [r3]
				ldr	r3, .L150+8
				ldr	r2, .L150+12
				str	r2, [r3]
				ldr	r3, [r4, #8]
				ldr	r3, [r3, #8]
				cmp	r3, #0
				popgt	{r4, r5, r6, r7, r8, pc}
		.LDL20:
  843        J = (K<<2+K)<<1+K+1+J;         !J+K*11+1
		.L145:
				ldr	r3, .L150
				ldr	r2, .L150+40
				str	r2, [r3]
				ldr	r3, .L150+8
				ldr	r2, .L150+12
				str	r2, [r3]
				ldr	r3, [r4, #4]
				add	r2, r3, r3, lsl #2
				add	r3, r3, r2, lsl #1
				add	r3, r3, #1
				ldr	r2, [r4]
				add	r3, r2, r3
				str	r3, [r4]
  844        CODE SYM
				ldr	r1, .L150
				ldr	r3, .L150+44
				str	r3, [r1]
				mov	ip, r4
				bl	CODESYM.36
		.LVL91:
  845 T3:    %RETURN %IF TERM > 0
				ldr	r3, [r4, #8]
				ldr	r3, [r3, #8]
				cmp	r3, #0
				popgt	{r4, r5, r6, r7, r8, pc}
		.LDL18:
				mov	r3, #844
				str	r3, [r1]
				ldr	r3, .L150+8
				ldr	r2, .L150+12
				str	r2, [r3]
  846        J = J+K+1
				ldr	r3, .L150
				ldr	r2, .L150+24
				str	r2, [r3]
				ldr	r3, .L150+8
				ldr	r2, .L150+12
				str	r2, [r3]
				ldr	r3, [r4]
				ldr	r2, [r4, #4]
				add	r3, r3, r2
				add	r3, r3, #1
				str	r3, [r4]
				b	.L146
		.L149:
  847        CODE SYM
				ldr	r5, .L150
				ldr	r3, .L150+28
				str	r3, [r5]
				mov	ip, r4
				bl	CODESYM.36
		.LVL89:
  848     %END
				ldr	r3, .L150+32
				str	r3, [r5]
				ldr	r6, .L150+8
				ldr	r7, .L150+12
				str	r7, [r6]
  849     K = SYM-'A'
				mov	r3, #848
				str	r3, [r5]
				str	r7, [r6]
				ldr	r2, [ip, #4]
				sub	r3, r2, #65
				str	r3, [sp, #4]
  850     %FALSE %UNLESS K >= 0 %AND K < 26
				pop	{r4, r5, r6, r7, r8, pc}
		.L143:
				cmp	r3, #25
				bls	.L257
				mov	r0, #0
		.L256:
		.LDL47:
  851     %FALSE %IF SYM = 'X' %AND CHAR(GETPOS)&128 # 0
				ldr	r3, .L281+8
				ldr	r2, .L281+12
				str	r2, [r3]
				cmp	r2, #88
				beq	.L277
		.L259:
				ldr	r3, .L281+32
				ldr	r0, [r3, #236]
				bl	CHAR.6
		.LVL184:
				tst	r0, #128
				movne	r0, #0
		.L258:
				bne	.L256
				b	.L259
		.L279:
  852     TERM = 0
				ldr	r3, .L281+8
				ldr	r1, .L281+16
				str	r1, [r3]
				mov	r3, #0
				str	r3, [r4, #8]
  853     PACK TRIPLE
				ldr	r3, .L281
				ldr	r2, .L281+4
				str	r2, [r3]
				mov	r3, #0
				str	r3, [sp]
				mov	ip, sp
				bl	PACKTRIPLE.35
		.LVL183:
  854     TAG1 = J
				ldr	r3, .L281+8
				ldr	r2, .L281+20
				str	r2, [r3]
				ldr	r3, [sp]
				str	r3, [r4, #16]
  855     %CYCLE
  856        J = 0
				movgt	r5, #0
  857        PACK TRIPLE %IF TERM <= 0
				ldr	r8, .L281
				ldr	r7, .L281+4
				mov	r3, #0
				str	r3, [sp]
				mov	ip, sp
				bl	PACKTRIPLE.35
		.LVL185:
				ldr	r5, [sp]
				b	.L261
		.L280:
				str	r7, [r8]
				ldr	r3, [r4, #8]
				cmp	r3, #0
				ble	.L279
		.L261:
  858        TAG2 = J
				ldr	r9, .L281+8
				ldr	fp, .L281+24
				str	fp, [r9]
				str	r5, [r4, #12]
  859        CODE SYM %WHILE TERM <= 0
				str	r7, [r8]
				ldr	r3, [r4, #8]
				cmp	r3, #0
				bgt	.L265
				mov	r6, sp
		.L262:
				str	r5, [sp]
				mov	ip, r6
				bl	CODESYM.36
		.LVL187:
				ldr	r5, [sp]
		.LDL49:
				ldr	r3, [r4, #8]
				cmp	r3, #0
				ble	.L262
		.L265:
		.LDL50:
  860        %EXIT %UNLESS TERM = QQ
				ldr	r10, .L281+28
				b	.L260
		.L277:
		.LDL48:
				ldr	r3, .L281+44
				str	r3, [r9]
				ldr	r2, [r10, #12]
				cmp	r2, r3
				bne	.L280
		.LDL51:
  861        TYPE = 1;  LOOKUP(0)
				str	r7, [r8]
				mov	r3, #1
				str	r3, [r4, #68]
				mov	ip, r4
				mov	r0, #0
				bl	LOOKUP.32
		.LVL188:
  862        FAULT('U') %IF TYPE # 0
				ldr	r3, .L281+48
				str	r3, [r9]
				ldr	r3, [r4, #68]
				cmp	r3, #0
				beq	.L266
				mov	ip, r4
				mov	r0, #85
				bl	FAULT.45
		.LVL189:
				b	.L266
		.L278:
  863        TAG1 = VAL
				ldr	r3, [r4, #64]
				str	r3, [r4, #16]
  864        TERM = 0;  CODE SYM
				str	r7, [r8]
				mov	r3, #0
				str	r3, [r4, #8]
				str	r5, [sp]
				mov	ip, sp
				bl	CODESYM.36
		.LVL186:
  865     %REPEAT
				mov	r3, #864
				str	r3, [r9]
		.L260:
  866     GET SYM %IF TERM = ' '
				cmp	r3, #32
				beq	.L278
		.L268:
				mov	ip, r4
				bl	GETSYM.7
		.LVL190:
				b	.L268
		.L282:
				.align	2
		.L281:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	850
				.word	851
				.word	853
				.word	857
				.word	.LANCHOR1
				.word	.LANCHOR0
				.word	866
				.word	867
				.word	859
				.word	861
		.LFE237:
				.align	2
		TAGREF.13:
		.LFB233:
  867     %TRUE
				ldr	r2, .L281+8
				ldr	r1, .L281+36
				str	r1, [r2]
				mov	r0, #1
				b	.L256
		.L266:
  868 %END
				ldr	r3, .L281+8
				ldr	r2, .L281+40
				str	r2, [r3]
				ldr	r3, .L281
				ldr	r2, .L281+4
				str	r2, [r3]
  869 
				add	sp, sp, #20
				@ sp needed
				pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.L257:
				mov	r4, ip
  870 %PREDICATE TAGIF
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
				mov	r4, ip
  871     %FALSE %UNLESS SYM='I' %AND CHAR(GETPOS)='F' %AND CHAR(GETPOS+1)=' '
				ldr	r3, [ip, #4]
				cmp	r3, #73
				beq	.L161
				mov	r0, #0
				ldr	r3, .L164+16
				ldr	r5, [r3, #236]
				mov	r0, r5
				bl	CHAR.6
		.LVL93:
				cmp	r0, #70
				beq	.L162
				mov	r0, #0
				pop	{r4, r5, r6, r7, r8, pc}
		.L162:
				add	r0, r5, #1
				bl	CHAR.6
		.LVL94:
				cmp	r0, #32
				beq	.L163
				mov	r0, #0
				pop	{r4, r5, r6, r7, r8, pc}
		.L163:
		.LDL22:
  872     GETPOS = GETPOS+2
				add	r5, r5, #2
				ldr	r3, .L164+16
				str	r5, [r3, #236]
  873     GET SYM
				ldr	r3, .L164
				ldr	r2, .L164+4
				str	r2, [r3]
				ldr	r3, .L164+8
				ldr	r2, .L164+12
				str	r2, [r3]
				ldr	r6, .L164+8
				ldr	r7, .L164+12
				str	r7, [r6]
				mov	ip, r4
				bl	GETSYM.7
		.LVL95:
  874     %TRUE
				ldr	r5, .L164
				ldr	r3, .L164+20
				str	r3, [r5]
				mov	r0, #1
				pop	{r4, r5, r6, r7, r8, pc}
		.L165:
				.align	2
		.L164:
				.word	_imp_current_line
				.word	871
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
				.word	873
				.word	874
		.LFE240:
				.align	2
		QUEUE.9:
		.LVL96:
		.LFB241:
  875 %END
				ldr	r3, .L164+24
				str	r3, [r5]
				str	r7, [r6]
  876 
				bx	lr
		.L161:
  877 %ROUTINE QUEUE(%INTEGER K)
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, lr}
				mov	r1, r0
  878 !!    INTEGER(QLIM) = K
  879     set INTEGER(QLIM, K)
				ldr	r5, .L168
				ldr	r4, [r5, #240]
				mov	r0, r4
		.LVL97:
				bl	SETINTEGER.8
		.LVL98:
  880 !!    QLIM = QLIM+1;  %MONITOR 21 %IF QLIM = DEFMIN
  881     QLIM = QLIM+1;  !{}%signal 2,1 %IF QLIM = DEFMIN
				add	r4, r4, #1
				str	r4, [r5, #240]
  882 %END
				ldr	r3, .L168+4
				ldr	r2, .L168+8
				str	r2, [r3]
  883 
				ldr	r3, .L168+12
				ldr	r2, .L168+16
				str	r2, [r3]
  884 %ROUTINE GET EXP
				pop	{r4, r5, r6, pc}
		.L169:
				.align	2
		.L168:
				.word	.LANCHOR0
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	882
		.LFE241:
				.align	2
		SCANARG.31:
		.LFB246:
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
				mov	r4, ip
  885 %INTEGER I,NBASE
  886 
  887     NBASE = NP
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				ldr	r3, .L389+8
				ldr	r5, [r3, #232]
		.LVL194:
  888     ->E3 %IF PEND # 0
				ldr	r3, [ip]
				cmp	r3, #0
				bne	.L294
		.L295:
		.L296:
		.LDL54:
  889 E1: NEST(0) %WHILE S('(')
				ldr	r3, .L389+12
				mov	r2, #888
				str	r2, [r3]
				mov	r6, #40
				mov	r7, #0
		.L297:
				mov	ip, r4
				mov	r0, r6
				bl	S.33
		.LVL195:
				cmp	r0, #0
				bne	.L374
				mov	r0, r7
				bl	NEST.0
		.LVL196:
				b	.L297
		.L374:
		.LDL55:
  890     NEST(-20) %IF S('#')
				ldr	r3, .L389+12
				ldr	r2, .L389+16
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	ip, r4
				mov	r0, #35
				bl	S.33
		.LVL197:
				cmp	r0, #0
				beq	.L375
		.L299:
				mvn	r0, #19
				bl	NEST.0
		.LVL207:
				b	.L299
		.L376:
  891     %IF TAG %START
				ldr	r3, .L389+12
				ldr	r2, .L389+20
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	ip, r4
				bl	TAG.34
		.LVL198:
				cmp	r0, #0
				bne	.L376
		.L294:
		.LDL57:
  892 E3:    TAGREF %IF PEND >= 0
				ldr	r3, .L389+12
				ldr	r2, .L389+24
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				ldr	r3, [r4]
				cmp	r3, #0
				blt	.L303
				mov	ip, r4
				bl	TAGREF.13
		.LVL199:
		.L303:
  893        PEND = 0
				ldr	r3, .L389+12
				mov	r2, #892
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	r3, #0
				str	r3, [r4]
  894        %IF TYPE = REG %AND TERM = '(' %START
				ldr	r3, [r4, #68]
				cmp	r3, #128
				bne	.L304
				ldr	r3, [r4, #8]
				cmp	r3, #40
				bne	.L304
  895           TYPE = 0 %IF SAVE&1 = 0;  VAL = VAL+VAL+SAVE
				ldr	r3, .L389+12
				ldr	r2, .L389+28
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				ldr	r3, .L389+32
				ldr	r3, [r3, #4]
				tst	r3, #1
				moveq	r2, #0
				streq	r2, [r4, #68]
		.L305:
				ldr	r2, [r4, #64]
				add	r3, r3, r2, lsl #1
				str	r3, [r4, #64]
  896        %FINISH
  897        FAULT('I') %AND TYPE=0 %IF TYPE&OPMASK # 0
		.L304:
				ldr	r3, [r4, #68]
				tst	r3, #61440
				bne	.L377
		.L306:
				mov	ip, r4
				mov	r0, #73
				bl	FAULT.45
		.LVL209:
				mov	r3, #0
				str	r3, [r4, #68]
				b	.L306
		.L378:
  898        %IF MODE # 0 %START
				ldr	r3, .L389+12
				ldr	r2, .L389+36
				str	r2, [r3]
				ldr	r3, [r4, #20]
				cmp	r3, #0
				beq	.L307
  899           %IF TYPE&REGXMASK # 0 %START
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				ldr	r3, [r4, #68]
				tst	r3, #144
				beq	.L307
  900              I = TYPE&15;  I = VAL %IF I = 0
		.LVL200:
				ands	r3, r3, #15
		.LVL201:
				ldreq	r3, [r4, #64]
		.LVL202:
		.L308:
  901              DUSE = DUSE+1 %IF I = DREG
				ldr	r2, [r4, #28]
				cmp	r3, r2
				ldreq	r3, [r4, #24]
		.LVL203:
				addeq	r3, r3, #1
				streq	r3, [r4, #24]
		.LVL204:
		.L307:
  902           %FINISH
  903        %FINISH
  904        %IF TERM = '(' %START
				ldr	r3, [r4, #8]
				cmp	r3, #40
				beq	.L378
		.L309:
		.LDL56:
  905           GET SYM
				mov	ip, r4
				bl	GETSYM.7
		.LVL210:
  906           I = TYPE&31
				ldr	r8, .L389+12
				ldr	r3, .L389+48
				str	r3, [r8]
				ldr	r9, [r4, #68]
				and	fp, r9, #31
		.LVL211:
  907           QUEUE(TYPE-I);  QUEUE(VAL)
				ldr	r6, .L389
				ldr	r7, .L389+4
				str	r7, [r6]
				bic	r0, r9, #31
				bl	QUEUE.9
		.LVL212:
				ldr	r0, [r4, #64]
				bl	QUEUE.9
		.LVL213:
  908           NEST(-21);  NEST(0)
				ldr	r10, .L389+52
				str	r10, [r8]
				str	r10, [r8]
				str	r7, [r6]
				mvn	r0, #20
				bl	NEST.0
		.LVL214:
				mov	r0, #0
				bl	NEST.0
		.LVL215:
  909           %IF I # 0 %START
				mov	r10, #908
				str	r10, [r8]
				str	r7, [r6]
				str	r10, [r8]
				str	r7, [r6]
				cmp	fp, #0
				beq	.L295
  910              QUEUE(REG);  QUEUE(I&15)
				str	r7, [r6]
				mov	r0, #128
				bl	QUEUE.9
		.LVL216:
				and	r0, r9, #15
				bl	QUEUE.9
		.LVL217:
  911              NEST(-1)
				mov	r6, r8
				ldr	r7, .L389+56
				str	r7, [r8]
				str	r7, [r8]
				ldr	r7, .L389
				ldr	r8, .L389+4
				str	r8, [r7]
				mvn	r0, #0
				bl	NEST.0
		.LVL218:
  912           %FINISH
				ldr	r3, .L389+60
				str	r3, [r6]
				str	r8, [r7]
  913           ->E1
				b	.L295
		.LVL219:
		.L301:
  914        %FINISH
  915     %finish %ELSE %IF '0' <= SYM <= '9' %START
				ldr	r3, [r4, #4]
				sub	r2, r3, #48
				cmp	r2, #9
				bhi	.L301
		.LDL59:
  916        TYPE = 0;  VAL = SYM-'0'
				mov	r2, #0
				str	r2, [r4, #68]
				sub	r3, r3, #48
				str	r3, [r4, #64]
  917        %CYCLE
  918           SYM = CHAR(GETPOS)-'0'
				ldr	r9, .L389+8
		.L312:
				ldr	r6, [r9, #236]
				mov	r0, r6
				bl	CHAR.6
		.LVL208:
				sub	r0, r0, #48
				str	r0, [r4, #4]
  919           %EXIT %UNLESS 0 <= SYM <= 9
				ldr	fp, .L389+12
				ldr	r10, .L389+44
				ldr	r8, .L389
				ldr	r7, .L389+4
				str	r10, [fp]
				str	r7, [r8]
				cmp	r0, #9
				bgt	.L313
		.LDL58:
		.LDL61:
  920           VAL = (VAL<<2+VAL)<<1+SYM
				str	r7, [r8]
				ldr	r3, [r4, #64]
				add	r3, r3, r3, lsl #2
				add	r0, r0, r3, lsl #1
				str	r0, [r4, #64]
  921           GETPOS = GETPOS+1
				add	r6, r6, #1
				str	r6, [r9, #236]
  922        %REPEAT
				b	.L312
		.L377:
  923        GET SYM
				mov	ip, r4
				bl	GETSYM.7
		.LVL222:
  924     %finish %ELSE %IF SYM = 'X' %START
				cmp	r3, #88
				beq	.L379
		.LDL60:
				ldr	r3, .L389+12
				ldr	r2, .L389+72
				str	r2, [r3]
				b	.L309
		.L379:
  925        TYPE = 0;  VAL = 0
				mov	r3, #0
				str	r3, [r4, #68]
				str	r3, [r4, #64]
  926        %CYCLE
  927           SYM = CHAR(GETPOS)-128
				ldr	r9, .L389+8
				b	.L316
		.L317:
				ldr	r6, [r9, #236]
				mov	r0, r6
				bl	CHAR.6
		.LVL253:
				sub	r3, r0, #128
				str	r3, [r4, #4]
  928           %EXIT %IF SYM < 0
				ldr	r10, .L389+12
				ldr	fp, .L389+76
				ldr	r8, .L389
				ldr	r7, .L389+4
		.LDL62:
				str	fp, [r10]
				str	r7, [r8]
				cmp	r3, #0
				blt	.L317
		.LDL83:
  929           SYM = SYM-32 %IF SYM >= 96; !ENSURE UPPER-CASE
				str	r7, [r8]
				cmp	r3, #95
				subgt	r0, r0, #160
				strgt	r0, [r4, #4]
		.L318:
  930           %IF '0' <= SYM <= '9' %OR 'A' <= SYM <= 'F' %START
				ldr	r3, [r4, #4]
				cmp	r3, #57
				ble	.L320
		.L321:
				sub	r2, r3, #65
				cmp	r2, #5
				bls	.L322
		.LDL84:
  931              VAL = VAL<<4+SYM-'0'
				ldr	r2, [r4, #64]
				add	r3, r3, r2, lsl #4
				ldr	r3, .L389+116
				str	r3, [r10]
				ldr	r2, [r4, #64]
				add	r3, r3, r2, lsl #4
				sub	r3, r3, #48
				str	r3, [r4, #64]
  932              VAL = VAL-7 %IF SYM >= 'A'
				sub	r3, r3, #55
				str	r3, [r4, #64]
		.L323:
				b	.L323
		.L390:
				.align	2
		.L389:
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
				.word	_imp_current_line
				.word	889
				.word	890
				.word	891
				.word	894
				.word	.LANCHOR1
				.word	897
				.word	959
				.word	918
				.word	905
				.word	907
				.word	910
				.word	911
				.word	939
				.word	941
				.word	923
				.word	927
				.word	949
				.word	962
				.word	969
				.word	970
				.word	971
				.word	973
				.word	974
				.word	975
				.word	982
				.word	930
		.LFE242:
				.align	2
		GETINST.14:
		.LFB244:
  933           %finish %ELSE FAULT('H')
				mov	ip, r4
				mov	r0, #72
				bl	FAULT.45
		.LVL254:
				b	.L323
		.L320:
  934           GETPOS = GETPOS+1
				add	r6, r6, #1
				str	r6, [r9, #236]
  935        %REPEAT
		.L316:
  936        GET SYM
				mov	ip, r4
				bl	GETSYM.7
		.LVL223:
  937     %finish %ELSE %IF SYM&128 # 0 %START
				tst	r3, #128
				beq	.L314
				ldr	r3, .L389+12
				mov	r2, #936
				str	r2, [r3]
				b	.L309
		.L314:
		.LDL63:
  938        TYPE = 0;  VAL = SYM-128
				mov	r2, #0
				str	r2, [r4, #68]
				sub	r3, r3, #128
				str	r3, [r4, #64]
  939        GET SYM
				ldr	r6, .L389
				ldr	r7, .L389+4
				str	r7, [r6]
				mov	ip, r4
				bl	GETSYM.7
		.LVL220:
  940        %IF MODE >= 0 %AND SYM&128 # 0 %START
				ldr	r3, .L389+12
				ldr	r2, .L389+64
				str	r2, [r3]
				ldr	r3, [r4, #20]
				cmp	r3, #0
				blt	.L309
				ldr	r3, [r4, #4]
				tst	r3, #128
				beq	.L309
  941           VAL = VAL<<8+SYM-128;  GET SYM
				str	r7, [r6]
				ldr	r2, [r4, #64]
				add	r3, r3, r2, lsl #8
				sub	r3, r3, #128
				str	r3, [r4, #64]
				mov	ip, r4
				bl	GETSYM.7
		.LVL221:
  942        %FINISH
				ldr	r2, .L389+12
				ldr	r1, .L389+68
				str	r1, [r2]
  943     %finish %ELSE %IF S('.') %START
				b	.L309
		.L313:
				mov	ip, r4
				mov	r0, #46
				bl	S.33
		.LVL224:
				cmp	r0, #0
				bne	.L380
		.LDL65:
  944        ->ERR %IF %NOT TAG
				mov	ip, r4
				bl	TAG.34
		.LVL225:
				cmp	r0, #0
				beq	.L328
		.LDL64:
  945        TYPE = 0;  VAL = TAG1
				ldr	r3, .L389+12
				mov	r2, #944
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	r3, #0
				str	r3, [r4, #68]
				ldr	r3, [r4, #16]
				str	r3, [r4, #64]
  946     %finish %ELSE %IF S('*') %START
				b	.L309
		.L380:
				mov	ip, r4
				mov	r0, #42
				bl	S.33
		.LVL226:
				cmp	r0, #0
				bne	.L326
		.LDL66:
  947        TYPE = LOCTYPE&63;  VAL = LOC
				ldr	r3, [r4, #72]
				and	r3, r3, #63
				str	r3, [r4, #68]
				ldr	r3, [r4, #76]
				str	r3, [r4, #64]
  948        %IF SYM = 'L' %START;          !FOR NOW
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				ldr	r3, [r4, #4]
				cmp	r3, #76
				bne	.L309
  949           TYPE = 0;  VAL = LIST %IF TAG
				mov	r3, #0
				str	r3, [r4, #68]
				mov	ip, r4
				bl	TAG.34
		.LVL227:
				cmp	r0, #0
				ldreq	r3, .L389+32
				ldreq	r3, [r3, #16]
				streq	r3, [r4, #64]
				b	.L309
		.L326:
  950        %FINISH
				ldr	r3, .L389+12
				ldr	r2, .L389+80
				str	r2, [r3]
  951     %finish %ELSE %IF SYM = '-' %START
				ldr	r3, [r4, #4]
				cmp	r3, #45
				beq	.L381
		.LDL67:
  952        TYPE = 0;  VAL = 0
				mov	r3, #0
				str	r3, [r4, #68]
				str	r3, [r4, #64]
  953     %finish %ELSE %IF SYM = '\' %START
				cmp	r3, #92
				bne	.L328
				b	.L309
		.L333:
  954        TYPE = 0;  VAL = \0
				mov	r3, #0
				str	r3, [r4, #68]
				mvn	r3, #0
				str	r3, [r4, #64]
  955     %finish %ELSE ->ERR
				b	.L309
		.L381:
  956     QUEUE(TYPE);  QUEUE(VAL)
				ldr	r0, [r4, #68]
				bl	QUEUE.9
		.LVL205:
				ldr	r0, [r4, #64]
				bl	QUEUE.9
		.LVL206:
  957 
				ldr	r8, .L389+12
				mov	r9, #956
				str	r9, [r8]
				ldr	r6, .L389
				ldr	r7, .L389+4
				str	r7, [r6]
				str	r9, [r8]
				str	r7, [r6]
  958     %WHILE NP # NBASE %CYCLE
				ldr	r3, .L389+8
				ldr	r0, [r3, #232]
				cmp	r0, r5
				beq	.L332
				cmp	r0, r5
				beq	.L332
		.L335:
  959        %IF INTEGER(NP) < 0 %START
				bl	INTEGER.39
		.LVL230:
				cmp	r0, #0
				blt	.L333
		.LDL70:
  960           QUEUE(INTEGER(NP))
				mov	r9, r8
				ldr	r10, .L389+40
				mov	r8, r6
				mov	r6, r3
				b	.L335
		.L375:
				ldr	r0, [r6, #232]
				bl	INTEGER.39
		.LVL228:
				bl	QUEUE.9
		.LVL229:
				str	r10, [r9]
				str	r7, [r8]
  961        %finish %ELSE %START
				mov	r3, #960
				str	r3, [r9]
				str	r7, [r8]
		.L334:
		.LDL68:
  962           %EXIT %IF %NOT S(')')
				mov	ip, r4
				mov	r0, #41
				bl	S.33
		.LVL231:
				cmp	r0, #0
				bne	.L334
		.L332:
  963        %FINISH
				ldr	r3, .L389+84
				str	r3, [r9]
				str	r7, [r8]
  964        NP = NP+1
				ldr	r0, [r6, #232]
				add	r0, r0, #1
				str	r0, [r6, #232]
  965     %REPEAT
		.LDL69:
  966 
  967     I = 1
		.LVL232:
				mov	r6, #1
				mov	r6, #1
				mov	r6, #1
				mov	r6, #1
				mov	r6, #1
				mov	r6, #1
  968     NEST(-1) %AND ->E8 %IF S('+')
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	ip, r4
				mov	r0, #43
				bl	S.33
		.LVL233:
				subs	r6, r0, #0
				beq	.L336
		.LDL71:
				mvn	r0, #0
				bl	NEST.0
		.LVL243:
		.L339:
  969     NEST(-2) %AND ->E8 %IF S('-')
				ldr	r3, .L389+12
				mov	r2, #968
				str	r2, [r3]
				mov	ip, r4
				mov	r0, #45
				bl	S.33
		.LVL234:
				subs	r6, r0, #0
				beq	.L382
		.LDL72:
				mvn	r0, #1
				bl	NEST.0
		.LVL245:
				b	.L339
		.L383:
  970     NEST(-3) %AND ->E9 %IF S('&')
				ldr	r3, .L389+12
				ldr	r2, .L389+88
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	ip, r4
				mov	r0, #38
				bl	S.33
		.LVL235:
				cmp	r0, #0
				beq	.L383
		.LDL73:
				mvn	r0, #2
				bl	NEST.0
		.LVL246:
				b	.L339
		.L384:
  971     NEST(-4) %AND ->E9 %IF S('!')
				ldr	r3, .L389+12
				ldr	r2, .L389+92
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	ip, r4
				mov	r0, #33
				bl	S.33
		.LVL236:
				cmp	r0, #0
				beq	.L384
		.LDL74:
				mvn	r0, #3
				bl	NEST.0
		.LVL247:
				b	.L339
		.L385:
  972     NEST(-5) %AND ->E9 %IF S('\')
				ldr	r3, .L389+12
				ldr	r2, .L389+96
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	ip, r4
				mov	r0, #92
				bl	S.33
		.LVL237:
				cmp	r0, #0
				beq	.L385
		.LDL75:
				mvn	r0, #4
				bl	NEST.0
		.LVL248:
				b	.L339
		.L386:
  973     NEST(-6) %AND ->E9 %IF SS('<')
				ldr	r3, .L389+12
				mov	r2, #972
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	ip, r4
				mov	r0, #60
				bl	SS.17
		.LVL238:
				cmp	r0, #0
				beq	.L386
		.LDL76:
				mvn	r0, #5
				bl	NEST.0
		.LVL249:
				b	.L339
		.L387:
  974     NEST(-7) %AND ->E9 %IF SS('>')
				ldr	r3, .L389+12
				ldr	r2, .L389+100
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	ip, r4
				mov	r0, #62
				bl	SS.17
		.LVL239:
				cmp	r0, #0
				beq	.L387
		.LDL77:
				mvn	r0, #6
				bl	NEST.0
		.LVL250:
				b	.L339
		.L388:
  975     NEST(-8) %AND ->E9 %IF S('_')
				ldr	r3, .L389+12
				ldr	r2, .L389+104
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				mov	ip, r4
				mov	r0, #95
				bl	S.33
		.LVL240:
				cmp	r0, #0
				beq	.L388
		.LDL78:
				mvn	r0, #7
				bl	NEST.0
		.LVL251:
				b	.L339
		.LVL252:
		.L322:
  976     %RETURN %IF NP = NBASE
				ldr	r3, .L389+12
				ldr	r2, .L389+108
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				ldr	r3, .L389+8
				ldr	r3, [r3, #232]
				cmp	r3, r5
				popeq	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.LVL241:
		.L328:
		.LDL79:
		.LDL80:
  977 ERR:NP = NBASE
				ldr	r3, .L389+12
				mov	r2, #976
				str	r2, [r3]
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				ldr	r3, .L389+8
				str	r5, [r3, #232]
  978 !!    %MONITOR 19
  979 
  980 E8: I = 0
				mov	r6, #0
				b	.L339
		.LVL242:
		.L336:
  981 E9: ->E1 %UNLESS MODE = 2 %AND NP+1 = NBASE
				ldr	r3, [r4, #20]
				cmp	r3, #2
				bne	.L295
				ldr	r3, .L389+8
				ldr	r3, [r3, #232]
				add	r3, r3, #1
				cmp	r3, r5
				bne	.L295
		.LDL81:
  982     %IF FLAG = I %THEN FLAG = QLIM %ELSE FLAG = -1
				ldr	r3, .L389
				ldr	r2, .L389+4
				str	r2, [r3]
				ldr	r3, [r4, #52]
				cmp	r6, r3
		.LDL82:
				mvnne	r3, #0
				ldreq	r3, .L389+8
				ldreq	r3, [r3, #240]
				str	r3, [r4, #52]
				b	.L295
		.LVL244:
		.L382:
  983     ->E1
				ldr	r3, .L389+12
				ldr	r2, .L389+112
				str	r2, [r3]
  984 %END
  985 
  986 %ROUTINE CONDIT(%INTEGER QVAL)
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 8
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
				sub	sp, sp, #12
				str	r0, [sp, #4]
				mov	r7, ip
  987 %OWNINTEGER AND=1717, OR=16873
  988 %INTEGER J,K
  989     TRANSF = QSTART;  QSTART = QLIM
				ldr	r3, .L733
				ldr	r2, [r3, #304]
				str	r2, [r3, #308]
				ldr	r2, [r3, #240]
				str	r2, [r3, #304]
  990     J = 0
		.LVL621:
				mov	r3, #0
				str	r3, [sp]
  991     %CYCLE
  992        GET EXP
				mov	ip, r7
				bl	GETEXP.16
		.LVL637:
  993        %IF S('=') %START
				ldr	r6, .L733+4
				mov	fp, #992
				ldr	r5, .L733+8
				ldr	r4, .L733+12
		.LDL140:
				str	fp, [r6]
				str	r4, [r5]
				mov	ip, r7
				mov	r0, #61
				bl	S.33
		.LVL638:
				cmp	r0, #0
				bne	.L732
		.L711:
		.LVL639:
  994           K = 3
				ldr	r10, .L733+16
				b	.L710
		.LVL622:
		.L732:
				str	r10, [r6]
				str	r4, [r5]
				moveq	r9, #3
  995        %finish %ELSE %IF S('#') %START
				mov	ip, r7
				mov	r0, #35
				bl	S.33
		.LVL623:
				cmp	r0, #0
				beq	.L711
		.LDL141:
  996           K = \3
				mvneq	r9, #3
  997        %finish %ELSE %IF S('<') %START
				mov	ip, r7
				mov	r0, #60
				bl	S.33
		.LVL624:
				cmp	r0, #0
				beq	.L712
		.LDL142:
  998           K = \1;  K = 2 %IF S('=')
		.LVL629:
				mov	ip, r7
				mov	r0, #61
				bl	S.33
		.LVL630:
				cmp	r0, #0
				mvnne	r9, #1
				moveq	r9, #2
				b	.L711
		.LVL631:
		.L713:
  999        %finish %ELSE %IF S('>') %START
				mov	ip, r7
				mov	r0, #62
				bl	S.33
		.LVL625:
				cmp	r0, #0
				bne	.L713
				ldr	r3, .L733+4
				ldr	r2, .L733+20
				str	r2, [r3]
				ldr	r3, .L733+8
				ldr	r2, .L733+12
				str	r2, [r3]
		.LDL143:
 1000           K = \2;  K = 1 %IF S('=')
		.LVL626:
				mov	ip, r7
				mov	r0, #61
				bl	S.33
		.LVL627:
				cmp	r0, #0
				mvnne	r9, #2
				moveq	r9, #1
				b	.L711
		.LVL628:
		.L712:
 1001        %finish %ELSE %START
				ldr	r3, .L733+4
				mov	r2, #1000
				str	r2, [r3]
				ldr	r3, .L733+8
				ldr	r2, .L733+12
				str	r2, [r3]
 1002           QUEUE(-12)
				mvn	r0, #11
				bl	QUEUE.9
		.LVL632:
 1003           ->ANDOR
				ldr	r3, .L733+4
				ldr	r2, .L733+24
				str	r2, [r3]
				ldr	r3, .L733+8
				ldr	r2, .L733+12
				str	r2, [r3]
				b	.L715
		.L716:
 1004        %FINISH
 1005        GET EXP
				mov	ip, r7
				bl	GETEXP.16
		.LVL640:
 1006        QUEUE(-11);  QUEUE(K)
				ldr	r3, .L733+40
				str	r3, [r6]
				str	r4, [r5]
				mvn	r0, #10
				bl	QUEUE.9
		.LVL641:
				mov	r0, r9
				bl	QUEUE.9
		.LVL642:
 1007 ANDOR:
				ldr	r8, .L733+44
				str	r8, [r6]
				str	r4, [r5]
				str	r8, [r6]
				str	r4, [r5]
 1008        %EXIT %IF %NOT TAG
		.LDL144:
		.L715:
				mov	ip, r7
				bl	TAG.34
		.LVL643:
				cmp	r0, #0
				beq	.L716
		.LDL145:
 1009        %IF TAG1 = AND %AND TAG2 = 0 %START
				mov	r3, #1008
				str	r3, [r6]
				str	r4, [r5]
				ldr	r2, [r7, #16]
				ldr	r3, .L733+48
				cmp	r2, r3
				bne	.L717
				ldr	r3, [r7, #12]
				cmp	r3, #0
				bne	.L717
 1010 !!          %MONITOR 19 %IF J < 0
				str	r4, [r5]
 1011           J = 1;  QUEUE(-13)
		.LVL644:
				mvn	r0, #12
				bl	QUEUE.9
		.LVL645:
				mov	r3, #1
				str	r3, [sp]
 1012        %finish %ELSE %START
				ldr	r3, .L733+52
				str	r3, [r6]
				b	.L710
		.LVL646:
		.L731:
 1013 !!          %MONITOR 19 %IF TAG1 # OR %OR J > 0
 1014           J = -1;  QUEUE(-14)
		.LVL634:
				mvn	r0, #13
				bl	QUEUE.9
		.LVL635:
				mvn	r3, #0
				str	r3, [sp]
		.LVL636:
		.L710:
 1015        %FINISH
				ldr	r3, .L733+36
				str	r3, [r6]
 1016     %REPEAT
 1017     QUEUE(QVAL) %IF QVAL # 0
				ldr	r3, [sp, #4]
				cmp	r3, #0
				bne	.L731
		.L719:
				ldr	r0, [sp, #4]
				bl	QUEUE.9
		.LVL647:
				b	.L719
		.L734:
				.align	2
		.L733:
				.word	.LANCHOR0
				.word	_imp_current_line
				.word	_imp_current_file
				.word	.LC6
				.word	993
				.word	998
				.word	1002
				.word	1017
				.word	1018
				.word	1014
				.word	1005
				.word	1006
				.word	1717
				.word	1011
		.LFE243:
				.align	2
				.global	main
		main:
		.LVL648:
		.LFB199:
 1018     ASSEMBLE
				ldr	r3, .L733+4
				ldr	r2, .L733+28
				str	r2, [r3]
				ldr	r3, .L733+8
				ldr	r2, .L733+12
				str	r2, [r3]
				mov	ip, r7
				bl	ASSEMBLE.18
		.LVL633:
 1019     ATYPE=-1 %AND CREG=-1 %IF J < 0
				ldr	r3, .L733+4
				ldr	r2, .L733+32
				str	r2, [r3]
				ldr	r4, .L733+8
				ldr	r5, .L733+12
				str	r5, [r4]
				ldr	r3, [sp]
				cmp	r3, #0
				mvnlt	r3, #0
				strlt	r3, [r7, #60]
				strlt	r3, [r7, #56]
		.L722:
 1020 %END
				str	r5, [r4]
?OR unused
 1021 
				ldr	r3, .L733+4
				mov	r2, #1020
				str	r2, [r3]
 1022 %ROUTINE GET INST
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, lr}
				mov	r4, ip
				add	sp, sp, #12
				@ sp needed
				pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.L717:
 1023 %INTEGER I
 1024 !OPMASK VALUES
 1025 !    0100,0110,1100,1101,1110: DOUBLE WORD INSTRUCTIONS
				ldr	r5, .L396
				ldr	r6, .L396+4
				str	r6, [r5]
 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)
				ldr	r0, [ip, #68]
				bl	QUEUE.9
		.LVL255:
				ldr	r0, [r4, #64]
				bl	QUEUE.9
		.LVL256:
 1032     %RETURN %IF TYPE&16_7000 # 16_7000
				ldr	r7, .L396+8
				ldr	r8, .L396+12
				str	r8, [r7]
				str	r8, [r7]
				str	r6, [r5]
				ldr	r3, [r4, #68]
				and	r3, r3, #28672
				cmp	r3, #28672
				popne	{r4, r5, r6, r7, r8, r9, r10, pc}
		.LDL85:
 1033     %RETURN %IF TERM # ' ';           !NO OPERAND FOLLOWING =>
				ldr	r3, .L396+16
				str	r3, [r7]
				str	r6, [r5]
				ldr	r3, [r4, #8]
				cmp	r3, #32
				popne	{r4, r5, r6, r7, r8, r9, r10, pc}
 1034     %CYCLE
				ldr	r2, .L396+20
				str	r2, [r7]
 1035        GET EXP
				mov	ip, r4
				bl	GETEXP.16
		.LVL257:
 1036        QUEUE(-22)
				ldr	r9, .L396+24
				mov	r6, r5
				ldr	r5, .L396+4
				str	r9, [r7]
				str	r5, [r6]
				mvn	r0, #21
				bl	QUEUE.9
		.LVL258:
 1037        %RETURN %IF %NOT S(',')
				add	r8, r8, #5
		.L393:
		.LDL86:
		.LDL87:
				str	r8, [r7]
				str	r5, [r6]
				mov	ip, r4
				mov	r0, #44
				bl	S.33
		.LVL259:
				cmp	r0, #0
				bne	.L393
				pop	{r4, r5, r6, r7, r8, r9, r10, pc}
		.L397:
				.align	2
		.L396:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	1031
				.word	1032
				.word	1033
				.word	1035
				.word	1037
		.LFE244:
				.align	2
		READLINE.38:
		.LFB245:
 1038     %REPEAT
				ldr	r3, .L396+28
				str	r3, [r7]
				str	r5, [r6]
 1039 %END
?I unused
 1040 
 1041 %ROUTINE READ LINE
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
				mov	r4, ip
 1042 %INTEGER Q
 1043     PUTPOS = STARTPOS
				ldr	r3, .L438+8
				ldr	r2, [r3, #276]
				str	r2, [r3]
 1044     %IF MP = 0 %START
				ldr	r3, .L438
				ldr	r2, .L438+4
				str	r2, [r3]
				ldr	r9, [r3, #268]
				cmp	r9, #0
				bne	.L431
		.LDL88:
 1045        Q = 0;  PSEUDOLIM = 0
		.LVL260:
				ldr	r3, .L438+8
				mov	r2, #0
				str	r2, [r3, #280]
 1046        %CYCLE
 1047           READ SYMBOL(SYM)
				add	r8, r4, #4
		.LVL269:
		.LBB77:
		.LBI77:
 1048           READ SYMBOL(SYM) %AND Q=Q!!128 %IF SYM = ''''
				ldr	r5, .L438+12
				ldr	fp, .L438+16
				ldr	r7, .L438
				ldr	r6, .L438+4
		.LBB75:
		.LBI75:
				eor	r9, r9, #128
		.LVL266:
				b	.L403
		.LVL267:
		.L406:
				str	fp, [r5]
				str	r6, [r7]
				ldr	r3, [r4, #4]
				cmp	r3, #39
				beq	.L433
		.LVL271:
		.L403:
 1049           %EXIT %IF SYM = NL
				ldr	r3, .L438+36
				str	r3, [r5]
				str	r6, [r7]
				ldr	r3, [r4, #4]
				cmp	r3, #10
				beq	.L404
		.LDL91:
 1050           SYM = SYM-32 %IF SYM-Q >= 96; !LOWER-CASE -> UPPER-CASE
				ldr	r3, .L438+40
				str	r3, [r5]
				str	r6, [r7]
				sub	r2, r3, r9
				cmp	r2, #95
				subgt	r3, r3, #32
				strgt	r3, [r4, #4]
		.L405:
 1051           SYM = SYM+Q
				ldr	r0, [r4, #4]
				add	r0, r9, r0
				str	r0, [r4, #4]
 1052           %EXIT %IF SYM = '/' %AND PSEUDOLIM # 0
				cmp	r0, #47
				bne	.L406
				ldr	r3, [r10, #280]
				cmp	r3, #0
				beq	.L407
		.L404:
 1053           %IF SYM = ' ' %START
				cmp	r0, #32
				bne	.L407
		.LDL90:
 1054              PSEUDOLIM = PUTPOS %IF PSEUDOLIM = 0
				ldr	r3, [r10, #280]
				cmp	r3, #0
				ldreq	r3, [r10]
				streq	r3, [r10, #280]
				b	.L409
		.L407:
 1055           %finish %ELSE PSEUDOLIM = 0
				mov	r10, r3
				b	.L402
		.LVL261:
		.L431:
				mov	r3, #0
				str	r3, [r10, #280]
		.L409:
 1056           PUT CHAR(SYM)
				bl	PUTCHAR.37
		.LVL268:
 1057        %REPEAT
				mov	r3, #1056
				str	r3, [r5]
		.L402:
 1058        %IF PSEUDOLIM # 0 %START
				ldr	r3, .L438+8
				ldr	r3, [r3, #280]
				cmp	r3, #0
				bne	.L434
		.LVL272:
		.L410:
 1059           Q = PUTPOS;  PUTPOS = PSEUDOLIM
				ldr	r5, .L438+8
				ldr	r6, [r5]
		.LVL277:
				str	r3, [r5]
 1060           PUT CHAR(NL)
				mov	r0, #10
				bl	PUTCHAR.37
		.LVL278:
 1061           PUTPOS = Q
				ldr	r3, .L438+12
				ldr	r2, .L438+52
				str	r2, [r3]
				str	r6, [r5]
 1062        %FINISH
 1063        %CYCLE
				b	.L410
		.LVL279:
		.L411:
 1064           PUT CHAR(SYM)
				ldr	r0, [r4, #4]
				bl	PUTCHAR.37
		.LVL273:
 1065           %EXIT %IF SYM = NL
				ldr	r7, .L438+12
				ldr	r9, .L438+44
				ldr	r6, .L438
				ldr	r5, .L438+4
				str	r9, [r7]
				str	r5, [r6]
				ldr	r3, [r4, #4]
				cmp	r3, #10
				beq	.L411
		.LDL92:
		.LDL93:
 1066           READ SYMBOL(SYM)
				str	r5, [r6]
		.LVL274:
		.LBB79:
		.LBI79:
 1067        %REPEAT
				ldr	r10, .L438+48
		.L412:
				str	r10, [r7]
				b	.L412
		.LVL276:
		.L434:
 1068        PRINTPOS = STARTPOS
				ldr	r3, .L438+8
				ldr	r2, [r3, #276]
				str	r2, [r3, #284]
 1069     %finish %ELSE %START
		.L413:
 1070        GETPOS = INTEGER(MP)
				mov	r0, r9
				bl	INTEGER.39
		.LVL262:
				ldr	r3, .L438+8
				str	r0, [r3, #236]
 1071        %IF CHAR(GETPOS) = 0 %START
				ldr	r5, .L438+12
				ldr	r3, .L438+20
				str	r3, [r5]
				bl	CHAR.6
		.LVL263:
				cmp	r0, #0
				beq	.L432
		.LDL89:
 1072           QBASE = MP
				ldr	r3, .L438+24
				str	r3, [r5]
				ldr	r3, .L438
				ldr	r2, .L438+4
				str	r2, [r3]
				ldr	r5, .L438+8
				ldr	r0, [r5, #268]
				str	r0, [r5, #288]
 1073           GETPOS = INTEGER(MP+2)
				ldr	r6, .L438
				ldr	r7, .L438+4
				str	r7, [r6]
				add	r0, r0, #2
				bl	INTEGER.39
		.LVL281:
				str	r0, [r5, #236]
 1074           STARTPOS = INTEGER(MP+3)
				ldr	r8, .L438+12
				ldr	r3, .L438+64
				str	r3, [r8]
				ldr	r0, [r5, #268]
				add	r0, r0, #3
				bl	INTEGER.39
		.LVL282:
				str	r0, [r5, #276]
 1075           MP = INTEGER(MP+4)
				ldr	r3, .L438+68
				str	r3, [r8]
				str	r7, [r6]
				ldr	r0, [r5, #268]
				add	r0, r0, #4
				bl	INTEGER.39
		.LVL283:
				str	r0, [r5, #268]
 1076           %IF MP < 0 %START
				ldr	r3, .L438+72
				str	r3, [r8]
				str	r7, [r6]
				cmp	r0, #0
				blt	.L435
		.L416:
 1077              MP = MP-8_700000
				str	r7, [r6]
				sub	r0, r0, #229376
				str	r0, [r5, #268]
				ldr	r3, .L438+88
 1078              %WHILE INTEGER(NP)&16_8000 = 0 %CYCLE
				ldr	r0, [r5, #232]
				bl	INTEGER.39
		.LVL286:
				tst	r0, #32768
				beq	.L418
		.LDL94:
 1079                 FAULT('C');  NP = NP+2
				mov	r6, r8
				mov	r10, #67
				mov	ip, r4
				mov	r0, r10
				bl	FAULT.45
		.LVL285:
				ldr	r3, [r5, #232]
				add	r3, r3, #2
				str	r3, [r5, #232]
				str	r3, [r6]
 1080              %REPEAT
				ldr	r9, .L438
				mov	r8, r7
				ldr	r7, .L438+92
				b	.L417
		.L418:
				str	r8, [r9]
				mov	r3, r7
		.L417:
 1081              SET LAB(LOC)
				mov	ip, r4
				ldr	r0, [r4, #76]
				bl	SETLAB.10
		.LVL287:
 1082           %FINISH
				ldr	r3, .L438+12
				ldr	r2, .L438+96
				str	r2, [r3]
				ldr	r3, .L438
				ldr	r2, .L438+4
				str	r2, [r3]
 1083           PRINTPOS = 0 %IF LIST&2 # 0
				ldr	r3, .L438+28
				ldr	r3, [r3, #16]
				tst	r3, #2
				ldrne	r3, .L438+8
				movne	r2, #0
				strne	r2, [r3, #284]
		.L419:
				b	.L416
		.L436:
 1084           GET SYM;                    !TERMINATOR
				ldr	r3, .L438
				ldr	r2, .L438+4
				str	r2, [r3]
				mov	ip, r4
				bl	GETSYM.7
		.LVL284:
 1085           GET SYM %IF SYM = ';'
				ldr	r5, .L438+12
				ldr	r3, .L438+76
				str	r3, [r5]
				ldr	r3, [r4, #4]
				cmp	r3, #59
				beq	.L436
		.L420:
				mov	ip, r4
				bl	GETSYM.7
		.LVL288:
				b	.L420
		.L423:
		.LDL95:
 1086           %RETURN
				ldr	r3, .L438+80
				str	r3, [r5]
				ldr	r3, .L438
				ldr	r2, .L438+4
				str	r2, [r3]
				ldr	r2, .L438+84
				b	.L421
		.L435:
 1087        %FINISH
				ldr	r3, .L438+12
				str	r2, [r3]
				ldr	r3, .L438
				ldr	r2, .L438+4
				str	r2, [r3]
 1088        PRINTPOS = STARTPOS %IF LIST&2 # 0
				ldr	r3, .L438+28
				ldr	r3, [r3, #16]
				tst	r3, #2
				ldrne	r3, .L438+8
				ldrne	r2, [r3, #276]
				strne	r2, [r3, #284]
		.L414:
 1089        QQ = 0
				ldr	r3, .L438+28
				mov	r2, #0
				str	r2, [r3, #12]
 1090        %CYCLE
 1091           SYM = CHAR(GETPOS);  GETPOS = GETPOS+1
				ldr	r8, .L438+8
				b	.L422
		.LVL264:
		.L433:
				ldr	r9, [r8, #236]
				mov	r0, r9
				bl	CHAR.6
		.LVL291:
				str	r0, [r4, #4]
				add	r9, r9, #1
				str	r9, [r8, #236]
 1092           %IF TAG %START
				ldr	r7, .L438+12
				ldr	r10, .L438+32
				ldr	r6, .L438
				ldr	r5, .L438+4
				str	r10, [r7]
				str	r5, [r6]
				str	r5, [r6]
				mov	ip, r4
				bl	TAG.34
		.LVL292:
				cmp	r0, #0
				bne	.L423
 1093              SYM=TERM %AND GETPOS=GETPOS-1 %IF TERM = ' '
				ldr	r3, .L438+104
				str	r3, [r7]
				ldr	r3, [r4, #8]
				cmp	r3, #32
				streq	r3, [r4, #4]
				ldreq	r3, [r8, #236]
				subeq	r3, r3, #1
				streq	r3, [r8, #236]
		.L424:
 1094              TYPE = INTEGER(MP);  VAL = GETPOS-1
				ldr	r3, .L438+108
				str	r3, [r7]
				str	r5, [r6]
				ldr	r0, [r8, #268]
				bl	INTEGER.39
		.LVL293:
				str	r0, [r4, #68]
				ldr	r3, [r8, #236]
				sub	r3, r3, #1
				str	r3, [r4, #64]
 1095              LOOKUP(4)
				ldr	r3, .L438+112
				str	r3, [r7]
				str	r5, [r6]
				mov	ip, r4
				mov	r0, #4
				bl	LOOKUP.32
		.LVL294:
 1096              %WHILE TYPE # VAL %CYCLE
				ldr	r3, .L438+116
				str	r3, [r7]
				ldr	r0, [r4, #68]
				ldr	r3, [r4, #64]
				cmp	r0, r3
				beq	.L423
				ldr	r3, [r4, #64]
				cmp	r3, r0
				bne	.L425
				b	.L423
		.L437:
 1097                 PUT CHAR(CHAR(TYPE))
				str	r5, [r6]
				bl	CHAR.6
		.LVL295:
				bl	PUTCHAR.37
		.LVL296:
 1098                 TYPE = TYPE+1
				ldr	r9, .L438+120
		.L425:
				str	r9, [r7]
				str	r5, [r6]
				ldr	r0, [r4, #68]
				add	r0, r0, #1
				str	r0, [r4, #68]
 1099              %REPEAT
				str	r5, [r6]
		.LDL97:
 1100           %FINISH
 1101           PUT CHAR(SYM)
				ldr	r0, [r4, #4]
				bl	PUTCHAR.37
		.LVL289:
 1102 !!          INTEGER(MP) = GETPOS
				ldr	r3, .L438+100
				str	r3, [r7]
				str	r5, [r6]
 1103           set INTEGER(MP, GETPOS)
				ldr	r1, [r8, #236]
				ldr	r0, [r8, #268]
				bl	SETINTEGER.8
		.LVL290:
 1104           %EXIT %IF SYM = NL
				ldr	r3, [r4, #4]
				cmp	r3, #10
				beq	.L437
		.L422:
		.LDL96:
		.LDL98:
 1105        %REPEAT
				mov	r3, #1104
				str	r3, [r7]
				str	r5, [r6]
 1106        QQ = '?'
				ldr	r3, .L438+28
				mov	r2, #63
				str	r2, [r3, #12]
 1107     %FINISH
 1108     QBASE = (PUTPOS+1)>>1
				ldr	r2, .L438+8
				ldr	r3, [r2]
				add	r3, r3, #1
				asr	r3, r3, #1
				str	r3, [r2, #288]
				b	.L413
		.L439:
				.align	2
		.L438:
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR0
				.word	_imp_current_line
				.word	1047
				.word	1070
				.word	1071
				.word	.LANCHOR1
				.word	1091
				.word	1048
				.word	1049
				.word	1064
				.word	1066
				.word	1060
				.word	1109
				.word	1110
				.word	1073
				.word	1074
				.word	1075
				.word	1084
				.word	1085
				.word	1086
				.word	1078
				.word	1080
				.word	1081
				.word	1101
				.word	1092
				.word	1093
				.word	1094
				.word	1095
				.word	1097
		.LFE245:
				.align	2
		_imp_SELECTINPUT:
		.LVL297:
		.LFB105:
 1109     GETPOS = STARTPOS;  GET SYM
				ldr	r3, .L438
				ldr	r2, .L438+4
				str	r2, [r3]
				ldr	r3, [r2, #276]
				str	r3, [r2, #236]
				mov	ip, r4
				bl	GETSYM.7
		.LVL280:
 1110 %END
				ldr	r3, .L438+12
				ldr	r1, .L438+56
				str	r1, [r3]
				ldr	r2, .L438+60
		.L421:
 1111 
 1112 %ROUTINE SCAN ARG
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 8
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
				sub	sp, sp, #12
				mov	r7, ip
				mov	r5, #0
				pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.L432:
 1113 !    SET TYPE,VAL TO START,LIM OF ARG IF NOT NULL
 1114 %INTEGER I,J
				ldr	r3, .L189+8
				ldr	r2, .L189+12
				str	r2, [r3]
 1115     %RETURN %IF SYM='I' %AND CHAR(GETPOS)='F' %AND CHAR(GETPOS+1)=' '
				ldr	r3, [ip, #4]
				cmp	r3, #73
				beq	.L188
		.L171:
				ldr	r3, .L189+16
				ldr	r4, [r3, #236]
				mov	r0, r4
				bl	CHAR.6
		.LVL104:
				cmp	r0, #70
				bne	.L171
				add	r0, r4, #1
				bl	CHAR.6
		.LVL105:
				cmp	r0, #32
				beq	.L170
				b	.L171
		.LVL106:
		.L175:
 1116     I = GETPOS-1;  I = GETPOS %IF SYM = '['
				ldr	r3, .L189
				ldr	r2, .L189+4
				str	r2, [r3]
				ldr	r3, .L189+16
				ldr	r3, [r3, #236]
				str	r3, [sp, #4]
		.LVL99:
				ldr	r0, [r7, #4]
				cmp	r0, #91
				beq	.L173
				sub	r3, r3, #1
		.LVL100:
				str	r3, [sp, #4]
		.LDL23:
 1117     J = 0
		.LVL101:
 1118     %CYCLE
 1119        %EXIT %IF SYM = NL
				cmp	r0, #10
				beq	.L174
		.L185:
				cmp	r0, #10
				beq	.L178
		.LVL109:
		.L181:
		.LDL26:
				b	.L185
		.L190:
				.align	2
		.L189:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	1115
				.word	.LANCHOR0
				.word	1125
				.word	1130
				.word	1131
		.LFE246:
				.align	2
		SETACC.40:
		.LFB247:
 1120        %EXIT %IF (SYM=' ' %OR SYM=',' %OR SYM=';') %AND J<=0
				ldr	r3, .L189
		.LVL102:
				ldr	r2, .L189+4
				str	r2, [r3]
				ldr	r9, .L189
				ldr	r8, .L189+4
				b	.L181
		.LVL103:
		.L188:
				str	r8, [r9]
				cmp	r0, #32
				cmpne	r0, #44
				moveq	r3, #1
				movne	r3, #0
				eor	r3, r3, #1
				cmp	r0, #59
				moveq	r3, #0
				andne	r3, r3, #1
				cmp	r3, #0
				bne	.L175
		.L176:
				cmp	r5, #0
				bgt	.L177
		.L178:
				ldr	r3, .L189
				ldr	r2, .L189+4
				str	r2, [r3]
 1121        J = J+1 %IF SYM = '['
				ldr	fp, .L189+8
				cmp	r0, #91
				bne	.L179
				add	r5, r5, #1
		.LVL107:
 1122        %IF SYM = ']' %START
		.L177:
		.LDL24:
				cmp	r0, #93
				bne	.L177
 1123           J = J-1;  %EXIT %IF J = 0
		.LVL113:
				subs	r5, r5, #1
		.LVL114:
				bne	.L177
 1124        %FINISH
				str	r10, [fp]
 1125        SYM = CHAR(GETPOS);  GETPOS = GETPOS+1
				ldr	r6, .L189+16
				ldr	r4, [r6, #236]
				mov	r0, r4
				bl	CHAR.6
		.LVL108:
				str	r0, [r7, #4]
				add	r4, r4, #1
				str	r4, [r6, #236]
 1126     %REPEAT
				ldr	r10, .L189+20
		.LDL25:
 1127     %IF GETPOS-1 # I %START
				ldr	r3, .L189+16
				ldr	r3, [r3, #236]
				sub	r3, r3, #1
				ldr	r2, [sp, #4]
				cmp	r3, r2
				beq	.L174
		.L184:
				ldr	r3, .L189+16
				ldr	r3, [r3, #236]
				sub	r3, r3, #1
				ldr	r2, [sp, #4]
				cmp	r3, r2
				bne	.L184
 1128        TYPE = I;  VAL = GETPOS-1
				ldr	r2, [sp, #4]
				str	r2, [r7, #68]
				str	r3, [r7, #64]
 1129     %FINISH
 1130     GET SYM %IF SYM = ']'
		.LDL27:
				cmp	r0, #93
				beq	.L182
		.LVL110:
		.L174:
		.L182:
				mov	ip, r7
				bl	GETSYM.7
		.LVL115:
				b	.L174
		.LVL116:
		.L173:
 1131 %END
				ldr	r3, .L189+8
				ldr	r2, .L189+24
				str	r2, [r3]
		.LVL111:
		.L170:
				ldr	r3, .L189+8
				ldr	r2, .L189+24
				str	r2, [r3]
 1132 
				ldr	r3, .L189+8
				ldr	r2, .L189+28
				str	r2, [r3]
				ldr	r3, .L189
				ldr	r2, .L189+4
				str	r2, [r3]
 1133 
				add	sp, sp, #12
				@ sp needed
				pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.LVL112:
		.L179:
 1134 %ROUTINE SET ACC
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				@ link register save eliminated.
 1135 %INTEGER I
 1136     ACC = -1;  ATYPE = -1;  CREG = -1
				mvn	r3, #0
				str	r3, [ip, #40]
				str	r3, [ip, #60]
				str	r3, [ip, #56]
 1137     I = TEMPS
				ldr	r3, .L195
				ldr	r2, .L195+4
				str	r2, [r3]
				ldr	r3, .L195+8
				ldr	r3, [r3]
		.LVL117:
 1138     %RETURN %IF I = 0
				cmp	r3, #0
				bxeq	lr
 1139     %CYCLE
				ldr	r2, .L195+12
				ldr	r1, .L195+16
				str	r1, [r2]
 1140        ACC = ACC+1
				mov	r2, #0
				str	r2, [ip, #40]
				add	r2, r2, #1
 1141        %RETURN %IF I&1 # 0
				ands	r2, r3, #1
				bxne	lr
		.L193:
		.LDL28:
		.LDL29:
				tst	r3, #1
				beq	.L193
				ldr	r3, .L195
		.LVL119:
				ldr	r1, .L195+4
				str	r1, [r3]
				str	r2, [ip, #40]
				ldr	r3, .L195+12
				ldr	r2, .L195+20
				str	r2, [r3]
 1142        I = I>>1
				ldr	r2, .L195+12
				ldr	r1, .L195+20
				str	r1, [r2]
				lsr	r3, r3, #1
		.LVL118:
 1143     %REPEAT
		.LDL30:
 1144 %END
 1145 
 1146 !MAIN PROGRAM
				bx	lr
		.L196:
				.align	2
		.L195:
				.word	_imp_current_file
				.word	.LC6
				.word	.LANCHOR1
				.word	_imp_current_line
				.word	1138
				.word	1141
		.LFE247:
				.align	2
		BNEST.41:
		.LFB248:
 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
		.LDL146:
 1157        ->err %if event_event = 9
 1158        ->bend %if event_event = 1 %and event_sub = 9
 1159        %stop
 1160     %finish
 1161     
 1162     open input(MAIN, "interdata/test.hal")
				add	r10, sp, #360
				mov	r5, #256
				mov	r2, r5
				add	r1, r9, #308
				mov	r0, r10
				bl	memcpy
		.LVL652:
				add	r4, sp, #1376
				add	r4, r4, #8
				mov	r2, r5
				mov	r1, r10
				mov	r0, r4
				bl	memcpy
		.LVL653:
		.LBB167:
		.LBI167:
 1163     open input(PRE, "interdata/hal70.def")
				ldr	r3, .L962+28
				str	r3, [r8]
				add	r10, sp, #616
				mov	r2, r5
				add	r1, r9, #564
				mov	r0, r10
				bl	memcpy
		.LVL656:
				mov	r2, r5
				mov	r1, r10
				mov	r0, r4
				bl	memcpy
		.LVL657:
		.LBB169:
		.LBI169:
 1164     open output(BIN, "interdata/test.bin")
				ldr	r3, .L962+32
				str	r3, [r8]
				str	r7, [r6]
				add	r10, sp, #872
				mov	r2, r5
				add	r1, r9, #820
				mov	r0, r10
				bl	memcpy
		.LVL660:
				mov	r2, r5
				mov	r1, r10
				mov	r0, r4
				bl	memcpy
		.LVL661:
		.LBB171:
		.LBI171:
 1165     open output(LIS, "interdata/test.lis")
				ldr	r3, .L962+36
				str	r3, [r8]
				str	r7, [r6]
				add	r10, sp, #1120
				add	r10, r10, #8
				mov	r2, r5
				add	r1, r9, #1072
				add	r1, r1, #4
				mov	r0, r10
				bl	memcpy
		.LVL664:
				mov	r2, r5
				mov	r1, r10
				mov	r0, r4
				bl	memcpy
		.LVL665:
		.LBB173:
		.LBI173:
 1166     select output(0)
				ldr	r3, .L962+40
				str	r3, [r8]
				str	r7, [r6]
		.LVL668:
		.LBB175:
		.LBI175:
 1167 
				ldr	r3, .L962+44
				str	r3, [r8]
				str	r7, [r6]
 1168     %CYCLE I = 1,1,SBOUND
 1169        STORE(I) = 0
				mov	r2, #0
		.LVL670:
		.L736:
		.LDL147:
				str	r2, [r3, #4]!
 1170     %REPEAT
 1171 !!    CODEPOS = ADDR(STORE(1))
				ldr	r3, .L962+48
				add	r1, r3, #130048
				cmp	r3, r1
				bne	.L736
		.LDL148:
 1172 {}    CODEPOS = 1
				ldr	r3, .L962+444
				mov	r2, #1
				str	r2, [r3, #8]
 1173     MACLIM = (CODEPOS+20)<<1
				mov	r2, #42
				str	r2, [r3, #248]
 1174 !!    STORELIM = ADDR(STORE(SBOUND))
 1175 {}    STORELIM = sbound
				mov	r2, #32512
				str	r2, [r3, #312]
 1176     NP = STORELIM
				str	r2, [r3, #232]
 1177     LABLIM = NP-60
				ldr	r0, .L962+52
				str	r0, [r3, #316]
 1178     BP = LABLIM
				str	r0, [r3, #244]
 1179     DEFLIM = BP-(SBOUND>>2)
				ldr	r1, .L962+56
				str	r1, [r3, #260]
 1180     DEFMIN = DEFLIM
				str	r1, [r3, #252]
 1181 !!    INTEGER(BP) = DEFLIM
 1182     set INTEGER(BP, DEFLIM)
				bl	SETINTEGER.8
		.LVL671:
 1183     SELECT INPUT(PRE)
				mov	r0, #2
				bl	_imp_SELECTINPUT
		.LVL672:
 1184 DO PASS:
				ldr	r3, .L962+8
				ldr	r2, .L962+60
				str	r2, [r3]
				ldr	r3, .L962
				ldr	r2, .L962+4
				str	r2, [r3]
 1185     STARTPOS = MACLIM
				ldr	r9, .L962+444
				ldr	r3, [r9, #248]
				str	r3, [r9, #276]
 1186     MP = 0
				ldr	r7, .L962
				ldr	r8, .L962+4
				str	r8, [r7]
				mov	r4, #0
				str	r4, [r9, #268]
 1187     ALMAX = DEFLIM
				ldr	r3, [r9, #260]
				str	r3, [r9, #264]
 1188     LABMIN = LABLIM
				ldr	r3, [r9, #316]
				str	r3, [r9, #272]
 1189     ASSCOND = 1;  SKIP = 0
		.LVL674:
				str	r4, [sp, #252]
				mov	r3, #1
				str	r3, [sp, #264]
 1190     LOCTYPE = MEMMASK+RELMASK;  LOC = 0
				mov	r3, #96
				str	r3, [sp, #344]
				str	r4, [sp, #348]
 1191     SET ACC
				add	ip, sp, #272
				bl	SETACC.40
		.LVL675:
 1192 READ: FSYM = ' ';  FAULTPOS = 0
				ldr	r10, .L962+8
		.LVL673:
		.L737:
				ldr	r3, .L962+64
				str	r3, [r10]
				mov	r3, #32
				str	r3, [sp, #352]
				mov	r3, #0
				str	r3, [r9, #292]
 1193     READ LINE
				add	r6, sp, #272
				b	.L739
		.LVL676:
		.L935:
				str	r8, [r7]
				mov	ip, r6
				bl	READLINE.38
		.LVL857:
 1194 NEXT:
				ldr	r3, .L962+524
				str	r3, [r10]
 1195     DREG = -1
				mvn	r3, #0
				str	r3, [sp, #300]
 1196     MODE = 0
				str	r8, [r7]
				mov	r2, #0
				str	r2, [sp, #292]
 1197     PEND = 0;  COND = 0
				str	r2, [sp, #272]
				str	r2, [sp, #320]
 1198     QSTART = QBASE;  QLIM = QSTART
				ldr	r3, [r9, #288]
				str	r3, [r9, #304]
				str	r3, [r9, #240]
 1199     FLAG = 0
				str	r2, [sp, #324]
 1200     %IF S('$') %START
		.LDL149:
				mov	ip, r6
				mov	r0, #36
				bl	S.33
		.LVL734:
				subs	r4, r0, #0
				bne	.L935
 1201        ->NEWPAGE %IF SYM = '/'
				mov	r3, #1200
				str	r3, [r10]
				ldr	r3, [sp, #276]
				cmp	r3, #47
				beq	.L744
		.LDL181:
 1202        ->ERR %IF %NOT TAG
				str	r8, [r7]
				mov	ip, r6
				bl	TAG.34
		.LVL735:
				cmp	r0, #0
				beq	.L745
		.LDL182:
 1203        ->ASSIF %IF TAG1 = IF
		.LDL154:
				ldr	r3, .L962+236
				str	r3, [r10]
				ldr	r3, [sp, #288]
				ldr	r2, .L962+240
				cmp	r3, r2
				beq	.L746
		.LDL183:
 1204        ->ASSELSE %IF TAG1 = ELS
		.LDL155:
				str	r8, [r7]
				ldr	r2, .L962+244
				cmp	r3, r2
				beq	.L936
		.LDL184:
 1205        ->ASSFIN %IF TAG1 = FIN
		.LDL156:
				ldr	r2, .L962+248
				cmp	r3, r2
				beq	.L937
		.LDL185:
 1206        ->LEND %IF SKIP # 0
				ldr	r2, [sp, #252]
				cmp	r2, #0
				bne	.L742
		.LDL186:
 1207        ->DEFINE %IF TAG1 = DEF
				ldr	r2, .L962+252
				str	r2, [r10]
				ldr	r2, .L962+556
				cmp	r3, r2
				beq	.L758
		.LDL187:
 1208        ->DEFINE %IF TAG1 = 19625;     !RED
				ldr	r2, .L962+256
				cmp	r3, r2
				beq	.L758
		.LDL188:
 1209        ->LISTC %IF TAG1 = 13350;      !LIS
		.LDL158:
				ldr	r2, .L962+260
				cmp	r3, r2
				beq	.L759
		.LDL189:
 1210        ->TEMP %IF TAG1 = 21780;       !TEM
		.LDL159:
				ldr	r2, .L962+264
				cmp	r3, r2
				beq	.L938
		.LDL190:
 1211        ->LOCC %IF TAG1 = 13556;       !LOC
				ldr	r2, .L962+268
				cmp	r3, r2
				beq	.L939
		.LDL191:
 1212        ->LOCC %IF TAG1 = 1917;        !ASS
				ldr	r2, .L962+272
				cmp	r3, r2
				beq	.L767
		.LDL192:
 1213        ->SAVC %IF TAG1 = 20568;       !SAV
		.LDL161:
				ldr	r2, .L962+276
				cmp	r3, r2
				bne	.L940
		.LDL193:
 1214        ->MACDEF %IF TAG1 = 14111;     !MAC
				ldr	r2, .L962+112
				cmp	r3, r2
				beq	.L927
		.LDL162:
		.LDL167:
 1215        ->BEGIN %IF TAG1 = 2460;       !BEG
				ldr	r2, .L962+116
				cmp	r3, r2
				beq	.L928
		.LDL163:
		.LDL174:
 1216        ->BEND %IF TAG1 = END
				ldr	r2, .L962+592
				cmp	r3, r2
				bne	.L929
		.LDL164:
		.LDL175:
 1217        FAULT('U')
				mov	r2, #1216
				str	r2, [r10]
				add	ip, sp, #272
				mov	r0, #85
				bl	FAULT.45
		.LVL720:
 1218        ->LEND
				b	.L776
		.L782:
 1219     %FINISH
 1220     ->LEND %IF SKIP # 0 %OR SYM = '/'
				ldr	r3, [sp, #252]
				cmp	r3, #0
				bne	.L742
				ldr	r3, [sp, #276]
		.LDL150:
 1221     ->LEND %IF SYM = NL
				str	r8, [r7]
				cmp	r3, #47
				cmpne	r3, #10
				beq	.L780
		.LDL151:
 1222     %IF TAG %START
				mov	ip, r6
				bl	TAG.34
		.LVL677:
				cmp	r0, #0
				bne	.L781
 1223        ->LABDEF %IF TERM = ':'
				ldr	r3, .L962+68
				str	r3, [r10]
				ldr	r3, [sp, #280]
				cmp	r3, #58
				beq	.L782
		.LDL152:
		.LDL176:
 1224        MODE = 1
				str	r8, [r7]
				mov	r2, #1
				str	r2, [sp, #292]
 1225        ->ASSIGN %IF TERM = '(' %OR SYM = '='
				cmp	r3, #40
				beq	.L783
				ldr	r3, [sp, #276]
				cmp	r3, #61
				beq	.L783
		.LDL153:
		.LDL177:
 1226        ->JUMP %IF TAG1 = JUM %AND (TAG2=P %OR TAG2=PS)
				ldr	r3, [sp, #288]
				ldr	r2, .L962+72
				cmp	r3, r2
				bne	.L787
				ldr	r2, [sp, #284]
				ldr	r0, .L962+76
				ldr	r1, .L962+80
				cmp	r2, r0
				cmpne	r2, r1
				beq	.L923
		.L790:
		.LDL194:
 1227        ->IFC %IF TAG1 = IF
				ldr	r2, .L962+240
				cmp	r3, r2
				beq	.L793
		.LDL195:
		.LDL199:
 1228        ->ELSE %IF TAG1 = ELS %AND TAG2 = E
				ldr	r2, .L962+244
				cmp	r3, r2
				bne	.L941
				ldr	r2, .L962+292
				ldr	r1, [sp, #284]
				cmp	r1, r2
				beq	.L942
		.L800:
		.LDL200:
 1229        ->FINISH %IF TAG1 = FIN %AND TAG2 = ISH
				ldr	r2, .L962+248
				cmp	r3, r2
				bne	.L790
				ldr	r2, .L962+332
				ldr	r1, [sp, #284]
				cmp	r1, r2
				beq	.L945
		.L802:
		.LDL204:
 1230        ->WHILE %IF TAG1 = 25106 %AND TAG2 = 13173
				ldr	r2, .L962+84
				cmp	r3, r2
				bne	.L800
				ldr	r2, .L962+88
				ldr	r1, [sp, #284]
				cmp	r1, r2
				beq	.L924
		.L801:
		.LDL206:
 1231        ->CYCLE %IF TAG1 = 4269 %AND TAG2 = 13173
				ldr	r2, .L962+296
				cmp	r3, r2
				bne	.L802
				ldr	r3, .L962+88
				ldr	r2, [sp, #284]
				cmp	r2, r3
				beq	.L943
		.L803:
		.LDL207:
 1232        ->REPEAT %IF TAG1 = 19637 %AND TAG2 = 5544
				ldr	r2, .L962+336
				cmp	r3, r2
				bne	.L801
				ldr	r3, .L962+340
				ldr	r2, [sp, #284]
				cmp	r2, r3
				bne	.L803
		.LDL202:
 1233        MODE=-2 %AND ->DATA %IF TAG1 = B
				ldr	r2, .L962+92
				cmp	r3, r2
				mvneq	r3, #1
				beq	.L805
				b	.L803
		.L746:
		.LDL196:
				str	r3, [sp, #292]
 1234        TYPE = UMASK;  LOOKUP(0)
				mov	r3, #512
				str	r3, [sp, #340]
				mov	ip, r6
				mov	r0, #0
				bl	LOOKUP.32
		.LVL740:
 1235        ->MACCALL %IF TYPE&OPMASK = MACRO
				ldr	r3, .L962+300
				str	r3, [r10]
				ldr	r2, [sp, #340]
				and	r3, r2, #61440
				cmp	r3, #40960
				beq	.L806
		.LDL197:
		.LDL208:
 1236        ->MINST %IF TYPE&OPMASK # 0
				str	r8, [r7]
				cmp	r3, #0
				beq	.L944
		.LDL198:
		.LDL209:
 1237        FAULT('U') %AND ->LEND %IF TYPE&UMASK # 0
				tst	r2, #512
				bne	.L946
		.LDL210:
				add	ip, sp, #272
				mov	r0, #85
				bl	FAULT.45
		.LVL773:
				b	.L776
		.LVL774:
		.L949:
 1238        PEND = -1
				ldr	r3, .L962+396
				str	r3, [r10]
				mvn	r3, #0
				str	r3, [sp, #272]
 1239     %FINISH
				mvn	r3, #0
		.L805:
 1240     MODE = -1
		.L781:
 1241 DATA:
 1242     %CYCLE
 1243        GET EXP;  ASSEMBLE
				mov	ip, r6
				bl	GETEXP.16
		.LVL779:
				mov	ip, r6
				bl	ASSEMBLE.18
		.LVL780:
 1244        FAULT('I') %IF TYPE&REGXMASK # 0
				ldr	fp, [sp, #260]
				b	.L826
		.L946:
				mov	ip, r6
				mov	r0, #73
				bl	FAULT.45
		.LVL775:
				b	.L812
		.LVL776:
		.L821:
				ldr	r3, .L962+404
				mov	r4, r3
				str	r3, [r10]
				str	r8, [r7]
				str	r4, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #340]
				tst	r3, #144
				bne	.L949
		.L812:
 1245        I = 1
		.LVL781:
				cmp	r4, #1000
				movge	r4, #1
		.L814:
		.LVL783:
				mov	r4, #1
				b	.L822
		.LVL787:
		.L950:
 1246        %IF S('$') %START
				str	r8, [r7]
				mov	ip, r6
				mov	r0, #36
				bl	S.33
		.LVL782:
				cmp	r0, #0
				bne	.L886
 1247           I = VAL %IF VAL < 1000
				ldr	r3, .L962+408
				str	r3, [r10]
				ldr	r4, [sp, #336]
 1248           QLIM = QSTART
				str	r8, [r7]
				ldr	r3, [r9, #304]
				str	r3, [r9, #240]
 1249           GET EXP;  ASSEMBLE
				mov	ip, r6
				bl	GETEXP.16
		.LVL784:
				mov	ip, r6
				bl	ASSEMBLE.18
		.LVL785:
 1250        %FINISH
				ldr	r3, .L962+412
				str	r3, [r10]
				ldr	r3, .L962+412
				str	r3, [r10]
				str	r8, [r7]
 1251        %WHILE I > 0 %CYCLE
		.LDL211:
				cmp	r4, #0
				bgt	.L822
				b	.L821
		.LVL786:
		.L886:
				subs	r4, r4, #1
		.LVL792:
				beq	.L821
		.LVL793:
		.L822:
 1252           %IF MODE # -1 %START
		.LDL212:
				ldr	r3, [sp, #292]
				cmn	r3, #1
				beq	.L950
 1253              FAULT('T') %IF VAL&16_FF00 # 0
				mov	ip, r6
				mov	r0, #84
				bl	FAULT.45
		.LVL789:
				b	.L819
		.L952:
				str	r8, [r7]
				ldr	r3, [sp, #336]
				tst	r3, #65280
				bne	.L951
		.L819:
 1254              %IF MODE = -2 %START
		.LDL213:
				ldr	r3, [sp, #292]
				cmn	r3, #2
				bne	.L952
 1255                 J = VAL<<8;  MODE = -3
				str	r5, [r10]
				str	r8, [r7]
				ldr	fp, [sp, #336]
		.LVL794:
				lsl	fp, fp, #8
		.LVL795:
				mvn	r3, #2
				str	r3, [sp, #292]
				ldr	r5, .L962+528
				b	.L740
		.LVL858:
		.L920:
				str	fp, [sp, #260]
				b	.L745
		.LVL859:
		.L959:
				ldr	r3, [sp, #264]
				str	r3, [sp, #252]
		.LVL860:
		.L883:
 1256              %finish %ELSE %START
				b	.L818
		.L963:
				.align	2
		.L962:
				.word	_imp_current_file
				.word	.LC6
				.word	_imp_current_line
				.word	_imp_OutStream
				.word	_imp_outfile
				.word	_imp_OUTFILE
				.word	.LANCHOR2
				.word	1162
				.word	1163
				.word	1164
				.word	1165
				.word	1166
				.word	STORE.133-4
				.word	32452
				.word	24324
				.word	1183
				.word	1191
				.word	1222
				.word	11642
				.word	17206
				.word	17983
				.word	25106
				.word	13173
				.word	2184
				.word	1452
				.word	1463
				.word	1495
				.word	1510
				.word	14111
				.word	2460
				.word	1577
				.word	1578
				.word	1579
				.word	1580
				.word	1585
				.word	1590
				.word	1591
				.word	1592
				.word	1594
				.word	1596
				.word	1533
				.word	1538
				.word	1539
				.word	1540
				.word	1546
				.word	1569
				.word	1277
				.word	1278
				.word	1285
				.word	1286
				.word	1287
				.word	1288
				.word	1293
				.word	1295
				.word	1310
				.word	1313
				.word	1319
				.word	1428
				.word	1430
				.word	1202
				.word	9991
				.word	5950
				.word	6907
				.word	1206
				.word	19625
				.word	13350
				.word	21780
				.word	13556
				.word	1917
				.word	20568
				.word	1527
				.word	1324
				.word	1325
				.word	5403
				.word	4269
				.word	1234
				.word	1330
				.word	1331
				.word	1377
				.word	1381
				.word	1382
				.word	1385
				.word	1386
				.word	10490
				.word	19637
				.word	5544
				.word	1416
				.word	1417
				.word	1419
				.word	1391
				.word	1393
				.word	1406
				.word	1407
				.word	1411
				.word	1335
				.word	1336
				.word	1337
				.word	1338
				.word	1339
				.word	1237
				.word	1265
				.word	1243
				.word	1246
				.word	1249
				.word	1261
				.word	1258
				.word	1272
				.word	1267
				.word	1289
				.word	1298
				.word	1300
				.word	.LANCHOR0
				.word	1315
				.word	1357
				.word	1358
				.word	1364
				.word	1353
				.word	1342
				.word	1347
				.word	1348
				.word	1350
				.word	1351
				.word	1352
				.word	1359
				.word	1401
				.word	1395
				.word	1400
				.word	1394
				.word	1397
				.word	.LANCHOR1
				.word	1439
				.word	1193
				.word	1254
				.word	1457
				.word	1445
				.word	1475
				.word	1479
				.word	1482
				.word	1484
				.word	4605
				.word	1485
				.word	1474
				.word	1477
				.word	1491
				.word	1506
				.word	1503
				.word	1548
				.word	1549
				.word	6009
				.word	_imp_current_line
				.word	1554
				.word	.LANCHOR0
				.word	1518
				.word	1519
				.word	1515
				.word	1516
				.word	65408
				.word	1447
				.word	_imp_current_file
				.word	.LC6
		.L948:
 1257                 VAL = VAL+J;  MODE = -2
				ldr	r3, [sp, #336]
				add	r3, r3, fp
				str	r3, [sp, #336]
				mvn	r3, #1
				str	r3, [sp, #292]
 1258                 PLANT VAL;  VAL = VAL&255
				mov	ip, r6
				bl	PLANTVAL.1
		.LVL790:
				ldrb	r3, [sp, #336]	@ zero_extendqisi2
				str	r3, [sp, #336]
 1259              %FINISH
				ldr	r3, .L962+420
				str	r3, [r10]
 1260           %finish %ELSE %START
		.L818:
 1261              PLANT VAL
				mov	ip, r6
				bl	PLANTVAL.1
		.LVL788:
 1262           %FINISH
				ldr	r3, .L962+416
				str	r3, [r10]
 1263           I = I-1
				b	.L818
		.L951:
		.LVL791:
 1264        %REPEAT
 1265        %EXIT %UNLESS S(',') %OR SYM&128 # 0
				mov	ip, r6
				mov	r0, #44
				bl	S.33
		.LVL777:
				cmp	r0, #0
				bne	.L947
				ldr	r3, [sp, #276]
				tst	r3, #128
				beq	.L948
		.L823:
		.LDL214:
 1266        %IF SYM = NL %START
				ldr	r3, .L962+400
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #276]
				cmp	r3, #10
				bne	.L823
 1267           PRINT LINE %IF PRINTPOS # 0;  READ LINE
				str	r8, [r7]
				ldr	r3, [r9, #284]
				cmp	r3, #0
				bne	.L953
		.L825:
				mov	ip, r6
				bl	READLINE.38
		.LVL797:
				mov	ip, r6
				bl	PRINTLINE.47
		.LVL798:
				b	.L825
		.LVL799:
		.L931:
 1268           QSTART = QBASE
				ldr	r3, .L962+428
				str	r3, [r10]
				ldr	r3, .L962+428
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [r9, #288]
				str	r3, [r9, #304]
 1269        %FINISH
 1270        QLIM = QSTART
				ldr	r3, [r9, #304]
				str	r3, [r9, #240]
				b	.L823
		.L953:
 1271     %REPEAT
		.LVL778:
		.L826:
 1272     VAL=J %AND PLANT VAL %IF MODE = -3
				ldr	r3, [sp, #292]
				cmn	r3, #3
				bne	.L762
				ldr	r3, [sp, #260]
				str	r3, [sp, #336]
				mov	ip, r6
				bl	PLANTVAL.1
		.LVL796:
				b	.L762
		.L947:
		.L815:
 1273     ->SEND
				str	fp, [sp, #260]
				ldr	r3, .L962+424
				str	r3, [r10]
				str	r8, [r7]
 1274 
 1275 LABDEF:
 1276     CREG = -1;  ATYPE = -1
				mvn	r3, #0
				str	r3, [sp, #328]
				str	r3, [sp, #332]
 1277     GET SYM
				mov	ip, r6
				bl	GETSYM.7
		.LVL721:
 1278     FAULT('C') %AND NP=STORELIM %IF NP # STORELIM
				ldr	r3, .L962+184
				str	r3, [r10]
				ldr	r4, [r9, #312]
				ldr	r3, [r9, #232]
				cmp	r3, r4
				beq	.L785
				mov	ip, r6
				mov	r0, #67
				bl	FAULT.45
		.LVL722:
				str	r4, [r9, #232]
		.L785:
 1279     TYPE = LOCTYPE;  VAL = LOC
				ldr	r3, .L962+188
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #344]
				str	r3, [sp, #340]
				ldr	r3, [sp, #348]
				str	r3, [sp, #336]
 1280     LOOKUP(7)
				str	r8, [r7]
				mov	ip, r6
				mov	r0, #7
				bl	LOOKUP.32
		.LVL723:
 1281     ->NEXT
				mov	r3, #1280
				str	r3, [r10]
				b	.L740
		.L783:
 1282 
 1283 ASSIGN:
 1284     PEND = 1
				mov	r3, #1
				str	r3, [sp, #272]
 1285     GET EXP
				mov	ip, r6
				bl	GETEXP.16
		.LVL724:
 1286     ->ERR %IF %NOT S('=')
				ldr	r3, .L962+192
				str	r3, [r10]
				mov	ip, r6
				mov	r0, #61
				bl	S.33
		.LVL725:
				cmp	r0, #0
				beq	.L745
		.LDL178:
 1287     QUEUE(-25);                       !'STORE'
				ldr	r3, .L962+196
				str	r3, [r10]
				str	r8, [r7]
				mvn	r0, #24
				bl	QUEUE.9
		.LVL726:
 1288     %IF INTEGER(QBASE) = REG %START
				ldr	r3, .L962+200
				str	r3, [r10]
				str	r8, [r7]
				ldr	r0, [r9, #288]
				bl	INTEGER.39
		.LVL727:
				cmp	r0, #128
				beq	.L931
		.L828:
 1289        DREG = INTEGER(QBASE+1)
				ldr	r3, .L962+204
				str	r3, [r10]
				str	r8, [r7]
				ldr	r0, [r9, #288]
				add	r0, r0, #1
				bl	INTEGER.39
		.LVL800:
				str	r0, [sp, #300]
 1290        DUSE = 0
				ldr	r3, .L962+432
				str	r3, [r10]
				str	r8, [r7]
				mov	r3, #0
				str	r3, [sp, #296]
 1291     %FINISH
 1292     QSTART = QLIM;  MODE = 2
				ldr	r3, [r9, #240]
				str	r3, [r9, #304]
				mov	r3, #2
				str	r3, [sp, #292]
				b	.L828
		.L932:
 1293     GET EXP
				str	r8, [r7]
				mov	ip, r6
				bl	GETEXP.16
		.LVL728:
 1294     %IF FLAG # 0 %START
				ldr	r3, .L962+208
				str	r3, [r10]
				ldr	r3, [sp, #324]
				cmp	r3, #0
				beq	.L829
 1295        %IF DREG<0 %AND FLAG-QSTART=QSTART-QBASE-1 %C
				str	r8, [r7]
				ldr	r2, [sp, #300]
				cmp	r2, #0
				bge	.L830
				ldr	r2, [r9, #304]
				ldr	r0, [r9, #288]
				sub	r3, r3, r2
				sub	r2, r2, r0
				sub	r2, r2, #1
				cmp	r3, r2
				beq	.L932
		.L830:
				bl	INTEGER.39
		.LVL801:
				tst	r0, #256
				bne	.L830
 1296           %AND INTEGER(QBASE)&BMASK=0 %START
				ldr	r2, .L962+212
				str	r2, [r10]
 1297        I = QBASE;  J = QSTART
				ldr	r2, [r9, #288]
		.LVL802:
				ldr	r3, [r9, #304]
		.LVL803:
				mov	fp, r3
				sub	r4, r2, r3
		.LVL804:
		.L831:
 1298        I = I+1 %AND J=J+1 %WHILE INTEGER(I) = INTEGER(J)
				str	r8, [r7]
				add	r0, r4, fp
		.LVL805:
				bl	INTEGER.39
		.LVL806:
				str	r0, [sp, #256]
				mov	r0, fp
				bl	INTEGER.39
		.LVL807:
				ldr	r3, [sp, #256]
				cmp	r3, r0
		.LVL808:
				addeq	fp, fp, #1
		.LVL809:
				beq	.L831
		.LVL810:
		.L954:
		.LDL215:
 1299        %IF J = FLAG %START
				ldr	r1, .L962+436
				str	r1, [r10]
				ldr	r3, [sp, #324]
				cmp	fp, r3
				bne	.L829
 1300           %IF INTEGER(QLIM-1) = -2 %START; !MINUS
				str	fp, [sp, #260]
				str	r8, [r7]
				ldr	r3, .L962+444
				ldr	r0, [r3, #240]
				sub	r0, r0, #1
				bl	INTEGER.39
		.LVL811:
				cmn	r0, #2
				beq	.L835
		.LDL216:
 1301              QSTART = J-2
				ldr	r3, .L962+596
				ldr	r2, .L962+440
				str	r2, [r3]
				ldr	r4, [sp, #260]
		.LVL812:
				sub	r0, r4, #2
				ldr	r3, .L962+444
				str	r0, [r3, #304]
 1302 !!             INTEGER(QSTART) = 0;  INTEGER(QSTART+1) = 0
 1303              set INTEGER(QSTART, 0);  set INTEGER(QSTART+1, 0)
				mov	r1, #0
				bl	SETINTEGER.8
		.LVL813:
				mov	r1, #0
				sub	r0, r4, #1
				bl	SETINTEGER.8
		.LVL814:
 1304           %ELSE
				b	.L829
		.LVL815:
		.L933:
 1305              QSTART = J;  QLIM = QLIM-1
				ldr	r3, .L962+444
				ldr	r2, [sp, #260]
				str	r2, [r3, #304]
				ldr	r2, [r3, #240]
				sub	r2, r2, #1
				str	r2, [r3, #240]
 1306           %FINISH
 1307        %finish %ELSE FLAG = 0
				movne	r3, #0
				strne	r3, [sp, #324]
				b	.L829
		.L835:
 1308        %finish %ELSE FLAG = 0
				mov	r3, #0
				str	r3, [sp, #324]
		.L829:
 1309     %FINISH
 1310     QUEUE(-24);                       !'LOAD'
				mvn	r0, #23
				bl	QUEUE.9
		.LVL729:
 1311 
				ldr	r3, .L962+216
				str	r3, [r10]
				str	r8, [r7]
 1312 CONDQ:
 1313     %IF TAGIF %START
		.L792:
				mov	ip, r6
				bl	TAGIF.12
		.LVL730:
				cmp	r0, #0
				beq	.L933
		.L836:
 1314        MODE = MODE+4;  DREG = DREG-16; !SCARIFY
				ldr	r3, .L962+220
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #292]
				add	r3, r3, #4
				str	r3, [sp, #292]
				ldr	r3, [sp, #300]
				sub	r3, r3, #16
				str	r3, [sp, #300]
 1315        CONDIT(0)
				str	r8, [r7]
				mov	ip, r6
				bl	CONDIT.11
		.LVL816:
 1316        MODE = MODE-4;  DREG = DREG+16; !RESTORE
				ldr	r3, .L962+448
				str	r3, [r10]
				ldr	r3, [sp, #292]
				sub	r3, r3, #4
				str	r3, [sp, #292]
				ldr	r3, [sp, #300]
				add	r3, r3, #16
				str	r3, [sp, #300]
 1317        QLIM = QSTART;  QSTART = TRANSF
				ldr	r3, [r9, #304]
				str	r3, [r9, #240]
				ldr	r3, [r9, #308]
				str	r3, [r9, #304]
 1318     %FINISH
 1319     ASSEMBLE
				mov	ip, r6
				bl	ASSEMBLE.18
		.LVL731:
				b	.L836
		.L837:
 1320     ->SEND
				ldr	r3, .L962+224
				str	r3, [r10]
				str	r8, [r7]
		.L762:
		.LDL179:
 1321 
 1322 JUMP:
 1323     FLAG = TAG2-P;                    !POSITIVE IF SHORT
				sub	r2, r2, #17152
				sub	r2, r2, #54
				str	r2, [sp, #324]
 1324     GET EXP
				mov	ip, r6
				bl	GETEXP.16
		.LVL738:
 1325     QUEUE(-26);                       !'JUMP'
				ldr	r3, .L962+284
				str	r3, [r10]
				mvn	r0, #25
				bl	QUEUE.9
		.LVL739:
 1326     ->CONDQ
				ldr	r3, .L962+288
				str	r3, [r10]
				str	r8, [r7]
				b	.L792
		.L787:
 1327 
 1328 MINST:
 1329     MODE = -1
				mvn	r3, #0
				str	r3, [sp, #292]
 1330     GET INST
				mov	ip, r6
				bl	GETINST.14
		.LVL741:
 1331     QUEUE(-23);                       !'PLANT'
				ldr	r3, .L962+304
				str	r3, [r10]
				mvn	r0, #22
				bl	QUEUE.9
		.LVL742:
 1332     ->CONDQ
				ldr	r3, .L962+308
				str	r3, [r10]
				str	r8, [r7]
				b	.L792
		.L793:
 1333 
 1334 MACCALL:
 1335     QUEUE(0);                         !(DEFPOS)
				mov	r0, #0
				bl	QUEUE.9
		.LVL766:
 1336     QUEUE(0);                         !SPARE
				ldr	r4, .L962+8
				ldr	r3, .L962+376
				str	r3, [r4]
				mov	r0, #0
				bl	QUEUE.9
		.LVL767:
 1337     QUEUE(0);                         !(CALLPOS)
				ldr	r3, .L962+380
				str	r3, [r4]
				ldr	fp, .L962
				ldr	r5, .L962+4
				str	r5, [fp]
				mov	r0, #0
				bl	QUEUE.9
		.LVL768:
 1338     QUEUE(STARTPOS)
				ldr	r3, .L962+384
				str	r3, [r4]
				str	r5, [fp]
				ldr	r3, .L962+444
				ldr	r0, [r3, #276]
				bl	QUEUE.9
		.LVL769:
 1339     QUEUE(MP)
				ldr	r3, .L962+388
				str	r3, [r4]
				str	r5, [fp]
				ldr	r3, .L962+444
				ldr	r0, [r3, #268]
				bl	QUEUE.9
		.LVL770:
 1340     J = VAL;  QQ = 0
				ldr	r3, .L962+392
				str	r3, [r4]
				str	r5, [fp]
				ldr	r3, [sp, #336]
				str	r3, [sp, #260]
		.LVL771:
				ldr	r3, .L962+516
		.LVL772:
				mov	r2, #0
				str	r2, [r3, #12]
 1341     %CYCLE
 1342        %EXIT %IF CHAR(J) = NL;        !END OF MAC DEF
				b	.L809
		.L944:
		.LDL217:
				ldr	r0, [sp, #260]
				bl	CHAR.6
		.LVL828:
				cmp	r0, #10
				beq	.L837
		.LDL218:
 1343        I = GETPOS-1;                  !SAVE CALLPOS
				ldr	r3, .L962+468
				str	r3, [r4]
				ldr	fp, .L962+632
				str	r5, [fp]
				ldr	r2, .L962+604
				ldr	fp, [r2, #236]
				sub	fp, fp, #1
		.LVL829:
 1344        GETPOS = J;  GET SYM
				str	r5, [fp]
				ldr	r1, [sp, #260]
				str	r1, [r2, #236]
				mov	ip, r6
				bl	GETSYM.7
		.LVL830:
 1345 !!       %MONITOR 24 %IF %NOT TAG
				mov	r3, #1344
				str	r3, [r4]
 1346        TYPE = 0;  VAL = 0
				mov	r2, #0
				str	r2, [sp, #340]
				str	r2, [sp, #336]
 1347        SCAN ARG
				ldr	r3, .L962+632
				str	r5, [r3]
				mov	ip, r6
				bl	SCANARG.31
		.LVL831:
 1348        GET SYM %IF SYM = ','
				add	ip, sp, #272
				bl	GETSYM.7
		.LVL822:
				b	.L838
		.LVL823:
		.L842:
				ldr	r3, .L962+472
				str	r3, [r4]
				ldr	r3, [sp, #276]
				cmp	r3, #44
				beq	.L957
		.L838:
 1349        J = GETPOS-1;                  !SAVE DEFPOS
				ldr	r3, .L962+476
				str	r3, [r4]
				ldr	r3, .L962+632
				str	r5, [r3]
				ldr	r2, .L962+604
				ldr	r3, [r2, #236]
				sub	r1, r3, #1
				str	r1, [sp, #260]
		.LVL832:
 1350        GETPOS = I;  GET SYM;          !RESTORE CALLPOS
				ldr	r3, .L962+632
				str	r5, [r3]
				str	fp, [r2, #236]
				mov	ip, r6
				bl	GETSYM.7
		.LVL833:
 1351        SCAN ARG
				ldr	r3, .L962+480
				str	r3, [r4]
				mov	ip, r6
				bl	SCANARG.31
		.LVL835:
 1352        GET SYM %IF SYM = ','
				ldr	r3, .L962+484
				str	r3, [r4]
				ldr	r3, .L962+632
				mov	fp, r3
		.LVL834:
				str	r5, [r3]
				ldr	r3, [sp, #276]
				cmp	r3, #44
				bne	.L842
				add	ip, sp, #272
				bl	GETSYM.7
		.LVL836:
				b	.L842
		.LVL837:
		.L955:
 1353        QUEUE(TAG1);  QUEUE(TAG2)
				ldr	r0, [sp, #288]
				bl	QUEUE.9
		.LVL824:
				ldr	r0, [sp, #284]
				bl	QUEUE.9
		.LVL825:
				ldr	r3, .L962+488
				str	r3, [r4]
				str	r5, [fp]
 1354        QUEUE(TYPE);  QUEUE(VAL)
				ldr	fp, .L962+464
				str	fp, [r4]
				ldr	r3, .L962+632
				str	r5, [r3]
				str	fp, [r4]
				ldr	r3, .L962+632
				str	r5, [r3]
				ldr	r0, [sp, #340]
				bl	QUEUE.9
		.LVL826:
				ldr	r0, [sp, #336]
				bl	QUEUE.9
		.LVL827:
 1355     %REPEAT
				add	fp, fp, #1
				str	fp, [r4]
				ldr	r3, .L962+632
				str	r5, [r3]
				str	fp, [r4]
				ldr	r3, .L962+632
				str	r5, [r3]
		.L809:
 1356     QQ = '?'
				ldr	r3, .L962+516
				mov	r2, #63
				str	r2, [r3, #12]
 1357     GET SYM %IF SYM = ' '
				ldr	r3, .L962+632
				ldr	r2, .L962+636
				str	r2, [r3]
				ldr	r3, [sp, #276]
				cmp	r3, #32
				beq	.L955
		.L840:
				add	ip, sp, #272
				bl	GETSYM.7
		.LVL838:
				b	.L840
		.L956:
 1358     %IF TAGIF %START
				ldr	r3, .L962+596
				ldr	r2, .L962+452
				str	r2, [r3]
				add	ip, sp, #272
				bl	TAGIF.12
		.LVL817:
				cmp	r0, #0
				beq	.L956
		.L843:
 1359        CONDIT(-18)
				ldr	r3, .L962+596
				ldr	r2, .L962+456
				str	r2, [r3]
				ldr	r3, .L962+632
				ldr	r2, .L962+636
				str	r2, [r3]
				add	ip, sp, #272
				mvn	r0, #17
				bl	CONDIT.11
		.LVL839:
 1360        QLIM = QSTART
				ldr	r3, .L962+596
				ldr	r2, .L962+492
				str	r2, [r3]
				ldr	r3, .L962+632
				ldr	r2, .L962+636
				str	r2, [r3]
				ldr	r3, .L962+604
				ldr	r2, [r3, #304]
				str	r2, [r3, #240]
 1361 !!       INTEGER(QBASE+4) = MP+8_700000
 1362        set INTEGER(QBASE+4, MP+8_700000)
				ldr	r1, [r3, #268]
				ldr	r0, [r3, #288]
				add	r1, r1, #229376
				add	r0, r0, #4
				bl	SETINTEGER.8
		.LVL840:
 1363     %FINISH
 1364     QUEUE(0)
				mov	r0, #0
				bl	QUEUE.9
		.LVL818:
				b	.L843
		.LVL841:
		.L958:
 1365     STARTPOS = QLIM<<1
				ldr	r3, .L962+596
				ldr	r2, .L962+460
				str	r2, [r3]
				ldr	r3, .L962+632
				ldr	r2, .L962+636
				str	r2, [r3]
				ldr	r4, .L962+604
				ldr	r3, [r4, #240]
				lsl	r3, r3, #1
				str	r3, [r4, #276]
 1366     MP = QBASE
				ldr	r5, [r4, #288]
				str	r5, [r4, #268]
 1367 !!    INTEGER(MP) = J+1;                !START OF BODY
 1368     set INTEGER(MP, J+1);                !START OF BODY
				ldr	r3, [sp, #260]
				add	r1, r3, #1
				mov	r0, r5
				bl	SETINTEGER.8
		.LVL819:
 1369 !!    INTEGER(MP+2) = GETPOS-1
 1370     set INTEGER(MP+2, GETPOS-1)
				ldr	r1, [r4, #236]
				sub	r1, r1, #1
				add	r0, r5, #2
				bl	SETINTEGER.8
		.LVL820:
 1371     ->LEND
				b	.L776
		.LVL821:
		.L957:
 1372 
 1373 !CODING OF JUMPS: 1000 (SINGLE INST), 2000 (MAIN IF)
 1374 !                 4000 (ELSE), 6000 (IF AFTER ELSE)
 1375 
 1376 IFC:
 1377     CONDIT(-15)
				mov	ip, r6
				mvn	r0, #14
				bl	CONDIT.11
		.LVL743:
 1378     ->SEND
				ldr	r3, .L962+312
				str	r3, [r10]
				b	.L762
		.L942:
 1379 
 1380 ELSE:
 1381     ->CERR %IF INTEGER(NP)&16_2000 = 0
				ldr	r0, [r9, #232]
				bl	INTEGER.39
		.LVL744:
				tst	r0, #8192
				beq	.L757
		.LDL201:
 1382     QUEUE(0);  QUEUE(0)
				ldr	r3, .L962+316
				str	r3, [r10]
				mov	r0, #0
				bl	QUEUE.9
		.LVL745:
				mov	r0, #0
				bl	QUEUE.9
		.LVL746:
 1383     QUEUE(-16);  ASSEMBLE
				ldr	r4, .L962+320
				str	r4, [r10]
				str	r8, [r7]
				str	r4, [r10]
				str	r8, [r7]
				mvn	r0, #15
				bl	QUEUE.9
		.LVL747:
				mov	ip, r6
				bl	ASSEMBLE.18
		.LVL748:
 1384     ATYPE = -1; CREG = -1
				add	r4, r4, #1
				str	r4, [r10]
				str	r8, [r7]
				str	r4, [r10]
				str	r8, [r7]
				mvn	r3, #0
				str	r3, [sp, #332]
				str	r3, [sp, #328]
 1385     %IF TAGIF %START
				str	r8, [r7]
				mov	ip, r6
				bl	TAGIF.12
		.LVL749:
				cmp	r0, #0
				bne	.L762
 1386        CONDIT(-17)
				ldr	r3, .L962+324
				str	r3, [r10]
				mov	ip, r6
				mvn	r0, #16
				bl	CONDIT.11
		.LVL750:
 1387     %FINISH
				ldr	r3, .L962+328
				str	r3, [r10]
				str	r8, [r7]
 1388     ->SEND
				b	.L762
		.L941:
		.L794:
 1389 
 1390 FINISH:
 1391     ->CERR %IF INTEGER(NP)&16_6000 = 0
				ldr	r0, [r9, #232]
				bl	INTEGER.39
		.LVL756:
				tst	r0, #24576
				beq	.L757
		.LDL205:
 1392     I = LOC
				ldr	r3, .L962+356
				str	r3, [r10]
				ldr	r4, [sp, #348]
		.LVL757:
 1393     %WHILE INTEGER(NP)&16_4000 # 0 %CYCLE
				str	r8, [r7]
		.LDL219:
				ldr	r0, [r9, #232]
				bl	INTEGER.39
		.LVL844:
				tst	r0, #16384
				beq	.L958
 1394        %IF INTEGER(NP)&16_2000 # 0 %START; !IF AFTER ELSE
				ldr	r3, .L962+360
				str	r3, [r10]
				b	.L844
		.LVL758:
		.L924:
				ldr	r0, [r9, #232]
				bl	INTEGER.39
		.LVL845:
				tst	r0, #8192
				bne	.L846
		.LDL220:
 1395           SET LAB(I)
				mov	ip, r6
				mov	r0, r4
				bl	SETLAB.10
		.LVL843:
				ldr	r3, .L962+508
				str	r3, [r10]
				str	r8, [r7]
 1396        %finish %ELSE %START
				ldr	r3, .L962+500
				str	r3, [r10]
				str	r8, [r7]
		.L847:
 1397           SET LAB(LOC)
				mov	ip, r6
				ldr	r0, [sp, #348]
				bl	SETLAB.10
		.LVL846:
 1398           I = VAL+4
				ldr	r3, .L962+512
				str	r3, [r10]
				str	r8, [r7]
				ldr	r4, [sp, #336]
		.LVL847:
				add	r4, r4, #4
		.LVL848:
 1399        %FINISH
 1400     %REPEAT
		.L844:
				b	.L847
		.LVL849:
		.L921:
				str	fp, [sp, #260]
				b	.L762
		.LVL850:
		.L934:
 1401     SET LAB(I)
				mov	ip, r6
				mov	r0, r4
				bl	SETLAB.10
		.LVL842:
				ldr	r3, .L962+504
				str	r3, [r10]
				str	r8, [r7]
 1402     ->SEND
				ldr	r3, .L962+496
				str	r3, [r10]
				str	r8, [r7]
				b	.L762
		.L846:
 1403 
 1404 WHILE:
 1405     I = LOC;  ATYPE = -1;  CREG = -1
				ldr	fp, [sp, #348]
		.LVL759:
				mvn	r3, #0
				str	r3, [sp, #332]
				str	r3, [sp, #328]
 1406     CONDIT(-13)
				mov	ip, r6
				mvn	r0, #12
				bl	CONDIT.11
		.LVL760:
 1407     NEST(I);  NEST(1)
				ldr	r3, .L962+364
				str	r3, [r10]
				mov	r0, fp
				bl	NEST.0
		.LVL761:
				mov	r0, #1
				bl	NEST.0
		.LVL762:
 1408     ->SEND
				ldr	r4, .L962+368
				str	r4, [r10]
				str	r8, [r7]
				str	r4, [r10]
				str	r8, [r7]
				b	.L762
		.LVL763:
		.L943:
 1409 
 1410 CYCLE:
 1411     NEST(LOC);  NEST(1)
				ldr	r0, [sp, #348]
				bl	NEST.0
		.LVL764:
				mov	r0, #1
				bl	NEST.0
		.LVL765:
 1412     ATYPE = -1;  CREG = -1
				ldr	r4, .L962+372
				str	r4, [r10]
				str	r4, [r10]
				str	r8, [r7]
				mvn	r3, #0
				str	r3, [sp, #332]
				str	r3, [sp, #328]
 1413     ->SEND
				b	.L762
		.L806:
 1414 
 1415 REPEAT:
 1416     ->CERR %IF INTEGER(NP) # 1
				ldr	r0, [r9, #232]
				bl	INTEGER.39
		.LVL751:
				cmp	r0, #1
				bne	.L757
		.LDL203:
 1417     QUEUE(LOCTYPE);  QUEUE(INTEGER(NP+1))
				ldr	r3, .L962+344
				str	r3, [r10]
				ldr	r0, [sp, #344]
				bl	QUEUE.9
		.LVL752:
				ldr	r0, [r9, #232]
				add	r0, r0, #1
				bl	INTEGER.39
		.LVL753:
				bl	QUEUE.9
		.LVL754:
 1418     NP = NP+2
				ldr	r4, .L962+348
				str	r4, [r10]
				str	r8, [r7]
				str	r4, [r10]
				str	r8, [r7]
				ldr	r3, [r9, #232]
				add	r3, r3, #2
				str	r3, [r9, #232]
 1419     QUEUE(-26);                       !'JUMP'
				str	r8, [r7]
				mvn	r0, #25
				bl	QUEUE.9
		.LVL755:
 1420     FLAG = -1
				ldr	r3, .L962+352
				str	r3, [r10]
				mvn	r3, #0
				str	r3, [sp, #324]
 1421     ->CONDQ
				b	.L792
		.L945:
 1422 
 1423 CERR:
 1424     FAULT('C')
				mov	ip, r6
				mov	r0, #67
				bl	FAULT.45
		.LVL680:
 1425     ->LEND
				b	.L850
		.L937:
 1426 
 1427 SEND:
 1428     SET LAB(LOC) %IF INTEGER(NP)&16_1000 # 0
				ldr	r0, [r9, #232]
				bl	INTEGER.39
		.LVL732:
				tst	r0, #4096
				bne	.L934
		.L849:
				mov	ip, r6
				ldr	r0, [sp, #348]
				bl	SETLAB.10
		.LVL851:
				b	.L849
		.LVL852:
		.L919:
				str	fp, [sp, #260]
		.LVL853:
		.L745:
		.LDL221:
 1429     ->LEND %IF SYM = NL
				ldr	r3, .L962+228
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #276]
				cmp	r3, #10
				beq	.L850
		.LDL180:
 1430     ->NEXT %IF S(';')
				str	r8, [r7]
				mov	ip, r6
				mov	r0, #59
				bl	S.33
		.LVL733:
				cmp	r0, #0
				bne	.L745
		.L740:
 1431 
				ldr	r3, .L962+232
				str	r3, [r10]
 1432 ERR:FSYM = 'F';  FAULTPOS = GETPOS-1
				mov	r3, #70
				str	r3, [sp, #352]
				ldr	r3, [r9, #236]
				sub	r3, r3, #1
				str	r3, [r9, #292]
 1433     PRINTPOS = STARTPOS
				ldr	r3, [r9, #276]
				str	r3, [r9, #284]
 1434 
 1435 LEND:
 1436     ->READ %IF SKIP # 0 %AND LIST&4 = 0
				b	.L878
		.L936:
		.L848:
		.LVL854:
		.L850:
		.LDL222:
		.LDL223:
				ldr	r3, [sp, #252]
				cmp	r3, #0
				beq	.L851
		.L878:
				ldr	r3, .L962+516
				ldr	r3, [r3, #16]
				tst	r3, #4
				beq	.L739
		.LVL855:
		.L851:
				b	.L878
		.L780:
		.LVL919:
				b	.L851
		.LFE199:
				.section	.rodata
				.align	2
				.set	.LANCHOR2,. + 0
		.LC5:
				.byte	33
				.ascii	"Integer fetch was not aligned at \000"
		
		
		
		
				.space	221
		
		
		
		
		__PRETTY_FUNCTION__.53:
				.ascii	"_imp_SELECTINPUT\000"
		
		
		
				.space	3
		__PRETTY_FUNCTION__.85:
				.ascii	"_imp_SELECTOUTPUT\000"
		
		
		
				.space	2
		__PRETTY_FUNCTION__.50:
				.ascii	"_imp_OUTDEV\000"
		
		
		.LC0:
				.byte	18
				.ascii	"interdata/test.hal\000"
		
		
		
				.space	236
		
		
		
		
		.LC1:
				.byte	19
				.ascii	"interdata/hal70.def\000"
		
		
		
		
				.space	235
		
		
		
		
		.LC2:
				.byte	18
				.ascii	"interdata/test.bin\000"
		
		
		
				.space	236
		
		
		
		
		.LC3:
				.byte	18
				.ascii	"interdata/test.lis\000"
		
		
		
				.space	236
		
		
		
		
				.data
				.align	2
				.set	.LANCHOR1,. + 0
		TEMPS.97:
				.word	12
		SAVE.117:
				.word	1
		PASS.93:
				.word	-1
		QQ.106:
				.word	63
		LIST.118:
				.word	-1
		sw1_ASS.80:
				.word	.L670
				.word	.L671
				.word	.L672
				.word	.L673
				.word	.L664
				.word	.L655
				.word	.L653
				.word	.L651
				.word	.L641
				.word	.L635
				.word	.L634
				.word	.L674
				.word	.L633
				.word	.L632
				.word	.L631
				.word	.L630
				.word	.L628
				.word	.L624
				.word	.L623
				.word	.L608
				.word	.L675
				.word	.L676
				.word	.L605
				.word	.L604
				.word	.L603
				.word	.L602
				.word	.L601
				.word	.L600
				.word	.L594
				.word	.L597
				.bss
				.align	2
				.set	.LANCHOR0,. + 0
		PUTPOS.95:
				.space	4
		CHARS.99:
				.space	4
		CODEPOS.141:
				.space	4
		HOLD.52:
				.space	4
		BINCOUNT.96:
				.space	4
		BREC.92:
				.space	208
		
		
		
		
		CHECK.91:
				.space	4
		NP.138:
				.space	4
		GETPOS.100:
				.space	4
		QLIM.123:
				.space	4
		BP.136:
				.space	4
		MACLIM.140:
				.space	4
		DEFMIN.134:
				.space	4
		LINES.98:
				.space	4
		DEFLIM.135:
				.space	4
		ALMAX.130:
				.space	4
		MP.131:
				.space	4
		LABMIN.129:
				.space	4
		STARTPOS.132:
				.space	4
		PSEUDOLIM.94:
				.space	4
		PRINTPOS.104:
				.space	4
		QBASE.125:
				.space	4
		FAULTPOS.126:
				.space	4
		SEQ.51:
				.space	4
		ZQUERY.66:
				.space	4
		QSTART.124:
				.space	4
		TRANSF.101:
				.space	4
		STORELIM.139:
				.space	4
		LABLIM.137:
				.space	4
		STORE.133:
				.space	130048
		
		
		
		
		.Letext0:
 1437     ->READ %IF FSYM = ' ' %AND CHARS = 0 %AND %C
				str	r8, [r7]
				str	r8, [r7]
				mov	r3, #0
				str	r3, [sp, #252]
				b	.L851
		.LVL683:
		.L759:
				str	r8, [r7]
				ldr	r3, [sp, #352]
				cmp	r3, #32
				bne	.L853
				ldr	r3, [r9, #4]
				cmp	r3, #0
				bne	.L853
				ldr	r3, [r9, #284]
				cmp	r3, #0
				beq	.L739
				ldr	r3, [r9, #268]
				cmp	r3, #0
				beq	.L853
				ldr	r3, .L962+516
				ldr	r3, [r3, #16]
				tst	r3, #2
				beq	.L739
		.L853:
				ldr	r2, .L962+632
				ldr	r1, .L962+636
				str	r1, [r2]
				str	r3, [sp, #252]
				b	.L851
		.LVL918:
		.L742:
				str	r8, [r7]
				str	r8, [r7]
 1438      (PRINTPOS = 0 %OR (MP#0 %AND LIST&2=0))
 1439     PRINT LINE
				mov	ip, r6
				bl	PRINTLINE.47
		.LVL856:
 1440     ->READ
				ldr	r3, .L962+520
				str	r3, [r10]
		.L739:
 1441 
 1442 ASSIF:
 1443     ASSCOND = ASSCOND<<1
				ldr	r3, [sp, #264]
				lsl	r3, r3, #1
				str	r3, [sp, #264]
		.LVL678:
 1444     ->LEND %IF SKIP # 0
				ldr	r3, [sp, #252]
		.LVL679:
				cmp	r3, #0
				beq	.L749
		.L750:
 1445 A1: CONDIT(0)
				mov	ip, r6
				mov	r0, #0
				bl	CONDIT.11
		.LVL866:
 1446     SKIP = ASSCOND %IF COND # 0
				ldr	r3, .L962+536
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #320]
				str	r3, [sp, #252]
				cmp	r3, #0
				beq	.L854
		.L855:
		.LVL867:
 1447     PRINT LINE %IF PRINTPOS # 0
				mov	ip, r6
				bl	PRINTLINE.47
		.LVL861:
				b	.L850
		.LVL862:
		.L925:
				str	r8, [r7]
				ldr	r3, [r9, #284]
				cmp	r3, #0
				bne	.L959
				ldr	r3, [sp, #264]
				str	r3, [sp, #252]
				b	.L850
		.LVL868:
		.L889:
				ldr	r3, [r9, #284]
				cmp	r3, #0
				bne	.L883
 1448     ->LEND
				ldr	r3, .L962+628
				str	r3, [r10]
				ldr	r3, .L962+628
				str	r3, [r10]
 1449 
 1450 ASSELSE:
 1451     %IF SKIP = 0 %START
				ldr	r3, [sp, #252]
				cmp	r3, #0
				bne	.L925
		.LDL224:
 1452        ->CERR %IF ASSCOND&1 # 0
				ldr	r3, [sp, #264]
				tst	r3, #1
				beq	.L889
		.L757:
 1453        SKIP = ASSCOND
				ldr	r3, .L962+96
				str	r3, [r10]
				ldr	r3, [sp, #264]
				str	r3, [sp, #252]
		.LVL869:
		.L857:
		.LDL227:
		.LDL228:
 1454     %finish %ELSE %START
 1455        ->LEND %IF SKIP # ASSCOND
				ldr	r3, [sp, #252]
				ldr	r2, [sp, #264]
				cmp	r3, r2
				bne	.L750
		.LDL225:
 1456        SKIP = 0
		.LVL863:
				strne	r4, [sp, #252]
 1457        ->A1 %IF TAGIF
				add	ip, sp, #272
				bl	TAGIF.12
		.LVL864:
				cmp	r0, #0
				bne	.L857
		.LVL865:
		.L749:
		.LDL226:
 1458     %FINISH
				ldr	r3, .L962+596
				ldr	r2, .L962+532
				str	r2, [r3]
 1459     ASSCOND = ASSCOND+1
				ldr	r3, [sp, #264]
				add	r3, r3, #1
				str	r3, [sp, #264]
		.LVL870:
 1460     ->LEND
				b	.L850
		.LVL871:
		.L758:
 1461 
 1462 ASSFIN:
 1463     ->CERR %IF ASSCOND = 1
				ldr	r3, [sp, #264]
				cmp	r3, #1
				beq	.L757
		.LDL157:
 1464     ASSCOND = ASSCOND>>1
				ldr	r3, .L962+100
				str	r3, [r10]
				ldr	r3, [sp, #264]
				lsr	r3, r3, #1
				str	r3, [sp, #264]
		.LVL681:
 1465     SKIP = 0 %IF SKIP>>1 = ASSCOND
				ldr	r2, [sp, #252]
				cmp	r3, r2, lsr #1
				bne	.L850
		.LVL682:
		.L776:
 1466     ->LEND
 1467 
 1468 DEFINE:
 1469     FAULT('C') %IF NP # STORELIM
				ldr	r2, [r9, #232]
				ldr	r3, [r9, #312]
				cmp	r2, r3
				beq	.L858
				mov	ip, r6
				mov	r0, #67
				bl	FAULT.45
		.LVL872:
		.L858:
 1470     I = TAG1
				ldr	r3, [sp, #288]
				str	r3, [sp, #256]
		.LVL873:
 1471     %CYCLE
 1472        ->ERR %IF %NOT (TAG %AND S('='))
				mov	ip, r6
				bl	TAG.34
		.LVL881:
				cmp	r0, #0
				bne	.L919
				mov	ip, r6
				mov	r0, #61
				bl	S.33
		.LVL882:
				cmp	r0, #0
				beq	.L920
		.LDL232:
 1473        J = TAG1;  K = TAG2
				ldr	fp, [sp, #260]
				b	.L859
		.LVL874:
		.L860:
				mov	r3, #1472
				str	r3, [r10]
				str	r8, [r7]
				ldr	fp, [sp, #288]
		.LVL883:
				ldr	r4, [sp, #284]
		.LVL884:
 1474        %IF TAG %START
				str	r8, [r7]
				mov	ip, r6
				bl	TAG.34
		.LVL885:
				cmp	r0, #0
				beq	.L860
		.LDL233:
 1475           TAGREF
				mov	ip, r6
				bl	TAGREF.13
		.LVL875:
				ldr	r3, .L962+564
				str	r3, [r10]
 1476           %IF TYPE&OPMASK # 0 %START
				ldr	r3, .L962+540
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #340]
				tst	r3, #61440
				bne	.L862
		.LDL229:
 1477              GET INST
				str	r8, [r7]
				mov	ip, r6
				bl	GETINST.14
		.LVL887:
 1478           %finish %ELSE %START
				ldr	r3, .L962+568
				str	r3, [r10]
				b	.L861
		.LVL888:
		.L744:
 1479              PEND = -1;  GET EXP
				mvn	r3, #0
				str	r3, [sp, #272]
				mov	ip, r6
				bl	GETEXP.16
		.LVL876:
 1480           %FINISH
				ldr	r3, .L962+544
				str	r3, [r10]
 1481        %finish %ELSE GET EXP
		.L861:
				mov	ip, r6
				bl	GETEXP.16
		.LVL886:
				b	.L861
		.L862:
 1482        ASSEMBLE
				mov	ip, r6
				bl	ASSEMBLE.18
		.LVL877:
 1483        TAG1 = J;  TAG2 = K
				ldr	r3, .L962+548
				str	r3, [r10]
				str	r8, [r7]
				str	fp, [sp, #288]
				str	r4, [sp, #284]
 1484        %IF I=DEF %THEN LOOKUP(3) %ELSE LOOKUP(2)
				str	r8, [r7]
				ldr	r3, .L962+556
				ldr	r2, [sp, #256]
				cmp	r2, r3
		.LDL230:
				mov	ip, r6
				movne	r0, #2
				moveq	r0, #3
				bl	LOOKUP.32
		.LVL878:
		.L864:
 1485        %EXIT %UNLESS S(',')
				ldr	r3, .L962+552
				str	r3, [r10]
				mov	ip, r6
				mov	r0, #44
				bl	S.33
		.LVL879:
				cmp	r0, #0
				beq	.L921
		.LDL231:
 1486        QLIM = QSTART
				ldr	r3, .L962+560
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [r9, #304]
				str	r3, [r9, #240]
 1487     %REPEAT
		.LVL880:
		.L859:
 1488     ->SEND
 1489 
 1490 NEWPAGE:
 1491     DO NEWLINE %WHILE LINES # 0
				ldr	r3, .L962+444
				ldr	r3, [r3, #256]
				cmp	r3, #0
				bne	.L865
				str	r3, [sp, #252]
		.LVL718:
				b	.L851
		.LVL719:
		.L929:
				ldr	r3, [r9, #256]
				cmp	r3, #0
				beq	.L850
		.L865:
				bl	DONEWLINE.15
		.LVL889:
		.LDL234:
				ldr	r3, [r9, #256]
				cmp	r3, #0
				bne	.L865
				b	.L850
		.LVL890:
		.L866:
 1492     ->LEND
				ldr	r3, .L962+8
				ldr	r2, .L962+572
				str	r2, [r3]
				ldr	r3, .L962
				ldr	r2, .L962+4
				str	r2, [r3]
				ldr	r3, .L962+572
				str	r3, [r10]
				str	r8, [r7]
 1493 
 1494 LISTC:
 1495     GET EXP;  ASSEMBLE
				mov	ip, r6
				bl	GETEXP.16
		.LVL684:
				mov	ip, r6
				bl	ASSEMBLE.18
		.LVL685:
 1496     LIST = VAL
				ldr	r4, .L962+104
				str	r4, [r10]
				str	r4, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #336]
				ldr	r2, .L962+516
				str	r3, [r2, #16]
 1497     ->SEND
				b	.L762
		.L938:
 1498 
 1499 TEMP:
 1500     I = 0
		.LVL686:
				ldr	r4, [sp, #252]
		.LVL687:
		.L765:
		.LDL160:
				ldr	r4, [sp, #252]
				b	.L766
		.LVL690:
		.L940:
 1501     %IF SYM # NL %START
				ldr	r3, [sp, #276]
				cmp	r3, #10
				bne	.L926
 1502        %CYCLE
 1503           GET EXP
				mov	ip, r6
				bl	GETEXP.16
		.LVL894:
 1504           FAULT('I') %IF TYPE # REG
				ldr	r3, .L962+580
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #340]
				cmp	r3, #128
				beq	.L866
				mov	ip, r6
				mov	r0, #73
				bl	FAULT.45
		.LVL895:
				b	.L866
		.LVL896:
		.L960:
 1505           I = I!1<<VAL
				mov	r2, #1
				ldr	r3, [sp, #336]
				orr	r4, r4, r2, lsl r3
		.LVL891:
 1506           %EXIT %UNLESS S(',')
				str	r8, [r7]
				mov	ip, r6
				mov	r0, #44
				bl	S.33
		.LVL892:
				cmp	r0, #0
				beq	.L765
		.LVL893:
		.L766:
		.LDL235:
 1507        %REPEAT
				ldr	r3, .L962+576
				str	r3, [r10]
 1508     %FINISH
 1509     TEMPS = I
				ldr	r3, .L962+516
				str	r4, [r3]
 1510     SET ACC
				str	r8, [r7]
				mov	ip, r6
				bl	SETACC.40
		.LVL688:
 1511     ->SEND
				ldr	r3, .L962+108
				str	r3, [r10]
				b	.L762
		.LVL689:
		.L926:
 1512 
 1513 LOCC:
 1514     I = TAG1
		.LVL907:
		.LVL912:
 1515     GET EXP;  ASSEMBLE
				mov	ip, r6
				bl	GETEXP.16
		.LVL908:
				mov	ip, r6
				bl	ASSEMBLE.18
		.LVL909:
				mov	ip, r6
				bl	GETEXP.16
		.LVL913:
				mov	ip, r6
				bl	ASSEMBLE.18
		.LVL914:
 1516     %IF TYPE&16_FF80 = 0 %START
				ldr	r4, .L962+616
				str	r4, [r10]
				str	r4, [r10]
				str	r8, [r7]
				ldr	r3, .L962+624
				ldr	r2, [sp, #340]
				and	r3, r3, r2
				cmp	r3, #0
				bne	.L880
				ldr	r4, .L962+616
				str	r4, [r10]
				str	r4, [r10]
				str	r8, [r7]
				ldr	r3, .L962+624
				ldr	r2, [sp, #340]
				and	r3, r3, r2
				cmp	r3, #0
				beq	.L869
		.LVL915:
		.L880:
		.LDL237:
 1517        %IF I = 13556 %START;          !LOC
				str	r8, [r7]
				ldr	r3, .L962+620
				str	r3, [r10]
				str	r8, [r7]
 1518           OUTPUT RECORD %IF BINCOUNT >= 203
				bl	OUTPUTRECORD.43
		.LVL897:
				b	.L867
		.L961:
				ldr	r3, [r9, #16]
				cmp	r3, #202
				bgt	.L960
		.L867:
 1519           PUT(3) %IF (LOCTYPE!!TYPE)&RELMASK # 0
				mov	r0, #3
				bl	PUT.42
		.LVL898:
				b	.L868
		.LVL899:
		.L873:
				ldr	r3, .L962+608
				str	r3, [r10]
				ldr	r3, [sp, #344]
				ldr	r2, [sp, #340]
				eor	r3, r3, r2
				tst	r3, #32
				bne	.L961
		.L868:
 1520           PUT(5);  PUT WORD(VAL)
				ldr	r3, .L962+612
				str	r3, [r10]
				str	r8, [r7]
				mov	r0, #5
				bl	PUT.42
		.LVL910:
				ldr	r0, [sp, #336]
				bl	PUTWORD.29
		.LVL911:
 1521        %FINISH
				mov	r4, #1520
				str	r4, [r10]
				str	r8, [r7]
				str	r4, [r10]
				str	r8, [r7]
 1522        LOCTYPE = TYPE&63+MEMMASK;  LOC = VAL
		.L869:
				ldr	r3, [sp, #340]
				and	r3, r3, #63
				add	r3, r3, #64
				str	r3, [sp, #344]
				ldr	r3, [sp, #336]
				str	r3, [sp, #348]
 1523     %finish %ELSE FAULT('I')
				b	.L762
		.L767:
				mov	ip, r6
				mov	r0, #73
				bl	FAULT.45
		.LVL916:
				b	.L762
		.LVL917:
		.L854:
 1524     ->SEND
 1525 
 1526 SAVC:
 1527     GET EXP;  ASSEMBLE
				mov	ip, r6
				bl	GETEXP.16
		.LVL736:
				mov	ip, r6
				bl	ASSEMBLE.18
		.LVL737:
 1528     SAVE = VAL
				ldr	r4, .L962+280
				str	r4, [r10]
				str	r4, [r10]
				str	r8, [r7]
				ldr	r3, [sp, #336]
				ldr	r2, .L962+516
				str	r3, [r2, #4]
 1529     ->SEND
				b	.L762
		.L923:
		.L791:
 1530 
 1531 MACDEF:
 1532     ->CERR %IF MP # 0
				ldr	r3, .L962+444
				ldr	r3, [r3, #268]
				cmp	r3, #0
				bne	.L757
		.LDL168:
 1533     ->ERR %IF %NOT TAG
				add	ip, sp, #272
				bl	TAG.34
		.LVL705:
				cmp	r0, #0
				beq	.L745
		.LDL169:
 1534     J = TAG1;  K = TAG2
				ldr	r3, .L962+8
				ldr	r2, .L962+160
				str	r2, [r3]
				ldr	r3, [sp, #288]
				str	r3, [sp, #260]
		.LVL706:
				ldr	r2, [sp, #284]
		.LVL707:
 1535     I = GETPOS-1
				ldr	r3, .L962+444
		.LVL708:
				ldr	r3, [r3, #236]
		.LVL709:
				sub	r3, r3, #1
 1536     %IF SYM # NL %START
				ldr	r1, [sp, #276]
				cmp	r1, #10
				beq	.L870
 1537        %CYCLE
 1538           ->ERR %IF %NOT TAG
				str	r3, [sp, #256]
				str	r2, [sp, #268]
		.LVL710:
		.L871:
		.LDL170:
				add	ip, sp, #272
				bl	TAG.34
		.LVL711:
				cmp	r0, #0
				beq	.L745
		.LDL171:
 1539           SCAN ARG
				ldr	r4, .L962+8
				ldr	r5, .L962
				ldr	fp, .L962+4
				ldr	r3, .L962+164
				str	r3, [r4]
				str	fp, [r5]
				add	ip, sp, #272
				bl	SCANARG.31
		.LVL712:
 1540           %EXIT %IF %NOT S(',')
				ldr	r3, .L962+168
				str	r3, [r4]
				str	fp, [r5]
				add	ip, sp, #272
				mov	r0, #44
				bl	S.33
		.LVL713:
				cmp	r0, #0
				bne	.L871
				ldr	r3, [sp, #256]
				ldr	r2, [sp, #268]
		.LVL714:
		.L870:
		.LDL172:
 1541        %REPEAT
				ldr	r3, .L962+172
				str	r3, [r4]
				str	fp, [r5]
 1542     %FINISH
 1543     ->ERR %IF SYM # NL
				ldr	r1, [sp, #276]
				cmp	r1, #10
				bne	.L745
		.LDL173:
 1544     TAG1 = J;  TAG2 = K
				ldr	r1, .L962
				ldr	r0, .L962+4
				str	r0, [r1]
				ldr	r1, [sp, #260]
				str	r1, [sp, #288]
				str	r2, [sp, #284]
 1545     TYPE = MACRO;  VAL = I
				mov	r2, #40960
				str	r2, [sp, #340]
				str	r3, [sp, #336]
 1546     LOOKUP(3)
				add	ip, sp, #272
				mov	r0, #3
				bl	LOOKUP.32
		.LVL715:
 1547     %CYCLE
				ldr	r3, .L962+8
				ldr	r2, .L962+176
				str	r2, [r3]
 1548        PRINT LINE
				add	fp, sp, #272
				mov	ip, fp
				bl	PRINTLINE.47
		.LVL901:
 1549        %EXIT %IF S('$') %AND TAG %AND TAG1 = END
				ldr	r4, .L962+8
				ldr	r5, .L962
				b	.L872
		.LVL716:
		.L928:
				ldr	r3, .L962+584
				str	r3, [r4]
				ldr	r3, .L962+636
				str	r3, [r5]
				mov	ip, fp
				mov	r0, #36
				bl	S.33
		.LVL902:
				cmp	r0, #0
				bne	.L873
				mov	ip, fp
				bl	TAG.34
		.LVL903:
				cmp	r0, #0
				bne	.L873
				ldr	r3, .L962+592
				ldr	r2, [sp, #288]
				cmp	r2, r3
				bne	.L873
		.LDL236:
 1550        STARTPOS = PUTPOS
				ldr	r3, .L962+604
				ldr	r2, [r3]
				str	r2, [r3, #276]
				ldr	r3, .L962+588
				str	r3, [r4]
				ldr	r3, .L962+636
				str	r3, [r5]
 1551        STARTPOS = PSEUDOLIM+1 %IF PSEUDOLIM # 0
				ldr	r3, .L962+636
				str	r3, [r5]
				ldr	r3, [r3, #280]
				cmp	r3, #0
				addne	r3, r3, #1
				ldrne	r2, .L962+604
				strne	r3, [r2, #276]
		.L874:
 1552        READ LINE
				add	ip, sp, #272
				bl	READLINE.38
		.LVL900:
 1553     %REPEAT
				mov	r3, #1552
				str	r3, [r4]
		.L872:
 1554     PUTPOS = STARTPOS;  PUT CHAR(0)
				ldr	r4, .L962+604
				ldr	r3, [r4, #276]
				str	r3, [r4]
				bl	PUTCHAR.37
		.LVL904:
 1555     STARTPOS = PUTPOS
				ldr	r3, .L962+596
				ldr	r2, .L962+600
				str	r2, [r3]
				ldr	r3, .L962+632
				ldr	r2, .L962+636
				str	r2, [r3]
				ldr	r3, [r4]
				str	r3, [r4, #276]
 1556     MACLIM = STARTPOS
				str	r3, [r4, #248]
 1557     ->LEND
				b	.L776
		.LVL905:
		.L930:
 1558 
 1559 %ROUTINE BNEST
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
				push	{r4, r5, r6, r7, r8, lr}
 1560 !!    BP = BP+4;  %MONITOR 23 %IF BP-NP >= 0
 1561     BP = BP+4;  !{}%signal 2,3 %IF BP-NP >= 0
				ldr	r4, .L199
				ldr	r5, [r4, #244]
				add	r6, r5, #4
				str	r6, [r4, #244]
 1562 !!    INTEGER(BP-3) = SAVE;  INTEGER(BP-2) = TEMPS
 1563     set INTEGER(BP-3, SAVE);  set INTEGER(BP-2, TEMPS)
				ldr	r7, .L199+4
				ldr	r1, [r7, #4]
				add	r0, r5, #1
				bl	SETINTEGER.8
		.LVL120:
				ldr	r1, [r7]
				add	r0, r5, #2
				bl	SETINTEGER.8
		.LVL121:
 1564 !!    INTEGER(BP-1) = MACLIM;  INTEGER(BP) = DEFMIN
 1565     set INTEGER(BP-1, MACLIM);  set INTEGER(BP, DEFMIN)
				ldr	r1, [r4, #248]
				add	r0, r5, #3
				bl	SETINTEGER.8
		.LVL122:
				ldr	r1, [r4, #252]
				mov	r0, r6
				bl	SETINTEGER.8
		.LVL123:
 1566 %END
 1567 
				ldr	r3, .L199+8
				ldr	r2, .L199+12
				str	r2, [r3]
				ldr	r3, .L199+16
				ldr	r2, .L199+20
				str	r2, [r3]
 1568 BEGIN:
				pop	{r4, r5, r6, r7, r8, pc}
		.L200:
				.align	2
		.L199:
				.word	.LANCHOR0
				.word	.LANCHOR1
				.word	_imp_current_line
				.word	1566
				.word	_imp_current_file
				.word	.LC6
		.LFE248:
				.align	2
		DONEWLINE.15:
		.LFB210:
 1569     BNEST
				bl	BNEST.41
		.LVL717:
 1570     ->NEWPAGE %IF SYM # NL
				ldr	r3, .L962+8
				ldr	r2, .L962+180
				str	r2, [r3]
				ldr	r3, [sp, #276]
				cmp	r3, #10
				beq	.L776
 1571     ->LEND
 1572 
 1573 BEND:
 1574     FAULT('C') %IF NP # STORELIM %OR MP # 0
				ldr	r4, [r9, #312]
				ldr	r3, [r9, #232]
				cmp	r3, r4
				bne	.L778
				ldr	r3, .L962+444
				ldr	r3, [r3, #268]
				cmp	r3, #0
				beq	.L875
		.L778:
				add	ip, sp, #272
				mov	r0, #67
				bl	FAULT.45
		.LVL691:
		.L875:
 1575     MP = 0;  NP = STORELIM
				mov	r3, #0
				str	r3, [r9, #268]
				str	r4, [r9, #232]
 1576     %IF BP # LABLIM %START
				str	r8, [r7]
				ldr	r0, [r9, #244]
				ldr	r3, [r9, #316]
				cmp	r0, r3
				beq	.L876
 1577        SAVE = INTEGER(BP-3);  TEMPS = INTEGER(BP-2)
				sub	r0, r0, #3
				bl	INTEGER.39
		.LVL692:
				ldr	r4, .L962+516
				str	r0, [r4, #4]
				str	r5, [r10]
				str	r8, [r7]
				ldr	r0, [r9, #244]
				sub	r0, r0, #2
				bl	INTEGER.39
		.LVL693:
				str	r0, [r4]
 1578        MACLIM = INTEGER(BP-1);  STARTPOS = MACLIM
				ldr	r5, .L962+120
				str	r5, [r10]
				ldr	r0, [r9, #244]
				sub	r0, r0, #1
				bl	INTEGER.39
		.LVL694:
				str	r0, [r9, #248]
				str	r8, [r7]
				str	r0, [r9, #276]
 1579        DEFMIN = INTEGER(BP)
				ldr	r3, .L962+124
				str	r3, [r10]
				str	r8, [r7]
				ldr	r0, [r9, #244]
				bl	INTEGER.39
		.LVL695:
				str	r0, [r9, #252]
 1580        SET ACC
				ldr	r3, .L962+128
				str	r3, [r10]
				add	ip, sp, #272
				bl	SETACC.40
		.LVL696:
 1581        BP = BP-4
				ldr	r3, .L962+132
				str	r3, [r10]
				str	r8, [r7]
				ldr	r3, [r9, #244]
				sub	r3, r3, #4
				str	r3, [r9, #244]
 1582        ->LEND %IF BP # LABLIM
				ldr	r2, [r9, #316]
				cmp	r3, r2
				bne	.L776
		.L876:
		.LDL165:
 1583     %FINISH
 1584     CLOSE INPUT;  SELECT INPUT(MAIN)
		.LBB177:
		.LBI177:
				mov	r0, #1
				bl	_imp_SELECTINPUT
		.LVL698:
 1585     BNEST
				ldr	r6, .L962+8
				mov	fp, #1584
				str	fp, [r6]
				ldr	r4, .L962
				ldr	r5, .L962+4
				str	r5, [r4]
				bl	BNEST.41
		.LVL699:
 1586     LIST = 5
				ldr	r3, .L962+136
				str	r3, [r6]
				str	r5, [r4]
				ldr	r2, .L962+516
				mov	r3, #5
				str	r3, [r2, #16]
 1587     PASS = PASS+1
				str	r5, [r4]
				ldr	r3, [r2, #8]
				add	r3, r3, #1
				str	r3, [r2, #8]
 1588     ->DO PASS %IF PASS # 2
				cmp	r3, #2
				bne	.L737
		.LDL166:
 1589 
 1590     OUTPUT RECORD %IF BINCOUNT = 208
				ldr	r3, .L962+444
				ldr	r3, [r3, #16]
				cmp	r3, #208
				beq	.L930
		.L877:
				bl	OUTPUTRECORD.43
		.LVL906:
				b	.L877
		.L939:
 1591     PUT(1)
				ldr	r2, .L962+140
				str	r2, [r6]
				mov	r0, #1
				bl	PUT.42
		.LVL700:
 1592     OUTPUT RECORD
				ldr	r6, .L962+8
				ldr	r3, .L962+144
				str	r3, [r6]
				ldr	r4, .L962
				ldr	r5, .L962+4
				str	r5, [r4]
				bl	OUTPUTRECORD.43
		.LVL701:
 1593     FAULT('$')
				ldr	r3, .L962+148
				str	r3, [r6]
				str	r5, [r4]
				add	r7, sp, #272
				mov	ip, r7
				mov	r0, #36
				bl	FAULT.45
		.LVL702:
 1594     PRINT LOC;  PRINT LINE
				mov	ip, r7
				bl	PRINTLOC.46
		.LVL703:
				str	r8, [r6]
				str	r5, [r4]
				mov	ip, r7
				bl	PRINTLINE.47
		.LVL704:
 1595 
				ldr	r8, .L962+152
				str	r8, [r6]
				str	r5, [r4]
 1596 %ENDOFPROGRAM
				mov	r0, #0
				add	sp, sp, #1632
				add	sp, sp, #12
				@ sp needed
				pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.L927:

 1517 Statements compiled
				ldr	r3, .L962+156
				str	r3, [r6]
				str	r5, [r4]
