Argument Block

The argument block is a conceptual data structure representing the organization of the arguments passed to a called function. The SH-4 argument list layout resembles a memory-based structure with the appropriate padding to align characters and other types less than 32 bits onto 32-bit boundaries.

The following list shows the order in which a calling function handles arguments in an argument block.

  1. If integer and integer-equivalent such as char or pointer arguments are not larger than 32-bits, the calling function passes the arguments as 32-bit words.
  2. It passes 64-bit integer arguments as 4-byte-aligned scalars.
  3. It passes 64-bit floating-point arguments of type double as 4-byte-aligned scalars.
  4. It passes 32-bit floating-point arguments of type float as 32-bit words.
  5. It passes a structure or union parameter as a 4-byte-aligned copy.

See Also

SH-4 Parameter Passing | Argument Area | Argument Block Mapping | Floating-Point Parameter Example | SH-4 Functions with Variable Argument Lists

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.