         Edinburgh IMP77 Compiler - Version 8.4
    1 %BEGIN
		.Ltext0:
				.align	1
				.global	main
				.thumb
				.thumb_func
		main:
		.LFB185:
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
		.LVL0:
				push	{r3, r4, r5, lr}
    2   %INTEGER NP
				bl	_imp_initialise(PLT)
		.LVL1:
		.LBB9:
    3   NP = 5
    4   ! Generates wrong C code!  Limit should be evaluated once at start of loop.y
    5   %CYCLE NP=1,1,NP
    6     WRITE(NP, 0); NEWLINE
				mov	r5, r4
		.LVL2:
		.L2:
				mov	r1, r5
				mov	r0, r4
				bl	_imp_writeint(PLT)
		.LVL4:
		.LBB10:
		.LBB11:
				bl	_imp_newline(PLT)
		.LVL5:
		.LDL1:
		.LBE11:
		.LBE10:
				cmp	r4, #5
				bne	.L2
		.L3:
		.LVL6:
		.LBE9:
		.LBB12:
		.LBB13:
				movs	r0, #0
				bl	exit(PLT)
		.LVL7:
		.LBE13:
		.LBE12:
		.LFE185:
		.Letext0:
    7   %REPEAT
    8 %ENDOFPROGRAM
				movs	r4, #0
    8 Statements compiled
				adds	r4, r4, #1
		.LVL3:
