         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     2    ! see if we can remove redundant *& in assignment of 'that == buff(0)'
     3    %recordformat bfm(%integer i, j)
     4  
     5    ! BUG: currently the '*' is missing from the map declaration
     6    %record(bfm)%map   buff(%integer addr)
 0004 EB 00                                 JMP L1001
 0006                      L1002  EQU $
 0006 C8 00 00 02                           ENTER 0000,2
     7    %record(bfm)  this
     8      %result == this
 000A 8D 45 F0                              LEA %EAX,[%EBP-16]
 000D C9                                    LEAVE
 000E C3                                    RET
     9    %end;
 000F                      L1001  EQU $
?ADDR unused
    10         ;          !  of 'buff'
    10  
    11    %record (bfm) %name  that
    12  
    13    that == buff(0)
 000F 6A 00                                 PUSH #0
 0011 E8 00 00                              CALL 'BUFF' (INTERNAL L1002 )
 0014 83 C4 04                              ADD %ESP,#4
 0017 89 45 F8                              MOV [%EBP-8],%EAX
    14  
    15  %endofprogram
 001A C9                                    LEAVE
 001B C3                                    RET
