diff --git a/masm/parse_mips32.c b/masm/parse_mips32.c index bd07ce0..032f115 100644 --- a/masm/parse_mips32.c +++ b/masm/parse_mips32.c @@ -44,6 +44,8 @@ enum mips32_parse_format { MIPS32_PARSE_S, // shift variable: rd, rt, rs MIPS32_PARSE_SV, + // none: + MIPS32_PARSE_NONE, }; #define FORMAT(ins, format) \ @@ -112,6 +114,7 @@ const enum mips32_parse_format mips32_parse_formats[] = { FORMAT(SRAV, SV) FORMAT(SRL, S) FORMAT(SRLV, SV) + FORMAT(SYSCALL, NONE) FORMAT(OR, R) FORMAT(ORI, I) FORMAT(NOR, R) @@ -665,6 +668,9 @@ static int parse_instruction(struct parser *parser, case MIPS32_PARSE_SV: res = parse_instruction_sv(parser, &ins->mips32); break; + case MIPS32_PARSE_NONE: + res = M_SUCCESS; + break; } if (res == M_SUCCESS && assert_eol(parser))