commit 82c8651

Devine Lu Linvega  ·  2024-08-18 00:02:59 +0000 UTC
parent 45c4d5a
(uxn.c) Temporary register does not need masking
1 files changed,  +3, -4
+3, -4
 1@@ -32,7 +32,7 @@ WITH REGARD TO THIS SOFTWARE.
 2 #define POx(o) if(_2) { PO2(o) } else PO1(o)
 3 #define PO1(o) if(_r) o = DEC(rst); else o = DEC(wst);
 4 #define PO2(o) if(_r) o = DEC(rst) | (DEC(rst) << 8); else o = DEC(wst) | (DEC(wst) << 8);
 5-#define PUx(i) if(_2) { tt = (i); PU1(tt >> 8) PU1(tt) } else PU1(i)
 6+#define PUx(i) if(_2) { c = (i); PU1(c >> 8) PU1(c) } else PU1(i)
 7 #define PU1(i) if(_r) INC(rst) = i; else INC(wst) = i;
 8 #define RP1(i) if(_r) INC(wst) = i; else INC(rst) = i;
 9 #define GET(o) if(_2) PO1(o[1]) PO1(o[0])
10@@ -45,15 +45,14 @@ WITH REGARD TO THIS SOFTWARE.
11 int
12 uxn_eval(Uint16 pc)
13 {
14-	int a,b,x[2],y[2],z[2];
15-	Uint16 tt;
16+	int a, b, c, x[2], y[2], z[2];
17 	if(!pc || uxn.dev[0x0f]) return 0;
18 	for(;;) {
19 		switch(uxn.ram[pc++]) {
20 		/* BRK */ case 0x00: return 1;
21 		/* JCI */ case 0x20: if(DEC(wst)) { JMI break; } pc += 2; break;
22 		/* JMI */ case 0x40: JMI break;
23-		/* JSI */ case 0x60: tt = pc + 2; INC(rst) = tt >> 8; INC(rst) = tt; JMI break;
24+		/* JSI */ case 0x60: c = pc + 2; INC(rst) = c >> 8; INC(rst) = c; JMI break;
25 		/* LI2 */ case 0xa0: INC(wst) = uxn.ram[pc++];
26 		/* LIT */ case 0x80: INC(wst) = uxn.ram[pc++]; break;
27 		/* L2r */ case 0xe0: INC(rst) = uxn.ram[pc++];