         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %permroutinespec    write(%integer  v,p);
     2  %permroutinespec    newline
     3  %primintegerfnspec      addr(%name p)
     4  %primintegerfnspec      typeof(%name n)
     5  %primintegerfnspec      sizeof(%name n)
     6  
     7  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     8    %routine test(%name param)
 0004 EB 00                                 JMP L1001
 0006                      L1002  EQU $
 0006 C8 00 00 02                           ENTER 0000,2
     9      write(addr(param),0)  ; newline
    10      write(sizeof(param),0); newline
    11      write(typeof(param),0); newline
    12    %end
    13  
    14    %integerarray ia1(3:5)
    15  
    16    %integerarray ia2(2:4,3:6)
    17  
    18  
    19    write(addr(ia1),0)  ; newline
    20    write(addr(ia1(3)),0)  ; newline
    21    write(sizeof(ia1),0); newline
    22    write(typeof(ia1),0); newline
    23    test(ia1)
    24  
    25    write(addr(ia2),0)  ; newline
    26    write(addr(ia2(2,3)),0)  ; newline
    27    write(sizeof(ia2),0); newline
    28    write(typeof(ia2),0); newline
    29    test(ia2)
    30  
    31  %endofprogram

    35 Statements compiled



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


