         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	5
				.ascii	"Pass!\000"
				.space	249
				.align	2
				.globl	main
				LFB185 = .
				.set	nomips16
				.set	nomicromips
				.ent	main
		main:
				.frame	$sp,792,$31		# vars= 520, regs= 1/0, args= 256, gp= 8
				.mask	0x80000000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL0 = .
				addiu	$sp,$sp,-792
				sw	$31,788($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,780($sp)
    2 %integer i, a,b,c, q
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL1 = .
				lw	$28,256($sp)
				LVL2 = .
				LDL1 = .
				LDL2 = .
				LDL3 = .
				LDL4 = .
				LDL5 = .
				LDL6 = .
				LDL7 = .
				LDL8 = .
				LDL9 = .
				LDL10 = .
				LDL11 = .
				LDL12 = .
				LDL13 = .
				LDL14 = .
				LDL15 = .
				LVL3 = .
				LDL16 = .
				LBB24 = .
    3
    4   q = 0;
    5
    6   %for i = 3,1,5 %cycle
    7     q = q+i
    8   %repeat
    9
   10   %for i = 3,2,5 %cycle
   11     q = q+i
   12   %repeat
   13
   14   %for i = 5,-1,3 %cycle
   15     q = q+i
   16   %repeat
   17
   18   %for i = 5,-2,3 %cycle
   19     q = q+i
   20   %repeat
   21
   22   a = 3; b = 1; c = 5
   23
   24   %for i = a, b, c %cycle
   25     q = q+i+a
   26   %repeat
   27
   28   a = 3; b = 2; c = 5
   29
   30   %for i = a, b, c %cycle
   31     q = q+i+a
   32   %repeat
   33
   34   a = 5; b = -1; c = 3
   35
   36   %for i = a, b, c %cycle
   37     q = q+i+a
   38   %repeat
   39
   40   a = 5; b = -2; c = 3
   41
   42   %for i = a, b, c %cycle
   43     q = q+i+a
   44   %repeat
   45
   46   %if q = 120 %then printstring("Pass!") %else printstring("Fail!")
   47   newline
				lui	$2,%hi($LC1)
				addiu	$2,$2,%lo($LC1)
				addiu	$3,$sp,524
				addiu	$4,$2,256
		$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,524
				addiu	$3,$sp,268
				addiu	$4,$sp,780
		$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
				addiu	$2,$sp,268
				addiu	$3,$sp,524
				move	$4,$3
		$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
				LBE24 = .
				LBB25 = .
				LBB26 = .
				addiu	$2,$sp,540
				addiu	$3,$sp,16
				addiu	$4,$sp,780
		$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
				lw	$4,524($sp)
				lw	$5,528($sp)
				lw	$6,532($sp)
				lw	$7,536($sp)
				lw	$25,%call16(_imp_printstring)($28)
				.reloc	1f,R_MIPS_JALR,_imp_printstring
			1:	jalr	$25
				nop
				LVL4 = .
				lw	$28,256($sp)
				LDL17 = .
				LBE26 = .
				LBE25 = .
				LBB27 = .
				LBB28 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL5 = .
				lw	$28,256($sp)
				LVL6 = .
				LBE28 = .
				LBE27 = .
				LBB29 = .
				LBB30 = .
				move	$4,$0
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL7 = .
				LBE30 = .
				LBE29 = .
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
		$Letext0:
   48
   49 %endofprogram
   42 Statements compiled
