         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     2  %integer i
     3    %routine fred(%integer i)
 0004 EB 00                                 JMP L1001
 0006                      L1002  EQU $
 0006 C8 00 00 02                           ENTER 0000,2
     4      %routine jim(%integer k)
 000A EB 00                                 JMP L1003
 000C                      L1004  EQU $
 000C C8 00 00 03                           ENTER 0000,3
     5        k = i+1
 0010 8B 75 F8                              MOV %ESI,[%EBP-8]
 0013 8B 46 08                              MOV %EAX,[%ESI+8]
 0016 40                                    INC %EAX
 0017 89 45 08                              MOV [%EBP+8],%EAX
     6        i = 9
 001A C7 46 08 09 00 00 00                  MOV DWORD PTR [%ESI+8],#9
     7      %end
 0021 C9                                    LEAVE
 0022 C3                                    RET
 0023                      L1003  EQU $
     8      jim(5)
     9    %end
 0023 6A 05                                 PUSH #5
 0025 E8 00 00                              CALL 'JIM' (INTERNAL L1004 )
 0028 83 C4 04                              ADD %ESP,#4
 002B C9                                    LEAVE
 002C C3                                    RET
 002D                      L1001  EQU $
    10    i = 100
    11    fred(i)
 002D C7 45 F8 64 00 00 00                  MOV DWORD PTR [%EBP-8],#100
 0034 FF 75 F8                              PUSH DWORD PTR [%EBP-8]
 0037 E8 00 00                              CALL 'FRED' (INTERNAL L1002 )
 003A 83 C4 04                              ADD %ESP,#4
    12  %endofprogram
 003D C9                                    LEAVE
 003E C3                                    RET
