Browse code

(uxn-fast) Added overflow error

Devine Lu Linvega authored on 03/03/2023 03:47:24
Showing 1 changed files
... ...
@@ -30,8 +30,8 @@ WITH REGARD TO THIS SOFTWARE.
30 30
 #define L2 PEEK16(s->dat+s->ptr-6)
31 31
 
32 32
 #define HALT(c) { return uxn_halt(u, instr, (c), pc - 1); }
33
-#define INC(mul, add) { if(mul > s->ptr) HALT(1) s->ptr += k * mul + add; }
34
-#define DEC(mul, sub) { if(mul > s->ptr) HALT(1) s->ptr -= !k * mul - sub; }
33
+#define INC(mul, add) { if(mul > s->ptr) HALT(1) s->ptr += k * mul + add; if(s->ptr > 255) HALT(2) }
34
+#define DEC(mul, sub) { if(mul > s->ptr) HALT(1) s->ptr -= !k * mul - sub; if(s->ptr > 255) HALT(2) }
35 35
 #define PUT(o, v) { s->dat[s->ptr - o - 1] = (v); }
36 36
 #define PUT2(o, v) { tmp = (v); s->dat[s->ptr - o - 2] = tmp >> 8; s->dat[s->ptr - o - 1] = tmp; }
37 37
 #define PUSH(stack, v) { stack->dat[stack->ptr++] = (v); }