使用英语阅读

通过


OpCodes.Bne_Un 字段

定义

当两个无符号整数值或未经排序的浮点值不相等时,将控制转移到目标指令。

public static readonly System.Reflection.Emit.OpCode Bne_Un;

字段值

注解

下表列出了指令的十六进制和 Microsoft 中间语言 (MSIL) 程序集格式,以及简短的参考摘要:

格式 程序集格式 说明
40 <int32> bne.un target 如果两个无符号整数值不相等,则分支到指定偏移量处的目标指令 (无符号值) 。

堆栈过渡行为(按顺序排列)为:

  1. value1 被推送到堆栈上。

  2. value2 被推送到堆栈上。

  3. value2value1 从堆栈中弹出;如果 value1 不等于 value2,则执行分支操作。

当使用无符号整数或无序浮点值进行比较时,如果 value1 不等于 value2,则bne.un指令会将控制权转移到指定的目标指令。 效果与执行 ceq 指令后跟特定目标指令的 brfalse 分支相同。 目标指令表示为 4 字节的带符号偏移量,该偏移量与当前指令之后的指令开头相距。

如果目标指令具有一个或多个前缀代码,则控件只能转移到这些前缀中的第一个。 此指令无法控制传入和移出 trycatchfilterfinally 块的传输。

以下 Emit 方法重载可以使用 bne.un opcode:

适用于

产品 版本
.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