internal byte[] ReadRawOperand(x86OpCode opcode)
{
switch (opcode.GetNormalOperandType())
{
case x86OperandType.Byte:
case x86OperandType.ShortInstructionAddress:
return new byte[] { reader.ReadByte() };
case x86OperandType.Dword:
case x86OperandType.InstructionAddress:
return reader.ReadBytes(sizeof(int));
case x86OperandType.Fword:
return reader.ReadBytes(6);
case x86OperandType.Word:
return reader.ReadBytes(sizeof(ushort));
case x86OperandType.WordAndByte:
return reader.ReadBytes(sizeof(ushort) + sizeof(byte));
case x86OperandType.Qword:
return reader.ReadBytes(sizeof(ulong));
case x86OperandType.Multiple32Register:
case x86OperandType.Multiple16Register:
case x86OperandType.Multiple32Or8Register:
case x86OperandType.Register32:
case x86OperandType.RegisterLeaRegister:
break;
}
return null;
}