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;