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++];