From 0667a16224c5501e38b96c8c17cd041b5d2c73c3 Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Fri, 27 Dec 2019 17:10:11 -0500 Subject: Implement SNE instruction. --- asm.myr | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/asm.myr b/asm.myr index cd0db90..94d80f0 100644 --- a/asm.myr +++ b/asm.myr @@ -140,6 +140,18 @@ const emitinstr = {p | _: -> `std.Err(std.fmt("invalid arguments to SE: {}, {}", p[1], p[2])) ;; + | "SNE": + if p.len < 3 + -> `std.Err("SNE missing arguments") + ;; + match (parselit(p[1]), parselit(p[2])) + | (`Register(m), `Number(n)): + b = `std.Some([0x40 | (m & 0x0f), (n & 0xff)]) + | (`Register(m), `Register(n)): + b = `std.Some([0x90 | (m & 0x0f), (n & 0x0f) << 1]) + | _: + -> `std.Err(std.fmt("invalid arguments to SNE: {}, {}", p[1], p[2])) + ;; | _: -> `std.Err(std.fmt("unrecognized instruction {}", p[0])) ;; -- cgit v1.3