public static string ToString(Ot2 ot2) { StringBuilder sb = new StringBuilder(); foreach (Ot2 value in Enum.GetValues(ot2.GetType())) { if (ot2.HasFlag(value)) { sb.Append(value.ToString() + ", "); } } if (sb.Length > 2) { sb.Length -= 2; } return(sb.ToString()); }
public static (Ot1 operand1, Ot1 operand2) SplitOt(Ot2 optup) { switch (optup) { case Ot2.reg_reg: return(Ot1.reg, Ot1.reg); case Ot2.reg_mem: return(Ot1.reg, Ot1.mem); case Ot2.reg_imm: return(Ot1.reg, Ot1.imm); case Ot2.reg_UNKNOWN: return(Ot1.reg, Ot1.UNKNOWN); case Ot2.mem_reg: return(Ot1.mem, Ot1.reg); case Ot2.mem_mem: return(Ot1.mem, Ot1.mem); case Ot2.mem_imm: return(Ot1.mem, Ot1.imm); case Ot2.mem_UNKNOWN: return(Ot1.mem, Ot1.UNKNOWN); case Ot2.imm_reg: return(Ot1.imm, Ot1.reg); case Ot2.imm_mem: return(Ot1.imm, Ot1.mem); case Ot2.imm_imm: return(Ot1.imm, Ot1.imm); case Ot2.imm_UNKNOWN: return(Ot1.imm, Ot1.UNKNOWN); case Ot2.UNKNOWN_reg: return(Ot1.UNKNOWN, Ot1.reg); case Ot2.UNKNOWN_mem: return(Ot1.UNKNOWN, Ot1.mem); case Ot2.UNKNOWN_imm: return(Ot1.UNKNOWN, Ot1.imm); case Ot2.UNKNOWN_UNKNOWN: default: return(Ot1.UNKNOWN, Ot1.UNKNOWN); } }
public static Tuple <Ot, Ot> splitOt(Ot2 operandTuple) { switch (operandTuple) { case Ot2.reg_reg: return(new Tuple <Ot, Ot>(Ot.reg, Ot.reg)); case Ot2.reg_mem: return(new Tuple <Ot, Ot>(Ot.reg, Ot.mem)); case Ot2.reg_imm: return(new Tuple <Ot, Ot>(Ot.reg, Ot.imm)); case Ot2.reg_UNKNOWN: return(new Tuple <Ot, Ot>(Ot.reg, Ot.UNKNOWN)); case Ot2.mem_reg: return(new Tuple <Ot, Ot>(Ot.mem, Ot.reg)); case Ot2.mem_mem: return(new Tuple <Ot, Ot>(Ot.mem, Ot.mem)); case Ot2.mem_imm: return(new Tuple <Ot, Ot>(Ot.mem, Ot.imm)); case Ot2.mem_UNKNOWN: return(new Tuple <Ot, Ot>(Ot.mem, Ot.UNKNOWN)); case Ot2.imm_reg: return(new Tuple <Ot, Ot>(Ot.imm, Ot.reg)); case Ot2.imm_mem: return(new Tuple <Ot, Ot>(Ot.imm, Ot.mem)); case Ot2.imm_imm: return(new Tuple <Ot, Ot>(Ot.imm, Ot.imm)); case Ot2.imm_UNKNOWN: return(new Tuple <Ot, Ot>(Ot.imm, Ot.UNKNOWN)); case Ot2.UNKNOWN_reg: return(new Tuple <Ot, Ot>(Ot.UNKNOWN, Ot.reg)); case Ot2.UNKNOWN_mem: return(new Tuple <Ot, Ot>(Ot.UNKNOWN, Ot.mem)); case Ot2.UNKNOWN_imm: return(new Tuple <Ot, Ot>(Ot.UNKNOWN, Ot.imm)); case Ot2.UNKNOWN_UNKNOWN: default: return(new Tuple <Ot, Ot>(Ot.UNKNOWN, Ot.UNKNOWN)); } }