diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-11-29 17:07:53 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-11-29 17:07:53 -0800 |
commit | 540f903928e622b4ae2837aafb08ab6cd39763aa (patch) | |
tree | e53dd1ace3fc0719aae33f4c1eb5bcc27af77e0e /doc/nasmdoc.src | |
parent | 2fd420d33090a8bb978f3f9b976ee14882445e92 (diff) | |
download | nasm-540f903928e622b4ae2837aafb08ab6cd39763aa.tar.gz nasm-540f903928e622b4ae2837aafb08ab6cd39763aa.tar.bz2 nasm-540f903928e622b4ae2837aafb08ab6cd39763aa.zip |
nasmdoc.src: editorial changes
Diffstat (limited to 'doc/nasmdoc.src')
-rw-r--r-- | doc/nasmdoc.src | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src index bed8e65..8a6c2b0 100644 --- a/doc/nasmdoc.src +++ b/doc/nasmdoc.src @@ -5729,11 +5729,10 @@ See also \k{opt-pfix}. \S{32cfunc} Function Definitions and Function Calls -\I{functions, C calling convention}The \i{C calling convention}The C -calling convention in 32-bit programs is as follows. In the -following description, the words \e{caller} and \e{callee} are used -to denote the function doing the calling and the function which gets -called. +\I{functions, C calling convention}The \i{C calling convention} +in 32-bit programs is as follows. In the following description, +the words \e{caller} and \e{callee} are used to denote +the function doing the calling and the function which gets called. \b The caller pushes the function's parameters on the stack, one after another, in reverse order (right to left, so that the first @@ -6408,10 +6407,10 @@ immediate as \c{DWORD}: The length of these instructions are 10, 5 and 7 bytes, respectively. -The only instructions which take a full \i{64-bit \e{displacement}} is -loading or storing, using \c{MOV}, \c{AL}, \c{AX}, \c{EAX} or \c{RAX} -(but no other registers) to an absolute 64-bit address. Since this is -a relatively rarely used instruction (64-bit code generally uses +The only instructions which take a full \I{64-bit displacement}64-bit +\e{displacement} is loading or storing, using \c{MOV}, \c{AL}, \c{AX}, +\c{EAX} or \c{RAX} (but no other registers) to an absolute 64-bit address. +Since this is a relatively rarely used instruction (64-bit code generally uses relative addressing), the programmer has to explicitly declare the displacement size as \c{QWORD}: @@ -6465,7 +6464,7 @@ The Win64 ABI is described at: What follows is a simplified summary. -The first four integer arguments are passwd in \c{RCX}, \c{RDX}, +The first four integer arguments are passed in \c{RCX}, \c{RDX}, \c{R8} and \c{R9}, in that order. Additional integer arguments are passed on the stack. These registers, plus \c{RAX}, \c{R10} and \c{R11} are destroyed by function calls, and thus are available for |