protected override void VisitBranchOnGreaterThanUnsignedShortInstruction(BranchOnGreaterThanUnsignedShortInstruction 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 VisitBranchOnGreaterThanUnsignedShortInstruction(BranchOnGreaterThanUnsignedShortInstruction instruction);