MIPS Parameter Passing

In most circumstances, each of the first four 32-bit words of arguments is passed in registers A0 through A3, if they are integers or nonscalars. Single- and double-precision floating-point arguments are passed in the floating-point argument registers for MIPSII. MIPS16 passes floating-point arguments into the general-purpose registers. Other arguments that do not fit into registers are passed in the argument area on the stack frame.

Functions that declare variable argument lists (varargs), do not use the floating-point argument registers, and pass arguments using the general-purpose argument registers and the stack.

Note   For varargs, prototyped parameters — for example, those before the ellipsis — can use floating-point registers.

See Also

MIPS Calling Sequence Specification | MIPS General Purpose Registers | MIPS Stack Frame and Argument Registers | MIPS Prolog and Epilog | MIPS pdata Format | MIPS Assembler Macros | MIPS Functions with Variable Argument Lists

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.