Browse code

Update uxn-fast.c with new LIT opcode meanings

Andrew Alderwick authored on 30/10/2021 07:55:23
Showing 1 changed files
... ...
@@ -53,19 +53,6 @@ uxn_eval(Uxn *u, Uint16 vec)
53 53
 #pragma GCC diagnostic push
54 54
 #pragma GCC diagnostic ignored "-Wunused-value"
55 55
 #pragma GCC diagnostic ignored "-Wunused-variable"
56
-		case 0x00: /* LIT */
57
-		case 0x80: /* LITk */
58
-			{
59
-				u->wst.dat[u->wst.ptr] = peek8(u->ram.dat, u->ram.ptr++);
60
-#ifndef NO_STACK_CHECKS
61
-				if(__builtin_expect(u->wst.ptr > 254, 0)) {
62
-					u->wst.error = 2;
63
-					goto error;
64
-				}
65
-#endif
66
-				u->wst.ptr += 1;
67
-			}
68
-			break;
69 56
 		case 0x01: /* INC */
70 57
 			{
71 58
 				Uint8 a = u->wst.dat[u->wst.ptr - 1];
... ...
@@ -501,20 +488,6 @@ uxn_eval(Uxn *u, Uint16 vec)
501 488
 				u->wst.ptr -= 1;
502 489
 			}
503 490
 			break;
504
-		case 0x20: /* LIT2 */
505
-		case 0xa0: /* LIT2k */
506
-			{
507
-				u->wst.dat[u->wst.ptr] = peek8(u->ram.dat, u->ram.ptr++);
508
-				u->wst.dat[u->wst.ptr + 1] = peek8(u->ram.dat, u->ram.ptr++);
509
-#ifndef NO_STACK_CHECKS
510
-				if(__builtin_expect(u->wst.ptr > 253, 0)) {
511
-					u->wst.error = 2;
512
-					goto error;
513
-				}
514
-#endif
515
-				u->wst.ptr += 2;
516
-			}
517
-			break;
518 491
 		case 0x21: /* INC2 */
519 492
 			{
520 493
 				Uint16 a = (u->wst.dat[u->wst.ptr - 1] | (u->wst.dat[u->wst.ptr - 2] << 8));
... ...
@@ -986,19 +959,6 @@ uxn_eval(Uxn *u, Uint16 vec)
986 959
 				u->wst.ptr -= 1;
987 960
 			}
988 961
 			break;
989
-		case 0x40: /* LITr */
990
-		case 0xc0: /* LITkr */
991
-			{
992
-				u->rst.dat[u->rst.ptr] = peek8(u->ram.dat, u->ram.ptr++);
993
-#ifndef NO_STACK_CHECKS
994
-				if(__builtin_expect(u->rst.ptr > 254, 0)) {
995
-					u->rst.error = 2;
996
-					goto error;
997
-				}
998
-#endif
999
-				u->rst.ptr += 1;
1000
-			}
1001
-			break;
1002 962
 		case 0x41: /* INCr */
1003 963
 			{
1004 964
 				Uint8 a = u->rst.dat[u->rst.ptr - 1];
... ...
@@ -1434,20 +1394,6 @@ uxn_eval(Uxn *u, Uint16 vec)
1434 1394
 				u->rst.ptr -= 1;
1435 1395
 			}
1436 1396
 			break;
1437
-		case 0x60: /* LIT2r */
1438
-		case 0xe0: /* LIT2kr */
1439
-			{
1440
-				u->rst.dat[u->rst.ptr] = peek8(u->ram.dat, u->ram.ptr++);
1441
-				u->rst.dat[u->rst.ptr + 1] = peek8(u->ram.dat, u->ram.ptr++);
1442
-#ifndef NO_STACK_CHECKS
1443
-				if(__builtin_expect(u->rst.ptr > 253, 0)) {
1444
-					u->rst.error = 2;
1445
-					goto error;
1446
-				}
1447
-#endif
1448
-				u->rst.ptr += 2;
1449
-			}
1450
-			break;
1451 1397
 		case 0x61: /* INC2r */
1452 1398
 			{
1453 1399
 				Uint16 a = (u->rst.dat[u->rst.ptr - 1] | (u->rst.dat[u->rst.ptr - 2] << 8));
... ...
@@ -1919,6 +1865,18 @@ uxn_eval(Uxn *u, Uint16 vec)
1919 1865
 				u->rst.ptr -= 1;
1920 1866
 			}
1921 1867
 			break;
1868
+		case 0x80: /* LIT */
1869
+			{
1870
+				u->wst.dat[u->wst.ptr] = peek8(u->ram.dat, u->ram.ptr++);
1871
+#ifndef NO_STACK_CHECKS
1872
+				if(__builtin_expect(u->wst.ptr > 254, 0)) {
1873
+					u->wst.error = 2;
1874
+					goto error;
1875
+				}
1876
+#endif
1877
+				u->wst.ptr += 1;
1878
+			}
1879
+			break;
1922 1880
 		case 0x81: /* INCk */
1923 1881
 			{
1924 1882
 				Uint8 a = u->wst.dat[u->wst.ptr - 1];
... ...
@@ -2430,6 +2388,20 @@ uxn_eval(Uxn *u, Uint16 vec)
2430 2388
 				u->wst.ptr += 1;
2431 2389
 			}
2432 2390
 			break;
2391
+		case 0xa0: /* LIT2 */
2392
+		case 0x20: /* LIT2_deprecated */
2393
+			{
2394
+				u->wst.dat[u->wst.ptr] = peek8(u->ram.dat, u->ram.ptr++);
2395
+				u->wst.dat[u->wst.ptr + 1] = peek8(u->ram.dat, u->ram.ptr++);
2396
+#ifndef NO_STACK_CHECKS
2397
+				if(__builtin_expect(u->wst.ptr > 253, 0)) {
2398
+					u->wst.error = 2;
2399
+					goto error;
2400
+				}
2401
+#endif
2402
+				u->wst.ptr += 2;
2403
+			}
2404
+			break;
2433 2405
 		case 0xa1: /* INC2k */
2434 2406
 			{
2435 2407
 				Uint16 a = (u->wst.dat[u->wst.ptr - 1] | (u->wst.dat[u->wst.ptr - 2] << 8));
... ...
@@ -2966,6 +2938,19 @@ uxn_eval(Uxn *u, Uint16 vec)
2966 2938
 				u->wst.ptr += 2;
2967 2939
 			}
2968 2940
 			break;
2941
+		case 0xc0: /* LITr */
2942
+		case 0x40: /* LITr_deprecated */
2943
+			{
2944
+				u->rst.dat[u->rst.ptr] = peek8(u->ram.dat, u->ram.ptr++);
2945
+#ifndef NO_STACK_CHECKS
2946
+				if(__builtin_expect(u->rst.ptr > 254, 0)) {
2947
+					u->rst.error = 2;
2948
+					goto error;
2949
+				}
2950
+#endif
2951
+				u->rst.ptr += 1;
2952
+			}
2953
+			break;
2969 2954
 		case 0xc1: /* INCkr */
2970 2955
 			{
2971 2956
 				Uint8 a = u->rst.dat[u->rst.ptr - 1];
... ...
@@ -3477,6 +3462,20 @@ uxn_eval(Uxn *u, Uint16 vec)
3477 3462
 				u->rst.ptr += 1;
3478 3463
 			}
3479 3464
 			break;
3465
+		case 0xe0: /* LIT2r */
3466
+		case 0x60: /* LIT2r_deprecated */
3467
+			{
3468
+				u->rst.dat[u->rst.ptr] = peek8(u->ram.dat, u->ram.ptr++);
3469
+				u->rst.dat[u->rst.ptr + 1] = peek8(u->ram.dat, u->ram.ptr++);
3470
+#ifndef NO_STACK_CHECKS
3471
+				if(__builtin_expect(u->rst.ptr > 253, 0)) {
3472
+					u->rst.error = 2;
3473
+					goto error;
3474
+				}
3475
+#endif
3476
+				u->rst.ptr += 2;
3477
+			}
3478
+			break;
3480 3479
 		case 0xe1: /* INC2kr */
3481 3480
 			{
3482 3481
 				Uint16 a = (u->rst.dat[u->rst.ptr - 1] | (u->rst.dat[u->rst.ptr - 2] << 8));