         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     2      %integer i = 16_80808080
 0004 C7 45 F8 80 80 80 80                  MOV DWORD PTR [%EBP-8],#-2139062144
     3      ! Imp allows the declaration below even if this is absent:
     4      %recordformatspec rf
     5      %recordformat rf(%record (rf) %name next, %integer i)
     6      %record (rf) rec
     7      %record (rf) %name %array rna(0:10)
 000B C7 45 E0 01 00 00 00                  MOV DWORD PTR [%EBP-32],#1
 0012 C7 45 E4 00 00 00 00                  MOV DWORD PTR [%EBP-28],#0
 0019 C7 45 E8 0A 00 00 00                  MOV DWORD PTR [%EBP-24],#10
 0020 C7 45 EC 89 00 00 00                  MOV DWORD PTR [%EBP-20],#137
 0027 8D 45 E0                              LEA %EAX,[%EBP-32]
 002A 50                                    PUSH %EAX
 002B E8 0A 00                              CALL '_IMPADEF' (EXTERN 10)
 002E 83 C4 04                              ADD %ESP,#4
 0031 8D 4D E0                              LEA %ECX,[%EBP-32]
 0034 89 E3                                 MOV %EBX,%ESP
 0036 29 D3                                 SUB %EBX,%EDX
 0038 89 5D D8                              MOV [%EBP-40],%EBX
 003B 89 4D DC                              MOV [%EBP-36],%ECX
 003E 01 C3                                 ADD %EBX,%EAX
 0040 89 DC                                 MOV %ESP,%EBX
     8  
     9      rec = rna(i)
 0042 FF 75 F8                              PUSH DWORD PTR [%EBP-8]
 0045 FF 75 DC                              PUSH DWORD PTR [%EBP-36]
 0048 E8 09 00                              CALL '_IMPAREF' (EXTERN 9)
 004B 83 C4 08                              ADD %ESP,#8
 004E 89 C6                                 MOV %ESI,%EAX
 0050 03 75 D8                              ADD %ESI,[%EBP-40]
 0053 8D 7D F0                              LEA %EDI,[%EBP-16]
 0056 B9 08 00 00 00                        MOV %ECX,#8
 005B 8B 36                                 MOV %ESI,[%ESI]
 005D F3 A4                                 REP MOVSB
    10      rec = rna(i)_next
 005F FF 75 F8                              PUSH DWORD PTR [%EBP-8]
 0062 FF 75 DC                              PUSH DWORD PTR [%EBP-36]
 0065 E8 09 00                              CALL '_IMPAREF' (EXTERN 9)
 0068 83 C4 08                              ADD %ESP,#8
 006B 89 C7                                 MOV %EDI,%EAX
 006D 03 7D D8                              ADD %EDI,[%EBP-40]
 0070 89 7D D4                              MOV [%EBP-44],%EDI
    11  %endofprogram

     9 Statements compiled



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


