protected override void VisitBranchOnGreaterThanOrEqualToUnsignedInstruction(BranchOnGreaterThanOrEqualToUnsignedInstruction 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 VisitBranchOnGreaterThanOrEqualToUnsignedInstruction(BranchOnGreaterThanOrEqualToUnsignedInstruction instruction);