summaryrefslogtreecommitdiff
path: root/x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'x86_64')
-rw-r--r--x86_64/README14
1 files changed, 13 insertions, 1 deletions
diff --git a/x86_64/README b/x86_64/README
index fe6f2a8b..e8cb17b6 100644
--- a/x86_64/README
+++ b/x86_64/README
@@ -24,7 +24,7 @@ Registers May be Argument
%r14
%r15
-w64 ABI, according to
+W64 ABI, according to
http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx:
Registers May be Argument
@@ -51,3 +51,15 @@ Additional arguments are passed on the stack. "backing store" on the
stack for the four register arguments is also required. %xmm6 to
%xmm15 are callee-saved. The "long" type is just 32 bits. Nettle
currently does *NOT* support this ABI.
+
+If we have five arguments, and push the additional callee-save
+registers %rdi and %rsi on the stack, we get a stack frame like
+
+56(%rsp): Fifth argument
+48(%rsp): Space for fourth argument
+40(%rsp): Space for third argument
+32(%rsp): Space for second argument
+24(%rsp): Space for first argument
+16(%rsp): Return address
+8(%rsp): Saved %rsi
+(%rsp) : Saved %rdi