tw29040.pp 618 B

12345678910111213141516171819202122232425262728293031323334353637
  1. { %cpu=i386 }
  2. { %norun }
  3. program asm_test004;
  4. {$APPTYPE CONSOLE}
  5. {$OPTIMIZATION SIZE}
  6. {$OPTIMIZATION STACKFRAME}
  7. {$OPTIMIZATION REGVAR}
  8. {$CODEALIGN VARMIN=1}
  9. {$CODEALIGN VARMAX=1}
  10. {$CODEALIGN CONSTMIN=1}
  11. {$CODEALIGN CONSTMAX=1}
  12. {$mode delphi}
  13. {$asmmode intel}
  14. const
  15. wmoven = 1;
  16. // eax edx ecx stack
  17. procedure test1(a , b , c, flags :longint); register; //__ pbby in ver 3.0.0 the "flags" is reserved word _ with ver 2.6.4 no compilation error
  18. var
  19. f :boolean;
  20. asm
  21. mov a,0
  22. mov b,0
  23. mov c,0
  24. test [flags] , wmoven
  25. setnz f
  26. end;
  27. var
  28. i :cardinal;
  29. begin
  30. test1(i,i,i,i);
  31. end.