Difference between revisions of "Win64/AMD64 API"

From Free Pascal wiki
Jump to navigationJump to search
Line 7: Line 7:
 
The parameters are passed in a different manner to subroutines than known from amd64/linux.
 
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 ==
 
== Data type sizes ==
  
 
Basic information at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/the_new_data_types.asp
 
Basic information at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/the_new_data_types.asp

Revision as of 18:46, 1 September 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

Parameter passing

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


Data type sizes

Basic information at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/the_new_data_types.asp