示例#1
0
bool X86Architecture::Decode_Ibs(BinaryStream const& rBinStrm, TOffset Offset, Instruction& rInsn, Operand* pOprd)
{
  OperandIbs<O_IMM16> OpIbsw;
  OperandIbs<O_IMM32> OpIbsd;
  OperandIbs<O_IMM64> OpIbsq;

  auto const rFirstOprd = rInsn.FirstOperand();
  switch (rFirstOprd.GetLength())
  {
  case 2: return OpIbsw(rBinStrm, Offset, rInsn, pOprd);
  case 4: return OpIbsd(rBinStrm, Offset, rInsn, pOprd);
  case 8: return OpIbsq(rBinStrm, Offset, rInsn, pOprd);
  default:return Decode_Ib(rBinStrm, Offset, rInsn, pOprd);
  }
}