[fpc-pascal] Porting TP ASM to FPC ASM

Jonas Maebe jonas.maebe at elis.ugent.be
Tue Aug 22 11:56:11 CEST 2006


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



More information about the fpc-pascal mailing list