On 22 aug 2006, at 11:44, Michael Preslar wrote:

If I change ax to eax, di to edi and es:[di] to [di], the code compiles without warnings or errors, but I don't know if that's the right thing to do.
No.  The calling conventions are different

Any further information you could give? The documentation doesn't have any specifics on the differences..

Porting 16 bit assembler for a segmented memory model to a 32 bit selector/offset memory model is not something which can be shortly summarised, and it's not possible by simply replacing a few statements by others.

This tackles one procedure but there are a good dozen or so more to go. Having someone help port them would be quickest, but I won't learn how to maintain them myself..

You have to understand what the assembler code does to be able to port it to 32 bits, regardless of whether you want to keep it in assembler or translate it into Pascal.

(and possibly a {$inline on} globally for that unit)

{$inline on} ? Never heard of this one.. What's it do?

It turns on support for the "inline" keyword, which says that the code in a procedure's body should be inlined at calling sites.


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to