rendered paste bodyfunc callback {p1}
l1 = 555;
l2 = 444;
p1[0] = l3;
return 0;
end;
func asmentry {p1 p2 p3}
write0{};
l1 = write0{};
printvalue{};
p2[0] = write0{};
p2[getnull{}] = 333;
return 0;
end;
func asmmiddle {}
l1 = 1;
l2 = 2;
l3 = 3;
l4 = 4;
l5 = 5;
l6 = 6;
l7 = 7;
l8 = 8;
l9 = 9;
l10 = 10;
return 0;
end;
func asmasm {p1 p2 p3}
l1 = p1;
l2 = p2;
l3 = p3;
asmmiddle{};
return l1 + l2 + l3;
end;
func asmc2 {}
printnum{1};
return 0;
end;
func asmc {p1 p2 p3 p4}
l1 = cadd{p1 p2};
l1 = cadd{l1 p3};
printnum{l1};
return p4;
end;
func calltest {p1}
return cadd{((p1+5)*7) ((p1*3)+2)};
end;
func calltest2 {p1}
return cadd{(calltest{p1}+3) 10};
end;
func rectest {p1 p2}
loop:
printnum{p1};
if not (p1 < p2) goto exit;
p1 = rectest{(p1+1)};
exit:
return p1;
end;
------------------------------------------------------------------------------------------------------
extern long asmentry (long, long);
extern long callback (long);
extern long asmasm (long, long, long);
extern long asmc (long, long, long, long);
extern long asmc2 ();
extern long calltest (long);
extern long calltest2 (long);
extern long rectest (long, long);
long getnull ()
{
return 0;
}
long write0 ()
{
printf("hallo\n");
return 567;
}
long write1 (long _num)
{
printf("%d\n", _num);
return 1;
}
long printvalue ()
{
long val = 0;
callback(&val);
printf("printvalue: %d\n", val);
return 3478;
}
long cadd (long _c1, long _c2)
{
return _c1+_c2;
}
long printnum (long _c)
{
printf("printnum: %d\n", _c);
return 0;
}
int main (int _argc, char* _argv)
{
long l = 0;
asmentry(5, &l);
printf("l=%d\n", l);
asmc2();
printf("asmasm(100, 200, 300)=%d\n", asmasm(100, 200, 300));
printf("asmc(11, 34, 56, 25)=%d\n", asmc(11, 34, 56, 25));
printf("calltest(11)=%d [147]\n", calltest(11));
printf("calltest2(11)=%d [160]\n\n", calltest2(11));
printf("rectest(0, 10)=%d\n", rectest(0, 10));
return 0;
}