comparison doc/manual/callconvs/callconv_x64.tex @ 345:c607d67cd6b8 r1.1-RC2

- doc: added syscall info to appendix, fixed broken literature link - cleanup, added missing forward declarations, ...
author Tassilo Philipp
date Tue, 07 Jan 2020 21:52:57 +0100
parents 6e33db95e724
children b47168dacba6
comparison
equal deleted inserted replaced
344:d60728b1f4a1 345:c607d67cd6b8
249 249
250 \begin{itemize} 250 \begin{itemize}
251 \item syscall is issued via the {\em syscall} instruction 251 \item syscall is issued via the {\em syscall} instruction
252 \item kernel destroys registers rcx and r11 252 \item kernel destroys registers rcx and r11
253 \item syscall number is set in rax 253 \item syscall number is set in rax
254 \item up to 6 params are passed in the following registers in this order: rdi, rsi, rdx, rcx, r8, r9 254 \item params are passed in the following registers in this order: rdi, rsi, rdx, rcx, r8, r9
255 \item no stack in use, meaning syscalls are limited to six arguments 255 \item no stack in use, meaning syscalls are in theory limited to six arguments
256 \item register rax holds the return value (values in between -4095 and -1 indicate errors) 256 \item register rax holds the return value (values in between -4095 and -1 indicate errors)
257 \end{itemize} 257 \end{itemize}
258 258