         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
		R.6393:
		.LFB187:
		.LVL7:
				subq	$8, %rsp
    2 %string(2) %fn symbolprefix
				call	_imp_initialise@PLT
		.LVL8:
    3     %result = "_"
    4 %end
    5
    6 %routine r
				pushq	%rbx
				subq	$1808, %rsp
				movq	%fs:40, %rax
				movq	%rax, 1800(%rsp)
				xorl	%eax, %eax
		.LBB23:
		.LBB24:
    7 %string(255) name
    8     name = symbolprefix."HELP"
    9       %if name="_HELP" %then printstring("Test OK")
   10 %end
				leaq	1536(%rsp), %rdi
				leaq	768(%rsp), %rdx
				leaq	512(%rsp), %rsi
				call	_imp_join@PLT
		.LVL0:
		.LBE24:
		.LBE23:
				leaq	256(%rsp), %rsi
				movq	%rsp, %rbx
				movl	$255, %edx
				movq	%rbx, %rdi
				call	_imp_strncpy@PLT
		.LVL1:
				jmp	.L1
		.L6:
   11 r
				leaq	1024(%rsp), %rsi
				movq	%rbx, %rdi
				call	_imp_strcmp@PLT
		.LVL2:
				testl	%eax, %eax
				je	.L5
		.L2:
		.L1:
				movq	1800(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L6
				addq	$1808, %rsp
				popq	%rbx
				ret
		.L5:
		.LVL3:
		.LBB25:
				call	__stack_chk_fail@PLT
		.LVL6:
		.LFE187:
				.globl	main
		main:
		.LFB185:
				call	R.6393
		.LVL9:
		.LBB28:
		.LBB29:
				movl	$0, %edi
				call	exit@PLT
		.LVL10:
		.LBE29:
		.LBE28:
		.LFE185:
		.Letext0:
   12 %endofprogram
   11 Statements compiled
				movabsq	$21197624064566612, %rax
				movl	$0, %edx
				movq	%rax, 1537(%rsp)
				movq	%rdx, 1545(%rsp)
				leaq	1553(%rsp), %rdi
				movl	$239, %ecx
				movl	$0, %eax
				rep stosb
				movb	$7, 1536(%rsp)
				leaq	1280(%rsp), %rdi
				leaq	1536(%rsp), %rsi
				movl	$32, %ecx
				rep movsq
		.LVL4:
				movb	$7, 1280(%rsp)
				leaq	1536(%rsp), %rdi
				leaq	1280(%rsp), %rsi
				movl	$32, %ecx
				rep movsq
		.LBE25:
		.LBB26:
		.LBB27:
				subq	$256, %rsp
				leaq	1792(%rsp), %rsi
				movl	$32, %ecx
				movq	%rsp, %rdi
				rep movsq
				call	_imp_printstring@PLT
		.LVL5:
				addq	$256, %rsp
		.LBE27:
		.LBE26:
