The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:
0F < unsigned int8 > |
ldarga.s index |
Fetch the address of argument indexed by index, short form. |
The stack transitional behavior, in sequential order, is:
[The 'ordered' type of list has not been implemented in the ECMA stylesheet.]ldarga.s (the short form of ldarga) should be used for argument numbers 0 through 255, and is a more efficient encoding.
The ldarga.s instruction fetches the address (of type *) of the argument indexed by index, where arguments are indexed from 0 onwards. The address addr is always aligned to a natural boundary on the target machine.
For procedures that take a variable-length argument list, the ldarga.s instruction can be used only for the initial fixed arguments, not those in the variable part of the signature.
ldarga.s is used for by-ref parameter passing. For other cases, OpCodes.Ldarg_S and OpCodes.Starg_S should be used.
The following ILGenerator.Emit(OpCode) method overload can use the ldarga.s opcode:
ILGenerator.Emit(OpCode, byte)