         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     2    ! testing to see if scopes get messed up.
     3    ! trying to reproduce error from tests/imptoc/rt25a.i which was fixed in tests/test106.imp by renaming second declaration of Q()
     4    %integer qwerty
     5    %routine mess me up
 0004 EB 00                                 JMP L1001
 0006                      L1002  EQU $
 0006 C8 00 00 02                           ENTER 0000,2
     6      %integer k
     7      %integername qwerty
     8      %routine nested again
 000A EB 00                                 JMP L1003
 000C                      L1004  EQU $
 000C C8 00 00 03                           ENTER 0000,3
     9        %routine qwerty(%real r,s,t)
 0010 EB 00                                 JMP L1005
 0012                      L1006  EQU $
 0012 C8 00 00 04                           ENTER 0000,4
    10        %end
 0016 C9                                    LEAVE
 0017 C3                                    RET
 0018                      L1005  EQU $
?T unused
?S unused
?R unused
    11      %end
?QWERTY unused
    12      qwerty == k
    13      qwerty = 1
 0018 C9                                    LEAVE
 0019 C3                                    RET
 001A                      L1003  EQU $
 001A 8D 45 F4                              LEA %EAX,[%EBP-12]
 001D 89 45 F0                              MOV [%EBP-16],%EAX
 0020 8B 75 F0                              MOV %ESI,[%EBP-16]
 0023 C7 06 01 00 00 00                     MOV DWORD PTR [%ESI],#1
    14    %end
 0029 C9                                    LEAVE
 002A C3                                    RET
 002B                      L1001  EQU $
?NESTEDAGAIN unused
    15    %integer i
    16    qwerty = 2
 002B C7 45 F8 02 00 00 00                  MOV DWORD PTR [%EBP-8],#2
    17    i = qwerty
 0032 8B 45 F8                              MOV %EAX,[%EBP-8]
 0035 89 45 F4                              MOV [%EBP-12],%EAX
    18  %endofprogram
 0038 C9                                    LEAVE
 0039 C3                                    RET
?MESSMEUP unused

    16 Statements compiled



 ELF object file generated from IMP source file: '/home/gtoal/src/compilers101/new-parser/imps/tests/test110.imp'
 +----------+---------------------+---------+---------+---------+------------+
 | Sections |       Symbols       | Code    | Data    | Diag    | Total size |
 +----------+----------+----------+---------+---------+---------+------------+
 |  (count) | Internal | External | (bytes) | (bytes) | (bytes) | (bytes)    |
 +----------+----------+----------+---------+---------+---------+------------+
 |       11 |        7 |        6 |      58 |       0 |     128 |        186 |
 +----------+----------+----------+---------+---------+---------+------------+


