Mercurial > pub > dyncall > dyncall
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 |