         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.align	2
				.global	main
		main:
		.LFB185:
		.LVL0:
				stp	x29, x30, [sp, -48]!
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
    2 %integer i,j,k
				bl	_imp_initialise
		.LVL1:
				adrp	x20, .LANCHOR0
				add	x20, x20, :lo12:.LANCHOR0
				add	x22, x20, 80
    3 %ownintegerarray a(0:19)=10,9,8,7,6,5,4,3,2,1,0-1,-2,-3,-4,-5,-6,-7,-8,-9,-10;
    4                                               ! 0-1, not 0, -1 !!
    5 j=4
    6 %for k=0,1,19 %cycle
    7 write(a(k)//4,4); write(a(k)//j,4);  newline
				mov	w21, 4
		.LVL2:
		.L2:
				ldr	w19, [x20], 4
				add	w0, w19, 3
				cmp	w19, 0
				csel	w0, w0, w19, lt
				asr	w0, w0, 2
				mov	w1, w21
				sxtw	x0, w0
				bl	_imp_writelong
		.LVL3:
    8 %repeat
				sxtw	x19, w19
				add	x0, x19, 3
				cmp	x19, 0
				csel	x0, x0, x19, lt
				mov	w1, w21
				asr	x0, x0, 2
				bl	_imp_writelong
		.LVL4:
		.LBB6:
		.LBB7:
				bl	_imp_newline
		.LVL5:
		.LDL1:
		.LBE7:
		.LBE6:
    9 %endofprogram
				cmp	x20, x22
				bne	.L2
		.L3:
		.LVL6:
		.LBB8:
		.LBB9:
				mov	w0, 0
				bl	exit
		.LVL7:
		.LBE9:
		.LBE8:
		.LFE185:
				.section	.rodata
				.align	3
				.set	.LANCHOR0,. + 0
		A.7692:
				.word	10
				.word	9
				.word	8
				.word	7
				.word	6
				.word	5
				.word	4
				.word	3
				.word	2
				.word	1
				.word	-1
				.word	-2
				.word	-3
				.word	-4
				.word	-5
				.word	-6
				.word	-7
				.word	-8
				.word	-9
				.word	-10
		.Letext0:
?I unused
   10 Statements compiled
