Esempio n. 1
0
        private static void DecompileOp29(DecompilerContext context, DecompilerTableEntry entry, ref List <object> operands, ref List <int> branchTargets)
        {
            var oprs = context.DecompileOperands("WB");

            operands.AddRange(oprs);

            var op = (int)oprs[1];

            if (op == 1)
            {
                operands.Add(context.DecompileOperand('W'));
            }
            else
            {
                operands.Add(context.DecompileOperand('B'));
            }
        }
Esempio n. 2
0
        private static void DecompileOp41(DecompilerContext context, DecompilerTableEntry entry, ref List <object> operands, ref List <int> branchTargets)
        {
            var oprs = context.DecompileOperands("BW");

            operands.AddRange(oprs);

            var op = (int)oprs[1];

            if (Op41Values.Contains(op))
            {
                operands.Add(context.DecompileOperand('B'));
            }
        }
Esempio n. 3
0
        internal static void DecompileDefault(DecompilerContext context, DecompilerTableEntry entry, ref List <object> operands, ref List <int> branchTargets)
        {
            if (string.IsNullOrEmpty(entry.Operand))
            {
                return;
            }

            for (var i = 0; i < entry.Operand.Length; ++i)
            {
                char c  = entry.Operand[i];
                var  op = context.DecompileOperand(c);
                if (char.ToLower(c) == 'o')
                {
                    branchTargets.Add((int)op);
                }

                operands.Add(op);
            }
        }