         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %BEGIN
 0000 C8 00 00 01                           ENTER 0000,1
     2    %INTEGERARRAY BAD(1:2)
 0004 C7 45 EC 01 00 00 00                  MOV DWORD PTR [%EBP-20],#1
 000B C7 45 F0 01 00 00 00                  MOV DWORD PTR [%EBP-16],#1
 0012 C7 45 F4 02 00 00 00                  MOV DWORD PTR [%EBP-12],#2
 0019 C7 45 F8 83 00 00 00                  MOV DWORD PTR [%EBP-8],#131
 0020 8D 45 EC                              LEA %EAX,[%EBP-20]
 0023 50                                    PUSH %EAX
 0024 E8 0A 00                              CALL '_IMPADEF' (EXTERN 10)
 0027 83 C4 04                              ADD %ESP,#4
 002A 8D 4D EC                              LEA %ECX,[%EBP-20]
 002D 89 E3                                 MOV %EBX,%ESP
 002F 29 D3                                 SUB %EBX,%EDX
 0031 89 5D E4                              MOV [%EBP-28],%EBX
 0034 89 4D E8                              MOV [%EBP-24],%ECX
 0037 01 C3                                 ADD %EBX,%EAX
 0039 89 DC                                 MOV %ESP,%EBX
     3    %INTEGER I,J
     4    J = 1
 003B C7 45 DC 01 00 00 00                  MOV DWORD PTR [%EBP-36],#1
     5    %CYCLE
 0042                      L1001  EQU $
     6      I = J + BAD(J)
 0042 FF 75 DC                              PUSH DWORD PTR [%EBP-36]
 0045 FF 75 E8                              PUSH DWORD PTR [%EBP-24]
 0048 E8 09 00                              CALL '_IMPAREF' (EXTERN 9)
 004B 83 C4 08                              ADD %ESP,#8
 004E 89 C6                                 MOV %ESI,%EAX
 0050 03 75 E4                              ADD %ESI,[%EBP-28]
 0053 8B 45 DC                              MOV %EAX,[%EBP-36]
 0056 03 06                                 ADD %EAX,[%ESI]
 0058 89 45 E0                              MOV [%EBP-32],%EAX
     7      I = J * BAD(1)
 005B 6A 01                                 PUSH #1
 005D FF 75 E8                              PUSH DWORD PTR [%EBP-24]
 0060 E8 09 00                              CALL '_IMPAREF' (EXTERN 9)
 0063 83 C4 08                              ADD %ESP,#8
 0066 89 C7                                 MOV %EDI,%EAX
 0068 03 7D E4                              ADD %EDI,[%EBP-28]
 006B 8B 45 DC                              MOV %EAX,[%EBP-36]
 006E F7 2F                                 IMUL DWORD PTR [%EDI]
 0070 89 45 E0                              MOV [%EBP-32],%EAX
     8      I = BAD(J)
 0073 FF 75 DC                              PUSH DWORD PTR [%EBP-36]
 0076 FF 75 E8                              PUSH DWORD PTR [%EBP-24]
 0079 E8 09 00                              CALL '_IMPAREF' (EXTERN 9)
 007C 83 C4 08                              ADD %ESP,#8
 007F 89 C3                                 MOV %EBX,%EAX
 0081 03 5D E4                              ADD %EBX,[%EBP-28]
 0084 8B 1B                                 MOV %EBX,[%EBX]
 0086 89 5D E0                              MOV [%EBP-32],%EBX
     9      I = BAD(1)
 0089 6A 01                                 PUSH #1
 008B FF 75 E8                              PUSH DWORD PTR [%EBP-24]
 008E E8 09 00                              CALL '_IMPAREF' (EXTERN 9)
 0091 83 C4 08                              ADD %ESP,#8
 0094 89 C6                                 MOV %ESI,%EAX
 0096 03 75 E4                              ADD %ESI,[%EBP-28]
 0099 8B 36                                 MOV %ESI,[%ESI]
 009B 89 75 E0                              MOV [%EBP-32],%ESI
    10      J = J+1
 009E FF 45 DC                              INC DWORD PTR [%EBP-36]
    11    %REPEAT
 00A1 EB 00                                 JMP L1001
    12  %ENDOFPROGRAM

    12 Statements compiled



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


