library/src/decoders/x86ASM/BP-x86OperandAnalysis.cc
// determines if an operand is of an R/M Type
determines if an operand is of an R/M Type
determines if an operand is of an R / M Type
size_t X86_32_IsOperandRm(size_t operand){
	switch(operand){
		case IA_R16_M16:
			return true;
		case IA_R32_M16:
			return true;
		case IA_RM8:
			return true;
		case IA_RM16:
			return true;
		case IA_RM32:
			return true;
		case IA_RM64:
			return true;
		case IA_MM_M32:
			return true;
		case IA_MM_M64:
			return true;
		case IA_XMM_M32:
			return true;
		case IA_XMM_M64:
			return true;
		case IA_XMM_M128:
			return true;
		default:
			break;
	}
	return false;
}
size_t X86_32_IsOperandRm ( size_t operand ) { switch ( operand ) { case IA_R16_M16 : return true ; case IA_R32_M16 : return true ; case IA_RM8 : return true ; case IA_RM16 : return true ; case IA_RM32 : return true ; case IA_RM64 : return true ; case IA_MM_M32 : return true ; case IA_MM_M64 : return true ; case IA_XMM_M32 : return true ; case IA_XMM_M64 : return true ; case IA_XMM_M128 : return true ; default : break ; } return false ; }
determines if an operand is of an R/M Type
determines if an operand is of an R / M Type
// (r/m8) Either a register, or a memory destination (RM) // (mm/m32) Low order bits of a MMX Register or Memory operand. // (xmm/m32) XMM Register or Memory operand.