Mercurial > pub > dyncall > dyncall
comparison doc/manual/callconvs/callconv_mips.tex @ 99:7aab1a3cb172
- doc clarification for mips o32 appendix
author | cslag |
---|---|
date | Sat, 04 Jun 2016 21:50:03 +0200 |
parents | db0b2f19e165 |
children | 1ce60358fbad |
comparison
equal
deleted
inserted
replaced
98:db0b2f19e165 | 99:7aab1a3cb172 |
---|---|
148 \item The different stack areas (e.g. parameter area, register save area, ...) are always aligned to 8 bytes. | 148 \item The different stack areas (e.g. parameter area, register save area, ...) are always aligned to 8 bytes. |
149 \item first 4 32bit arguments are passed in registers \$a0-\$a3, respectively | 149 \item first 4 32bit arguments are passed in registers \$a0-\$a3, respectively |
150 \item subsequent parameters are passed vie the stack | 150 \item subsequent parameters are passed vie the stack |
151 \item @@@unsure... 64-bit floats and integers are passed on two integer registers starting at an even register number, probably skipping one odd register. | 151 \item @@@unsure... 64-bit floats and integers are passed on two integer registers starting at an even register number, probably skipping one odd register. |
152 \item results are returned in \$v0 (32-bit integer), \$v0 and \$v1 (64-bit integer/float) | 152 \item results are returned in \$v0 (32-bit integer), \$v0 and \$v1 (64-bit integer/float) |
153 \item note that only the first s0-s? preserved registers that are modified by the function need to be put on the save area | 153 \item note that only s? registers that are modified by the function are required to be preserved on save area |
154 \end{itemize} | 154 \end{itemize} |
155 | 155 |
156 \paragraph{Stack layout} | 156 \paragraph{Stack layout} |
157 | 157 |
158 Stack directly after function prolog:\\ | 158 Stack directly after function prolog:\\ |