Difference between revisions of "Win64/AMD64 API"

From Lazarus wiki
Jump to navigationJump to search
 
Line 1: Line 1:
 
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.
 
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 --[[User:Wanderlan|Wanderlan]] 22:36, 10 Feb 2005 (CET)
  
 
= Parameter passing =
 
= Parameter passing =
Line 10: Line 12:
  
 
== Data type sizes ==
 
== Data type sizes ==
 +
 +
Basic information at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/the_new_data_types.asp --[[User:Wanderlan|Wanderlan]] 22:36, 10 Feb 2005 (CET)

Revision as of 22:36, 10 February 2005

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)