This documentation is archived and is not being maintained.

OpCodes.Ldarga_S Field

Load an argument address, in short form, onto the evaluation stack.

[Visual Basic]
Public Shared ReadOnly Ldarga_S As OpCode
public static readonly OpCode Ldarga_S;
public: static OpCode Ldarga_S;
public static var Ldarga_S : OpCode;


The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

Format Assembly Format Description
0F < unsigned int8 > ldarga.s index Fetch the address of argument indexed by index, short form.

The stack transitional behavior, in sequential order, is:

  1. The address addr of the argument indexed by index is pushed onto the stack.

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, Ldarg_S and Starg_S should be used.

The following Emit constructor overload can use the ldarga.s opcode:

  • ILGenerator.Emit(OpCode, byte)


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

OpCodes Class | OpCodes Members | System.Reflection.Emit Namespace