diff --git a/verfahren.pdf b/verfahren.pdf index 8803a9e..f42f245 100644 Binary files a/verfahren.pdf and b/verfahren.pdf differ diff --git a/verfahren.tex b/verfahren.tex index 658f48e..ef6d432 100644 --- a/verfahren.tex +++ b/verfahren.tex @@ -86,6 +86,32 @@ \end{itemize} \end{itemize} +\section{Funktionsaufrufe} +\begin{enumerate} + \item Vorbereitung: \begin{enumerate} + \item Argumentauswertung gemäß Übergabemechanismus + \item Sichern von Caller-Save-Registern auf dem Stack + \item Argumente in Registern/auf dem Stack ablegen + \item Funktionsaufruf + \end{enumerate} + \item Prolog: \begin{enumerate} + \item Sichern des alten FP und Allokation des Stackframes + \item Sichern von Callee-Save-Registern im Stackframe + \end{enumerate} + \item Funktionsrumpf + \item Epilog: \begin{enumerate} + \item Ablage des Rückgabewerts in Register/auf dem Stack + \item Restauration von Callee-Save-Registern + \item Freigabe des Stackframes und Restauration des FP + \item Rückkehr + \end{enumerate} + \item Nachbereitung: \begin{enumerate} + \item Abspeichern des Ergebnis an vorgesehener Stelle + \item Entfernen der Argumente vom Stack + \item Restauration der Caller-Save-Register + \end{enumerate} +\end{enumerate} + \section{Geschachtelte Funktionen} \begin{itemize} \item ohne Display: \begin{itemize}