         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.section	.rodata.str1.8,"aMS",@progbits,1
				.align 8
		.LC0:
				.string	"Illegal cycle FRED = 1, 10, JIM"
				.globl	main
		main:
		.LFB185:
		.LVL0:
				pushq	%rbp
				pushq	%rbx
				subq	$792, %rsp
				movq	%fs:40, %rax
				movq	%rax, 776(%rsp)
				xorl	%eax, %eax
    2   %integer fred, jim, i
				call	_imp_initialise@PLT
		.LVL1:
		.LBB7:
    3   %for fred = 1, 10, jim %cycle
    4     %if i = 55 %then %continue
				cmpl	$55, %ebx
				je	.L9
		.L10:
    5     %if i = 99 %then %exit
				leaq	256(%rsp), %rdi
				leaq	.LC0(%rip), %rsi
				call	_imp_c2istr@PLT
		.LVL2:
				movl	_imp_current_line(%rip), %ebp
				testl	%ebp, %ebp
				movl	$5, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L5
				leaq	512(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL3:
		.L6:
				subq	$256, %rsp
				leaq	512(%rsp), %rsi
				movl	$32, %ecx
				movq	%rsp, %rdi
				rep movsq
				subq	$256, %rsp
				leaq	1024(%rsp), %rsi
				movl	$32, %ecx
				movq	%rsp, %rdi
				rep movsq
				movl	$1, %edx
				movl	$5, %esi
				movl	%ebp, %edi
				call	_signal_event@PLT
		.LVL4:
				addq	$512, %rsp
		.LVL5:
				movabsq	$8603403804667503988, %rax
				movabsq	$31645495905693999, %rdx
				movq	%rax, 513(%rsp)
				movq	%rdx, 521(%rsp)
				leaq	529(%rsp), %rdi
				movl	$239, %ecx
				movl	$0, %eax
				rep stosb
				movb	$15, 512(%rsp)
				movq	%rsp, %rdi
				leaq	512(%rsp), %rsi
				movl	$32, %ecx
				rep movsq
		.LVL7:
		.LBE8:
				movb	$15, (%rsp)
				leaq	512(%rsp), %rdi
				movq	%rsp, %rsi
				movl	$32, %ecx
				rep movsq
				jmp	.L6
		.LVL8:
		.L9:
				cmpl	$99, %ebx
				je	.L7
		.L11:
    6     i = i+1
				movl	$-9, %eax
				jmp	.L8
		.LVL6:
		.L5:
		.LBB8:
				addl	$1, %ebx
		.LVL11:
				jmp	.L9
		.L7:
		.LVL12:
		.LBE7:
		.LBB9:
		.LBB10:
				movl	$0, %edi
				call	exit@PLT
		.LVL13:
		.LBE10:
		.LBE9:
		.LFE185:
		.Letext0:
    7   %repeat
    8 %endofprogram
				testl	%eax, %eax
				je	.L7
		.LVL9:
		.L8:
    8 Statements compiled
				addl	$10, %eax
		.LVL10:
