         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.rdata
				.align	2
		$LC2:
				.byte	4
				.ascii	"fail\000"
				.space	250
				.align	2
				.globl	main
				LFB185 = .
				.set	nomips16
				.set	nomicromips
				.ent	main
		main:
				.frame	$sp,4128,$31		# vars= 3592, regs= 1/0, args= 520, gp= 8
				.mask	0x80000000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL0 = .
				addiu	$sp,$sp,-4128
				sw	$31,4124($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	520
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				sw	$2,4116($sp)
    2 %conststring(10) fred="abcdefghij"
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL1 = .
				lw	$28,520($sp)
				LVL2 = .
    3 %string(10) a,b
    4
    5 	%if fred->a.("def").b %start
				addiu	$2,$sp,788
				sw	$2,516($sp)
				addiu	$2,$sp,1300
				addiu	$3,$sp,260
				addiu	$4,$sp,1556
		$L2:
				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,$L2
				addiu	$3,$3,16
				addiu	$2,$sp,532
				sw	$2,256($sp)
				addiu	$2,$sp,1060
				addiu	$3,$sp,16
				addiu	$4,$sp,1300
		$L3:
				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,$L3
				addiu	$3,$3,16
				lw	$4,1044($sp)
				lw	$5,1048($sp)
				lw	$6,1052($sp)
				lw	$7,1056($sp)
				lw	$25,%call16(_imp_resolve)($28)
				.reloc	1f,R_MIPS_JALR,_imp_resolve
			1:	jalr	$25
				nop
				LVL3 = .
				lw	$28,520($sp)
				beq	$2,$0,$L4
				lui	$2,%hi($LC2)
				LBB34 = .
				LBB35 = .
    6 	printstring("OK a=".a);
    7 	newline
    8 	%finish %else %start
				addiu	$6,$sp,532
				addiu	$5,$sp,1812
				addiu	$4,$sp,3860
				lw	$25,%call16(_imp_join)($28)
				.reloc	1f,R_MIPS_JALR,_imp_join
			1:	jalr	$25
				nop
				LVL4 = .
				lw	$28,520($sp)
				addiu	$2,$sp,1556
				addiu	$3,$sp,2836
				addiu	$4,$sp,1812
		$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
				LBE35 = .
				LBE34 = .
				LBB36 = .
				LBB37 = .
				addiu	$2,$sp,2852
				addiu	$3,$sp,16
				addiu	$4,$sp,3092
		$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
				lw	$4,2836($sp)
				lw	$5,2840($sp)
				lw	$6,2844($sp)
				lw	$7,2848($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL5 = .
				lw	$28,520($sp)
				LBE37 = .
				LBE36 = .
				LBB38 = .
				LBB39 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL6 = .
				lw	$28,520($sp)
				L7 = .
				LVL7 = .
				LBE39 = .
				LBE38 = .
				LBB40 = .
				LBB41 = .
				move	$4,$0
		$L32:
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL8 = .
		$L4:
				LBE41 = .
				LBE40 = .
				LBB42 = .
    9 		printstring("fail")
				addiu	$2,$2,%lo($LC2)
				addiu	$3,$sp,3860
				addiu	$4,$2,256
		$L8:
				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,$L8
				addiu	$3,$3,16
				addiu	$2,$sp,3860
				addiu	$3,$sp,2068
				addiu	$4,$sp,4116
		$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,2068
				addiu	$3,$sp,3860
				addiu	$4,$sp,2324
		$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
				LBE42 = .
				LBB43 = .
				LBB44 = .
				addiu	$2,$sp,3876
				addiu	$3,$sp,16
				addiu	$4,$sp,4116
		$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
				lw	$4,3860($sp)
				lw	$5,3864($sp)
				lw	$6,3868($sp)
				lw	$7,3872($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL9 = .
				lw	$28,520($sp)
				LBE44 = .
				LBE43 = .
				LBB45 = .
				LBB46 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL10 = .
				lw	$28,520($sp)
				addiu	$2,$sp,2324
				addiu	$3,$sp,3604
				addiu	$4,$sp,2580
		$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
				LBE46 = .
				LBE45 = .
				LBB47 = .
				LBB48 = .
				addiu	$2,$sp,3620
				addiu	$3,$sp,16
				addiu	$4,$sp,3860
		$L13:
				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,$L13
				addiu	$3,$3,16
				lw	$4,3604($sp)
				lw	$5,3608($sp)
				lw	$6,3612($sp)
				lw	$7,3616($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL11 = .
				lw	$28,520($sp)
				LBE48 = .
				LBE47 = .
				LBB49 = .
				LBB50 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL12 = .
				lw	$28,520($sp)
				addiu	$2,$sp,2580
				addiu	$3,$sp,3348
				addiu	$4,$sp,2836
		$L14:
				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,$L14
				addiu	$3,$3,16
				LBE50 = .
				LBE49 = .
				LBB51 = .
				LBB52 = .
				addiu	$2,$sp,3364
				addiu	$3,$sp,16
				addiu	$4,$sp,3604
		$L15:
				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,$L15
				addiu	$3,$3,16
				lw	$4,3348($sp)
				lw	$5,3352($sp)
				lw	$6,3356($sp)
				lw	$7,3360($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL13 = .
				lw	$28,520($sp)
				LBE52 = .
				LBE51 = .
				LBB53 = .
				LBB54 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL14 = .
				lw	$28,520($sp)
				LVL15 = .
				sb	$0,3092($sp)
				LBE54 = .
				LBE53 = .
				LBB55 = .
				LBB56 = .
				addiu	$2,$sp,3108
				addiu	$3,$sp,16
				addiu	$4,$sp,3348
		$L16:
				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,$L16
				addiu	$3,$3,16
				lw	$4,3092($sp)
				lw	$5,3096($sp)
				lw	$6,3100($sp)
				lw	$7,3104($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL16 = .
				lw	$28,520($sp)
				LBE56 = .
				LBE55 = .
				LBB57 = .
				LBB58 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL17 = .
				lw	$28,520($sp)
				LBE58 = .
				LBE57 = .
				.option	pic0
				b	$L32
				.option	pic2
				move	$4,$0
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
		$Letext0:
   10 		newline;
   11 		printstring(a);
   12 		newline;
   13 		printstring(b)
   14 		newline
   15 		printstring(fred)
   16 		newline
   17 	%finish
   18 %endofprogram
   17 Statements compiled
