diff 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
line wrap: on
line diff
--- a/doc/manual/callconvs/callconv_x86.tex	Tue Jan 07 11:34:31 2020 +0100
+++ b/doc/manual/callconvs/callconv_x86.tex	Tue Jan 07 21:52:57 2020 +0100
@@ -808,21 +808,27 @@
 \end{figure}
 
 
-%@@@ \newpage
-%@@@ 
-%@@@ \subsubsection{Linux syscalls}
-%@@@ 
-%@@@ \paragraph{Parameter passing}
-%@@@ 
-%@@@ \begin{itemize}
-%@@@ \item ...
-%@@@ \end{itemize}
-%@@@ 
-%@@@ \subsubsection{*BSD syscalls}
-%@@@ 
-%@@@ \paragraph{Parameter passing}
-%@@@ 
-%@@@ \begin{itemize}
-%@@@ \item ...
-%@@@ \end{itemize}
+\newpage
+
+\subsubsection{Linux syscalls}
+
+\paragraph{Parameter passing}
 
+\begin{itemize}
+\item syscall is issued by triggering {\em interrupt 80h}
+\item syscall number is set in eax
+\item params are passed in the following registers in this order: ebx, ecx, edx, esi, edi, ebp
+\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)
+\item register eax holds the return value
+\end{itemize}
+
+\subsubsection{*BSD syscalls}
+
+\paragraph{Parameter passing}
+
+\begin{itemize}
+\item syscall is issued by triggering {\em interrupt 80h}
+\item syscall number is set in eax
+\item params are passed on the stack as with the cdecl calling convention
+\end{itemize}
+