diff options
author | Freya Murphy <freya@freyacat.org> | 2024-10-01 18:19:08 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-10-01 18:19:08 -0400 |
commit | 853a1ba61235bd760dc3b732e9f899b58c53add8 (patch) | |
tree | d14580851edfb189fd6f53990395c4aa0892fc0e /masm/parse.c | |
parent | msim done (ish) (diff) | |
download | mips-853a1ba61235bd760dc3b732e9f899b58c53add8.tar.gz mips-853a1ba61235bd760dc3b732e9f899b58c53add8.tar.bz2 mips-853a1ba61235bd760dc3b732e9f899b58c53add8.zip |
add nop pseudo code
Diffstat (limited to '')
-rw-r--r-- | masm/parse.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/masm/parse.c b/masm/parse.c index dfa9479..dbe6ade 100644 --- a/masm/parse.c +++ b/masm/parse.c @@ -889,6 +889,17 @@ static int parse_pseudo_move(struct parser *parser, struct ins_expr *expr) return M_SUCCESS; } +static int parse_pseudo_nop(struct parser *parser, struct ins_expr *expr) +{ + (void) parser; + + expr->ins_len = 1; + expr->ins[0] = mips_instructions[MIPS_INS_SLL]; + expr->ref[0].type = R_MIPS_NONE; + + return M_SUCCESS; +} + static int parse_pseudo_instruction(struct parser *parser, struct ins_expr *expr, struct token ident) @@ -911,6 +922,10 @@ static int parse_pseudo_instruction(struct parser *parser, res = parse_pseudo_la(parser, expr); else CHK(move) res = parse_pseudo_move(parser, expr); + else CHK(nop) + res = parse_pseudo_nop(parser, expr); + + #undef CHK if (res) { // reset on fail |