protected override void VisitBranchOnNotEqualUnsignedShortInstruction(BranchOnNotEqualUnsignedShortInstruction instruction) { ControlState.EvaluationStack.Pop(out var stackVal1, out var stackVal2); var branch = ComputeBinaryBranchOperation( stackVal1, stackVal2, (a, b) => a.ValueUnsigned != b.ValueUnsigned, (a, b) => a.ValueUnsigned != b.ValueUnsigned, (a, b) => a.Value != b.Value ); if (branch) { ControlState.Move(instruction.Offset, instruction.Label); } else { ControlState.MoveToNextInstruction(); } }
protected abstract void VisitBranchOnNotEqualUnsignedShortInstruction(BranchOnNotEqualUnsignedShortInstruction instruction);