summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>2019-12-27 17:14:39 -0500
committerJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>2019-12-27 17:14:39 -0500
commita47f8fa9e571c64972b679b94a461cc13ebf33a3 (patch)
treef230f02ef93b352027b1bd488056959bff797a99
parent73e659f5de2db13f45af20f0dd4f4d158464e116 (diff)
Implement SKNP instruction.
-rw-r--r--asm.myr9
1 files changed, 9 insertions, 0 deletions
diff --git a/asm.myr b/asm.myr
index 3d70adc..4f6e1b4 100644
--- a/asm.myr
+++ b/asm.myr
@@ -161,6 +161,15 @@ const emitinstr = {p
| _:
-> `std.Err(std.fmt("invalid argument to SKP: {}", p[1]))
;;
+ | "SKNP":
+ if p.len < 2
+ -> `std.Err("SKNP missing address")
+ ;;
+ match parselit(p[1])
+ | `Register(n): b = `std.Some([0xe0 | (n & 0x0f), 0xa1])
+ | _:
+ -> `std.Err(std.fmt("invalid argument to SKNP: {}", p[1]))
+ ;;
| _:
-> `std.Err(std.fmt("unrecognized instruction {}", p[0]))
;;