rendered paste bodyfunc callforward{ a b c }
x = 123;
return callback{ 1 (a * b) (x - c)};
end;
.globl callforward
.ent callforward
callforward:
.eflag 48
.frame $30, 0, $26, 0
.prologue 0
ldgp $29, 0($27)
subq $30, 24, $30
stq $9, 0($30)
mov $16, $9
stq $10, 8($30)
mov $17, $10
stq $11, 16($30)
mov $18, $11
mov 123, $2
subq $30, 16, $30
stq $1, 16($30)
stq $2, 8($30)
/* param calc start */
mov 1, $16
mulq $9, $10, $17
subq $2, $11, $18
jsr $26, callback
ldgp $29, 0($26)
ldq $2, 8($30)
ldq $1, 16($30)
addq $30, 16
jmp func__50__end
func__50__end:
ldq $9, 0($30)
ldq $10, 8($30)
ldq $11, 16($30)
addq $30, 24, $30
/*1 registers used in statements, 1 local vars*/
.end callforward
long callback(long a, long b, long c)
{
if(a==1)ok++;
else
{
printf("Error in callforward. a = %d\n", a);
exit(1);
}
if(b == c_b * c_a) ok++;
else
{
printf("error in callforward. b = %ld, expected %ld\n", b, c_b$
exit(1);
}
if(c == 123-c_c) ok++;
else
{
printf("error in callforward. c = %d, expected %d\n", c, 123-c_$
exit(1);
}
return 12345;
}