diff options
Diffstat (limited to 'usr.bin/oasm/lex.c')
-rw-r--r-- | usr.bin/oasm/lex.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/usr.bin/oasm/lex.c b/usr.bin/oasm/lex.c index fea9dc3..ce97400 100644 --- a/usr.bin/oasm/lex.c +++ b/usr.bin/oasm/lex.c @@ -54,6 +54,9 @@ static char putback = '\0'; #define S_IMN_MROW "mrow" #define S_IMN_MROD "mrod" #define S_IMN_MROQ "mroq" +#define S_IMN_AND "and" +#define S_IMN_OR "or" +#define S_IMN_XOR "xor" /* Instruction length */ #define OSMX64_INST_LEN 4 @@ -210,6 +213,8 @@ token_arith(char *p) return TT_HLT; } else if (strcmp(p, S_IMN_MUL) == 0) { return TT_MUL; + } else if (strcmp(p, S_IMN_XOR) == 0) { + return TT_XOR; } return TT_UNKNOWN; @@ -242,6 +247,10 @@ token_bitw_mro(char *p) return TT_MROD; } else if (strcmp(p, S_IMN_MROQ) == 0) { return TT_MROQ; + } else if (strcmp(p, S_IMN_AND) == 0) { + return TT_AND; + } else if (strcmp(p, S_IMN_OR) == 0) { + return TT_OR; } return TT_UNKNOWN; |