/* Check if an operand's address mode is IMMEDIATE */ valueType * isImmediateModeBIF(operandListType *parameterList, fixupKindType kindOfFixup) { valueType *evaluatedParameter; if (parameterList != NULL) { evaluatedParameter = evaluateOperand(parameterList); return(makeBooleanValue(evaluatedParameter->addressMode == IMMEDIATE_OPND)); } else { return(makeBooleanValue(FALSE)); } }
/* Check if operand is the accumulator */ valueType * isARegisterBIF(operandListType *parameterList, fixupKindType kindOfFixup) { valueType *evaluatedParameter; if (parameterList != NULL) { evaluatedParameter = evaluateOperand(parameterList); return(makeBooleanValue(evaluatedParameter->addressMode == A_REGISTER_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 POST-INDEXED */ valueType * isPostIndexedModeBIF(operandListType *parameterList, fixupKindType kindOfFixup) { valueType *evaluatedParameter; 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 PRE-INDEXED */ valueType * isPreIndexedModeBIF(operandListType *parameterList, fixupKindType kindOfFixup) { valueType *evaluatedParameter; valueType *evaluateOperand(operandType *operand); if (parameterList != NULL) { evaluatedParameter = evaluateOperand(parameterList); return(makeBooleanValue(evaluatedParameter->addressMode == PRE_INDEXED_X_OPND || evaluatedParameter-> addressMode == PRE_SELECTED_X_OPND)); } else { return(makeBooleanValue(FALSE)); } }