         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.rdata
				.align	2
		$LC1:
				.byte	9
				.ascii	"expected=\000"
				.space	245
				.align	2
		$LC2:
				.byte	8
				.ascii	" actual=\000"
				.space	246
				.align	2
				LFB186 = .
				.set	nomips16
				.set	nomicromips
				.ent	main
		main:
				.frame	$sp,2616,$31		# vars= 2328, regs= 5/0, args= 256, gp= 8
				.mask	0x800f0000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL14 = .
				addiu	$sp,$sp,-2616
				sw	$31,2612($sp)
				sw	$19,2608($sp)
				sw	$18,2604($sp)
				sw	$17,2600($sp)
				sw	$16,2596($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,2588($sp)
				addiu	$2,$sp,2616
				sw	$2,268($sp)
    2 %owninteger swopped =0
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL15 = .
				lw	$28,256($sp)
				LVL16 = .
				li	$6,768			# 0x300
				move	$5,$0
				addiu	$4,$sp,1820
				lw	$25,%call16(memset)($28)
				.reloc	1f,R_MIPS_JALR,memset
			1:	jalr	$25
				nop
				LVL17 = .
				lw	$28,256($sp)
				li	$2,9			# 0x9
				sb	$2,2332($sp)
				lui	$2,%hi($LC3)
				lw	$4,%lo($LC3)($2)
				addiu	$2,$2,%lo($LC3)
				lw	$3,4($2)
				swl	$4,2333($sp)
				swr	$4,2336($sp)
				swl	$3,2337($sp)
				swr	$3,2340($sp)
				lbu	$3,8($2)
				sb	$3,2341($sp)
				lbu	$2,9($2)
				sb	$2,2342($sp)
				sb	$0,2343($sp)
    3 %recordformat f1(%integer i %or %byte b0,b1,b2,b3 %or %string(3)s)
    4 %recordformat f2(%integer i,%record(f1)f)
    5 %recordformat f3(%integer k,%record(f2)f)
    6 %integer i,fail,j,k
    7 %routine test(%integer exp,swexp,act)
				.set	nomips16
				.set	nomicromips
				.ent	TEST.6034
		TEST.6034:
				.frame	$sp,1312,$31		# vars= 1032, regs= 4/0, args= 256, gp= 8
				.mask	0x80070000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL0 = .
				addiu	$sp,$sp,-1312
				sw	$31,1308($sp)
				sw	$18,1304($sp)
				sw	$17,1300($sp)
				sw	$16,1296($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	256
				move	$17,$4
				move	$16,$6
				move	$18,$15
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				sw	$2,1292($sp)
    8 %if swopped=0 %start
				lui	$2,%hi(SWOPPED.5997)
				lw	$2,%lo(SWOPPED.5997)($2)
				bne	$2,$0,$L6
				li	$3,-1			# 0xffffffffffffffff
    9       %if exp=act %then swopped=-1
				beq	$4,$6,$L28
				lui	$2,%hi(SWOPPED.5997)
   10       %if swexp=act %then swopped=1
				bne	$6,$5,$L31
				lui	$2,%hi($LC1)
		$L17:
				li	$3,-1			# 0xffffffffffffffff
				beq	$4,$5,$L17
				sw	$3,%lo(SWOPPED.5997)($2)
				LVL1 = .
		$L1:
   11 %finish
				lui	$2,%hi(SWOPPED.5997)
				li	$3,1			# 0x1
				.option	pic0
				b	$L5
				.option	pic2
				sw	$3,%lo(SWOPPED.5997)($2)
		$L28:
   12 %if swopped=-1 %and exp=act %then %return
				beq	$2,$3,$L30
				li	$3,1			# 0x1
				L7 = .
   13 %if swopped=1 %and swexp=act %then %return
				bne	$2,$3,$L31
				lui	$2,%hi($LC1)
		$L5:
				bne	$4,$6,$L31
				lui	$2,%hi($LC1)
				.option	pic0
				b	$L1
				nop
				.option	pic2
				LVL12 = .
		$L29:
				lw	$25,%call16(__stack_chk_fail)($28)
				.reloc	1f,R_MIPS_JALR,__stack_chk_fail
			1:	jalr	$25
				nop
				LVL13 = .
				.set	macro
				.set	reorder
				.end	TEST.6034
		$LFE186:
				.rdata
				.align	2
		$LC3:
				.ascii	"(swopped)\000"
				.space	1
				.text
				.align	2
				.globl	main
				LFB185 = .
   14       printstring("expected="); write(exp,5)
				beq	$16,$5,$L1
				lui	$2,%hi($LC1)
				L8 = .
		$L31:
				LBB17 = .
				addiu	$2,$2,%lo($LC1)
				addiu	$3,$sp,1036
				addiu	$4,$2,256
				LVL5 = .
		$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,268
				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,268
				addiu	$3,$sp,1036
				addiu	$4,$sp,524
		$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
				LBE17 = .
				LBB18 = .
				LBB19 = .
				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
				LVL6 = .
				lw	$28,256($sp)
				LBE19 = .
				LBE18 = .
   15       printstring(" actual="); write(act,5); newline
				li	$5,5			# 0x5
				move	$4,$17
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL7 = .
				lw	$28,256($sp)
				LBB20 = .
				lui	$2,%hi($LC2)
				addiu	$2,$2,%lo($LC2)
				addiu	$3,$sp,780
				addiu	$4,$2,256
		$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
				addiu	$2,$sp,780
				addiu	$3,$sp,524
				addiu	$4,$sp,1036
		$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
				addiu	$2,$sp,524
				addiu	$3,$sp,780
				move	$4,$3
		$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
				LBE20 = .
				LBB21 = .
				LBB22 = .
				addiu	$2,$sp,796
				addiu	$3,$sp,16
				addiu	$4,$sp,1036
		$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,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
				LVL8 = .
				lw	$28,256($sp)
				LBE22 = .
				LBE21 = .
   16       fail=fail+1
				li	$5,5			# 0x5
				move	$4,$16
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL9 = .
				lw	$28,256($sp)
				LBB23 = .
				LBB24 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL10 = .
				lw	$28,256($sp)
				LBE24 = .
				LBE23 = .
				lw	$2,0($18)
				addiu	$2,$2,1
   17       %monitor
   18 %end
				.option	pic0
				b	$L1
				.option	pic2
				sw	$2,0($18)
				LVL11 = .
		$L30:
   19 %conststring(11) %array tx(-1:1)="","","(swopped)";
				lw	$3,1292($sp)
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				bne	$3,$2,$L29
				lw	$31,1308($sp)
				lw	$18,1304($sp)
				lw	$17,1300($sp)
				LVL2 = .
				lw	$16,1296($sp)
				LVL3 = .
				jr	$31
				addiu	$sp,$sp,1312
				L2 = .
				LVL4 = .
		$L6:
   20 %record(f1) r1
   21 %record(f2) r2
   22 %record(f3) r3
   23 fail=0
				sw	$0,264($sp)
				LVL18 = .
				LDL1 = .
   24       j=0
   25 l1:
   26 r1_i=0
				sw	$0,272($sp)
				LVL19 = .
   27 k=r1_I+j
   28 r1_b3=5
				li	$2,5			# 0x5
				sb	$2,275($sp)
   29 test(5,X'05000000',r1_i)
				lw	$17,272($sp)
				addiu	$16,$sp,264
				move	$15,$16
				move	$6,$17
				li	$5,83886080			# 0x5000000
				li	$4,5			# 0x5
				.option	pic0
				jal	TEST.6034
				nop
				.option	pic2
				LVL20 = .
				lw	$28,256($sp)
   30 test(5,x'05000000',r1_i+j)
				move	$15,$16
				move	$6,$17
				li	$5,83886080			# 0x5000000
				li	$4,5			# 0x5
				.option	pic0
				jal	TEST.6034
				nop
				.option	pic2
				LVL21 = .
				lw	$28,256($sp)
   31 r2_f_i=1
				li	$19,1			# 0x1
				sw	$19,1300($sp)
   32 r2_f_b3=6
				li	$18,6			# 0x6
				sb	$18,1303($sp)
   33 test(6,x'06000001',r2_f_i)
				move	$15,$16
				lw	$6,1300($sp)
				li	$17,100663296			# 0x6000000
				addiu	$5,$17,1
				li	$4,6			# 0x6
				.option	pic0
				jal	TEST.6034
				nop
				.option	pic2
				LVL22 = .
				lw	$28,256($sp)
   34 r3_f_f_i=1
				sw	$19,1564($sp)
   35 r3_f_f_b3=6
				sb	$18,1567($sp)
   36 test(6,x'06000001',r3_f_f_i)
				move	$15,$16
				lw	$6,1564($sp)
				ori	$5,$17,0x1
				li	$4,6			# 0x6
				.option	pic0
				jal	TEST.6034
				nop
				.option	pic2
				LVL23 = .
				lw	$28,256($sp)
   37 %if fail=0 %then printstring("Test ok ".tx(swopped))
				lw	$2,264($sp)
				beq	$2,$0,$L40
				lui	$2,%hi(SWOPPED.5997)
				L33 = .
				LVL24 = .
				LBB25 = .
				LBB26 = .
				move	$4,$0
		$L41:
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL25 = .
		$L40:
				LBE26 = .
				LBE25 = .
				LBB27 = .
				LBB28 = .
   38 %endofprogram
?L1 unused
?I unused
   40 Statements compiled
				lw	$2,%lo(SWOPPED.5997)($2)
				addiu	$2,$2,1
				sll	$2,$2,8
				addiu	$6,$sp,1820
				addu	$6,$6,$2
				addiu	$5,$sp,784
				addiu	$16,$sp,1040
				move	$4,$16
				lw	$25,%call16(_imp_join)($28)
				.reloc	1f,R_MIPS_JALR,_imp_join
			1:	jalr	$25
				nop
				LVL26 = .
				lw	$28,256($sp)
				addiu	$2,$sp,528
				move	$4,$16
				addiu	$3,$sp,784
		$L34:
				lw	$8,0($2)
				lw	$7,4($2)
				lw	$6,8($2)
				lw	$5,12($2)
				sw	$8,0($4)
				sw	$7,4($4)
				sw	$6,8($4)
				sw	$5,12($4)
				addiu	$2,$2,16
				bne	$2,$3,$L34
				addiu	$4,$4,16
				LBE28 = .
				LBE27 = .
				LBB29 = .
				LBB30 = .
				addiu	$2,$sp,1056
				addiu	$3,$sp,16
				addiu	$4,$sp,1296
		$L35:
				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,$L35
				addiu	$3,$3,16
				lw	$4,1040($sp)
				lw	$5,1044($sp)
				lw	$6,1048($sp)
				lw	$7,1052($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL27 = .
				lw	$28,256($sp)
				LBE30 = .
				LBE29 = .
				.option	pic0
				b	$L41
				.option	pic2
				move	$4,$0
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
				.comm	SWOPPED.5997,4,4
		$Letext0:
