         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     2    %routine do it
 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    %integer a,b
     5    do it %if %not a = b
 000C 8B 45 F8                              MOV %EAX,[%EBP-8]
 000F 3B 45 F4                              CMP %EAX,[%EBP-12]
 0012 74 00                                 JE L1003
 0014 E8 00 00                              CALL 'DOIT' (INTERNAL L1002 )
 0017                      L1003  EQU $
     6    %comment do it %if %not a = b
     7    do it %unless %not a = b
 0017 8B 45 F8                              MOV %EAX,[%EBP-8]
 001A 3B 45 F4                              CMP %EAX,[%EBP-12]
 001D 75 00                                 JNE L1004
 001F E8 00 00                              CALL 'DOIT' (INTERNAL L1002 )
 0022                      L1004  EQU $
     8    %comment do it %unless %not a = b
     9    %if %not a = b %then do it
 0022 8B 45 F8                              MOV %EAX,[%EBP-8]
 0025 3B 45 F4                              CMP %EAX,[%EBP-12]
 0028 74 00                                 JE L1005
 002A E8 00 00                              CALL 'DOIT' (INTERNAL L1002 )
 002D                      L1005  EQU $
    10    %comment %if %not a = b %then do it
    11    %unless %not a = b %then do it
 002D 8B 45 F8                              MOV %EAX,[%EBP-8]
 0030 3B 45 F4                              CMP %EAX,[%EBP-12]
 0033 75 00                                 JNE L1006
 0035 E8 00 00                              CALL 'DOIT' (INTERNAL L1002 )
 0038                      L1006  EQU $
    12    %comment %unless %not a = b %then do it
    13  %endofprogram
 0038 C9                                    LEAVE
 0039 C3                                    RET

     9 Statements compiled



 ELF object file generated from IMP source file: '/home/gtoal/src/compilers101/new-parser/imps/tests/test66.imp'
 +----------+---------------------+---------+---------+---------+------------+
 | Sections |       Symbols       | Code    | Data    | Diag    | Total size |
 +----------+----------+----------+---------+---------+---------+------------+
 |  (count) | Internal | External | (bytes) | (bytes) | (bytes) | (bytes)    |
 +----------+----------+----------+---------+---------+---------+------------+
 |       11 |        5 |        6 |      66 |       0 |      64 |        130 |
 +----------+----------+----------+---------+---------+---------+------------+


