         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %recordformat OBJINFO (        %c
     2+   %short FLAGS,TYPE,
     3+   (                            %c
     4+      %short LINK %or           %c
     5+      %short XTYPE %or          %c
     6+      %short SIZE %or           %c
     7+      %short ACT                %c
     8+   ),
     9+   %byte REG,MODE,
    10+   %integer VAL                 %c
    11+ )
    12             
    13  
    14  %recordformat IDENTINFO (      %c
    15+   (  %short FLAGS,TYPE,
    16+      ( %c
    17+         %short LINK %or        %c
    18+         %short XTYPE %or       %c
    19+         %short SIZE %or        %c
    20+         %short ACT             %c
    21+      ),
    22+      %byte REG,MODE,
    23+      %integer VAL              %c
    24+    %or                         %c
    25+      %record(objinfo) DETAILS  %c
    26+   ),
    27+   (                            %c
    28+      %short TEXT,HLINK         %c
    29+    %or
    30+      %short X,Y                %c
    31+   )                            %c
    32+ )
    33  
    34  %begin
 0000 C8 00 00 01                           ENTER 0000,1
    35    %record (IDENTINFO) id
    36  
    37    id_FLAGS = 1
 0004 C6 45 EC 01                           MOV BYTE PTR [%EBP-20],#1
 0008 C6 45 ED 00                           MOV BYTE PTR [%EBP-19],#0
    38    id_LINK  = 2
 000C C6 45 F0 02                           MOV BYTE PTR [%EBP-16],#2
 0010 C6 45 F1 00                           MOV BYTE PTR [%EBP-15],#0
    39    id_REG   = 3
 0014 C6 45 F2 03                           MOV BYTE PTR [%EBP-14],#3
    40    id_VAL   = 4
 0018 C7 45 F4 04 00 00 00                  MOV DWORD PTR [%EBP-12],#4
    41  
    42    id_DETAILS_FLAGS = 11
 001F C6 45 EC 0B                           MOV BYTE PTR [%EBP-20],#11
 0023 C6 45 ED 00                           MOV BYTE PTR [%EBP-19],#0
    43    id_DETAILS_LINK  = 12
 0027 C6 45 F0 0C                           MOV BYTE PTR [%EBP-16],#12
 002B C6 45 F1 00                           MOV BYTE PTR [%EBP-15],#0
    44    id_DETAILS_REG   = 13
 002F C6 45 F2 0D                           MOV BYTE PTR [%EBP-14],#13
    45    id_DETAILS_VAL   = 14
 0033 C7 45 F4 0E 00 00 00                  MOV DWORD PTR [%EBP-12],#14
    46  
    47    id_TEXT  = 5
 003A C6 45 F8 05                           MOV BYTE PTR [%EBP-8],#5
 003E C6 45 F9 00                           MOV BYTE PTR [%EBP-7],#0
    48    id_X     = 6
 0042 C6 45 F8 06                           MOV BYTE PTR [%EBP-8],#6
 0046 C6 45 F9 00                           MOV BYTE PTR [%EBP-7],#0
    49  %endofprogram
 004A C9                                    LEAVE
 004B C3                                    RET

    15 Statements compiled



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


