library/src/decoders/x86ASM/BP-x86OperandAnalysis.cc
// These functions are used to get the typeclass of a register or rm value,
// out of a rm byte. Typeclasses are defined as follows.
These functions are used to get the typeclass of a register or rm value,
out of a rm byte. Typeclasses are defined as follows.
These functions are used to get the typeclass of a register or rm value out of a rm byte . Typeclasses are defined as follows .
size_t X86_32_GetRmRegTypeClass(size_t operand){
	switch(operand){
		case IA_R8:
			return TYPECLASS_REG_GPR_8;
		case IA_R16:
			return TYPECLASS_REG_GPR_16;
		case IA_R32:
			return TYPECLASS_REG_GPR_32;
		case IA_R64:
			return TYPECLASS_REG_GPR_64;
		case IA_MM:
			return TYPECLASS_REG_MM;
		case IA_MM32:
			return TYPECLASS_REG_MM;
		case IA_XMM:
			return TYPECLASS_REG_XMM;
	}
	return 0;
}
size_t X86_32_GetRmRegTypeClass ( size_t operand ) { switch ( operand ) { case IA_R8 : return TYPECLASS_REG_GPR_8 ; case IA_R16 : return TYPECLASS_REG_GPR_16 ; case IA_R32 : return TYPECLASS_REG_GPR_32 ; case IA_R64 : return TYPECLASS_REG_GPR_64 ; case IA_MM : return TYPECLASS_REG_MM ; case IA_MM32 : return TYPECLASS_REG_MM ; case IA_XMM : return TYPECLASS_REG_XMM ; } return 0 ; }
These functions are used to get the typeclass of a register or rm value,
out of a rm byte.
These functions are used to get the typeclass of a register or rm value out of a rm byte .
// TYPECLASS_REG_NONE // TYPECLASS_REG_DEBUG // TYPECLASS_REG_CONTROL // TYPECLASS_REG_GPR_8 // TYPECLASS_REG_GPR_16 // TYPECLASS_REG_GPR_32 // TYPECLASS_REG_ST // Anomolies first: Not found in the instruction information /*
		 * First all possible REG values
		 */ // (r8) One of the general purpose registers // (mm) MMX Register. MM0 - MM7 // (xmm) A XMM Register (128-bit)