Re: [fpc-pascal] Registers used by calling conventions

2019-03-08 Thread Anthony Walter
Christo, that did it. Thanks. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] Registers used by calling conventions

2019-03-08 Thread Christo Crause
On Sat, Mar 9, 2019 at 12:13 AM Anthony Walter wrote: > ... The {$asmmode intel} compiler directive changes the asm syntax of > what's allowed in your unit, but it does not change how dissasembled code > is displayed in the Lazarus dissasembler view. I'd like to see instructions > dissambled in t

Re: [fpc-pascal] Registers used by calling conventions

2019-03-08 Thread Anthony Walter
Jonas, thanks I found that information useful. The pdf on page 22 says "If the class is INTEGER, the next available register of the sequence %rdi, %rsi, %rdx, %rcx, %r8 and %r9 is used" Silvio, maybe I was unclear in my second question. The {$asmmode intel} compiler directive changes the asm synta

Re: [fpc-pascal] Registers used by calling conventions

2019-03-08 Thread silvioprog
On Fri, Mar 8, 2019 at 6:34 PM Anthony Walter wrote: > What registers are used by default calling convention and where can I find > more information about Free Pascal asm details? > For linux64 the default C.C is sysv x64. Some links with info you are looking for: 1. https://bugs.freepascal.org

Re: [fpc-pascal] Registers used by calling conventions

2019-03-08 Thread Jonas Maebe
On 08/03/2019 22:33, Anthony Walter wrote: Checking registers in Lazarus on 64 bit Linux, I see the default calling convention is using RSI and RDI, the source and destination index registers. For any platform except for i386, FPC uses the official ABI. The Win64 calling convention is document

[fpc-pascal] Registers used by calling conventions

2019-03-08 Thread Anthony Walter
What registers are used by default calling convention and where can I find more information about Free Pascal asm details? When writing code using the asm block on Delphi in Windows, the default calling convention (fastcall) would pass arguments in registers EAX, EDX, ECX then the stack in that or

Re: [fpc-pascal] Error: Local variables size exceeds supported limit

2019-03-08 Thread Yuriy Sydorov
On 07.03.2019 22:32, Fabio Luis Girardi wrote: Hi All! I'm trying to use the FPC 3.2.0 beta + Lazarus 2.0.1 with fpCEF3. But when I try compile this package with FPC 3.2.0 I got this error: Error: Local variables size exceeds supported limit It would be helpful if you provide a code snippet

Re: [fpc-pascal] how to make a type private to the unit but not defining it in the implementation section?

2019-03-08 Thread Tony Whyman
I would use an "interface" type in this situation. In the unit's "interface" section define the interface type and a function to create a new instance of the interface. In the unit's implementation define all your classes including a class that provides the interface. The implementation of th