         Edinburgh IMP77 Compiler - Version 8.4
    1 %Constant %Integer  CB1   = 1
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.align	2
				.globl	main
				LFB185 = .
    2 %Constant %Integer  CB2   = 2
    3 %Constant %Integer  CInt1 = CB1 + 3 * 4
    4 %Constant %Integer  CInt2 = CInt1 + CB2 + 321
    5 %Constant %Integer  CInt4 = 4
    6 %Constant %Integer  MInt1 = M'X'
    7 %Constant %Integer  MInt2 = M'IMP'
    8 %begin
				.set	nomips16
				.set	nomicromips
				.ent	main
		main:
				.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
    9   %integer I
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL1 = .
				lw	$28,16($sp)
				LVL2 = .
				LVL3 = .
   10   I = CB1
   11   I = CB2
   12   I = CInt1
   13   I = CInt2
   14   I = CInt4
   15   I = MInt1
   16   I = MInt2
   17
   18   I = CB1 + I
   19   I = CB2 + I
   20   I = CInt1 + I
   21   I = CInt2 + I
   22   I = CInt4 + I
   23   I = MInt1 + I
   24   I = MInt2 + I
   25
   26   Write(CB1, 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
				LVL4 = .
				lw	$28,16($sp)
				LBB18 = .
				LBB19 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL5 = .
				lw	$28,16($sp)
				LBE19 = .
				LBE18 = .
   27   Write(CB2, 0); newline
				move	$5,$0
				li	$4,2			# 0x2
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL6 = .
				lw	$28,16($sp)
				LBB20 = .
				LBB21 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL7 = .
				lw	$28,16($sp)
				LBE21 = .
				LBE20 = .
   28   Write(CInt1, 0); newline
				move	$5,$0
				li	$4,13			# 0xd
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL8 = .
				lw	$28,16($sp)
				LBB22 = .
				LBB23 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL9 = .
				lw	$28,16($sp)
				LBE23 = .
				LBE22 = .
   29   Write(CInt2, 0); newline
				move	$5,$0
				li	$4,336			# 0x150
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL10 = .
				lw	$28,16($sp)
				LBB24 = .
				LBB25 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL11 = .
				lw	$28,16($sp)
				LBE25 = .
				LBE24 = .
   30   Write(CInt4, 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
				LVL12 = .
				lw	$28,16($sp)
				LBB26 = .
				LBB27 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL13 = .
				lw	$28,16($sp)
				LBE27 = .
				LBE26 = .
   31   Write(MInt1, 0); newline
				move	$5,$0
				li	$4,88			# 0x58
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL14 = .
				lw	$28,16($sp)
				LBB28 = .
				LBB29 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL15 = .
				lw	$28,16($sp)
				LBE29 = .
				LBE28 = .
   32   Write(MInt2, 0); newline
				move	$5,$0
				li	$4,4784128			# 0x490000
				addiu	$4,$4,19792
				lw	$25,%call16(_imp_writeint)($28)
				.reloc	1f,R_MIPS_JALR,_imp_writeint
			1:	jalr	$25
				nop
				LVL16 = .
				lw	$28,16($sp)
				LBB30 = .
				LBB31 = .
				lw	$25,%call16(_imp_newline)($28)
				.reloc	1f,R_MIPS_JALR,_imp_newline
			1:	jalr	$25
				nop
				LVL17 = .
				lw	$28,16($sp)
				LVL18 = .
				LBE31 = .
				LBE30 = .
				LBB32 = .
				LBB33 = .
				move	$4,$0
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL19 = .
				LBE33 = .
				LBE32 = .
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
		$Letext0:
   33
   34 %endofprogram
   38 Statements compiled
