         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     2    %routinespec jim(%integer x, y, z)
     3    %routine fred(%integer i, j, k)
 0004 EB 00                                 JMP L1002
 0006                      L1003  EQU $
 0006 C8 00 00 02                           ENTER 0000,2
     4      jim(k,j,i)
 000A FF 75 08                              PUSH DWORD PTR [%EBP+8]
 000D FF 75 0C                              PUSH DWORD PTR [%EBP+12]
 0010 FF 75 10                              PUSH DWORD PTR [%EBP+16]
 0013 E8 00 00                              CALL 'JIM' (INTERNAL L1001 )
 0016 83 C4 0C                              ADD %ESP,#12
     5    %end
 0019 C9                                    LEAVE
 001A C3                                    RET
 001B                      L1002  EQU $
     6    %routine jim(%integer p, q, r)
     7      p = q+r
 001B                      L1001  EQU $
 001B C8 00 00 02                           ENTER 0000,2
 001F 8B 45 0C                              MOV %EAX,[%EBP+12]
 0022 03 45 08                              ADD %EAX,[%EBP+8]
 0025 89 45 10                              MOV [%EBP+16],%EAX
     8    %end
 0028 C9                                    LEAVE
 0029 C3                                    RET
 002A                      L1002  EQU $
     9    fred(11, 22, 33)
    10  %endofprogram
 002A 6A 0B                                 PUSH #11
 002C 6A 16                                 PUSH #22
 002E 6A 21                                 PUSH #33
 0030 E8 00 00                              CALL 'FRED' (INTERNAL L1003 )
 0033 83 C4 0C                              ADD %ESP,#12
 0036 C9                                    LEAVE
 0037 C3                                    RET
