Ejemplo n.º 1
0
/* Check if an operand's address mode is IMMEDIATE */
  valueType *
isImmediateModeBIF(operandListType *parameterList, fixupKindType kindOfFixup)
{
	valueType	*evaluatedParameter;

	valueType	*evaluateOperand(operandType *operand);

	if (parameterList != NULL) {
		evaluatedParameter = evaluateOperand(parameterList);
		return(makeBooleanValue(evaluatedParameter->addressMode ==
			IMMEDIATE_OPND));
	} else {
		return(makeBooleanValue(FALSE));
	}
}
Ejemplo n.º 2
0
/* Check if operand is the accumulator */
  valueType *
isARegisterBIF(operandListType *parameterList, fixupKindType kindOfFixup)
{
	valueType	*evaluatedParameter;

	valueType	*evaluateOperand(operandType *operand);

	if (parameterList != NULL) {
		evaluatedParameter = evaluateOperand(parameterList);
		return(makeBooleanValue(evaluatedParameter->addressMode ==
			A_REGISTER_OPND));
	} else {
		return(makeBooleanValue(FALSE));
	}
}
Ejemplo n.º 3
0
/* Check if an operand's address mode is POST-INDEXED */
  valueType *
isPostIndexedModeBIF(operandListType *parameterList, fixupKindType kindOfFixup)
{
	valueType	*evaluatedParameter;

	valueType	*evaluateOperand(operandType *operand);

	if (parameterList != NULL) {
		evaluatedParameter = evaluateOperand(parameterList);
		return(makeBooleanValue(evaluatedParameter->addressMode ==
			POST_INDEXED_Y_OPND));
	} else {
		return(makeBooleanValue(FALSE));
	}
}
/* Check if an operand's address mode is DIRECT */
  valueType *
isDirectModeBIF(operandListType *parameterList, fixupKindType kindOfFixup)
{
	valueType	*evaluatedParameter;

	if (parameterList != NULL) {
		evaluatedParameter = evaluateOperand(parameterList);
		return(makeBooleanValue(evaluatedParameter->addressMode ==
			EXPRESSION_OPND));
	} else {
		return(makeBooleanValue(FALSE));
	}
}
/* Check if an operand's address mode is PRE-INDEXED */
  valueType *
isPreIndexedModeBIF(operandListType *parameterList, fixupKindType kindOfFixup)
{
	valueType	*evaluatedParameter;

	if (parameterList != NULL) {
		evaluatedParameter = evaluateOperand(parameterList);
		return(makeBooleanValue(evaluatedParameter->addressMode ==
			PRE_INDEXED_X_OPND || evaluatedParameter->
			addressMode == PRE_SELECTED_X_OPND));
	} else {
		return(makeBooleanValue(FALSE));
	}
}