Removed errcode from stacks

This commit is contained in:
Devine Lu Linvega 2023-01-12 20:35:42 -08:00
parent bc26d9d60d
commit fad574816d
2 changed files with 10 additions and 8 deletions

View File

@ -42,13 +42,15 @@ int
uxn_halt(Uxn *u, Uint8 instr, Uint8 err, Uint16 addr)
{
Uint8 *d = &u->dev[0x00];
if(instr & 0x40)
u->rst->err = err;
else
u->wst->err = err;
if(GETVEC(d))
uxn_eval(u, GETVEC(d));
else {
Uint16 handler = GETVEC(d);
if(handler) {
u->wst->ptr = 4;
u->wst->dat[0] = addr >> 0x8;
u->wst->dat[1] = addr & 0xff;
u->wst->dat[2] = instr;
u->wst->dat[3] = err;
return uxn_eval(u, handler);
} else {
system_inspect(u);
fprintf(stderr, "%s %s, by %02x at 0x%04x.\n", (instr & 0x40) ? "Return-stack" : "Working-stack", errors[err - 1], instr, addr);
}

View File

@ -26,7 +26,7 @@ typedef unsigned int Uint32;
/* clang-format on */
typedef struct {
Uint8 dat[254], err, ptr;
Uint8 dat[255], ptr;
} Stack;
typedef struct Uxn {