summaryrefslogtreecommitdiff
path: root/usr.bin/oasm/lex.c
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-07-27 23:25:08 -0400
committerIan Moffett <ian@osmora.org>2025-07-28 03:31:14 -0400
commit0d5a742b653870e742b3565389743bbccb39851d (patch)
treed90ec73163012779d7834697e21ff07788bb970c /usr.bin/oasm/lex.c
parent7859e0ff5fbc94ec0b36168ac81e94482274b5c6 (diff)
oasm: Introduce XOR mnemonic
Implement mnemonic for the XOR instruction: -- xor x4, #1 ! x4 = x4 ^ 1 -- Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'usr.bin/oasm/lex.c')
-rw-r--r--usr.bin/oasm/lex.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usr.bin/oasm/lex.c b/usr.bin/oasm/lex.c
index 4c402be..ce97400 100644
--- a/usr.bin/oasm/lex.c
+++ b/usr.bin/oasm/lex.c
@@ -56,6 +56,7 @@ static char putback = '\0';
#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
@@ -212,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;