diff --git a/masm/parse.c b/masm/parse.c index 2e404ad..3cbe305 100644 --- a/masm/parse.c +++ b/masm/parse.c @@ -916,13 +916,14 @@ static int parse_pseudo_instruction(struct parser *parser, else CHK(move) res = parse_pseudo_move(parser, expr); - if (res) + if (res) { + // reset on fail lexer_load(parser->lexer, &state); - - expr->ins[0].data.raw = 0; - expr->ins[1].data.raw = 0; - expr->ref[0] = (struct reference) {0}; - expr->ref[1] = (struct reference) {0}; + expr->ins[0].data.raw = 0; + expr->ins[1].data.raw = 0; + expr->ref[0] = (struct reference) {0}; + expr->ref[1] = (struct reference) {0}; + } log_disabled = 0; return res;