         Edinburgh IMP77 Compiler - Version 8.4
    1
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.rdata
				.align	2
		$LC0:
				.byte	6
				.ascii	"FAILED\000"
				.space	248
				.align	2
		$LC1:
				.byte	7
				.ascii	"TEST OK\000"
				.space	247
				.align	2
				LFB188 = .
    2 %BEGIN
				.set	nomips16
				.set	nomicromips
				.ent	main
		main:
				.frame	$sp,88,$31		# vars= 56, regs= 2/0, args= 16, gp= 8
				.mask	0x80010000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL7 = .
				addiu	$sp,$sp,-88
				sw	$31,84($sp)
				sw	$16,80($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	16
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				sw	$2,76($sp)
    3 %ROUTINE TEST(%ROUTINE PARAM(%INTEGER I))
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL8 = .
				lw	$28,16($sp)
				LVL9 = .
				LBB22 = .
				LBB23 = .
    4       PARAM(10)
				li	$4,10			# 0xa
				move	$25,$16
				jalr	$25
				nop
				LVL12 = .
				lw	$28,16($sp)
				LVL13 = .
				LBE25 = .
				LBE24 = .
				LBE23 = .
				LBE22 = .
				LBB26 = .
				LBB27 = .
				move	$4,$0
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL14 = .
				LBE27 = .
				LBE26 = .
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
		$Letext0:
    5 %END
    6 %ROUTINE A
				addiu	$2,$sp,88
				sw	$2,64($sp)
				li	$2,-1893662720			# 0xffffffff8f210000
				addiu	$2,$2,20
				sw	$2,40($sp)
				li	$2,-1892745216			# 0xffffffff8f2f0000
				addiu	$2,$2,16
				addiu	$16,$sp,40
				sw	$2,44($sp)
				li	$2,2097152			# 0x200000
				addiu	$3,$2,8
				sw	$3,48($sp)
				ori	$2,$2,0xc821
				sw	$2,52($sp)
				addiu	$2,$sp,24
				sw	$2,56($sp)
				lui	$2,%hi(B.6008)
				addiu	$2,$2,%lo(B.6008)
				sw	$2,60($sp)
				li	$6,3			# 0x3
				addiu	$5,$sp,64
				subu	$5,$5,$16
				move	$4,$16
				lw	$25,%call16(_flush_cache)($28)
				.reloc	1f,R_MIPS_JALR,_flush_cache
			1:	jalr	$25
				nop
				LVL10 = .
				lw	$28,16($sp)
    7 %INTEGER P,Q,R
    8       P='P'; Q='Q'; R='R'
				li	$2,80			# 0x50
				sw	$2,32($sp)
    9 %ROUTINE B(%INTEGER A)
				.set	nomips16
				.set	nomicromips
				.ent	B.6008
		B.6008:
				.frame	$sp,1304,$31		# vars= 1032, regs= 1/0, args= 256, gp= 8
				.mask	0x80000000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL0 = .
				addiu	$sp,$sp,-1304
				sw	$31,1300($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	256
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				sw	$2,1292($sp)
				li	$2,81			# 0x51
				sw	$2,28($sp)
   10       %UNLESS P='P' %AND Q='Q' %AND R='R' %and a=10 %THEN %c
				lw	$3,8($15)
				li	$2,80			# 0x50
				bne	$3,$2,$L2
				li	$2,81			# 0x51
				li	$2,82			# 0x52
				sw	$2,24($sp)
				LVL11 = .
				LBB24 = .
				LBB25 = .
   11         PRINTSTRING("FAILED") %else printstring("TEST OK")
				lw	$3,4($15)
				beq	$3,$2,$L23
				li	$2,82			# 0x52
		$L2:
				LBB10 = .
   12 %END
				lw	$3,0($15)
				bne	$3,$2,$L25
				lui	$2,%hi($LC0)
				.option	pic0
				b	$L1
				nop
				.option	pic2
		$L24:
   13 TEST(B)
				lw	$3,1292($sp)
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				bne	$3,$2,$L24
				lw	$31,1300($sp)
				jr	$31
				addiu	$sp,$sp,1304
				LVL3 = .
		$L23:
				li	$2,10			# 0xa
				bne	$4,$2,$L25
				lui	$2,%hi($LC0)
				L3 = .
				LBB13 = .
				lw	$25,%call16(__stack_chk_fail)($28)
				.reloc	1f,R_MIPS_JALR,__stack_chk_fail
			1:	jalr	$25
				nop
				LVL6 = .
				.set	macro
				.set	reorder
				.end	B.6008
		$LFE188:
				.globl	_flush_cache
				.align	2
				.globl	main
				LFB185 = .
   14 %END
   15 A
				lui	$2,%hi($LC0)
		$L25:
				addiu	$2,$2,%lo($LC0)
				addiu	$3,$sp,1036
				addiu	$4,$2,256
				LVL1 = .
		$L4:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L4
				addiu	$3,$3,16
				addiu	$2,$sp,1036
				addiu	$3,$sp,268
				addiu	$4,$sp,1292
		$L5:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L5
				addiu	$3,$3,16
				addiu	$2,$sp,268
				addiu	$3,$sp,780
				addiu	$4,$sp,524
		$L6:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L6
				addiu	$3,$3,16
				LBE10 = .
				LBB11 = .
				LBB12 = .
				addiu	$2,$sp,796
				addiu	$3,$sp,16
				addiu	$4,$sp,1036
		$L7:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L7
				addiu	$3,$3,16
				lw	$4,780($sp)
				lw	$5,784($sp)
				lw	$6,788($sp)
				lw	$7,792($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL2 = .
				lw	$28,256($sp)
				L8 = .
		$L1:
				LBE12 = .
				LBE11 = .
   16 %ENDOFPROGRAM
   16 Statements compiled
				lui	$2,%hi($LC1)
				addiu	$2,$2,%lo($LC1)
				addiu	$3,$sp,1036
				addiu	$4,$2,256
				LVL4 = .
		$L9:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L9
				addiu	$3,$3,16
				addiu	$2,$sp,1036
				addiu	$3,$sp,524
				addiu	$4,$sp,1292
		$L10:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L10
				addiu	$3,$3,16
				addiu	$2,$sp,524
				addiu	$3,$sp,1036
				addiu	$4,$sp,780
		$L11:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L11
				addiu	$3,$3,16
				LBE13 = .
				LBB14 = .
				LBB15 = .
				addiu	$2,$sp,1052
				addiu	$3,$sp,16
				addiu	$4,$sp,1292
		$L12:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($3)
				sw	$7,4($3)
				sw	$6,8($3)
				sw	$5,12($3)
				addiu	$2,$2,16
				bne	$2,$4,$L12
				addiu	$3,$3,16
				lw	$4,1036($sp)
				lw	$5,1040($sp)
				lw	$6,1044($sp)
				lw	$7,1048($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL5 = .
				lw	$28,256($sp)
				LBE15 = .
				LBE14 = .
