OpCodes.Beq 字段
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
如果两个值相等,则将控制权传输到目标指令。
public: static initonly System::Reflection::Emit::OpCode Beq;
public static readonly System.Reflection.Emit.OpCode Beq;
staticval mutable Beq : System.Reflection.Emit.OpCode
Public Shared ReadOnly Beq As OpCode
字段值
注解
下表列出了指令的十六进制和Microsoft中间语言(MSIL)程序集格式,以及简短的参考摘要:
| Format | 程序集格式 | Description |
|---|---|---|
3B <int32> |
beq target |
如果两个值相等,则指向偏移 target 量的目标指令的分支。 |
堆栈过渡行为按顺序排列,为:
value1被推送到堆栈上。value2被推送到堆栈上。value2并从value1堆栈中弹出;如果value1等于value2,则执行分支操作。
指令 beq 将控制权传输到指定的目标指令(如果 value1 等于 value2)。 效果与执行 ceq 指令后跟特定目标指令的 brtrue 分支相同。 目标指令表示为 4 字节的有符号偏移量,该偏移量从指令的开头遵循当前指令。
可接受的操作数类型封装在以下:
如果目标指令具有一个或多个前缀代码,则控件只能传输到这些前缀中的第一个。
控制转移进出try,catchfilter和finally块不能由此指令执行(此类传输受到严重限制,必须改用Leave指令)。
以下 Emit 方法重载可以使用 beq 操作码: