         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     2     %constant %integer five = 2_101
     3     %routine nested
 0004 EB 00                                 JMP L1001
 0006                      L1002  EQU $
 0006 C8 00 00 02                           ENTER 0000,2
     4        printstring("five = ".itos(five,0))
 000A 6A 05                                 PUSH #5
 000C 6A 00                                 PUSH #0
 000E 8D 85 F8 FE FF FF                     LEA %EAX,[%EBP-264]
 0014 50                                    PUSH %EAX
 0015 E8 4B 00                              CALL 'ITOS' (EXTERN 75)
 0018 83 C4 0C                              ADD %ESP,#12
 001B 8D 85 F8 FD FF FF                     LEA %EAX,[%EBP-520]
 0021 50                                    PUSH %EAX
 0022 B8 00 00 00 00                        MOV %EAX,COT+#0
 0027 50                                    PUSH %EAX
 0028 68 FF 00 00 00                        PUSH #255
 002D E8 03 00                              CALL '_IMPSTRCPY' (EXTERN 3)
 0030 83 C4 0C                              ADD %ESP,#12
 0033 8D 85 F8 FD FF FF                     LEA %EAX,[%EBP-520]
 0039 50                                    PUSH %EAX
 003A 8D 85 F8 FE FF FF                     LEA %EAX,[%EBP-264]
 0040 50                                    PUSH %EAX
 0041 68 FF 00 00 00                        PUSH #255
 0046 E8 05 00                              CALL '_IMPSTRCAT' (EXTERN 5)
 0049 83 C4 0C                              ADD %ESP,#12
 004C 81 EC 00 01 00 00                     SUB %ESP,#256
 0052 89 E0                                 MOV %EAX,%ESP
 0054 50                                    PUSH %EAX
 0055 8D 85 F8 FD FF FF                     LEA %EAX,[%EBP-520]
 005B 50                                    PUSH %EAX
 005C 68 FF 00 00 00                        PUSH #255
 0061 E8 03 00                              CALL '_IMPSTRCPY' (EXTERN 3)
 0064 83 C4 0C                              ADD %ESP,#12
 0067 E8 3B 00                              CALL 'PRINTSTRING' (EXTERN 59)
 006A 81 C4 00 01 00 00                     ADD %ESP,#256
     5     %end
 0070 C9                                    LEAVE
 0071 C3                                    RET
 0072                      L1001  EQU $
     6  
     7     nested
 0072 E8 00 00                              CALL 'NESTED' (INTERNAL L1002 )
     8  
     9  %endofprogram
 0075 C9                                    LEAVE
 0076 C3                                    RET

     7 Statements compiled



 ELF object file generated from IMP source file: '/home/gtoal/src/compilers101/new-parser/imps/tests/c-features.imp'
 +----------+---------------------+---------+---------+---------+------------+
 | Sections |       Symbols       | Code    | Data    | Diag    | Total size |
 +----------+----------+----------+---------+---------+---------+------------+
 |  (count) | Internal | External | (bytes) | (bytes) | (bytes) | (bytes)    |
 +----------+----------+----------+---------+---------+---------+------------+
 |       12 |        6 |       10 |     131 |       8 |      64 |        203 |
 +----------+----------+----------+---------+---------+---------+------------+


