This reverts commits 1afe39fba4a0fdba16b6e561b3fb4b38578ccbb1 and 3d3569bab7a65e581fb5d9e108be4355826daf31.
... | ... |
@@ -6,8 +6,7 @@ |
6 | 6 |
%<< { LTH2 } %>> { GTH2 } %== { EQU2 } %!! { NEQ2 } |
7 | 7 |
|
8 | 8 |
%RTN { JMP2r } |
9 |
-%OVR { NIPk } %OVR2 { NIP2k } |
|
10 |
-%TOS { #00 SWP } |
|
9 |
+%TOS { #00 SWP } %TOB { SWP POP } |
|
11 | 10 |
%MOD { DUP2 / * - } |
12 | 11 |
%LTS2 { #8000 ++ SWP2 #8000 ++ >> } |
13 | 12 |
%GTS2 { #8000 ++ SWP2 #8000 ++ << } |
... | ... |
@@ -184,8 +183,8 @@ BRK |
184 | 183 |
|
185 | 184 |
@on-touch-octave-view ( -> ) |
186 | 185 |
|
187 |
- .Mouse/x DEI2 .octave-view/x1 LDZ2 -- 8// NIP #09 ! ,&no-mod JCN |
|
188 |
- .Mouse/y DEI2 .octave-view/y1 LDZ2 -- 8// NIP |
|
186 |
+ .Mouse/x DEI2 .octave-view/x1 LDZ2 -- 8// TOB #09 ! ,&no-mod JCN |
|
187 |
+ .Mouse/y DEI2 .octave-view/y1 LDZ2 -- 8// TOB |
|
189 | 188 |
DUP #00 ! ,&no-incr JCN |
190 | 189 |
.octave LDZ #03 = ,&no-incr JCN |
191 | 190 |
.octave LDZ #01 + .octave STZ &no-incr |
... | ... |
@@ -198,7 +197,7 @@ BRK |
198 | 197 |
BRK |
199 | 198 |
&no-mod |
200 | 199 |
|
201 |
- .Mouse/x DEI2 .octave-view/x1 LDZ2 -- 8// NIP #06 > ,&no-key JCN |
|
200 |
+ .Mouse/x DEI2 .octave-view/x1 LDZ2 -- 8// TOB #06 > ,&no-key JCN |
|
202 | 201 |
.Mouse/x DEI2 .octave-view/x1 LDZ2 -- 8// ;notes ++ LDA .octave LDZ #0c * + ;play JSR2 |
203 | 202 |
( release ) #00 .Mouse/state DEO |
204 | 203 |
;draw-octave JSR2 |
... | ... |
@@ -208,7 +207,7 @@ BRK |
208 | 207 |
|
209 | 208 |
@on-touch-adsr-view ( -> ) |
210 | 209 |
|
211 |
- .Mouse/x DEI2 .adsr-view/x1 LDZ2 -- 8// NIP #03 / |
|
210 |
+ .Mouse/x DEI2 .adsr-view/x1 LDZ2 -- 8// TOB #03 / |
|
212 | 211 |
DUP #00 ! ,&no-a JCN |
213 | 212 |
.Audio0/adsr DEI |
214 | 213 |
#10 .Mouse/state DEI #10 = #e0 * + + |
... | ... |
@@ -358,7 +357,7 @@ RTN |
358 | 357 |
TOS 4// .wave-view/y1 LDZ2 ++ .Screen/y DEO2 |
359 | 358 |
.Screen/x DEI2 #0001 ++ .Screen/x DEO2 |
360 | 359 |
( draw ) DUP |
361 |
- .Audio0/length DEI2 NIP > |
|
360 |
+ .Audio0/length DEI2 TOB > |
|
362 | 361 |
.Audio0/length DEI2 #0100 !! #0101 == #02 * #01 + .Screen/pixel DEO |
363 | 362 |
#01 + GTHk ,&loop JCN |
364 | 363 |
POP2 |
... | ... |
@@ -139,19 +139,22 @@ uxn_eval(Uxn *u, Uint16 vec) |
139 | 139 |
#endif |
140 | 140 |
} |
141 | 141 |
break; |
142 |
- case 0x06: /* NIP */ |
|
143 |
- __asm__("evaluxn_06_NIP:"); |
|
142 |
+ case 0x06: /* OVR */ |
|
143 |
+ __asm__("evaluxn_06_OVR:"); |
|
144 | 144 |
{ |
145 |
- Uint8 a; |
|
146 |
- u->wst.dat[u->wst.ptr - 1]; |
|
147 |
- a = u->wst.dat[u->wst.ptr - 2]; |
|
145 |
+ Uint8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2]; |
|
146 |
+ u->wst.dat[u->wst.ptr] = b; |
|
148 | 147 |
#ifndef NO_STACK_CHECKS |
149 | 148 |
if(__builtin_expect(u->wst.ptr < 2, 0)) { |
150 | 149 |
u->wst.error = 1; |
151 | 150 |
goto error; |
152 | 151 |
} |
152 |
+ if(__builtin_expect(u->wst.ptr > 254, 0)) { |
|
153 |
+ u->wst.error = 2; |
|
154 |
+ goto error; |
|
155 |
+ } |
|
153 | 156 |
#endif |
154 |
- u->wst.ptr -= 1; |
|
157 |
+ u->wst.ptr += 1; |
|
155 | 158 |
} |
156 | 159 |
break; |
157 | 160 |
case 0x07: /* ROT */ |
... | ... |
@@ -591,21 +594,23 @@ uxn_eval(Uxn *u, Uint16 vec) |
591 | 594 |
#endif |
592 | 595 |
} |
593 | 596 |
break; |
594 |
- case 0x26: /* NIP2 */ |
|
595 |
- __asm__("evaluxn_26_NIP2:"); |
|
597 |
+ case 0x26: /* OVR2 */ |
|
598 |
+ __asm__("evaluxn_26_OVR2:"); |
|
596 | 599 |
{ |
597 |
- Uint16 a; |
|
598 |
- (u->wst.dat[u->wst.ptr - 1] | (u->wst.dat[u->wst.ptr - 2] << 8)); |
|
599 |
- a = (u->wst.dat[u->wst.ptr - 3] | (u->wst.dat[u->wst.ptr - 4] << 8)); |
|
600 |
- u->wst.dat[u->wst.ptr - 4] = a >> 8; |
|
601 |
- u->wst.dat[u->wst.ptr - 3] = a & 0xff; |
|
600 |
+ Uint8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4]; |
|
601 |
+ u->wst.dat[u->wst.ptr] = d; |
|
602 |
+ u->wst.dat[u->wst.ptr + 1] = c; |
|
602 | 603 |
#ifndef NO_STACK_CHECKS |
603 | 604 |
if(__builtin_expect(u->wst.ptr < 4, 0)) { |
604 | 605 |
u->wst.error = 1; |
605 | 606 |
goto error; |
606 | 607 |
} |
608 |
+ if(__builtin_expect(u->wst.ptr > 253, 0)) { |
|
609 |
+ u->wst.error = 2; |
|
610 |
+ goto error; |
|
611 |
+ } |
|
607 | 612 |
#endif |
608 |
- u->wst.ptr -= 2; |
|
613 |
+ u->wst.ptr += 2; |
|
609 | 614 |
} |
610 | 615 |
break; |
611 | 616 |
case 0x27: /* ROT2 */ |
... | ... |
@@ -1071,19 +1076,22 @@ uxn_eval(Uxn *u, Uint16 vec) |
1071 | 1076 |
#endif |
1072 | 1077 |
} |
1073 | 1078 |
break; |
1074 |
- case 0x46: /* NIPr */ |
|
1075 |
- __asm__("evaluxn_46_NIPr:"); |
|
1079 |
+ case 0x46: /* OVRr */ |
|
1080 |
+ __asm__("evaluxn_46_OVRr:"); |
|
1076 | 1081 |
{ |
1077 |
- Uint8 a; |
|
1078 |
- u->rst.dat[u->rst.ptr - 1]; |
|
1079 |
- a = u->rst.dat[u->rst.ptr - 2]; |
|
1082 |
+ Uint8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2]; |
|
1083 |
+ u->rst.dat[u->rst.ptr] = b; |
|
1080 | 1084 |
#ifndef NO_STACK_CHECKS |
1081 | 1085 |
if(__builtin_expect(u->rst.ptr < 2, 0)) { |
1082 | 1086 |
u->rst.error = 1; |
1083 | 1087 |
goto error; |
1084 | 1088 |
} |
1089 |
+ if(__builtin_expect(u->rst.ptr > 254, 0)) { |
|
1090 |
+ u->rst.error = 2; |
|
1091 |
+ goto error; |
|
1092 |
+ } |
|
1085 | 1093 |
#endif |
1086 |
- u->rst.ptr -= 1; |
|
1094 |
+ u->rst.ptr += 1; |
|
1087 | 1095 |
} |
1088 | 1096 |
break; |
1089 | 1097 |
case 0x47: /* ROTr */ |
... | ... |
@@ -1523,21 +1531,23 @@ uxn_eval(Uxn *u, Uint16 vec) |
1523 | 1531 |
#endif |
1524 | 1532 |
} |
1525 | 1533 |
break; |
1526 |
- case 0x66: /* NIP2r */ |
|
1527 |
- __asm__("evaluxn_66_NIP2r:"); |
|
1534 |
+ case 0x66: /* OVR2r */ |
|
1535 |
+ __asm__("evaluxn_66_OVR2r:"); |
|
1528 | 1536 |
{ |
1529 |
- Uint16 a; |
|
1530 |
- (u->rst.dat[u->rst.ptr - 1] | (u->rst.dat[u->rst.ptr - 2] << 8)); |
|
1531 |
- a = (u->rst.dat[u->rst.ptr - 3] | (u->rst.dat[u->rst.ptr - 4] << 8)); |
|
1532 |
- u->rst.dat[u->rst.ptr - 4] = a >> 8; |
|
1533 |
- u->rst.dat[u->rst.ptr - 3] = a & 0xff; |
|
1537 |
+ Uint8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4]; |
|
1538 |
+ u->rst.dat[u->rst.ptr] = d; |
|
1539 |
+ u->rst.dat[u->rst.ptr + 1] = c; |
|
1534 | 1540 |
#ifndef NO_STACK_CHECKS |
1535 | 1541 |
if(__builtin_expect(u->rst.ptr < 4, 0)) { |
1536 | 1542 |
u->rst.error = 1; |
1537 | 1543 |
goto error; |
1538 | 1544 |
} |
1545 |
+ if(__builtin_expect(u->rst.ptr > 253, 0)) { |
|
1546 |
+ u->rst.error = 2; |
|
1547 |
+ goto error; |
|
1548 |
+ } |
|
1539 | 1549 |
#endif |
1540 |
- u->rst.ptr -= 2; |
|
1550 |
+ u->rst.ptr += 2; |
|
1541 | 1551 |
} |
1542 | 1552 |
break; |
1543 | 1553 |
case 0x67: /* ROT2r */ |
... | ... |
@@ -1994,24 +2004,24 @@ uxn_eval(Uxn *u, Uint16 vec) |
1994 | 2004 |
u->wst.ptr += 2; |
1995 | 2005 |
} |
1996 | 2006 |
break; |
1997 |
- case 0x86: /* NIPk */ |
|
1998 |
- __asm__("evaluxn_86_NIPk:"); |
|
2007 |
+ case 0x86: /* OVRk */ |
|
2008 |
+ __asm__("evaluxn_86_OVRk:"); |
|
1999 | 2009 |
{ |
2000 |
- Uint8 a; |
|
2001 |
- u->wst.dat[u->wst.ptr - 1]; |
|
2002 |
- a = u->wst.dat[u->wst.ptr - 2]; |
|
2003 |
- u->wst.dat[u->wst.ptr] = a; |
|
2010 |
+ Uint8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2]; |
|
2011 |
+ u->wst.dat[u->wst.ptr] = b; |
|
2012 |
+ u->wst.dat[u->wst.ptr + 1] = a; |
|
2013 |
+ u->wst.dat[u->wst.ptr + 2] = b; |
|
2004 | 2014 |
#ifndef NO_STACK_CHECKS |
2005 | 2015 |
if(__builtin_expect(u->wst.ptr < 2, 0)) { |
2006 | 2016 |
u->wst.error = 1; |
2007 | 2017 |
goto error; |
2008 | 2018 |
} |
2009 |
- if(__builtin_expect(u->wst.ptr > 254, 0)) { |
|
2019 |
+ if(__builtin_expect(u->wst.ptr > 252, 0)) { |
|
2010 | 2020 |
u->wst.error = 2; |
2011 | 2021 |
goto error; |
2012 | 2022 |
} |
2013 | 2023 |
#endif |
2014 |
- u->wst.ptr += 1; |
|
2024 |
+ u->wst.ptr += 3; |
|
2015 | 2025 |
} |
2016 | 2026 |
break; |
2017 | 2027 |
case 0x87: /* ROTk */ |
... | ... |
@@ -2502,25 +2512,27 @@ uxn_eval(Uxn *u, Uint16 vec) |
2502 | 2512 |
u->wst.ptr += 4; |
2503 | 2513 |
} |
2504 | 2514 |
break; |
2505 |
- case 0xa6: /* NIP2k */ |
|
2506 |
- __asm__("evaluxn_a6_NIP2k:"); |
|
2515 |
+ case 0xa6: /* OVR2k */ |
|
2516 |
+ __asm__("evaluxn_a6_OVR2k:"); |
|
2507 | 2517 |
{ |
2508 |
- Uint16 a; |
|
2509 |
- (u->wst.dat[u->wst.ptr - 1] | (u->wst.dat[u->wst.ptr - 2] << 8)); |
|
2510 |
- a = (u->wst.dat[u->wst.ptr - 3] | (u->wst.dat[u->wst.ptr - 4] << 8)); |
|
2511 |
- u->wst.dat[u->wst.ptr] = a >> 8; |
|
2512 |
- u->wst.dat[u->wst.ptr + 1] = a & 0xff; |
|
2518 |
+ Uint8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4]; |
|
2519 |
+ u->wst.dat[u->wst.ptr] = d; |
|
2520 |
+ u->wst.dat[u->wst.ptr + 1] = c; |
|
2521 |
+ u->wst.dat[u->wst.ptr + 2] = b; |
|
2522 |
+ u->wst.dat[u->wst.ptr + 3] = a; |
|
2523 |
+ u->wst.dat[u->wst.ptr + 4] = d; |
|
2524 |
+ u->wst.dat[u->wst.ptr + 5] = c; |
|
2513 | 2525 |
#ifndef NO_STACK_CHECKS |
2514 | 2526 |
if(__builtin_expect(u->wst.ptr < 4, 0)) { |
2515 | 2527 |
u->wst.error = 1; |
2516 | 2528 |
goto error; |
2517 | 2529 |
} |
2518 |
- if(__builtin_expect(u->wst.ptr > 253, 0)) { |
|
2530 |
+ if(__builtin_expect(u->wst.ptr > 249, 0)) { |
|
2519 | 2531 |
u->wst.error = 2; |
2520 | 2532 |
goto error; |
2521 | 2533 |
} |
2522 | 2534 |
#endif |
2523 |
- u->wst.ptr += 2; |
|
2535 |
+ u->wst.ptr += 6; |
|
2524 | 2536 |
} |
2525 | 2537 |
break; |
2526 | 2538 |
case 0xa7: /* ROT2k */ |
... | ... |
@@ -3023,24 +3035,24 @@ uxn_eval(Uxn *u, Uint16 vec) |
3023 | 3035 |
u->rst.ptr += 2; |
3024 | 3036 |
} |
3025 | 3037 |
break; |
3026 |
- case 0xc6: /* NIPkr */ |
|
3027 |
- __asm__("evaluxn_c6_NIPkr:"); |
|
3038 |
+ case 0xc6: /* OVRkr */ |
|
3039 |
+ __asm__("evaluxn_c6_OVRkr:"); |
|
3028 | 3040 |
{ |
3029 |
- Uint8 a; |
|
3030 |
- u->rst.dat[u->rst.ptr - 1]; |
|
3031 |
- a = u->rst.dat[u->rst.ptr - 2]; |
|
3032 |
- u->rst.dat[u->rst.ptr] = a; |
|
3041 |
+ Uint8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2]; |
|
3042 |
+ u->rst.dat[u->rst.ptr] = b; |
|
3043 |
+ u->rst.dat[u->rst.ptr + 1] = a; |
|
3044 |
+ u->rst.dat[u->rst.ptr + 2] = b; |
|
3033 | 3045 |
#ifndef NO_STACK_CHECKS |
3034 | 3046 |
if(__builtin_expect(u->rst.ptr < 2, 0)) { |
3035 | 3047 |
u->rst.error = 1; |
3036 | 3048 |
goto error; |
3037 | 3049 |
} |
3038 |
- if(__builtin_expect(u->rst.ptr > 254, 0)) { |
|
3050 |
+ if(__builtin_expect(u->rst.ptr > 252, 0)) { |
|
3039 | 3051 |
u->rst.error = 2; |
3040 | 3052 |
goto error; |
3041 | 3053 |
} |
3042 | 3054 |
#endif |
3043 |
- u->rst.ptr += 1; |
|
3055 |
+ u->rst.ptr += 3; |
|
3044 | 3056 |
} |
3045 | 3057 |
break; |
3046 | 3058 |
case 0xc7: /* ROTkr */ |
... | ... |
@@ -3531,25 +3543,27 @@ uxn_eval(Uxn *u, Uint16 vec) |
3531 | 3543 |
u->rst.ptr += 4; |
3532 | 3544 |
} |
3533 | 3545 |
break; |
3534 |
- case 0xe6: /* NIP2kr */ |
|
3535 |
- __asm__("evaluxn_e6_NIP2kr:"); |
|
3546 |
+ case 0xe6: /* OVR2kr */ |
|
3547 |
+ __asm__("evaluxn_e6_OVR2kr:"); |
|
3536 | 3548 |
{ |
3537 |
- Uint16 a; |
|
3538 |
- (u->rst.dat[u->rst.ptr - 1] | (u->rst.dat[u->rst.ptr - 2] << 8)); |
|
3539 |
- a = (u->rst.dat[u->rst.ptr - 3] | (u->rst.dat[u->rst.ptr - 4] << 8)); |
|
3540 |
- u->rst.dat[u->rst.ptr] = a >> 8; |
|
3541 |
- u->rst.dat[u->rst.ptr + 1] = a & 0xff; |
|
3549 |
+ Uint8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4]; |
|
3550 |
+ u->rst.dat[u->rst.ptr] = d; |
|
3551 |
+ u->rst.dat[u->rst.ptr + 1] = c; |
|
3552 |
+ u->rst.dat[u->rst.ptr + 2] = b; |
|
3553 |
+ u->rst.dat[u->rst.ptr + 3] = a; |
|
3554 |
+ u->rst.dat[u->rst.ptr + 4] = d; |
|
3555 |
+ u->rst.dat[u->rst.ptr + 5] = c; |
|
3542 | 3556 |
#ifndef NO_STACK_CHECKS |
3543 | 3557 |
if(__builtin_expect(u->rst.ptr < 4, 0)) { |
3544 | 3558 |
u->rst.error = 1; |
3545 | 3559 |
goto error; |
3546 | 3560 |
} |
3547 |
- if(__builtin_expect(u->rst.ptr > 253, 0)) { |
|
3561 |
+ if(__builtin_expect(u->rst.ptr > 249, 0)) { |
|
3548 | 3562 |
u->rst.error = 2; |
3549 | 3563 |
goto error; |
3550 | 3564 |
} |
3551 | 3565 |
#endif |
3552 |
- u->rst.ptr += 2; |
|
3566 |
+ u->rst.ptr += 6; |
|
3553 | 3567 |
} |
3554 | 3568 |
break; |
3555 | 3569 |
case 0xe7: /* ROT2kr */ |
... | ... |
@@ -39,7 +39,7 @@ static void op_lit(Uxn *u) { push8(u->src, mempeek8(u->ram.dat, u->ram.ptr++)); |
39 | 39 |
static void op_pop(Uxn *u) { pop8(u->src); } |
40 | 40 |
static void op_dup(Uxn *u) { Uint8 a = pop8(u->src); push8(u->src, a); push8(u->src, a); } |
41 | 41 |
static void op_swp(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); push8(u->src, a); push8(u->src, b); } |
42 |
-static void op_nip(Uxn *u) { Uint8 a; pop8(u->src); a = pop8(u->src); push8(u->src, a); } |
|
42 |
+static void op_ovr(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); push8(u->src, b); push8(u->src, a); push8(u->src, b); } |
|
43 | 43 |
static void op_rot(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src), c = pop8(u->src); push8(u->src, b); push8(u->src, a); push8(u->src, c); } |
44 | 44 |
/* Logic */ |
45 | 45 |
static void op_equ(Uxn *u) { Uint8 a = pop8(u->src), b = pop8(u->src); push8(u->src, b == a); } |
... | ... |
@@ -73,7 +73,7 @@ static void op_lit16(Uxn *u) { push16(u->src, mempeek16(u->ram.dat, u->ram.ptr++ |
73 | 73 |
static void op_pop16(Uxn *u) { pop16(u->src); } |
74 | 74 |
static void op_dup16(Uxn *u) { Uint16 a = pop16(u->src); push16(u->src, a); push16(u->src, a); } |
75 | 75 |
static void op_swp16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push16(u->src, a); push16(u->src, b); } |
76 |
-static void op_nip16(Uxn *u) { Uint16 a; pop16(u->src); a = pop16(u->src); push16(u->src, a); } |
|
76 |
+static void op_ovr16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push16(u->src, b); push16(u->src, a); push16(u->src, b); } |
|
77 | 77 |
static void op_rot16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src), c = pop16(u->src); push16(u->src, b); push16(u->src, a); push16(u->src, c); } |
78 | 78 |
/* Logic(16-bits) */ |
79 | 79 |
static void op_equ16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push8(u->src, b == a); } |
... | ... |
@@ -104,12 +104,12 @@ static void op_eor16(Uxn *u) { Uint16 a = pop16(u->src), b = pop16(u->src); push |
104 | 104 |
static void op_sft16(Uxn *u) { Uint8 a = pop8(u->src); Uint16 b = pop16(u->src); push16(u->src, b >> (a & 0x0f) << ((a & 0xf0) >> 4)); } |
105 | 105 |
|
106 | 106 |
static void (*ops[])(Uxn *u) = { |
107 |
- op_brk, op_lit, op_nop, op_pop, op_dup, op_swp, op_nip, op_rot, |
|
107 |
+ op_brk, op_lit, op_nop, op_pop, op_dup, op_swp, op_ovr, op_rot, |
|
108 | 108 |
op_equ, op_neq, op_gth, op_lth, op_jmp, op_jnz, op_jsr, op_sth, |
109 | 109 |
op_pek, op_pok, op_ldr, op_str, op_lda, op_sta, op_dei, op_deo, |
110 | 110 |
op_add, op_sub, op_mul, op_div, op_and, op_ora, op_eor, op_sft, |
111 | 111 |
/* 16-bit */ |
112 |
- op_brk, op_lit16, op_nop, op_pop16, op_dup16, op_swp16, op_nip16, op_rot16, |
|
112 |
+ op_brk, op_lit16, op_nop, op_pop16, op_dup16, op_swp16, op_ovr16, op_rot16, |
|
113 | 113 |
op_equ16, op_neq16, op_gth16, op_lth16, op_jmp16, op_jnz16, op_jsr16, op_sth16, |
114 | 114 |
op_pek16, op_pok16, op_ldr16, op_str16, op_lda16, op_sta16, op_dei16, op_deo16, |
115 | 115 |
op_add16, op_sub16, op_mul16, op_div16, op_and16, op_ora16, op_eor16, op_sft16 |
... | ... |
@@ -40,7 +40,7 @@ Program p; |
40 | 40 |
/* clang-format off */ |
41 | 41 |
|
42 | 42 |
static char ops[][4] = { |
43 |
- "BRK", "LIT", "NOP", "POP", "DUP", "SWP", "NIP", "ROT", |
|
43 |
+ "BRK", "LIT", "NOP", "POP", "DUP", "SWP", "OVR", "ROT", |
|
44 | 44 |
"EQU", "NEQ", "GTH", "LTH", "JMP", "JCN", "JSR", "STH", |
45 | 45 |
"LDZ", "STZ", "LDR", "STR", "LDA", "STA", "DEI", "DEO", |
46 | 46 |
"ADD", "SUB", "MUL", "DIV", "AND", "ORA", "EOR", "SFT" |