commit b6d876a

Devine Lu Linvega  ·  2024-08-17 17:23:37 +0000 UTC
parent 4df6dd8
(uxn.c) Renamed PR1 to PUR micro op
1 files changed,  +4, -9
+4, -9
 1@@ -34,19 +34,14 @@ WITH REGARD TO THIS SOFTWARE.
 2 #define PUx(y) if(_2) { PU2(y) } else PU1(y)
 3 #define PU2(y) tt = (y); PU1(tt >> 8) PU1(tt)
 4 #define PU1(y) if(_r) INC(rst) = y; else INC(wst) = y;
 5-
 6+#define PUR(y) if(_r) INC(wst) = y; else INC(rst) = y;
 7 #define GET(o,p) if(_2) PO1(p) PO1(o)
 8 #define PUT(y,z) PU1(y) if(_2) PU1(z)
 9-#define DEI(i,o,p) o = emu_dei(i); if(_2) p = emu_dei(i + 1);
10+#define DEI(i,o,p) o =emu_dei(i); if(_2) p =emu_dei(i + 1);
11 #define DEO(i,y,z) emu_deo(i, y); if(_2) emu_deo(i + 1, z);
12 #define PEK(i,o,p,r) o = uxn.ram[i]; if(_2) r = i + 1, p = uxn.ram[r];
13 #define POK(i,y,z,r) uxn.ram[i] = y; if(_2) r = i + 1, uxn.ram[r] = z;
14 
15-#define PUTr(y,z) PF1(y) if(_2) PF1(z)
16-#define PFx(y) if(_2) { PF2(y) } else PF1(y)
17-#define PF2(y) tt = (y); PF1(tt >> 8) PF1(tt)
18-#define PF1(y) if(_r) INC(wst) = y; else INC(rst) = y;
19-
20 int
21 uxn_eval(Uint16 pc)
22 {
23@@ -77,8 +72,8 @@ uxn_eval(Uint16 pc)
24 		/* LTH */ OPC(0x0b, POx(a) POx(b),PU1(b < a))
25 		/* JMP */ OPC(0x0c, POx(a),JMP(a))
26 		/* JCN */ OPC(0x0d, POx(a) PO1(b), if(b) JMP(a))
27-		/* JSR */ OPC(0x0e, POx(a),PF2(pc) JMP(a))
28-		/* STH */ OPC(0x0f, GET(a,b), PUTr(a,b))
29+		/* JSR */ OPC(0x0e, POx(a),PUR(pc >> 8) PUR(pc) JMP(a))
30+		/* STH */ OPC(0x0f, GET(a,b),PUR(a) if(_2) PUR(b))
31 		/* LDZ */ OPC(0x10, PO1(a),PEK(a,b,c,t) PUT(b,c))
32 		/* STZ */ OPC(0x11, PO1(a) GET(b,c),POK(a,b,c,t))
33 		/* LDR */ OPC(0x12, PO1(a),PEK(pc+(Sint8)a,b,c,tt) PUT(b,c))