The registers used for passing of return values are AX, BC, and DE.
The return values and pointers to return values are allocated either to registers or in the stack |
The return values and pointers to return values are allocated either to registers or in the stack as described below.
For a return value with a size of five bytes or more, the pointer to the return value is set to the first parameter as a near pointer. |
For the method of allocating a far pointer to registers, see section "9.1.3 Passing arguments". |
A 4-byte structure or union whose only member is a far pointer is considered to be other than a far pointer. |
The conventions for allocating a return value of 4 bytes or less to registers are given in the following table. |
"-" in this table is a symbol to associate 8-bit or 16-bit registers to other 16-bit registers.
Each return value is allocated to registers so that the descending order of addresses (from upper address to lower address) for the bytes composing the return value matches the register specification order (from left to right) shown in the above table.