commit e209d73

Devine Lu Linvega  ·  2024-11-12 17:37:08 +0000 UTC
parent ae02c19
(uxn.c) Simpler PO2 microcode
1 files changed,  +4, -4
+4, -4
 1@@ -28,10 +28,10 @@ WITH REGARD TO THIS SOFTWARE.
 2 #define REM if(_r) uxn.rst.ptr -= 1 + _2; else uxn.wst.ptr -= 1 + _2;
 3 #define INC(s) uxn.s.dat[uxn.s.ptr++]
 4 #define DEC(s) uxn.s.dat[--uxn.s.ptr]
 5-#define JMP(i) { if(_2) pc = i; else pc += (Sint8)i; }
 6-#define PO1(o) { o = _r ? DEC(rst) : DEC(wst); }
 7-#define PO2(o) { PO1(o) o |= (_r ? DEC(rst) : DEC(wst)) << 8; }
 8-#define POx(o) { if(_2) { PO2(o) } else PO1(o) }
 9+#define JMP(i) pc = _2 ? i : pc + (Sint8)i;
10+#define PO1(o) o = _r ? DEC(rst) : DEC(wst);
11+#define PO2(o) o = _r ? DEC(rst) | DEC(rst) << 8 : DEC(wst) | DEC(wst) << 8;
12+#define POx(o) { if(_2) PO2(o) else PO1(o) }
13 #define PU1(i) { if(_r) INC(rst) = i; else INC(wst) = i; }
14 #define RP1(i) { if(_r) INC(wst) = i; else INC(rst) = i; }
15 #define PUx(i) { if(_2) { c = (i); PU1(c >> 8) PU1(c) } else PU1(i) }