[fpc-pascal] Registers used by calling conventions

Jonas Maebe jonas at freepascal.org
Fri Mar 8 22:53:15 CET 2019


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 documented by Microsoft: 
https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2017

Other x86-64 platforms use the standard calling convention for that 
platform: https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI


Jonas



More information about the fpc-pascal mailing list