         Edinburgh IMP77 Compiler - Version 8.4
    1 !%permroutinespec    write(%integer  v,p);
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.align	2
				LFB186 = .
    2 !%permroutinespec    newline
    3 !%primintegerfnspec      addr(%name p)
    4 !%primintegerfnspec      typeof(%name n)
    5 !%primintegerfnspec      sizeof(%name n)
    6
    7 %begin
				.set	nomips16
				.set	nomicromips
				.ent	main
		main:
				.frame	$sp,96,$31		# vars= 64, regs= 2/0, args= 16, gp= 8
				.mask	0x80010000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL8 = .
				addiu	$sp,$sp,-96
				sw	$31,92($sp)
				sw	$16,88($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,84($sp)
    8   %routine test(%name param)
				.set	nomips16
				.set	nomicromips
				.ent	TEST.5998
		TEST.5998:
				.frame	$sp,32,$31		# vars= 0, regs= 1/0, args= 16, gp= 8
				.mask	0x80000000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL0 = .
				addiu	$sp,$sp,-32
				sw	$31,28($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	16
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL9 = .
				lw	$28,16($sp)
				LVL10 = .
    9     write(addr(param),0)  ; newline
				move	$5,$0
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL1 = .
				lw	$28,16($sp)
				LVL2 = .
				LBB36 = .
				LBB37 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL3 = .
				lw	$28,16($sp)
				LBE37 = .
				LBE36 = .
   10     write(sizeof(param),0); newline
				move	$5,$0
				li	$4,12			# 0xc
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL4 = .
				lw	$28,16($sp)
				LBB38 = .
				LBB39 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL5 = .
				lw	$28,16($sp)
				LBE39 = .
				LBE38 = .
   11     write(typeof(param),0); newline
				move	$5,$0
				li	$4,4			# 0x4
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL6 = .
				lw	$28,16($sp)
				LBB40 = .
				LBB41 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL7 = .
				lw	$28,16($sp)
				LBE41 = .
				LBE40 = .
   12   %end
   13
				lw	$31,28($sp)
				jr	$31
				addiu	$sp,$sp,32
				.set	macro
				.set	reorder
				.end	TEST.5998
		$LFE186:
				.align	2
				.globl	main
				LFB185 = .
   14   %integerarray ia1(3:5)
   15
   16   %integerarray ia2(2:4,3:6)
   17
   18
   19   write(addr(ia1),0)  ; newline
				move	$5,$0
				addiu	$16,$sp,24
				move	$4,$16
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL11 = .
				lw	$28,16($sp)
				LBB42 = .
				LBB43 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL12 = .
				lw	$28,16($sp)
				LBE43 = .
				LBE42 = .
   20   write(addr(ia1(3)),0)  ; newline
				move	$5,$0
				move	$4,$16
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL13 = .
				lw	$28,16($sp)
				LBB44 = .
				LBB45 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL14 = .
				lw	$28,16($sp)
				LBE45 = .
				LBE44 = .
   21   write(sizeof(ia1),0); newline
				move	$5,$0
				li	$4,4			# 0x4
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL15 = .
				lw	$28,16($sp)
				LBB46 = .
				LBB47 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL16 = .
				lw	$28,16($sp)
				LBE47 = .
				LBE46 = .
   22   write(typeof(ia1),0); newline
				move	$5,$0
				li	$4,1			# 0x1
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL17 = .
				lw	$28,16($sp)
				LBB48 = .
				LBB49 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL18 = .
				lw	$28,16($sp)
				LBE49 = .
				LBE48 = .
   23   test(ia1)
				move	$4,$16
				.option	pic0
				jal	TEST.5998
				nop
				.option	pic2
				LVL19 = .
				lw	$28,16($sp)
   24
   25   write(addr(ia2),0)  ; newline
				move	$5,$0
				addiu	$16,$sp,36
				move	$4,$16
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL20 = .
				lw	$28,16($sp)
				LBB50 = .
				LBB51 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL21 = .
				lw	$28,16($sp)
				LBE51 = .
				LBE50 = .
   26   write(addr(ia2(2,3)),0)  ; newline
				move	$5,$0
				move	$4,$16
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL22 = .
				lw	$28,16($sp)
				LBB52 = .
				LBB53 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL23 = .
				lw	$28,16($sp)
				LBE53 = .
				LBE52 = .
   27   write(sizeof(ia2),0); newline
				move	$5,$0
				li	$4,16			# 0x10
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL24 = .
				lw	$28,16($sp)
				LBB54 = .
				LBB55 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL25 = .
				lw	$28,16($sp)
				LBE55 = .
				LBE54 = .
   28   write(typeof(ia2),0); newline
				move	$5,$0
				li	$4,4			# 0x4
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL26 = .
				lw	$28,16($sp)
				LBB56 = .
				LBB57 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL27 = .
				lw	$28,16($sp)
				LBE57 = .
				LBE56 = .
   29   test(ia2)
				move	$4,$16
				.option	pic0
				jal	TEST.5998
				nop
				.option	pic2
				LVL28 = .
				lw	$28,16($sp)
				LVL29 = .
				LBB58 = .
				LBB59 = .
				move	$4,$0
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL30 = .
				LBE59 = .
				LBE58 = .
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
		$Letext0:
   30
   31 %endofprogram
   30 Statements compiled
