summaryrefslogtreecommitdiff
path: root/usr.bin/oasm/lex.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/oasm/lex.c')
-rw-r--r--usr.bin/oasm/lex.c9
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;