This program prints exactly the same result when compiled with Kylix 3 (~ Delphi 6.5) and FPC 3.1.1:
fpc}
{$mode delphi}
{$endif}
function LogN( Base, X: Extended): Extended;
assembler;
asm
FLD1
FLD X
FYL2X
FLD1
FLD Base
FYL2X
FDIV // Lazarus Warning: fdivrp without operand translated into fdivrpP
FWAIT
end;
begin
writeln(logn(2,10));
end.
Result:
$ dcc tt3.pp
Borland Delphi for Linux Version 14.5
Copyright (c) 1983,2002 Borland Software Corporation
tt3.pp(22)
23 lines, 0.01 seconds, 23412 bytes code, 3132 bytes data.
$ ./tt3
3.32192809488736E+0000
$ ppn69 ./tt3.pp
Free Pascal Compiler version 3.1.1 [2016/07/19] for i386
Copyright (c) 1993-2016 by Florian Klaempfl and others
Target OS: Linux for i386
Compiling ./tt3.pp
tt3.pp(14,9) Warning: fdivrp without operand translated into fdivrpP
tt3.pp(14,9) Warning: "fdivrp" without operand translated into "fdivrp %st,%st(1)"
Linking tt3
21 lines compiled, 0.2 sec
2 warning(s) issued
$ ./tt3
3.32192809488736234781E+0000
So at least FPC and Kylix 3 interpret "fdiv" in Intel-style inline assembly in exactly the same way.