diff options
author | Camil Staps | 2019-12-14 11:19:39 +0100 |
---|---|---|
committer | Camil Staps | 2019-12-14 11:19:39 +0100 |
commit | 71fdadc8588d480c5e33d33f77dff30165292ad8 (patch) | |
tree | 77d5bbc96a933f6a463a58a425c0ad1a98576ca7 | |
parent | Remove CI badge from readme (now as gitlab project badge) (diff) |
Add cheat sheets for x86 windows
-rw-r--r-- | cdecl-contents.tex | 8 | ||||
-rw-r--r-- | cdecl.tex | 5 | ||||
-rw-r--r-- | linux-x64.tex | 2 | ||||
-rw-r--r-- | mac.tex | 2 | ||||
-rw-r--r-- | overview.tex | 45 | ||||
-rw-r--r-- | registers-x64.tex (renamed from registers.tex) | 0 | ||||
-rw-r--r-- | registers-x86.tex | 30 | ||||
-rw-r--r-- | windows-x64.tex | 2 | ||||
-rw-r--r-- | windows-x86.tex | 8 |
9 files changed, 84 insertions, 18 deletions
diff --git a/cdecl-contents.tex b/cdecl-contents.tex new file mode 100644 index 0000000..d1b126b --- /dev/null +++ b/cdecl-contents.tex @@ -0,0 +1,8 @@ +Arguments: & \multicolumn{6}{l|}{right-to-left on the stack} \\ + & \multicolumn{6}{l|}{popped by caller} \\ +\hline +Result: & eax &&&&& \\ + & d0 &&&&& \\ +\hline +Callee-saved: & ebx & ebp & esp & esi & edi & \\ + & d1 & a2 & sp & a3 & a4 & diff --git a/cdecl.tex b/cdecl.tex new file mode 100644 index 0000000..0856721 --- /dev/null +++ b/cdecl.tex @@ -0,0 +1,5 @@ +\setlength{\tabcolsep}{.2em}% +\begin{tabular}{lcccccc} + \multicolumn{7}{c}{\textbf{\CallingConventionHeader}}\\\hline + \csname @@input\endcsname cdecl-contents % +\end{tabular}% diff --git a/linux-x64.tex b/linux-x64.tex index 4caa812..f15cdf1 100644 --- a/linux-x64.tex +++ b/linux-x64.tex @@ -1,7 +1,7 @@ \documentclass{cheatsheet} \begin{document} \cheatsheettitle[x64]{Linux} -\input{registers} +\input{registers-x64} \bigskip \cheatsheetbox{\input{system-v-abi}} @@ -1,7 +1,7 @@ \documentclass{cheatsheet} \begin{document} \cheatsheettitle{Mac} -\input{registers} +\input{registers-x64} \bigskip \cheatsheetbox{\input{system-v-abi}} diff --git a/overview.tex b/overview.tex index d448579..1a78155 100644 --- a/overview.tex +++ b/overview.tex @@ -1,6 +1,6 @@ \documentclass{cheatsheet} -\geometry{a5paper,landscape} +\geometry{a5paper} \begin{document} \begin{center} @@ -8,30 +8,45 @@ \end{center} \hfill -\begin{minipage}[t][][b]{.3\textwidth}% +\begin{minipage}[t][][b]{.5\textwidth}% \centering% - \textbf{Registers} + \textbf{Registers, x64} \bigskip - \input{registers} + \input{registers-x64} \end{minipage}% -\hfill \begin{minipage}[t][][b]{.5\textwidth}% + \centering% + \textbf{Registers, x86} + \bigskip + + \input{registers-x86} + + \bigskip \tabularwrappingfalse% \setlength{\tabcolsep}{.2em}% - \begin{tabular}{|lcccccccc|}% - \multicolumn{9}{c}{\textbf{{\CallingConventionHeader}s}}\\ - \multicolumn{1}{c}{}\\[-1em] - \multicolumn{9}{c}{\textit{System V}}\\\hline - \csname @@input\endcsname system-v-abi-contents \\\hline - - \multicolumn{1}{c}{}\\ - \multicolumn{9}{c}{\textit{Microsoft x64}}\\\hline - \csname @@input\endcsname microsoft-x64-contents \\\hline - \end{tabular}% + \begin{tabular}{|lcccccc|}% + \multicolumn{7}{c}{\textit{Cdecl Calling Convention}}\\\hline + \csname @@input\endcsname cdecl-contents \\\hline + \end{tabular} \end{minipage}% \hfill \bigskip +\tabularwrappingfalse% +\setlength{\tabcolsep}{.2em}% +\begin{tabular}{|lcccccccc|}% + \multicolumn{9}{c}{\textbf{x64 {\CallingConventionHeader}s}}\\ + \multicolumn{1}{c}{}\\[-1em] + \multicolumn{9}{c}{\textit{System V}}\\\hline + \csname @@input\endcsname system-v-abi-contents \\\hline + + \multicolumn{1}{c}{}\\ + \multicolumn{9}{c}{\textit{Microsoft x64}}\\\hline + \csname @@input\endcsname microsoft-x64-contents \\\hline +\end{tabular}% +\hfill + +\bigskip \end{document} diff --git a/registers.tex b/registers-x64.tex index 0fd363f..0fd363f 100644 --- a/registers.tex +++ b/registers-x64.tex diff --git a/registers-x86.tex b/registers-x86.tex new file mode 100644 index 0000000..b0d714f --- /dev/null +++ b/registers-x86.tex @@ -0,0 +1,30 @@ +{\hfill% +\fcolorbox{black}{white}{% + \begin{tabular}{ll} + A0 & ecx \\ + A1 & edx \\ + A2 & ebp \\ + \hline + B0 & eax \\ + B1 & ebx \\ + \hline + asp & esi \\ + bsp & esp \\ + hp & edi \\ + \end{tabular}% +}% +\hfill% +\fcolorbox{black}{white}{% + \begin{tabular}{ll} + eax & B0 \\ + ebx & B1 \\ + ecx & A0 \\ + edx & A1 \\ + \hline + ebp & A2 \\ + edi & hp \\ + esi & asp \\ + esp & bsp \\ + \end{tabular}% +}% +\hfill}% diff --git a/windows-x64.tex b/windows-x64.tex index c5aa155..76cecf3 100644 --- a/windows-x64.tex +++ b/windows-x64.tex @@ -1,7 +1,7 @@ \documentclass{cheatsheet} \begin{document} \cheatsheettitle[x64]{Windows} -\input{registers} +\input{registers-x64} \bigskip \cheatsheetbox{\input{microsoft-x64}} diff --git a/windows-x86.tex b/windows-x86.tex new file mode 100644 index 0000000..25c0f83 --- /dev/null +++ b/windows-x86.tex @@ -0,0 +1,8 @@ +\documentclass{cheatsheet} +\begin{document} +\cheatsheettitle[x86]{Windows} +\input{registers-x86} + +\bigskip +\cheatsheetbox{\input{cdecl}} +\end{document} |