Mercurial > pub > dyncall > dyncall
comparison doc/manual/callconvs/callconv_x86.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 |
---|---|
806 \end{tabular} | 806 \end{tabular} |
807 \caption{Stack layout on x86 plan9call calling convention} | 807 \caption{Stack layout on x86 plan9call calling convention} |
808 \end{figure} | 808 \end{figure} |
809 | 809 |
810 | 810 |
811 %@@@ \newpage | 811 \newpage |
812 %@@@ | 812 |
813 %@@@ \subsubsection{Linux syscalls} | 813 \subsubsection{Linux syscalls} |
814 %@@@ | 814 |
815 %@@@ \paragraph{Parameter passing} | 815 \paragraph{Parameter passing} |
816 %@@@ | 816 |
817 %@@@ \begin{itemize} | 817 \begin{itemize} |
818 %@@@ \item ... | 818 \item syscall is issued by triggering {\em interrupt 80h} |
819 %@@@ \end{itemize} | 819 \item syscall number is set in eax |
820 %@@@ | 820 \item params are passed in the following registers in this order: ebx, ecx, edx, esi, edi, ebp |
821 %@@@ \subsubsection{*BSD syscalls} | 821 \item for more than six arguments, ebx points to the list of further arguments (not used in practice, as Linux syscalls use a maximum of 5 arguments) |
822 %@@@ | 822 \item register eax holds the return value |
823 %@@@ \paragraph{Parameter passing} | 823 \end{itemize} |
824 %@@@ | 824 |
825 %@@@ \begin{itemize} | 825 \subsubsection{*BSD syscalls} |
826 %@@@ \item ... | 826 |
827 %@@@ \end{itemize} | 827 \paragraph{Parameter passing} |
828 | 828 |
829 \begin{itemize} | |
830 \item syscall is issued by triggering {\em interrupt 80h} | |
831 \item syscall number is set in eax | |
832 \item params are passed on the stack as with the cdecl calling convention | |
833 \end{itemize} | |
834 |