예제 #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 & ~(uint)negBit;
     _negBit   = negBit;
     _name     = name;
 }
 public DialogResult ShowDialog(Relocation relocation, SectionEditor mainWindow)
 {
     _mainWindow = mainWindow;
     _targetRelocation = relocation;
     oldValue = _targetRelocation.RawValue;
     propertyGrid1.SelectedObject = _code = _targetRelocation.Code;
     label3.Text = "0x" + (_targetRelocation._index * 4).ToString("X");
     return base.ShowDialog();
 }
예제 #4
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;
        }
예제 #5
0
 public PPCOperand(PPCOpCode owner, OperandType type, int shift, uint mask, uint negBit) : this(owner, type, shift, mask, negBit, "")
 {
 }
예제 #6
0
 public PPCOperand(PPCOpCode owner, OperandType type, int shift, uint mask) : this(owner, type, shift, mask, 0x0)
 {
 }