         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.section	.rodata
				.align 32
		.LC0:
				.byte	23
				.string	"improperly initialised?"
				.zero	231
				.align 32
		.LC1:
				.byte	20
				.string	"improperly assigned?"
				.zero	234
				.globl	main
		main:
		.LFB189:
				leal	4(%esp), %ecx
				andl	$-16, %esp
				pushl	-4(%ecx)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				pushl	%ecx
				subl	$1064, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %eax
				movl	4(%eax), %edx
				movl	%edx, -1068(%ebp)
				movl	%gs:20, %esi
				movl	%esi, -28(%ebp)
				xorl	%esi, %esi
				subl	$8, %esp
				pushl	-1068(%ebp)
				pushl	(%eax)
				call	_imp_initialise@PLT
				addl	$16, %esp
		.LBB8:
		.LBB9:
    2   %integer inum
    3   %real rnum
    4   %string (255) str = "improperly initialised?"
				leal	-284(%ebp), %eax
				leal	.LC0@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE9:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
		.LBE8:
				subl	$4, %esp
				pushl	$255
				pushl	%eax
				leal	-1052(%ebp), %eax
				pushl	%eax
				call	_imp_strncpy@PLT
				addl	$16, %esp
    5
    6   inum = 0123
				movl	$123, -1064(%ebp)
    7   inum = 123
				movl	$123, -1064(%ebp)
    8   inum = X'AA'
				movl	$170, -1064(%ebp)
    9   inum = X'aa'
				movl	$170, -1064(%ebp)
   10   inum = K'77'
				movl	$63, -1064(%ebp)
   11   inum = B'1101'
				movl	$13, -1064(%ebp)
   12   inum = 10_0123
				movl	$123, -1064(%ebp)
   13   inum = 16_aa
				movl	$170, -1064(%ebp)
   14   inum = 16_AA
				movl	$170, -1064(%ebp)
   15   inum = M'FRED'
				movl	$1179796804, -1064(%ebp)
   16   inum = M'fred'
				movl	$1718773092, -1064(%ebp)
   17   !! NOT IMP77: inum = 'FRED'
   18   !! NOT IMP77: inum = 'fred'
   19   inum = 8_77
				movl	$63, -1064(%ebp)
   20   inum = 2_1101
				movl	$13, -1064(%ebp)
   21
   22   rnum = 0123
				flds	.LC2@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   23   rnum = 0123.234
				flds	.LC3@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   24   rnum = 0123.0234
				flds	.LC4@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   25   rnum = 0123.4@2
				flds	.LC5@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   26   rnum = 0123.4@-2
				flds	.LC6@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   27   rnum = 0123@2
				flds	.LC7@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   28   rnum = 0123@+2
				flds	.LC8@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   29   rnum = 0123@-2
				flds	.LC9@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   30   rnum = 123
				flds	.LC2@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   31   rnum = .234
				flds	.LC10@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   32   rnum = .234@3
				flds	.LC11@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   33   rnum = 0123.
				flds	.LC2@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   34   rnum = 0123.@4
				flds	.LC12@GOTOFF(%ebx)
				fstps	-1060(%ebp)
   35   rnum = 0.@3
				fldz
				fstps	-1060(%ebp)
		.LBB10:
		.LBB11:
   36   !rnum = 0.@      ;! rejected forms:
   37   !rnum = .@3
   38
   39   str = "improperly assigned?"
				leal	-540(%ebp), %eax
				leal	.LC1@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-540(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE11:
				leal	-540(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
		.LBE10:
				subl	$4, %esp
				pushl	$255
				pushl	%eax
				leal	-1052(%ebp), %eax
				pushl	%eax
				call	_imp_strncpy@PLT
				addl	$16, %esp
				movl	$0, -1056(%ebp)
		.LBB12:
		.LBB13:
				subl	$12, %esp
				pushl	-1056(%ebp)
				call	exit@PLT
		.LBE13:
		.LBE12:
		.LFE189:
				.section	.rodata
				.align 4
		.LC2:
				.long	1123418112
				.align 4
		.LC3:
				.long	1123448783
				.align 4
		.LC4:
				.long	1123421179
				.align 4
		.LC5:
				.long	1178652672
				.align 4
		.LC6:
				.long	1067316150
				.align 4
		.LC7:
				.long	1178611712
				.align 4
		.LC8:
				.long	1118437376
				.align 4
		.LC9:
				.long	1067282596
				.align 4
		.LC10:
				.long	1047502258
				.align 4
		.LC11:
				.long	1131020288
				.align 4
		.LC12:
				.long	1234576768
				.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:
   40   !! NOT IMP77: str = 'ditto, old style'
   41
   42 %endofprogram
   33 Statements compiled
