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