         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.globl	next_free_bound_index
				.bss
				.align 4
		next_free_bound_index:
				.zero	4
				.comm	_lb,384,32
				.comm	_ub,384,32
				.globl	main
		main:
		.LFB189:
				leal	4(%esp), %ecx
				andl	$-16, %esp
				pushl	-4(%ecx)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				pushl	%ecx
				subl	$32, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %eax
				subl	$8, %esp
				pushl	4(%eax)
				pushl	(%eax)
				call	_imp_initialise@PLT
				addl	$16, %esp
    2   %integer aaa,bbb,ccc
    3
    4   aaa = 123
				movl	$123, -28(%ebp)
    5   bbb = 234
				movl	$234, -24(%ebp)
    6   ccc = 345
				movl	$345, -20(%ebp)
    7
    8   aaa = +123
				movl	$123, -28(%ebp)
    9   aaa = -123
				movl	$-123, -28(%ebp)
   10   aaa = ~123
				movl	$-124, -28(%ebp)
   11
   12 ! aaa = bbb+ccc
   13 ! aaa = bbb-ccc
   14   aaa = bbb*ccc
				movl	-24(%ebp), %eax
				imull	-20(%ebp), %eax
				movl	%eax, -28(%ebp)
   15 ! aaa = bbb//ccc
   16
   17 ! aaa = bbb^^ccc
   18
   19 ! aaa = bbb<<ccc
   20 ! aaa = bbb>>ccc
   21
   22   aaa = bbb!ccc
				movl	-24(%ebp), %eax
				orl	-20(%ebp), %eax
				movl	%eax, -28(%ebp)
   23   aaa = bbb!!ccc
				movl	-24(%ebp), %eax
				xorl	-20(%ebp), %eax
				movl	%eax, -28(%ebp)
				movl	-24(%ebp), %eax
				movl	%eax, -16(%ebp)
		.LBB6:
		.LBB7:
				movl	-16(%ebp), %eax
		.LBE7:
		.LBE6:
   24   aaa = |bbb|
				movl	%eax, -28(%ebp)
   25
   26 ! aaa = bbb&ccc
   27
   28   aaa = bbb %if aaa = bbb
				movl	-28(%ebp), %eax
				cmpl	-24(%ebp), %eax
				jne	.L15
				movl	-24(%ebp), %eax
				movl	%eax, -28(%ebp)
				jmp	.L4
		.L15:
				nop
		.L4:
   29   aaa = bbb %if aaa # bbb
				movl	-28(%ebp), %eax
				cmpl	-24(%ebp), %eax
				je	.L16
				movl	-24(%ebp), %eax
				movl	%eax, -28(%ebp)
				jmp	.L6
		.L16:
				nop
		.L6:
   30   aaa = bbb %if aaa > bbb
				movl	-28(%ebp), %eax
				cmpl	-24(%ebp), %eax
				jle	.L17
				movl	-24(%ebp), %eax
				movl	%eax, -28(%ebp)
				jmp	.L8
		.L17:
				nop
		.L8:
   31   aaa = bbb %if aaa < bbb
				movl	-28(%ebp), %eax
				cmpl	-24(%ebp), %eax
				jge	.L18
				movl	-24(%ebp), %eax
				movl	%eax, -28(%ebp)
				jmp	.L10
		.L18:
				nop
		.L10:
   32   aaa = bbb %if aaa <= bbb
				movl	-28(%ebp), %eax
				cmpl	-24(%ebp), %eax
				jg	.L19
				movl	-24(%ebp), %eax
				movl	%eax, -28(%ebp)
				jmp	.L12
		.L19:
				nop
		.L12:
   33   aaa = bbb %if aaa >= bbb
				movl	-28(%ebp), %eax
				cmpl	-24(%ebp), %eax
				jl	.L20
				movl	-24(%ebp), %eax
				movl	%eax, -28(%ebp)
				jmp	.L14
		.L20:
				nop
		.L14:
				movl	$0, -12(%ebp)
		.LBB8:
		.LBB9:
				subl	$12, %esp
				pushl	-12(%ebp)
				call	exit@PLT
		.LBE9:
		.LBE8:
		.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:
   34
   35 %endofprogram
   19 Statements compiled
