[fpc-pascal] fpc assember does not generate short jumps.

Jonas Maebe jonas.maebe at elis.ugent.be
Wed Oct 22 10:52:55 CEST 2008


On 22 Oct 2008, at 10:46, Саша Иваненко wrote:

> I have an assembler procedure of about a 1500 lines of code.  The  
> problem is the jumps are generated with absolute addresses only,  
> even if I explicitly specify
> "short" postfix. Why is it? The code size is critical for me. I am  
> using lazarus with fpc 2.2.2. Example code:
>
> sub eax,dword ptr [esp]
> add esp,04h
> cmp eax,0FFFh
> jbe short @not_traced // JBE 0xABSOLUTE_ADDRESS GENERATED - WHY???!!!

It's not an absolute address, but a 32 bit relative address.

> popad
> popad
> retn
> @not_traced:
>
> Any suggestions? Thank you.

You can try using the external assembler (-Aas). And file a bug report  
against the internal one (although I thought there was already a bug  
report about this, I can't find it immediately)


Jonas


More information about the fpc-pascal mailing list