Win64/AMD64 API

From Lazarus wiki
Revision as of 22:36, 10 February 2005 by Wanderlan (talk | contribs)
Jump to navigationJump to search

As far as I know, there is no offical document yet decribing the win64/amd64 api so the follow information is collected from several sources.

Begin in this link http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/getting_ready_for_64_bit_windows.asp --Wanderlan 22:36, 10 Feb 2005 (CET)

Parameter passing

The parameters are passed in a different manner to subroutines than known from amd64/linux.

Integer parameters

The first four parameters are passed in rcx, rdx, r8 and r9. Further parameters are passed on the stack, they are always aligned to 8 byte boundaries regardless of their size. The caller always reserves space on the stack for the parameters passed in registers.

Data type sizes

Basic information at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/the_new_data_types.asp --Wanderlan 22:36, 10 Feb 2005 (CET)