This documentation is archived and is not being maintained.

OpCodes.Ldarga_S Field

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

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)

public static readonly OpCode Ldarga_S
public static final OpCode Ldarga_S
public static final 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 method overload can use the ldarga.s opcode:

  • ILGenerator.Emit(OpCode, byte)

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0
Show: