tw0944.pp 347 B

123456789101112131415161718192021222324252627
  1. { %CPU=i386 }
  2. {$ifdef TP}
  3. {$N+}
  4. {$endif TP}
  5. PROGRAM fadd_bug;
  6. VAR x,y,z,t: double;
  7. BEGIN
  8. x:=4.5;
  9. y:=5.5;
  10. {$ifndef TP}
  11. {$asmmode intel}
  12. {$endif TP}
  13. asm
  14. fld x
  15. fld y
  16. fadd
  17. fstp z
  18. end;
  19. t:=x+y;
  20. if (z<>10.0) or (z<>t) then
  21. begin
  22. Writeln('Error in FADD handling');
  23. Halt(1);
  24. end
  25. else
  26. Writeln('FADD assembler instruction works');
  27. END.