OpCodes.Ldarga_S Field

Definition

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

C#
public static readonly System.Reflection.Emit.OpCode Ldarga_S;

Field Value

Remarks

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 method overload can use the ldarga.s opcode:

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0