diff options
Diffstat (limited to 'usr.bin/oasm/parse.c')
-rw-r--r-- | usr.bin/oasm/parse.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/usr.bin/oasm/parse.c b/usr.bin/oasm/parse.c index b4bb7be..ce5a446 100644 --- a/usr.bin/oasm/parse.c +++ b/usr.bin/oasm/parse.c @@ -60,6 +60,7 @@ static const char *tokstr[] = { [ TT_MROQ ] = "mroq", [ TT_AND ] = "and", [ TT_OR ] = "or", + [ TT_XOR ] = "xor", /* X<n> registers */ [ TT_X0 ] = "x0", @@ -126,6 +127,8 @@ parse_reg(struct oasm_state *state, struct oasm_token *tok) case TT_DIV: case TT_BR: case TT_AND: + case TT_OR: + case TT_XOR: state->last = tok->type; break; default: @@ -176,6 +179,10 @@ parse_tok(struct oasm_state *state, struct oasm_token *tok) state->last = tok->type; emit_osmx64(&emit_state, tok); break; + case TT_XOR: + state->last = tok->type; + emit_osmx64(&emit_state, tok); + break; case TT_HLT: state->last = tok->type; emit_osmx64(&emit_state, tok); |