diff --git a/expressionSemantics.c b/expressionSemantics.c index 17db853..94fe23d 100644 --- a/expressionSemantics.c +++ b/expressionSemantics.c @@ -1109,7 +1109,8 @@ evaluateExpressionInternally(expressionType *expression, bool isTopLevel, fixupK evaluateExpression(expressionType *expression, fixupKindType kindOfFixup) { valueType *result; - + nullEvaluate(expression); + expressionFailed = FALSE; referencesToNote[currentOperandNumber] = NULL; result = evaluateExpressionInternally(expression, TRUE, kindOfFixup, diff --git a/operandStuffSD_6502.c b/operandStuffSD_6502.c index 7fcd60d..6b36cb5 100644 --- a/operandStuffSD_6502.c +++ b/operandStuffSD_6502.c @@ -299,6 +299,7 @@ evaluateOperand(operandType *operand) case Y_INDEXED_OPND: result = evaluateExpression(operand->theOperand.expressionUnion, performingFixups ? NO_FIXUP : OPERAND_FIXUP); + nullEvaluate(result); if (operand->kindOfOperand != EXPRESSION_OPND) { if (result->addressMode != EXPRESSION_OPND) { error(BAD_ADDRESS_MODE_ERROR);