tw8155.pp 564 B

123456789101112131415161718192021222324252627282930313233343536
  1. { %cpu=i386 }
  2. { %target=win32,freebsd,haiku }
  3. {$ifdef fpc}
  4. {$mode delphi}
  5. {$endif}
  6. { should not generate a stack frame }
  7. function testje(l1,l2,l3: longint): longint;
  8. asm
  9. mov eax, 30000
  10. ret
  11. end;
  12. procedure test;
  13. var
  14. l1,l2,l3,l4,l5: cardinal;
  15. begin
  16. l1 := $f00beef;
  17. l2 := $cafebabe;
  18. l3 := $c001d00d;
  19. l4 := $12345678;
  20. l5 := $90abcdef;
  21. if testje(1,2,3) <> 30000 then
  22. halt(1);
  23. if (l1 <> $f00beef) or
  24. (l2 <> $cafebabe) or
  25. (l3 <> $c001d00d) or
  26. (l4 <> $12345678) or
  27. (l5 <> $90abcdef) then
  28. halt(2);
  29. end;
  30. begin
  31. test;
  32. end.