         Edinburgh IMP77 Compiler - Version 8.4
    1 %external %integer fred
				.option nopic
		.Ltext0:
				.align	1
				.globl	BERT
		BERT:
		.LFB185:
    2 %external %routine bert(%integer i)
		.LVL0:
    3   fred = i
				lui	a5,%hi(FRED)
				sw	a0,%lo(FRED)(a5)
				lui	a5,%hi(FRED)
				li	a4,22
				sw	a4,%lo(FRED)(a5)
		.LVL5:
		.LBE9:
		.LBE8:
    4 %end
    5
				ret
		.LFE185:
				.align	1
				.globl	SHIELA
		SHIELA:
		.LFB186:
    6
    7 %external %routine shiela(%integer k)
		.LVL1:
    8 %own %integer local = 42
    9   k = local
   10   local = local + 1
				lui	a4,%hi(LOCAL.6004)
				lw	a5,%lo(LOCAL.6004)(a4)
				addw	a5,a5,1
				sw	a5,%lo(LOCAL.6004)(a4)
		.LVL2:
   11 %end
   12
				ret
		.LFE186:
				.align	1
				.globl	main
		main:
		.LFB187:
   13 %begin
		.LVL3:
				add	sp,sp,-16
				sd	ra,8(sp)
   14   bert(22)
				call	_imp_initialise
		.LVL4:
		.LBB8:
		.LBB9:
   15   shiela(fred)
				li	a0,22
				call	SHIELA
		.LVL6:
		.LBB10:
		.LBB11:
				li	a0,0
				call	exit
		.LVL7:
		.LBE11:
		.LBE10:
		.LFE187:
				.comm	FRED,4,4
				.section	.sdata,"aw",@progbits
				.align	2
		LOCAL.6004:
				.word	42
		.Letext0:
   16 %end %of %programm
   13 Statements compiled
