         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %recordformatspec fr
     2  %recordformat rf(%integer qa, qb, %integername qc, %record(fr)%name backlink)
     3  %recordformat fr(%integer a, %integername xa, %record (rf) rec, %record (rf) %name recn)
     4  
     5  %routine recparams(%integer x,y, %integername xp, %record (fr) r, %record (fr) %name rn)
 0000                      L1000  EQU $
 0000 C8 00 00 01                           ENTER 0000,1
     6    %integer i
     7    %record (rf) local
     8  !  i = x
     9  !  i = xp
    10  
    11    i = r_a
 0004 8B 45 0C                              MOV %EAX,[%EBP+12]
 0007 89 45 F8                              MOV [%EBP-8],%EAX
    12    i = r_xa
 000A 8B 75 10                              MOV %ESI,[%EBP+16]
 000D 8B 06                                 MOV %EAX,[%ESI]
 000F 89 45 F8                              MOV [%EBP-8],%EAX
    13  !  i = r_rec_qa
    14  !  i = r_rec_qc
    15  !  i = r_recn_qa
    16    i = r_recn_qc
 0012 8B 7D 24                              MOV %EDI,[%EBP+36]
 0015 8B 5F 08                              MOV %EBX,[%EDI+8]
 0018 8B 03                                 MOV %EAX,[%EBX]
 001A 89 45 F8                              MOV [%EBP-8],%EAX
    17  
    18  !  i = rn_a
    19  !  i = rn_xa
    20  !  local = rn_rec
    21  !  i = rn_rec_qa
    22  !  i = rn_rec_qc
    23  !  i = rn_recn_qa
    24  !  i = rn_recn_qc
    25  
    26  ! ? rn_a
    27    
    28  %end
 001D C9                                    LEAVE
 001E C3                                    RET
?LOCAL unused
?RN unused
?XP unused
?Y unused
?X unused
    29  
    30  %endoffile

    11 Statements compiled



 ELF object file generated from IMP source file: '/home/gtoal/src/compilers101/new-parser/imps/tests/test178.imp'
 +----------+---------------------+---------+---------+---------+------------+
 | Sections |       Symbols       | Code    | Data    | Diag    | Total size |
 +----------+----------+----------+---------+---------+---------+------------+
 |  (count) | Internal | External | (bytes) | (bytes) | (bytes) | (bytes)    |
 +----------+----------+----------+---------+---------+---------+------------+
 |       11 |        4 |        5 |      31 |       0 |      32 |         63 |
 +----------+----------+----------+---------+---------+---------+------------+


