Пример #1
0
        public static unsafe PPCOpCode[] Disassemble(VoidPtr ptr, int count, bool bigEndian)
        {
            if (count < 0)
            {
                throw new ArgumentException();
            }

            PPCOpCode[] result = new PPCOpCode[count];
            if (bigEndian)
            {
                for (int i = 0; i < count; i++)
                {
                    result[i] = Disassemble(((buint *)ptr)[i]);
                }
            }
            else
            {
                for (int i = 0; i < count; i++)
                {
                    result[i] = Disassemble(((uint *)ptr)[i]);
                }
            }

            return(result);
        }
Пример #2
0
 public PPCOperand(PPCOpCode owner, OperandType type, int shift, uint mask, uint negBit, string name)
 {
     _owner    = owner;
     _opType   = type;
     _bitShift = shift;
     _bitMask  = mask & ~negBit;
     _negBit   = negBit;
     _name     = name;
 }
Пример #3
0
 public PPCOperand(PPCOpCode owner, OperandType type, int shift, uint mask, uint negBit) : this(owner, type,
                                                                                                shift, mask, negBit, "")
 {
 }
Пример #4
0
 public PPCOperand(PPCOpCode owner, OperandType type, int shift, uint mask) : this(owner, type, shift, mask,
                                                                                   0x0)
 {
 }