[fpc-devel] asm offset question
fpc-devel at aborka.com
Mon Nov 10 19:00:45 CET 2008
True, but if the programs only run on PCs (Windows and Linux on Intel
processors in this case) it should work. Not everyone who considers
using FPC/Lazarus wants to run the compiled programs on 15 platforms.
Sometimes all that is needed is 1 platform.
There are some encrypting/decrypting functions that would be hard to
write in other than asm, especially if they are already done.
Some projects I just wanted to try to compile strictly on Windows
without wanting to go to other OS-es. Just to see if it is possible at
all to move projects over to FPC/Lazarus from Delphi with a reasonable
amount of work. Until that doesn't work, going to other OS-es is not
really viable anyway.
Not having a debugger in Lazarus with a properly working watch window
and CPU window doesn't help either to do these tasks.
The "offset", "aam" and "aad" asm instructions are not working as they
are in Delphi, but there are workarounds fortunately, until they will be
fixed in FPC, if ever.
aam 16 (or aam 8, etc.)
aad 16 (or aad 8, etc.)
Both give compiler errors and points to the wrong source line. Need to
use "db" instructions to put the machine code there to circumvent it.
move esi, offset variable
Gives compiler error but the functionality can be replaced with the "lea
esi, variable" instruction instead as a workaround.
Michael Schnell wrote:
> IMHO, it's not a good idea to "port" ASM code to TP (as TP's purpose is
> platform independence). So at best you should rewrite this in Pascal.
> Normally with modern PCs the performance decrease is not noticeable.
> fpc-devel maillist - fpc-devel at lists.freepascal.org
More information about the fpc-devel