         Edinburgh IMP77 Compiler - Version 8.4
    1 %recordformatspec STACKFM
		.Ltext0:
				.globl	ATYPE
				.bss
				.align 4
		ATYPE:
				.zero	4
				.globl	MEMBERFMTYPE
				.align 4
		MEMBERFMTYPE:
				.zero	4
				.globl	STACKFMTYPE
				.align 4
		STACKFMTYPE:
				.zero	4
				.globl	WITHFMTYPE
				.align 4
		WITHFMTYPE:
				.zero	4
		.Letext0:
    2 %recordformat BOUNDFM(%c
    3   %integer LOWER,
    4       %integer UPPER,
    5       %integer MULT %C
    6     )
    7   %recordformat AFM(%c
    8   %integer DIMENSION,
    9       %integer TOTALSIZE,
   10       %integer ZERODISPLACEMENT,
   11       %integer DV,
   12       %integer LOCALFRAME,
   13       %integer BASE,
   14       %record (BOUNDFM) %array BOUND (1:7) %C
   15     )
   16   %constant %record (AFM) %name ATYPE == 0
   17   %recordformat VARFM(%c
   18   %integer FLAGS,
   19       %byte %integer BASE,
   20       %byte %integer PRIM,
   21       %byte %integer TYPE,
   22       %byte %integer FORM,
   23     ( %c
   24       %long %real RVAR %C
   25     %or %c
   26       %integer DISP,
   27     ( %c
   28       %integer EXTRA %C
   29     %or %c
   30       %record (AFM) %name ADATA %C
   31     ) %c
   32     ),
   33     ( %c
   34       %integer FORMAT %C
   35     %or %c
   36       %integer SCALE %C
   37     ),
   38       %integer AREA %C
   39     )
   40   %recordformat OLFM(%c
   41   %integer OPER,
   42       %record (STACKFM) %name LINK %C
   43     )
   44   %recordformat XFM(%c
   45   %integer XSIZE,
   46       %record (STACKFM) %name INDEX %C
   47     )
   48   %recordformat DATAFM(%c
   49   %record (VARFM) V,
   50       %integer VARNO,
   51       %record (VARFM) %name FV,
   52     ( %c
   53       %integer BIAS %C
   54     %or %c
   55       %byte %integer REG,
   56       %byte %integer LABEL %C
   57     ),
   58       %record (STACKFM) %name PARAMS,
   59       %record (STACKFM) %name RECORD,
   60     ( %c
   61       %integer OPER,
   62       %record (STACKFM) %name LINK %C
   63     %or %c
   64       %record (OLFM) OPLINK %C
   65     ),
   66     ( %c
   67       %integer XSIZE,
   68       %record (STACKFM) %name INDEX %C
   69     %or %c
   70       %record (XFM) X %C
   71     ) %c
   72     )
   73   %recordformat MEMBERFM(%c
   74   %integer CONST,
   75       %integer ITEMS,
   76       %record (STACKFM) %name A,
   77       %record (STACKFM) %name B,
   78       %record (MEMBERFM) %name LINK %C
   79     )
   80   %constant %record (MEMBERFM) %name MEMBERFMTYPE == 0
   81   %recordformat STACKFM(%c
   82   %record (VARFM) V %C
   83     %or %c
   84       %record (DATAFM) DATA %C
   85     %or %c
   86       %integer FLAGS,
   87       %byte %integer BASE,
   88       %byte %integer PRIM,
   89       %byte %integer TYPE,
   90       %byte %integer FORM,
   91     ( %c
   92       %long %real RVAL %C
   93     %or %c
   94       %integer RHIGH,
   95       %integer RLOW %C
   96     %or %c
   97     ( %c
   98       %integer DISP,
   99     ( %c
  100       %integer EXTRA %C
  101     %or %c
  102       %record (AFM) %name ADATA %C
  103     ) %c
  104     ),
  105     ( %c
  106       %integer FORMAT %C
  107     %or %c
  108       %integer SCALE %C
  109     ),
  110       %integer AREA,
  111       %integer VARNO,
  112     ( %c
  113       %record (VARFM) %name FV %C
  114     %or %c
  115       %record (MEMBERFM) %name MEMBERS %C
  116     ),
  117     ( %c
  118       %integer BIAS %C
  119     %or %c
  120       %byte %integer REG,
  121       %byte %integer LABEL %C
  122     ),
  123       %record (STACKFM) %name PARAMS,
  124       %record (STACKFM) %name RECORD,
  125     ( %c
  126       %integer OPER,
  127       %record (STACKFM) %name LINK %C
  128     %or %c
  129       %record (OLFM) OPLINK %C
  130     ),
  131     ( %c
  132       %integer XSIZE,
  133       %record (STACKFM) %name INDEX %C
  134     %or %c
  135       %record (XFM) X %C
  136     ) %c
  137     ),
  138       %record (STACKFM) %name USING,
  139       %record (STACKFM) %name STACK %C
  140     )
  141   %constant %record (STACKFM) %name STACKFMTYPE == 0
  142   %recordformat WITHFM(%c
  143   %integer KEY,
  144       %record (DATAFM) DATA,
  145       %record (WITHFM) %name LINK %C
  146     )
  147   %constant %record (WITHFM) %name WITHFMTYPE == 0
  148   %recordformat WORKFM(%c
  149   %integer SIZE,
  150       %integer DISPLACEMENT,
  151       %integer VALIDITY %C
  152     )
  153 %endoffile
   16 Statements compiled
