         Edinburgh IMP77 Compiler - Version 8.4
    1
				.option nopic
		.Ltext0:
				.align	1
		B.6012:
		.LFB188:
    2 %BEGIN
		.LVL15:
				add	sp,sp,-192
				sd	ra,184(sp)
				sd	s0,176(sp)
				lui	a5,%hi(__stack_chk_guard)
				ld	a5,%lo(__stack_chk_guard)(a5)
				sd	a5,168(sp)
    3 %ROUTINE TEST(%ROUTINE PARAM(%INTEGER I))
				call	_imp_initialise
		.LVL16:
		.LBB22:
		.LBB23:
    4       PARAM(10)
				li	a0,10
				jalr	s0
		.LVL19:
		.LBE25:
		.LBE24:
		.LBE23:
		.LBE22:
		.LBB26:
		.LBB27:
				li	a0,0
				call	exit
		.LVL20:
		.LBE27:
		.LBE26:
		.LFE185:
				.section	.rodata
				.align	3
				.set	.LANCHOR0,. + 0
		.LC0:
				.byte	6
				.string	"FAILED"
				.zero	248
		.LC1:
				.byte	7
				.string	"TEST OK"
				.zero	247
		.Letext0:
    5 %END
    6 %ROUTINE A
				add	a5,sp,192
				sd	a5,160(sp)
				add	s0,sp,16
				li	a5,919
				sw	a5,16(sp)
				li	a5,25407488
				addw	a5,a5,771
				sw	a5,20(sp)
				li	a5,17018880
				addw	a5,a5,899
				sw	a5,24(sp)
				li	a5,196608
				addw	a5,a5,103
				sw	a5,28(sp)
				sd	sp,32(sp)
				lui	a5,%hi(B.6012)
				addi	a5,a5,%lo(B.6012)
				sd	a5,40(sp)
				li	a2,0
				add	a1,sp,160
				mv	a0,s0
				call	__riscv_flush_icache
		.LVL17:
    7 %INTEGER P,Q,R
    8       P='P'; Q='Q'; R='R'
				li	a5,80
				sw	a5,8(sp)
    9 %ROUTINE B(%INTEGER A)
		.LVL0:
				add	sp,sp,-1312
				sd	ra,1304(sp)
				lui	a5,%hi(__stack_chk_guard)
				ld	a5,%lo(__stack_chk_guard)(a5)
				sd	a5,1288(sp)
				li	a5,81
				sw	a5,4(sp)
   10       %UNLESS P='P' %AND Q='Q' %AND R='R' %and a=10 %THEN %c
				lw	a4,8(t2)
				li	a5,80
				bne	a4,a5,.L2
				li	a5,82
				sw	a5,0(sp)
		.LVL18:
		.LBB24:
		.LBB25:
   11         PRINTSTRING("FAILED") %else printstring("TEST OK")
				lw	a4,4(t2)
				li	a5,81
				beq	a4,a5,.L7
		.L2:
		.LBB10:
   12 %END
				lw	a4,0(t2)
				li	a5,82
				bne	a4,a5,.L2
				j	.L1
		.L8:
   13 TEST(B)
				ld	a4,1288(sp)
				lui	a5,%hi(__stack_chk_guard)
				ld	a5,%lo(__stack_chk_guard)(a5)
				bne	a4,a5,.L8
				ld	ra,1304(sp)
				add	sp,sp,1312
				jr	ra
		.LVL7:
		.L7:
				li	a5,10
				bne	a0,a5,.L2
		.L3:
		.LBB13:
				call	__stack_chk_fail
		.LVL14:
		.LFE188:
				.globl	__riscv_flush_icache
				.align	1
				.globl	main
		main:
		.LFB185:
   14 %END
   15 A
				li	a2,256
				lui	a1,%hi(.LANCHOR0)
				addi	a1,a1,%lo(.LANCHOR0)
				add	a0,sp,1032
		.LVL1:
				call	memcpy
		.LVL2:
				li	a2,256
				add	a1,sp,1032
				add	a0,sp,264
				call	memcpy
		.LVL3:
				li	a2,256
				add	a1,sp,264
				add	a0,sp,776
				call	memcpy
		.LVL4:
		.LBE10:
		.LBB11:
		.LBB12:
				li	a2,256
				add	a1,sp,776
				mv	a0,sp
				call	memcpy
		.LVL5:
				mv	a0,sp
				call	_imp_printstring
		.LVL6:
		.L4:
		.L1:
		.LBE12:
		.LBE11:
   16 %ENDOFPROGRAM
   16 Statements compiled
				li	a2,256
				lui	a1,%hi(.LANCHOR0+256)
				addi	a1,a1,%lo(.LANCHOR0+256)
				add	a0,sp,1032
		.LVL8:
				call	memcpy
		.LVL9:
				li	a2,256
				add	a1,sp,1032
				add	a0,sp,520
				call	memcpy
		.LVL10:
				li	a2,256
				add	a1,sp,520
				add	a0,sp,1032
				call	memcpy
		.LVL11:
		.LBE13:
		.LBB14:
		.LBB15:
				li	a2,256
				add	a1,sp,1032
				mv	a0,sp
				call	memcpy
		.LVL12:
				mv	a0,sp
				call	_imp_printstring
		.LVL13:
		.LBE15:
		.LBE14:
