Skip to content

Instantly share code, notes, and snippets.

@Ismael-VC
Created September 27, 2024 02:22
Show Gist options
  • Save Ismael-VC/e3d5f13b13d6a8fa73d1c5170983d3e6 to your computer and use it in GitHub Desktop.
Save Ismael-VC/e3d5f13b13d6a8fa73d1c5170983d3e6 to your computer and use it in GitHub Desktop.
Unrolled UXN core (`cpp -E src/uxn.c`).
# 0 "../tal/uxn11/src/uxn.c"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/usr/include/stdc-predef.h"
1 3 4
# 0 "<command-line>"
2
# 1 "../tal/uxn11/src/uxn.c"
# 1 "../tal/uxn11/src/uxn.h"
1
# 21 "../tal/uxn11/src/uxn.h"
typedef unsigned char Uint8;
typedef signed char Sint8;
typedef unsigned short Uint16;
typedef signed short Sint16;
typedef unsigned int Uint32;
typedef struct {
Uint8 dat[0x100], ptr;
}
Stack;
typedef struct Uxn {
Uint8 * ram, dev[0x100];
Stack wst, rst;
}
Uxn;
extern Uint8 emu_dei(Uint8 addr);
extern void emu_deo(Uint8 addr, Uint8 value);
extern Uxn uxn;
int uxn_eval(Uint16 pc);
# 2 "../tal/uxn11/src/uxn.c"
2
# 45 "../tal/uxn11/src/uxn.c"
int
uxn_eval(Uint16 pc) {
int a, b, c, x[2], y[2], z[2];
if (!pc || uxn.dev[0x0f]) return 0;
for (;;) {
switch (uxn.ram[pc++]) {
case 0x00:
return 1;
case 0x20:
if (uxn.wst.dat[--uxn.wst.ptr]) {
a = uxn.ram[pc] << 8 | uxn.ram[pc + 1], pc += a + 2;
break;
}
pc += 2;
break;
case 0x40:
a = uxn.ram[pc] << 8 | uxn.ram[pc + 1], pc += a + 2;
break;
case 0x60:
c = pc + 2;
uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
uxn.rst.dat[uxn.rst.ptr++] = c;
a = uxn.ram[pc] << 8 | uxn.ram[pc + 1], pc += a + 2;
break;
case 0xa0:
uxn.wst.dat[uxn.wst.ptr++] = uxn.ram[pc++];
case 0x80:
uxn.wst.dat[uxn.wst.ptr++] = uxn.ram[pc++];
break;
case 0xe0:
uxn.rst.dat[uxn.rst.ptr++] = uxn.ram[pc++];
case 0xc0:
uxn.rst.dat[uxn.rst.ptr++] = uxn.ram[pc++];
break;
{
case 0x00 | 0x01: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a + 1;
else uxn.wst.dat[uxn.wst.ptr++] = a + 1;;
}
break;
case 0x20 | 0x01: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a + 1;
else uxn.wst.dat[uxn.wst.ptr++] = a + 1;;
}
break;
case 0x40 | 0x01: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a + 1;
else uxn.wst.dat[uxn.wst.ptr++] = a + 1;;
}
break;
case 0x60 | 0x01: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a + 1;
else uxn.wst.dat[uxn.wst.ptr++] = a + 1;;
}
break;
case 0x80 | 0x01: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a + 1;
else uxn.wst.dat[uxn.wst.ptr++] = a + 1;;
}
break;
case 0xa0 | 0x01: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a + 1;
else uxn.wst.dat[uxn.wst.ptr++] = a + 1;;
}
break;
case 0xc0 | 0x01: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a + 1;
else uxn.wst.dat[uxn.wst.ptr++] = a + 1;;
}
break;
case 0xe0 | 0x01: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a + 1;
else uxn.wst.dat[uxn.wst.ptr++] = a + 1;;
}
break;
} {
case 0x00 | 0x02: {
const int _2 = 0,
_r = 0;
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;
{};
}
break;
case 0x20 | 0x02: {
const int _2 = 1,
_r = 0;
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;
{};
}
break;
case 0x40 | 0x02: {
const int _2 = 0,
_r = 1;
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;
{};
}
break;
case 0x60 | 0x02: {
const int _2 = 1,
_r = 1;
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;
{};
}
break;
case 0x80 | 0x02: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;uxn.wst.ptr = k;
{};
}
break;
case 0xa0 | 0x02: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;uxn.wst.ptr = k;
{};
}
break;
case 0xc0 | 0x02: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;uxn.rst.ptr = k;
{};
}
break;
case 0xe0 | 0x02: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;uxn.rst.ptr = k;
{};
}
break;
} {
case 0x00 | 0x03: {
const int _2 = 0,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x20 | 0x03: {
const int _2 = 1,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x40 | 0x03: {
const int _2 = 0,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x60 | 0x03: {
const int _2 = 1,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x80 | 0x03: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xa0 | 0x03: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xc0 | 0x03: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xe0 | 0x03: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.ptr -= 1 + _2;
else uxn.wst.ptr -= 1 + _2;uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
} {
case 0x00 | 0x04: {
const int _2 = 0,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0x20 | 0x04: {
const int _2 = 1,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0x40 | 0x04: {
const int _2 = 0,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0x60 | 0x04: {
const int _2 = 1,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0x80 | 0x04: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0xa0 | 0x04: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0xc0 | 0x04: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0xe0 | 0x04: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
} {
case 0x00 | 0x05: {
const int _2 = 0,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) z[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];z[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[0];
else uxn.wst.dat[uxn.wst.ptr++] = z[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[1];
else uxn.wst.dat[uxn.wst.ptr++] = z[1];
};
}
break;
case 0x20 | 0x05: {
const int _2 = 1,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) z[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];z[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[0];
else uxn.wst.dat[uxn.wst.ptr++] = z[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[1];
else uxn.wst.dat[uxn.wst.ptr++] = z[1];
};
}
break;
case 0x40 | 0x05: {
const int _2 = 0,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) z[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];z[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[0];
else uxn.wst.dat[uxn.wst.ptr++] = z[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[1];
else uxn.wst.dat[uxn.wst.ptr++] = z[1];
};
}
break;
case 0x60 | 0x05: {
const int _2 = 1,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) z[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];z[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[0];
else uxn.wst.dat[uxn.wst.ptr++] = z[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[1];
else uxn.wst.dat[uxn.wst.ptr++] = z[1];
};
}
break;
case 0x80 | 0x05: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) z[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];z[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[0];
else uxn.wst.dat[uxn.wst.ptr++] = z[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[1];
else uxn.wst.dat[uxn.wst.ptr++] = z[1];
};
}
break;
case 0xa0 | 0x05: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) z[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];z[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[0];
else uxn.wst.dat[uxn.wst.ptr++] = z[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[1];
else uxn.wst.dat[uxn.wst.ptr++] = z[1];
};
}
break;
case 0xc0 | 0x05: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) z[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];z[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[0];
else uxn.wst.dat[uxn.wst.ptr++] = z[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[1];
else uxn.wst.dat[uxn.wst.ptr++] = z[1];
};
}
break;
case 0xe0 | 0x05: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) z[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];z[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[0];
else uxn.wst.dat[uxn.wst.ptr++] = z[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = z[1];
else uxn.wst.dat[uxn.wst.ptr++] = z[1];
};
}
break;
} {
case 0x00 | 0x06: {
const int _2 = 0,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x20 | 0x06: {
const int _2 = 1,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x40 | 0x06: {
const int _2 = 0,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x60 | 0x06: {
const int _2 = 1,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x80 | 0x06: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xa0 | 0x06: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xc0 | 0x06: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xe0 | 0x06: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
} {
case 0x00 | 0x07: {
const int _2 = 0,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0x20 | 0x07: {
const int _2 = 1,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0x40 | 0x07: {
const int _2 = 0,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0x60 | 0x07: {
const int _2 = 1,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0x80 | 0x07: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0xa0 | 0x07: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0xc0 | 0x07: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
case 0xe0 | 0x07: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
}
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[0];
else uxn.wst.dat[uxn.wst.ptr++] = y[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = y[1];
else uxn.wst.dat[uxn.wst.ptr++] = y[1];
};
}
break;
} {
case 0x00 | 0x08: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b == a;
else uxn.wst.dat[uxn.wst.ptr++] = b == a;;
}
break;
case 0x20 | 0x08: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b == a;
else uxn.wst.dat[uxn.wst.ptr++] = b == a;;
}
break;
case 0x40 | 0x08: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b == a;
else uxn.wst.dat[uxn.wst.ptr++] = b == a;;
}
break;
case 0x60 | 0x08: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b == a;
else uxn.wst.dat[uxn.wst.ptr++] = b == a;;
}
break;
case 0x80 | 0x08: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b == a;
else uxn.wst.dat[uxn.wst.ptr++] = b == a;;
}
break;
case 0xa0 | 0x08: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b == a;
else uxn.wst.dat[uxn.wst.ptr++] = b == a;;
}
break;
case 0xc0 | 0x08: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b == a;
else uxn.wst.dat[uxn.wst.ptr++] = b == a;;
}
break;
case 0xe0 | 0x08: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b == a;
else uxn.wst.dat[uxn.wst.ptr++] = b == a;;
}
break;
} {
case 0x00 | 0x09: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b != a;
else uxn.wst.dat[uxn.wst.ptr++] = b != a;;
}
break;
case 0x20 | 0x09: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b != a;
else uxn.wst.dat[uxn.wst.ptr++] = b != a;;
}
break;
case 0x40 | 0x09: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b != a;
else uxn.wst.dat[uxn.wst.ptr++] = b != a;;
}
break;
case 0x60 | 0x09: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b != a;
else uxn.wst.dat[uxn.wst.ptr++] = b != a;;
}
break;
case 0x80 | 0x09: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b != a;
else uxn.wst.dat[uxn.wst.ptr++] = b != a;;
}
break;
case 0xa0 | 0x09: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b != a;
else uxn.wst.dat[uxn.wst.ptr++] = b != a;;
}
break;
case 0xc0 | 0x09: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b != a;
else uxn.wst.dat[uxn.wst.ptr++] = b != a;;
}
break;
case 0xe0 | 0x09: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b != a;
else uxn.wst.dat[uxn.wst.ptr++] = b != a;;
}
break;
} {
case 0x00 | 0x0a: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b > a;
else uxn.wst.dat[uxn.wst.ptr++] = b > a;;
}
break;
case 0x20 | 0x0a: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b > a;
else uxn.wst.dat[uxn.wst.ptr++] = b > a;;
}
break;
case 0x40 | 0x0a: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b > a;
else uxn.wst.dat[uxn.wst.ptr++] = b > a;;
}
break;
case 0x60 | 0x0a: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b > a;
else uxn.wst.dat[uxn.wst.ptr++] = b > a;;
}
break;
case 0x80 | 0x0a: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b > a;
else uxn.wst.dat[uxn.wst.ptr++] = b > a;;
}
break;
case 0xa0 | 0x0a: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b > a;
else uxn.wst.dat[uxn.wst.ptr++] = b > a;;
}
break;
case 0xc0 | 0x0a: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b > a;
else uxn.wst.dat[uxn.wst.ptr++] = b > a;;
}
break;
case 0xe0 | 0x0a: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b > a;
else uxn.wst.dat[uxn.wst.ptr++] = b > a;;
}
break;
} {
case 0x00 | 0x0b: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b < a;
else uxn.wst.dat[uxn.wst.ptr++] = b < a;;
}
break;
case 0x20 | 0x0b: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b < a;
else uxn.wst.dat[uxn.wst.ptr++] = b < a;;
}
break;
case 0x40 | 0x0b: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b < a;
else uxn.wst.dat[uxn.wst.ptr++] = b < a;;
}
break;
case 0x60 | 0x0b: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b < a;
else uxn.wst.dat[uxn.wst.ptr++] = b < a;;
}
break;
case 0x80 | 0x0b: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b < a;
else uxn.wst.dat[uxn.wst.ptr++] = b < a;;
}
break;
case 0xa0 | 0x0b: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b < a;
else uxn.wst.dat[uxn.wst.ptr++] = b < a;;
}
break;
case 0xc0 | 0x0b: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b < a;
else uxn.wst.dat[uxn.wst.ptr++] = b < a;;
}
break;
case 0xe0 | 0x0b: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = b < a;
else uxn.wst.dat[uxn.wst.ptr++] = b < a;;
}
break;
} {
case 0x00 | 0x0c: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0x20 | 0x0c: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0x40 | 0x0c: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0x60 | 0x0c: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0x80 | 0x0c: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0xa0 | 0x0c: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0xc0 | 0x0c: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0xe0 | 0x0c: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
} {
case 0x00 | 0x0d: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (b) {
if (_2) pc = a;
else pc += (Sint8) a;
};
}
break;
case 0x20 | 0x0d: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (b) {
if (_2) pc = a;
else pc += (Sint8) a;
};
}
break;
case 0x40 | 0x0d: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (b) {
if (_2) pc = a;
else pc += (Sint8) a;
};
}
break;
case 0x60 | 0x0d: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (b) {
if (_2) pc = a;
else pc += (Sint8) a;
};
}
break;
case 0x80 | 0x0d: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (b) {
if (_2) pc = a;
else pc += (Sint8) a;
};
}
break;
case 0xa0 | 0x0d: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (b) {
if (_2) pc = a;
else pc += (Sint8) a;
};
}
break;
case 0xc0 | 0x0d: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (b) {
if (_2) pc = a;
else pc += (Sint8) a;
};
}
break;
case 0xe0 | 0x0d: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (b) {
if (_2) pc = a;
else pc += (Sint8) a;
};
}
break;
} {
case 0x00 | 0x0e: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc >> 8;
else uxn.rst.dat[uxn.rst.ptr++] = pc >> 8;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc;
else uxn.rst.dat[uxn.rst.ptr++] = pc;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0x20 | 0x0e: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc >> 8;
else uxn.rst.dat[uxn.rst.ptr++] = pc >> 8;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc;
else uxn.rst.dat[uxn.rst.ptr++] = pc;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0x40 | 0x0e: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc >> 8;
else uxn.rst.dat[uxn.rst.ptr++] = pc >> 8;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc;
else uxn.rst.dat[uxn.rst.ptr++] = pc;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0x60 | 0x0e: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc >> 8;
else uxn.rst.dat[uxn.rst.ptr++] = pc >> 8;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc;
else uxn.rst.dat[uxn.rst.ptr++] = pc;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0x80 | 0x0e: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc >> 8;
else uxn.rst.dat[uxn.rst.ptr++] = pc >> 8;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc;
else uxn.rst.dat[uxn.rst.ptr++] = pc;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0xa0 | 0x0e: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc >> 8;
else uxn.rst.dat[uxn.rst.ptr++] = pc >> 8;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc;
else uxn.rst.dat[uxn.rst.ptr++] = pc;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0xc0 | 0x0e: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc >> 8;
else uxn.rst.dat[uxn.rst.ptr++] = pc >> 8;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc;
else uxn.rst.dat[uxn.rst.ptr++] = pc;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
case 0xe0 | 0x0e: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc >> 8;
else uxn.rst.dat[uxn.rst.ptr++] = pc >> 8;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = pc;
else uxn.rst.dat[uxn.rst.ptr++] = pc;
if (_2) pc = a;
else pc += (Sint8) a;;
}
break;
} {
case 0x00 | 0x0f: {
const int _2 = 0,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[0];
else uxn.rst.dat[uxn.rst.ptr++] = x[0];
if (_2) {
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[1];
else uxn.rst.dat[uxn.rst.ptr++] = x[1];
};
}
break;
case 0x20 | 0x0f: {
const int _2 = 1,
_r = 0;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[0];
else uxn.rst.dat[uxn.rst.ptr++] = x[0];
if (_2) {
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[1];
else uxn.rst.dat[uxn.rst.ptr++] = x[1];
};
}
break;
case 0x40 | 0x0f: {
const int _2 = 0,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[0];
else uxn.rst.dat[uxn.rst.ptr++] = x[0];
if (_2) {
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[1];
else uxn.rst.dat[uxn.rst.ptr++] = x[1];
};
}
break;
case 0x60 | 0x0f: {
const int _2 = 1,
_r = 1;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[0];
else uxn.rst.dat[uxn.rst.ptr++] = x[0];
if (_2) {
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[1];
else uxn.rst.dat[uxn.rst.ptr++] = x[1];
};
}
break;
case 0x80 | 0x0f: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[0];
else uxn.rst.dat[uxn.rst.ptr++] = x[0];
if (_2) {
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[1];
else uxn.rst.dat[uxn.rst.ptr++] = x[1];
};
}
break;
case 0xa0 | 0x0f: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[0];
else uxn.rst.dat[uxn.rst.ptr++] = x[0];
if (_2) {
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[1];
else uxn.rst.dat[uxn.rst.ptr++] = x[1];
};
}
break;
case 0xc0 | 0x0f: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[0];
else uxn.rst.dat[uxn.rst.ptr++] = x[0];
if (_2) {
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[1];
else uxn.rst.dat[uxn.rst.ptr++] = x[1];
};
}
break;
case 0xe0 | 0x0f: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) x[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[0];
else uxn.rst.dat[uxn.rst.ptr++] = x[0];
if (_2) {
if (_r) uxn.wst.dat[uxn.wst.ptr++] = x[1];
else uxn.rst.dat[uxn.rst.ptr++] = x[1];
};
}
break;
} {
case 0x00 | 0x10: {
const int _2 = 0,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x20 | 0x10: {
const int _2 = 1,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x40 | 0x10: {
const int _2 = 0,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x60 | 0x10: {
const int _2 = 1,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x80 | 0x10: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xa0 | 0x10: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xc0 | 0x10: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xe0 | 0x10: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
} {
case 0x00 | 0x11: {
const int _2 = 0,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xff] = y[1];;
}
break;
case 0x20 | 0x11: {
const int _2 = 1,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xff] = y[1];;
}
break;
case 0x40 | 0x11: {
const int _2 = 0,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xff] = y[1];;
}
break;
case 0x60 | 0x11: {
const int _2 = 1,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xff] = y[1];;
}
break;
case 0x80 | 0x11: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xff] = y[1];;
}
break;
case 0xa0 | 0x11: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xff] = y[1];;
}
break;
case 0xc0 | 0x11: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xff] = y[1];;
}
break;
case 0xe0 | 0x11: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xff] = y[1];;
}
break;
} {
case 0x00 | 0x12: {
const int _2 = 0,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = uxn.ram[pc + (Sint8) a];
if (_2) x[1] = uxn.ram[(pc + (Sint8) a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x20 | 0x12: {
const int _2 = 1,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = uxn.ram[pc + (Sint8) a];
if (_2) x[1] = uxn.ram[(pc + (Sint8) a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x40 | 0x12: {
const int _2 = 0,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = uxn.ram[pc + (Sint8) a];
if (_2) x[1] = uxn.ram[(pc + (Sint8) a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x60 | 0x12: {
const int _2 = 1,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = uxn.ram[pc + (Sint8) a];
if (_2) x[1] = uxn.ram[(pc + (Sint8) a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x80 | 0x12: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;x[0] = uxn.ram[pc + (Sint8) a];
if (_2) x[1] = uxn.ram[(pc + (Sint8) a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xa0 | 0x12: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;x[0] = uxn.ram[pc + (Sint8) a];
if (_2) x[1] = uxn.ram[(pc + (Sint8) a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xc0 | 0x12: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;x[0] = uxn.ram[pc + (Sint8) a];
if (_2) x[1] = uxn.ram[(pc + (Sint8) a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xe0 | 0x12: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;x[0] = uxn.ram[pc + (Sint8) a];
if (_2) x[1] = uxn.ram[(pc + (Sint8) a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
} {
case 0x00 | 0x13: {
const int _2 = 0,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[pc + (Sint8) a] = y[0];
if (_2) uxn.ram[(pc + (Sint8) a + 1) & 0xffff] = y[1];;
}
break;
case 0x20 | 0x13: {
const int _2 = 1,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[pc + (Sint8) a] = y[0];
if (_2) uxn.ram[(pc + (Sint8) a + 1) & 0xffff] = y[1];;
}
break;
case 0x40 | 0x13: {
const int _2 = 0,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[pc + (Sint8) a] = y[0];
if (_2) uxn.ram[(pc + (Sint8) a + 1) & 0xffff] = y[1];;
}
break;
case 0x60 | 0x13: {
const int _2 = 1,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[pc + (Sint8) a] = y[0];
if (_2) uxn.ram[(pc + (Sint8) a + 1) & 0xffff] = y[1];;
}
break;
case 0x80 | 0x13: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;uxn.ram[pc + (Sint8) a] = y[0];
if (_2) uxn.ram[(pc + (Sint8) a + 1) & 0xffff] = y[1];;
}
break;
case 0xa0 | 0x13: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;uxn.ram[pc + (Sint8) a] = y[0];
if (_2) uxn.ram[(pc + (Sint8) a + 1) & 0xffff] = y[1];;
}
break;
case 0xc0 | 0x13: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;uxn.ram[pc + (Sint8) a] = y[0];
if (_2) uxn.ram[(pc + (Sint8) a + 1) & 0xffff] = y[1];;
}
break;
case 0xe0 | 0x13: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;uxn.ram[pc + (Sint8) a] = y[0];
if (_2) uxn.ram[(pc + (Sint8) a + 1) & 0xffff] = y[1];;
}
break;
} {
case 0x00 | 0x14: {
const int _2 = 0,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x20 | 0x14: {
const int _2 = 1,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x40 | 0x14: {
const int _2 = 0,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x60 | 0x14: {
const int _2 = 1,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x80 | 0x14: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;uxn.wst.ptr = k;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xa0 | 0x14: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;uxn.wst.ptr = k;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xc0 | 0x14: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;uxn.rst.ptr = k;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xe0 | 0x14: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;uxn.rst.ptr = k;x[0] = uxn.ram[a];
if (_2) x[1] = uxn.ram[(a + 1) & 0xffff];
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
} {
case 0x00 | 0x15: {
const int _2 = 0,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xffff] = y[1];;
}
break;
case 0x20 | 0x15: {
const int _2 = 1,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xffff] = y[1];;
}
break;
case 0x40 | 0x15: {
const int _2 = 0,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xffff] = y[1];;
}
break;
case 0x60 | 0x15: {
const int _2 = 1,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xffff] = y[1];;
}
break;
case 0x80 | 0x15: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xffff] = y[1];;
}
break;
case 0xa0 | 0x15: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xffff] = y[1];;
}
break;
case 0xc0 | 0x15: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xffff] = y[1];;
}
break;
case 0xe0 | 0x15: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;uxn.ram[a] = y[0];
if (_2) uxn.ram[(a + 1) & 0xffff] = y[1];;
}
break;
} {
case 0x00 | 0x16: {
const int _2 = 0,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = emu_dei(a);
if (_2) x[1] = emu_dei(a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x20 | 0x16: {
const int _2 = 1,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = emu_dei(a);
if (_2) x[1] = emu_dei(a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x40 | 0x16: {
const int _2 = 0,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = emu_dei(a);
if (_2) x[1] = emu_dei(a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x60 | 0x16: {
const int _2 = 1,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];x[0] = emu_dei(a);
if (_2) x[1] = emu_dei(a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0x80 | 0x16: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;x[0] = emu_dei(a);
if (_2) x[1] = emu_dei(a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xa0 | 0x16: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;x[0] = emu_dei(a);
if (_2) x[1] = emu_dei(a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xc0 | 0x16: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;x[0] = emu_dei(a);
if (_2) x[1] = emu_dei(a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
case 0xe0 | 0x16: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;x[0] = emu_dei(a);
if (_2) x[1] = emu_dei(a + 1);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[0];
else uxn.wst.dat[uxn.wst.ptr++] = x[0];
if (_2) {
if (_r) uxn.rst.dat[uxn.rst.ptr++] = x[1];
else uxn.wst.dat[uxn.wst.ptr++] = x[1];
};
}
break;
} {
case 0x00 | 0x17: {
const int _2 = 0,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];emu_deo(a, y[0]);
if (_2) emu_deo(a + 1, y[1]);;
}
break;
case 0x20 | 0x17: {
const int _2 = 1,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];emu_deo(a, y[0]);
if (_2) emu_deo(a + 1, y[1]);;
}
break;
case 0x40 | 0x17: {
const int _2 = 0,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];emu_deo(a, y[0]);
if (_2) emu_deo(a + 1, y[1]);;
}
break;
case 0x60 | 0x17: {
const int _2 = 1,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];emu_deo(a, y[0]);
if (_2) emu_deo(a + 1, y[1]);;
}
break;
case 0x80 | 0x17: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;emu_deo(a, y[0]);
if (_2) emu_deo(a + 1, y[1]);;
}
break;
case 0xa0 | 0x17: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;emu_deo(a, y[0]);
if (_2) emu_deo(a + 1, y[1]);;
}
break;
case 0xc0 | 0x17: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;emu_deo(a, y[0]);
if (_2) emu_deo(a + 1, y[1]);;
}
break;
case 0xe0 | 0x17: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) y[1] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];y[0] = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;emu_deo(a, y[0]);
if (_2) emu_deo(a + 1, y[1]);;
}
break;
} {
case 0x00 | 0x18: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b + a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b + a;
else uxn.wst.dat[uxn.wst.ptr++] = b + a;;
}
break;
case 0x20 | 0x18: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b + a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b + a;
else uxn.wst.dat[uxn.wst.ptr++] = b + a;;
}
break;
case 0x40 | 0x18: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b + a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b + a;
else uxn.wst.dat[uxn.wst.ptr++] = b + a;;
}
break;
case 0x60 | 0x18: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b + a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b + a;
else uxn.wst.dat[uxn.wst.ptr++] = b + a;;
}
break;
case 0x80 | 0x18: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b + a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b + a;
else uxn.wst.dat[uxn.wst.ptr++] = b + a;;
}
break;
case 0xa0 | 0x18: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b + a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b + a;
else uxn.wst.dat[uxn.wst.ptr++] = b + a;;
}
break;
case 0xc0 | 0x18: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b + a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b + a;
else uxn.wst.dat[uxn.wst.ptr++] = b + a;;
}
break;
case 0xe0 | 0x18: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b + a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b + a;
else uxn.wst.dat[uxn.wst.ptr++] = b + a;;
}
break;
} {
case 0x00 | 0x19: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b - a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b - a;
else uxn.wst.dat[uxn.wst.ptr++] = b - a;;
}
break;
case 0x20 | 0x19: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b - a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b - a;
else uxn.wst.dat[uxn.wst.ptr++] = b - a;;
}
break;
case 0x40 | 0x19: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b - a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b - a;
else uxn.wst.dat[uxn.wst.ptr++] = b - a;;
}
break;
case 0x60 | 0x19: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b - a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b - a;
else uxn.wst.dat[uxn.wst.ptr++] = b - a;;
}
break;
case 0x80 | 0x19: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b - a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b - a;
else uxn.wst.dat[uxn.wst.ptr++] = b - a;;
}
break;
case 0xa0 | 0x19: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b - a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b - a;
else uxn.wst.dat[uxn.wst.ptr++] = b - a;;
}
break;
case 0xc0 | 0x19: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b - a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b - a;
else uxn.wst.dat[uxn.wst.ptr++] = b - a;;
}
break;
case 0xe0 | 0x19: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b - a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b - a;
else uxn.wst.dat[uxn.wst.ptr++] = b - a;;
}
break;
} {
case 0x00 | 0x1a: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b * a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b * a;
else uxn.wst.dat[uxn.wst.ptr++] = b * a;;
}
break;
case 0x20 | 0x1a: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b * a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b * a;
else uxn.wst.dat[uxn.wst.ptr++] = b * a;;
}
break;
case 0x40 | 0x1a: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b * a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b * a;
else uxn.wst.dat[uxn.wst.ptr++] = b * a;;
}
break;
case 0x60 | 0x1a: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b * a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b * a;
else uxn.wst.dat[uxn.wst.ptr++] = b * a;;
}
break;
case 0x80 | 0x1a: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b * a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b * a;
else uxn.wst.dat[uxn.wst.ptr++] = b * a;;
}
break;
case 0xa0 | 0x1a: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b * a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b * a;
else uxn.wst.dat[uxn.wst.ptr++] = b * a;;
}
break;
case 0xc0 | 0x1a: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b * a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b * a;
else uxn.wst.dat[uxn.wst.ptr++] = b * a;;
}
break;
case 0xe0 | 0x1a: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b * a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b * a;
else uxn.wst.dat[uxn.wst.ptr++] = b * a;;
}
break;
} {
case 0x00 | 0x1b: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (a ? b / a : 0);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a ? b / a : 0;
else uxn.wst.dat[uxn.wst.ptr++] = a ? b / a : 0;;
}
break;
case 0x20 | 0x1b: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (a ? b / a : 0);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a ? b / a : 0;
else uxn.wst.dat[uxn.wst.ptr++] = a ? b / a : 0;;
}
break;
case 0x40 | 0x1b: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (a ? b / a : 0);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a ? b / a : 0;
else uxn.wst.dat[uxn.wst.ptr++] = a ? b / a : 0;;
}
break;
case 0x60 | 0x1b: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (a ? b / a : 0);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a ? b / a : 0;
else uxn.wst.dat[uxn.wst.ptr++] = a ? b / a : 0;;
}
break;
case 0x80 | 0x1b: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (a ? b / a : 0);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a ? b / a : 0;
else uxn.wst.dat[uxn.wst.ptr++] = a ? b / a : 0;;
}
break;
case 0xa0 | 0x1b: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (a ? b / a : 0);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a ? b / a : 0;
else uxn.wst.dat[uxn.wst.ptr++] = a ? b / a : 0;;
}
break;
case 0xc0 | 0x1b: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (a ? b / a : 0);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a ? b / a : 0;
else uxn.wst.dat[uxn.wst.ptr++] = a ? b / a : 0;;
}
break;
case 0xe0 | 0x1b: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (a ? b / a : 0);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = a ? b / a : 0;
else uxn.wst.dat[uxn.wst.ptr++] = a ? b / a : 0;;
}
break;
} {
case 0x00 | 0x1c: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b & a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b & a;
else uxn.wst.dat[uxn.wst.ptr++] = b & a;;
}
break;
case 0x20 | 0x1c: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b & a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b & a;
else uxn.wst.dat[uxn.wst.ptr++] = b & a;;
}
break;
case 0x40 | 0x1c: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b & a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b & a;
else uxn.wst.dat[uxn.wst.ptr++] = b & a;;
}
break;
case 0x60 | 0x1c: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b & a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b & a;
else uxn.wst.dat[uxn.wst.ptr++] = b & a;;
}
break;
case 0x80 | 0x1c: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b & a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b & a;
else uxn.wst.dat[uxn.wst.ptr++] = b & a;;
}
break;
case 0xa0 | 0x1c: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b & a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b & a;
else uxn.wst.dat[uxn.wst.ptr++] = b & a;;
}
break;
case 0xc0 | 0x1c: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b & a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b & a;
else uxn.wst.dat[uxn.wst.ptr++] = b & a;;
}
break;
case 0xe0 | 0x1c: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b & a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b & a;
else uxn.wst.dat[uxn.wst.ptr++] = b & a;;
}
break;
} {
case 0x00 | 0x1d: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b | a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b | a;
else uxn.wst.dat[uxn.wst.ptr++] = b | a;;
}
break;
case 0x20 | 0x1d: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b | a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b | a;
else uxn.wst.dat[uxn.wst.ptr++] = b | a;;
}
break;
case 0x40 | 0x1d: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b | a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b | a;
else uxn.wst.dat[uxn.wst.ptr++] = b | a;;
}
break;
case 0x60 | 0x1d: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b | a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b | a;
else uxn.wst.dat[uxn.wst.ptr++] = b | a;;
}
break;
case 0x80 | 0x1d: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b | a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b | a;
else uxn.wst.dat[uxn.wst.ptr++] = b | a;;
}
break;
case 0xa0 | 0x1d: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b | a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b | a;
else uxn.wst.dat[uxn.wst.ptr++] = b | a;;
}
break;
case 0xc0 | 0x1d: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b | a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b | a;
else uxn.wst.dat[uxn.wst.ptr++] = b | a;;
}
break;
case 0xe0 | 0x1d: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b | a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b | a;
else uxn.wst.dat[uxn.wst.ptr++] = b | a;;
}
break;
} {
case 0x00 | 0x1e: {
const int _2 = 0,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b ^ a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b ^ a;
else uxn.wst.dat[uxn.wst.ptr++] = b ^ a;;
}
break;
case 0x20 | 0x1e: {
const int _2 = 1,
_r = 0;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b ^ a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b ^ a;
else uxn.wst.dat[uxn.wst.ptr++] = b ^ a;;
}
break;
case 0x40 | 0x1e: {
const int _2 = 0,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b ^ a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b ^ a;
else uxn.wst.dat[uxn.wst.ptr++] = b ^ a;;
}
break;
case 0x60 | 0x1e: {
const int _2 = 1,
_r = 1;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b ^ a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b ^ a;
else uxn.wst.dat[uxn.wst.ptr++] = b ^ a;;
}
break;
case 0x80 | 0x1e: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b ^ a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b ^ a;
else uxn.wst.dat[uxn.wst.ptr++] = b ^ a;;
}
break;
case 0xa0 | 0x1e: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b ^ a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b ^ a;
else uxn.wst.dat[uxn.wst.ptr++] = b ^ a;;
}
break;
case 0xc0 | 0x1e: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b ^ a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b ^ a;
else uxn.wst.dat[uxn.wst.ptr++] = b ^ a;;
}
break;
case 0xe0 | 0x1e: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;
if (_2) {
a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
a |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b ^ a);
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b ^ a;
else uxn.wst.dat[uxn.wst.ptr++] = b ^ a;;
}
break;
} {
case 0x00 | 0x1f: {
const int _2 = 0,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b >> (a & 0xf) << (a >> 4));
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b >> (a & 0xf) << (a >> 4);
else uxn.wst.dat[uxn.wst.ptr++] = b >> (a & 0xf) << (a >> 4);;
}
break;
case 0x20 | 0x1f: {
const int _2 = 1,
_r = 0;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b >> (a & 0xf) << (a >> 4));
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b >> (a & 0xf) << (a >> 4);
else uxn.wst.dat[uxn.wst.ptr++] = b >> (a & 0xf) << (a >> 4);;
}
break;
case 0x40 | 0x1f: {
const int _2 = 0,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b >> (a & 0xf) << (a >> 4));
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b >> (a & 0xf) << (a >> 4);
else uxn.wst.dat[uxn.wst.ptr++] = b >> (a & 0xf) << (a >> 4);;
}
break;
case 0x60 | 0x1f: {
const int _2 = 1,
_r = 1;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
c = (b >> (a & 0xf) << (a >> 4));
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b >> (a & 0xf) << (a >> 4);
else uxn.wst.dat[uxn.wst.ptr++] = b >> (a & 0xf) << (a >> 4);;
}
break;
case 0x80 | 0x1f: {
const int _2 = 0,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b >> (a & 0xf) << (a >> 4));
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b >> (a & 0xf) << (a >> 4);
else uxn.wst.dat[uxn.wst.ptr++] = b >> (a & 0xf) << (a >> 4);;
}
break;
case 0xa0 | 0x1f: {
const int _2 = 1,
_r = 0;int k = uxn.wst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.wst.ptr = k;
if (_2) {
c = (b >> (a & 0xf) << (a >> 4));
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b >> (a & 0xf) << (a >> 4);
else uxn.wst.dat[uxn.wst.ptr++] = b >> (a & 0xf) << (a >> 4);;
}
break;
case 0xc0 | 0x1f: {
const int _2 = 0,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b >> (a & 0xf) << (a >> 4));
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b >> (a & 0xf) << (a >> 4);
else uxn.wst.dat[uxn.wst.ptr++] = b >> (a & 0xf) << (a >> 4);;
}
break;
case 0xe0 | 0x1f: {
const int _2 = 1,
_r = 1;int k = uxn.rst.ptr;a = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
if (_2) {
b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];
b |= (_r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr]) << 8;
} else b = _r ? uxn.rst.dat[--uxn.rst.ptr] : uxn.wst.dat[--uxn.wst.ptr];uxn.rst.ptr = k;
if (_2) {
c = (b >> (a & 0xf) << (a >> 4));
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c >> 8;
else uxn.wst.dat[uxn.wst.ptr++] = c >> 8;
if (_r) uxn.rst.dat[uxn.rst.ptr++] = c;
else uxn.wst.dat[uxn.wst.ptr++] = c;
} else if (_r) uxn.rst.dat[uxn.rst.ptr++] = b >> (a & 0xf) << (a >> 4);
else uxn.wst.dat[uxn.wst.ptr++] = b >> (a & 0xf) << (a >> 4);;
}
break;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment