From 1818c1eedee41f8a573ca09072d97a714793df3a Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Mon, 18 Apr 2016 02:57:05 -0500 Subject: [PATCH] Fix assembler bugs in "ex af, af'" and "ex (sp), hl". --- src/assembler/instructions.c | 2 +- src/assembler/parse_util.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assembler/instructions.c b/src/assembler/instructions.c index 4ba0fc0..f45db15 100644 --- a/src/assembler/instructions.c +++ b/src/assembler/instructions.c @@ -176,7 +176,7 @@ static ASMErrorDesc parse_args( } else { if ((c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c == ' ' || c == '+' || c == '-' || c == '(' || c == ')' || - c == '$' || c == '_' || c == '.') + c == '$' || c == '_' || c == '.' || c == '\'') i++; else return ED_PS_ARG_SYNTAX; diff --git a/src/assembler/parse_util.c b/src/assembler/parse_util.c index e5c4c02..269da38 100644 --- a/src/assembler/parse_util.c +++ b/src/assembler/parse_util.c @@ -406,7 +406,7 @@ bool argparse_indirect(ASMArgIndirect *result, ASMArgParseInfo ai) ASMArgRegister reg; ASMArgImmediate imm; if (argparse_register(®, ai)) { - if (reg == REG_BC || reg == REG_DE || reg == REG_HL || + if (reg == REG_BC || reg == REG_DE || reg == REG_HL || reg == REG_SP || reg == REG_IX || reg == REG_IY) { result->type = AT_REGISTER; result->addr.reg = reg;