Edinburgh IMP77 Compiler - Version 8.4 LANG 0000 LINE 1 1 %endofperm;%begin LINE 0 BEGIN LINE 1 GOTO L_0000 DEF V_0001 FRED + 0x0018 + 0x0001 + 0x0010 START DEF V_0002 I + 0x0011 + 0x0001 + 0x0000 DEF V_0003 J + 0x0011 + 0x0001 + 0x0000 DEF V_0004 K + 0x0011 + 0x0001 + 0x0000 FINISH LINE 2 2 %integerfn fred(%integer i, j, k) PUSH V_0002 PUSH V_0003 ADD PUSH V_0004 ADD RESULT LINE 3 3 %result = i+j+k END LOCATE L_0000 LINE 4 4 %end DEF V_0002 Q + 0x0011 + 0x0001 + 0x0000 LINE 5 5 %integer q PUSH V_0002 PUSH V_0001 PUSHI #0x00000001 ASSPAR PUSHI #0x00000002 ASSPAR PUSHI #0x00000003 ASSPAR CALL ASSVAL LINE 6 6 q = fred (1, 2, 3) PUSH V_0002 PUSH V_0001 PUSH V_0001 PUSHI #0x00000001 ASSPAR PUSHI #0x00000002 ASSPAR PUSHI #0x00000003 ASSPAR CALL ASSPAR PUSHI #0x00000004 ASSPAR PUSHI #0x00000005 ASSPAR CALL ASSVAL LINE 7 7 q = fred (fred(1, 2, 3), 4, 5) PUSH V_0002 PUSH V_0001 PUSHI #0x00000001 ASSPAR PUSH V_0001 PUSHI #0x00000002 ASSPAR PUSHI #0x00000003 ASSPAR PUSHI #0x00000004 ASSPAR CALL ASSPAR PUSHI #0x00000005 ASSPAR CALL ASSVAL LINE 8 8 q = fred (1, fred(2,3,4), 5) PUSH V_0002 PUSH V_0001 PUSHI #0x00000001 ASSPAR PUSHI #0x00000002 ASSPAR PUSH V_0001 PUSHI #0x00000003 ASSPAR PUSHI #0x00000004 ASSPAR PUSHI #0x00000005 ASSPAR CALL ASSPAR CALL ASSVAL LINE 9 9 q = fred (1, 2, fred(3,4,5)) PUSH V_0002 PUSH V_0001 PUSH V_0001 PUSHI #0x00000001 ASSPAR PUSHI #0x00000002 ASSPAR PUSHI #0x00000003 ASSPAR CALL ASSPAR PUSH V_0001 PUSHI #0x00000004 ASSPAR PUSHI #0x00000005 ASSPAR PUSHI #0x00000006 ASSPAR CALL ASSPAR PUSHI #0x00000007 ASSPAR CALL ASSVAL LINE 10 10 q = fred (fred(1,2,3), fred(4,5,6), 7) PUSH V_0002 PUSH V_0001 PUSH V_0001 PUSHI #0x00000001 ASSPAR PUSHI #0x00000002 ASSPAR PUSHI #0x00000003 ASSPAR CALL ASSPAR PUSHI #0x00000004 ASSPAR PUSH V_0001 PUSHI #0x00000005 ASSPAR PUSHI #0x00000006 ASSPAR PUSHI #0x00000007 ASSPAR CALL ASSPAR CALL ASSVAL LINE 11 11 q = fred (fred(1,2,3), 4, fred(5,6,7)) PUSH V_0002 PUSH V_0001 PUSHI #0x00000001 ASSPAR PUSH V_0001 PUSHI #0x00000002 ASSPAR PUSHI #0x00000003 ASSPAR PUSHI #0x00000004 ASSPAR CALL ASSPAR PUSH V_0001 PUSHI #0x00000005 ASSPAR PUSHI #0x00000006 ASSPAR PUSHI #0x00000007 ASSPAR CALL ASSPAR CALL ASSVAL LINE 12 12 q = fred (1, fred(2,3,4), fred(5,6,7)) PUSH V_0002 PUSH V_0001 PUSH V_0001 PUSHI #0x00000001 ASSPAR PUSHI #0x00000002 ASSPAR PUSHI #0x00000003 ASSPAR CALL ASSPAR PUSH V_0001 PUSHI #0x00000004 ASSPAR PUSHI #0x00000005 ASSPAR PUSHI #0x00000006 ASSPAR CALL ASSPAR PUSH V_0001 PUSHI #0x00000007 ASSPAR PUSHI #0x00000008 ASSPAR PUSHI #0x00000009 ASSPAR CALL ASSPAR CALL ASSVAL LINE 13 13 q = fred (fred(1,2,3), fred(4,5,6), fred(7,8,9)) END END