commit 01c7537

Devine Lu Linvega  ·  2026-01-26 18:46:57 +0000 UTC
parent 4e224c4
JUMP macro use b register
1 files changed,  +4, -4
+4, -4
 1@@ -1035,7 +1035,7 @@ emu_deo(const Uint8 port, const Uint8 value)
 2 #define DEC s[--(*p)]
 3 #define INC s[(*p)++]
 4 #define FLIP s = stk[!r], p = &ptr[!r];
 5-#define JUMP(x) c = ram[pc] << 8, c |= ram[pc + 1], pc += x + 2;
 6+#define JUMP(x) b = ram[pc] << 8, b |= ram[pc + 1], pc += x + 2;
 7 #define DROP(o,m) o = DEC; if(m) o |= DEC << 8;
 8 #define TAKE(o) if(d) o[1] = DEC; o[0] = DEC;
 9 #define PUSH(i,m) { if(m) c = (i), INC = c >> 8, INC = c; else INC = i; }
10@@ -1053,9 +1053,9 @@ uxn_eval(Uint16 pc)
11 	Uint8 op = ram[pc++], r = (op >> 6) & 1, *s = stk[r], *p = &ptr[r];
12 	switch(op) {
13 	/* BRK */ case 0x00:return 1;
14-	/* JCI */ case 0x20:if(DEC) JUMP(c) else pc += 2; break;
15-	/* JMI */ case 0x40:JUMP(c) break;
16-	/* JSI */ case 0x60:JUMP(0) INC = pc >> 8; INC = pc; pc += c; break;
17+	/* JCI */ case 0x20:if(DEC) JUMP(b) else pc += 2; break;
18+	/* JMI */ case 0x40:JUMP(b) break;
19+	/* JSI */ case 0x60:JUMP(0) PUSH(pc,1) pc += b; break;
20 	/* LI2 */ case 0xa0:INC = ram[pc++]; /* Fall-through */
21 	/* LIT */ case 0x80:INC = ram[pc++]; break;
22 	/* L2r */ case 0xe0:INC = ram[pc++]; /* Fall-through */