OpCodes.Ldarga_S 字段


以短格式将自变量地址加载到计算堆栈上。Load an argument address, in short form, onto the evaluation stack.

public: static initonly System::Reflection::Emit::OpCode Ldarga_S;
public static readonly System.Reflection.Emit.OpCode Ldarga_S;
 staticval mutable Ldarga_S : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldarga_S As OpCode 



下表列出了指令的十六进制和 Microsoft 中间语言(MSIL)程序集格式以及简短的参考摘要: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 >0F < unsigned int8 > ldarga indexldarga.s index 提取索引的自变量的地址 index,短格式。Fetch the address of argument indexed by index, short form.

堆栈转换行为顺序如下:The stack transitional behavior, in sequential order, is:

  1. index 索引的参数 addr 推送到堆栈上。The address addr of the argument indexed by index is pushed onto the stack.

ldarga.sldarga 的缩写形式)应用于0到255之间的参数编号,并且是一种更有效的编码。ldarga.s (the short form of ldarga) should be used for argument numbers 0 through 255, and is a more efficient encoding.

@No__t-0 指令提取 index 索引的参数的地址(类型为 @ no__t-1),其中参数从0开始编制索引。The ldarga.s instruction fetches the address (of type*) of the argument indexed by index, where arguments are indexed from 0 onwards. 地址 addr 始终与目标计算机上的自然边界对齐。The address addr is always aligned to a natural boundary on the target machine.

对于采用可变长度参数列表的过程,只能将 ldarga.s 指令用于初始固定参数,而不能用于签名的变量部分。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 用于通过引用传递的参数。ldarga.s is used for by-ref parameter passing. 对于其他情况,应使用 Ldarg_S 和 @no__t。For other cases, Ldarg_S and Starg_S should be used.

以下 @no__t 0 方法重载可以使用 @no__t 操作码:The following Emit method overload can use the ldarga.s opcode:

  • ILGenerator (OpCode,byte)ILGenerator.Emit(OpCode, byte)