diff options
| author | Camil Staps | 2018-11-07 17:26:53 +0100 | 
|---|---|---|
| committer | Camil Staps | 2018-11-07 17:26:53 +0100 | 
| commit | bee9b0b371279f086e0a495f18837e7445fc541c (patch) | |
| tree | 4ef03c59c1064ef3575eb1af98b3b848d2743a05 | |
| parent | Update download links (diff) | |
Add mac.tex
| -rw-r--r-- | .gitlab-ci.yml | 3 | ||||
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | cheatsheet.cls | 28 | ||||
| -rw-r--r-- | linux-x64.tex | 91 | ||||
| -rw-r--r-- | mac.tex | 8 | ||||
| -rw-r--r-- | registers.tex | 48 | ||||
| -rw-r--r-- | system-v-abi.tex | 14 | 
7 files changed, 108 insertions, 88 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c5ee74a..b3b3cdd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,9 @@ pdf:    script:      - pdflatex linux-x64.tex      - pdflatex linux-x64.tex +    - pdflatex mac.tex +    - pdflatex mac.tex    artifacts:      paths:        - linux-x64.pdf +      - mac.pdf @@ -5,7 +5,8 @@ run-time system. Clone the repository to build the PDFs or download them here:  ## Download links -- [Linux x64][linux-x64] +- [Linux (x64)][linux-x64] +- [Mac][mac]  - [Zip with all cheat sheets][zip]  ## Naming conventions @@ -19,4 +20,5 @@ run-time system. Clone the repository to build the PDFs or download them here:  [Clean]: http://clean.cs.ru.nl  [linux-x64]: https://gitlab.science.ru.nl/cstaps/clean-rts-cheat-sheet/-/jobs/artifacts/master/raw/linux-x64.pdf?job=pdf +[mac]: https://gitlab.science.ru.nl/cstaps/clean-rts-cheat-sheet/-/jobs/artifacts/master/raw/mac.pdf?job=pdf  [zip]: https://gitlab.science.ru.nl/cstaps/clean-rts-cheat-sheet/-/jobs/artifacts/master/download?job=pdf diff --git a/cheatsheet.cls b/cheatsheet.cls new file mode 100644 index 0000000..dfe1191 --- /dev/null +++ b/cheatsheet.cls @@ -0,0 +1,28 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{cheatsheet}% +    [2018/11/07 v1.0 Clean RTS Cheat Sheets] + +\LoadClass{article} + +\RequirePackage[a6paper,margin=8mm,top=5mm,bottom=5mm]{geometry} +\RequirePackage{xcolor} +\RequirePackage[hidelinks]{hyperref} + +\pagestyle{empty} + +\setlength\fboxrule{.5pt} +\setlength\fboxsep{0pt} +\renewcommand{\arraystretch}{1.2} +\setlength{\tabcolsep}{.5em} +\parindent0pt +\centering + +\newcommand{\cheatsheettitle}[2][]{% +	\begin{center} +		\textbf{Clean RTS Cheat Sheet, \ifx#1\empty\else#1 \fi#2} +	\end{center}} + +\AtEndDocument{% +	\par\bigskip +	\scriptsize +	\url{https://gitlab.science.ru.nl/cstaps/clean-rts-cheat-sheet}} diff --git a/linux-x64.tex b/linux-x64.tex index 25c4ef5..d8e3c96 100644 --- a/linux-x64.tex +++ b/linux-x64.tex @@ -1,91 +1,8 @@ -\documentclass{article} - -\usepackage[a6paper,margin=8mm,top=5mm,bottom=5mm]{geometry} -\usepackage{xcolor} -\usepackage[hidelinks]{hyperref} - +\documentclass{cheatsheet}  \begin{document} - -\pagestyle{empty} - -\setlength\fboxrule{.5pt} -\setlength\fboxsep{0pt} -\renewcommand{\arraystretch}{1.2} -\setlength{\tabcolsep}{.5em} -\parindent0pt - -\begin{center} -	\textbf{Clean RTS cheat sheet, x64 linux} -\end{center} - -{\hfill% -\fcolorbox{black}{white}{% -	\begin{tabular}{ll} -		A0 & rcx \\ -		A1 & rdx \\ -		A2 & r8 \\ -		\hline -		B0 & rax \\ -		B1 & rbx \\ -		B2 & r10 \\ -		B3 & r11 \\ -		B4 & r12 \\ -		B5 & r13 \\ -		B6 & r14 \\ -		\hline -		asp & rsi \\ -		bsp & rsp \\ -		hp & rdi \\ -		free & r15 \\ -		\hline -		scratch & rbp \\ -		scratch & r9 \\ -	\end{tabular}% -}% -\hfill% -\fcolorbox{black}{white}{% -	\begin{tabular}{ll} -		rax & B0 \\ -		rbx & B1 \\ -		rcx & A0 \\ -		rdx & A1 \\ -		\hline -		rbp & scratch \\ -		rdi & hp \\ -		rsi & asp \\ -		rsp & bsp \\ -		\hline -		r8  & A2 \\ -		r9  & scratch \\ -		r10 & B2 \\ -		r11 & B3 \\ -		r12 & B4 \\ -		r13 & B5 \\ -		r14 & B6 \\ -		r15 & free \\ -	\end{tabular}% -}% -\hfill} - -\bigskip -\centering -\fcolorbox{black}{white}{% -	\setlength{\tabcolsep}{.2em}% -	\begin{tabular}{lcccccc} -		\multicolumn{7}{c}{\textbf{Function Calls}}\\\hline -		Arguments:    & rdi & rsi & rdx & rcx & r8 & r9\\ -									& hp  & asp & A1  & A0  & A2 & scr\\ -		\hline -		Result:       & rax & rdx \\ -									& B0  & A1 \\ -		\hline -		Callee-saved: & rbx & rbp & r12 & r13 & r14 & r15 \\ -									& B1  & scr & B4  & B5  & B6  & free \\ -	\end{tabular}% -} +\cheatsheettitle[x64]{Linux} +\input{registers}  \bigskip -\scriptsize -\url{https://gitlab.science.ru.nl/cstaps/clean-rts-cheat-sheet} - +\input{system-v-abi}  \end{document} @@ -0,0 +1,8 @@ +\documentclass{cheatsheet} +\begin{document} +\cheatsheettitle{Mac} +\input{registers} + +\bigskip +\input{system-v-abi} +\end{document} diff --git a/registers.tex b/registers.tex new file mode 100644 index 0000000..0fd363f --- /dev/null +++ b/registers.tex @@ -0,0 +1,48 @@ +{\hfill% +\fcolorbox{black}{white}{% +	\begin{tabular}{ll} +		A0 & rcx \\ +		A1 & rdx \\ +		A2 & r8 \\ +		\hline +		B0 & rax \\ +		B1 & rbx \\ +		B2 & r10 \\ +		B3 & r11 \\ +		B4 & r12 \\ +		B5 & r13 \\ +		B6 & r14 \\ +		\hline +		asp & rsi \\ +		bsp & rsp \\ +		hp & rdi \\ +		free & r15 \\ +		\hline +		scratch & rbp \\ +		scratch & r9 \\ +	\end{tabular}% +}% +\hfill% +\fcolorbox{black}{white}{% +	\begin{tabular}{ll} +		rax & B0 \\ +		rbx & B1 \\ +		rcx & A0 \\ +		rdx & A1 \\ +		\hline +		rbp & scratch \\ +		rdi & hp \\ +		rsi & asp \\ +		rsp & bsp \\ +		\hline +		r8  & A2 \\ +		r9  & scratch \\ +		r10 & B2 \\ +		r11 & B3 \\ +		r12 & B4 \\ +		r13 & B5 \\ +		r14 & B6 \\ +		r15 & free \\ +	\end{tabular}% +}% +\hfill}% diff --git a/system-v-abi.tex b/system-v-abi.tex new file mode 100644 index 0000000..fccfab5 --- /dev/null +++ b/system-v-abi.tex @@ -0,0 +1,14 @@ +\fcolorbox{black}{white}{% +	\setlength{\tabcolsep}{.2em}% +	\begin{tabular}{lcccccc} +		\multicolumn{7}{c}{\textbf{Function Calls}}\\\hline +		Arguments:    & rdi & rsi & rdx & rcx & r8 & r9\\ +									& hp  & asp & A1  & A0  & A2 & scr\\ +		\hline +		Result:       & rax & rdx \\ +									& B0  & A1 \\ +		\hline +		Callee-saved: & rbx & rbp & r12 & r13 & r14 & r15 \\ +									& B1  & scr & B4  & B5  & B6  & free \\ +	\end{tabular}% +}%  | 
