         Edinburgh IMP77 Compiler - Version 8.4
    1 %externalstring(7) P2 Version = "004"
		.Ltext0:
				.globl	P2VERSION
				.data
				.align 32
		P2VERSION:
				.byte	3
				.string	"004"
				.zero	3
				.zero	248
				.globl	PASS2
		PASS2:
		.LFB189:
    2
    3 %recordformat Commfm(%integer i, j, k)
    4
    5 %externalroutine PASS2(%record(Commfm)%name Interface)
				pushl	%ebp
				movl	%esp, %ebp
				subl	$56, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	8(%ebp), %eax
				movl	%eax, -44(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -16(%ebp)
				movl	-44(%ebp), %eax
				movl	%eax, -20(%ebp)
    6
    7    %recordformat Boundfm(%integer Lower, Upper, Mult)
    8    %recordformat Afm(%integer Dimension,
    9                               Total Size,
   10                               Zero Displacement,
   11                               DV,
   12                               Local Frame,
   13                               Base,
   14        %record(Boundfm)%array Bound(1:10))
   15
   16    %constrecord(Afm)%name A type == 0             {for NEW}
				movl	$0, -32(%ebp)
   17
   18    %recordformat Varfm(%integer Flags,
   19                        %byte Base, Prim,
   20                     %byte  Type, Form,
   21                     (%longreal Rvar %or
   22                      %integer Disp, (%integer Extra %or %record(Afm)%name Adata)),
   23                     (%integer Format %or %integer Scale),
   24                     %integer Area)
   25
   26
   27    %recordformatspec Stackfm
   28    %recordformat Olfm(%integer  Oper, %record(Stackfm)%name Link)
   29    %recordformat  Xfm(%integer Xsize, %record(Stackfm)%name Index)
   30
   31    %recordformat Datafm( %c
   32            %record(Varfm)    V,
   33            %integer Varno,
   34            %record(Varfm)%name Fv,
   35            (%integer Bias %or %byte Reg, Label),
   36            %record(Stackfm)%name  Params, Record,
   37            (%integer Oper, %record(Stackfm)%name Link %or %record(Olfm) Oplink),
   38            (%integer Xsize, %record(Stackfm)%name Index %or %record(Xfm) X))
   39
   40    %recordformat Memberfm(%integer Const, Items,
   41                           %record(Stackfm)%name A, B,
   42                           %record(Memberfm)%name Link)
   43
   44    %constrecord(Memberfm)%name Memberfm Type == 0
				movl	$0, -28(%ebp)
   45
   46    %recordformat Stackfm( %c
   47       %record(Varfm)     V                   %or
   48       %record(Datafm)    Data                %or
   49       %integer Flags,
   50       %byte Base, Prim,
   51       %byte  Type, Form,
   52       (%longreal Rval %or %integer Rhigh, Rlow %c
   53         %or (%integer Disp, (%integer Extra %or %record(Afm)%name Adata)),
   54       (%integer Format %or %integer Scale),
   55       %integer Area,
   56       %integer Varno,
   57       (%record(Varfm)%name Fv %or %record(Memberfm)%name Members),
   58       (%integer Bias %or %byte Reg, Label),
   59       %record(Stackfm)%name     Params, Record,
   60       (%integer  Oper, %record(Stackfm)%name Link  %or %record(Olfm) Oplink),
   61       (%integer Xsize, %record(Stackfm)%name Index %or %record(Xfm) X)),
   62       %record(Stackfm)%name          Using, Stack)
   63
   64    %constrecord(Stackfm)%name Stackfm Type == 0
				movl	$0, -24(%ebp)
   65
   66
   67    %routine Initialise(%integer Base, Form)
   68
   69       Interface_j = 123;
   70
   71    %end
?FORM unused
?BASE unused
   72
   73 %end
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L3
				call	__stack_chk_fail_local
		.L3:
				leave
				ret
		.LFE189:
				.section	.text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
				.globl	__x86.get_pc_thunk.ax
				.hidden	__x86.get_pc_thunk.ax
		__x86.get_pc_thunk.ax:
		.LFB191:
				movl	(%esp), %eax
				ret
		.LFE191:
		.Letext0:
?INITIALISE unused
?STACKFMTYPE unused
?MEMBERFMTYPE unused
?ATYPE unused
   74
   75 %endoffile
   20 Statements compiled
