         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.globl	main
		main:
		.LFB189:
				leal	4(%esp), %ecx
				andl	$-16, %esp
				pushl	-4(%ecx)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%ebx
				pushl	%ecx
				subl	$98060, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %eax
				movl	4(%eax), %edx
				movl	%edx, -98060(%ebp)
				movl	%gs:20, %edi
				movl	%edi, -28(%ebp)
				xorl	%edi, %edi
				subl	$8, %esp
				pushl	-98060(%ebp)
				pushl	(%eax)
				call	_imp_initialise@PLT
				addl	$16, %esp
    2   %integerarray d1(10:11)
				leal	-97972(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-98044(%ebp), %eax
				movl	%eax, -97972(%ebp)
				movl	$4, -97968(%ebp)
    3   %integerarray d2(0:1,-5:2)
				leal	-97904(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-98036(%ebp), %eax
				movl	%eax, -97904(%ebp)
				movl	$4, -97900(%ebp)
    4   %integerarray d3(0:1,0:2,0:3)
				leal	-97836(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-97564(%ebp), %eax
				movl	%eax, -97836(%ebp)
				movl	$4, -97832(%ebp)
    5   %integerarray d4(0:1,0:2,0:3,0:4)
				leal	-97768(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-97468(%ebp), %eax
				movl	%eax, -97768(%ebp)
				movl	$4, -97764(%ebp)
    6   %integerarray d5(0:1,0:2,0:3,0:4,0:5)
				leal	-97700(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-96988(%ebp), %eax
				movl	%eax, -97700(%ebp)
				movl	$4, -97696(%ebp)
    7   %integerarray d6(0:1,0:2,0:3,0:4,-22:5,0:6)
				leal	-97632(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-94108(%ebp), %eax
				movl	%eax, -97632(%ebp)
				movl	$4, -97628(%ebp)
    8   ! TOO MANY BOUNDS!  %integerarray d7(0:1,0:2,0:3,0:4,0:5,0:6,0:7)
    9
   10   d1(10) = 1
				movl	$1, -98044(%ebp)
   11   d2(1,2) = 2
				movl	$2, -97976(%ebp)
   12   d3(1,2,3) = 3
				movl	$3, -97472(%ebp)
   13   d4(1,2,3,4) = 4
				movl	$4, -96992(%ebp)
   14   d5(1,2,3,4,5) = 5
				movl	$5, -94112(%ebp)
   15   d6(1,2,3,4,5,6) = 6
				movl	$6, -32(%ebp)
   16
   17   %integer i
   18
   19   i = d1(10)
				movl	-98044(%ebp), %eax
				movl	%eax, -98052(%ebp)
   20   i = d2(1,2)
				movl	-97976(%ebp), %eax
				movl	%eax, -98052(%ebp)
   21   i = d3(1,2,3)
				movl	-97472(%ebp), %eax
				movl	%eax, -98052(%ebp)
   22   i = d4(1,2,3,4)
				movl	-96992(%ebp), %eax
				movl	%eax, -98052(%ebp)
   23   i = d5(1,2,3,4,5)
				movl	-94112(%ebp), %eax
				movl	%eax, -98052(%ebp)
   24   i = d6(1,2,3,4,5,6)
				movl	-32(%ebp), %eax
				movl	%eax, -98052(%ebp)
				movl	$0, -98048(%ebp)
		.LBB4:
		.LBB5:
				subl	$12, %esp
				pushl	-98048(%ebp)
				call	exit@PLT
		.LBE5:
		.LBE4:
		.LFE189:
				.section	.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
				.globl	__x86.get_pc_thunk.bx
				.hidden	__x86.get_pc_thunk.bx
		__x86.get_pc_thunk.bx:
		.LFB190:
				movl	(%esp), %ebx
				ret
		.LFE190:
		.Letext0:
   25
   26 %endofprogram
   21 Statements compiled
