diff --git a/parser.c b/parser.c index d0be7a46..5ca49faf 100644 --- a/parser.c +++ b/parser.c @@ -494,6 +494,11 @@ insn *parse_line (int pass, char *buffer, insn *result, bracket = FALSE; /* placate optimisers */ } + if((result->oprs[operand].type & FAR) && !mref) + { + error (ERR_NONFATAL, "invalid use of FAR operand specifier"); + } + value = evaluate (stdscan, NULL, &tokval, &result->oprs[operand].opflags, critical, error, &hints);