From 05e48c35ce97f2e2ebcf5a4dd796867bc6bcf23b Mon Sep 17 00:00:00 2001 From: neauoire Date: Mon, 30 Aug 2021 12:16:57 -0700 Subject: [PATCH] Fixed issue with SFT --- src/uxn.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/uxn.c b/src/uxn.c index 64823b7..d036f51 100644 --- a/src/uxn.c +++ b/src/uxn.c @@ -12,9 +12,9 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE. */ -#define MODE_SHORT 0x20 +#define MODE_SHORT 0x20 #define MODE_RETURN 0x40 -#define MODE_KEEP 0x80 +#define MODE_KEEP 0x80 #pragma mark - Operations @@ -125,7 +125,7 @@ uxn_eval(Uxn *u, Uint16 vec) case 0x1c: /* AND */ a = pop(u->src), b = pop(u->src); push(u->src, b & a); break; case 0x1d: /* ORA */ a = pop(u->src), b = pop(u->src); push(u->src, b | a); break; case 0x1e: /* EOR */ a = pop(u->src), b = pop(u->src); push(u->src, b ^ a); break; - case 0x1f: /* SFT */ a = pop8(u->src), b = pop(u->src); push(u->src, b >> (a & 0x07) << ((a & 0x70) >> 4)); break; + case 0x1f: /* SFT */ a = pop8(u->src), b = pop(u->src); push(u->src, b >> (a & 0x0f) << ((a & 0xf0) >> 4)); break; } if(u->wst.error) return uxn_halt(u, u->wst.error, "Working-stack", instr);