         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     2    %routine r
 0004 EB 00                                 JMP L1001
 0006                      L1002  EQU $
 0006 C8 00 00 02                           ENTER 0000,2
     3    %end
 000A C9                                    LEAVE
 000B C3                                    RET
 000C                      L1001  EQU $
     4    %routine r1(%integer p1)
     5    %end
 000C                      L1003  EQU $
 000C C8 00 00 02                           ENTER 0000,2
 0010 C9                                    LEAVE
 0011 C3                                    RET
 0012                      L1001  EQU $
?P1 unused
     6    %routine r2(%integer p1,p2)
     7    %end
 0012                      L1004  EQU $
 0012 C8 00 00 02                           ENTER 0000,2
 0016 C9                                    LEAVE
 0017 C3                                    RET
 0018                      L1001  EQU $
?P2 unused
?P1 unused
     8    %routine r3(%integer p1,p2,p3)
     9    %end
 0018                      L1005  EQU $
 0018 C8 00 00 02                           ENTER 0000,2
 001C C9                                    LEAVE
 001D C3                                    RET
 001E                      L1001  EQU $
?P3 unused
?P2 unused
?P1 unused
    10    r
    11    r1(123)
 001E E8 00 00                              CALL 'R' (INTERNAL L1002 )
 0021 6A 7B                                 PUSH #123
 0023 E8 00 00                              CALL 'R1' (INTERNAL L1003 )
 0026 83 C4 04                              ADD %ESP,#4
    12    r2(23,34)
 0029 6A 17                                 PUSH #23
 002B 6A 22                                 PUSH #34
 002D E8 00 00                              CALL 'R2' (INTERNAL L1004 )
 0030 83 C4 08                              ADD %ESP,#8
    13    r3(34,45,56)
 0033 6A 22                                 PUSH #34
 0035 6A 2D                                 PUSH #45
 0037 6A 38                                 PUSH #56
 0039 E8 00 00                              CALL 'R3' (INTERNAL L1005 )
 003C 83 C4 0C                              ADD %ESP,#12
    14  %endofprogram
 003F C9                                    LEAVE
 0040 C3                                    RET

    14 Statements compiled



 ELF object file generated from IMP source file: '/home/gtoal/src/compilers101/new-parser/imps/tests/test47.imp'
 +----------+---------------------+---------+---------+---------+------------+
 | Sections |       Symbols       | Code    | Data    | Diag    | Total size |
 +----------+----------+----------+---------+---------+---------+------------+
 |  (count) | Internal | External | (bytes) | (bytes) | (bytes) | (bytes)    |
 +----------+----------+----------+---------+---------+---------+------------+
 |       11 |        8 |        6 |      73 |       0 |     160 |        233 |
 +----------+----------+----------+---------+---------+---------+------------+


