Browse code

Move stack opcodes.

Andrew Alderwick authored on 18/04/2022 08:45:33
Showing 3 changed files
... ...
@@ -949,11 +949,11 @@
949 949
 	&_entry     :&GTH      :&ROT &_disasm "LIT 00
950 950
 	&INC         $2         $2          "INC 00
951 951
 	&POP         $2         $2          "POP 00
952
-	&DUP         $2         $2          "DUP 00
953 952
 	&NIP        :&MUL      :&OVR        "NIP 00
954 953
 	&SWP         $2         $2          "SWP 00
955
-	&OVR        :&ORA      :&POP        "OVR 00
956 954
 	&ROT        :&NIP      :&STR        "ROT 00
955
+	&DUP         $2         $2          "DUP 00
956
+	&OVR        :&ORA      :&POP        "OVR 00
957 957
 	&EQU         $2         $2          "EQU 00
958 958
 	&NEQ         $2         $2          "NEQ 00
959 959
 	&GTH        :&DIV      :&JSR        "GTH 00
... ...
@@ -70,11 +70,11 @@ uxn_eval(Uxn *u, Uint16 pc)
70 70
 		                     else   { a = u->ram[pc]; PUSH8(src, a) pc++; } break;
71 71
 		case 0x01: /* INC */ POP(a) PUSH(src, a + 1) break;
72 72
 		case 0x02: /* POP */ POP(a) break;
73
-		case 0x03: /* DUP */ POP(a) PUSH(src, a) PUSH(src, a) break;
74
-		case 0x04: /* NIP */ POP(a) POP(b) PUSH(src, a) break;
75
-		case 0x05: /* SWP */ POP(a) POP(b) PUSH(src, a) PUSH(src, b) break;
76
-		case 0x06: /* OVR */ POP(a) POP(b) PUSH(src, b) PUSH(src, a) PUSH(src, b) break;
77
-		case 0x07: /* ROT */ POP(a) POP(b) POP(c) PUSH(src, b) PUSH(src, a) PUSH(src, c) break;
73
+		case 0x03: /* NIP */ POP(a) POP(b) PUSH(src, a) break;
74
+		case 0x04: /* SWP */ POP(a) POP(b) PUSH(src, a) PUSH(src, b) break;
75
+		case 0x05: /* ROT */ POP(a) POP(b) POP(c) PUSH(src, b) PUSH(src, a) PUSH(src, c) break;
76
+		case 0x06: /* DUP */ POP(a) PUSH(src, a) PUSH(src, a) break;
77
+		case 0x07: /* OVR */ POP(a) POP(b) PUSH(src, b) PUSH(src, a) PUSH(src, b) break;
78 78
 		/* Logic */
79 79
 		case 0x08: /* EQU */ POP(a) POP(b) PUSH8(src, b == a) break;
80 80
 		case 0x09: /* NEQ */ POP(a) POP(b) PUSH8(src, b != a) break;
... ...
@@ -49,7 +49,7 @@ static int litlast = 0;
49 49
 /* clang-format off */
50 50
 
51 51
 static char ops[][4] = {
52
-	"LIT", "INC", "POP", "DUP", "NIP", "SWP", "OVR", "ROT",
52
+	"LIT", "INC", "POP", "NIP", "SWP", "ROT", "DUP", "OVR",
53 53
 	"EQU", "NEQ", "GTH", "LTH", "JMP", "JCN", "JSR", "STH",
54 54
 	"LDZ", "STZ", "LDR", "STR", "LDA", "STA", "DEI", "DEO",
55 55
 	"ADD", "SUB", "MUL", "DIV", "AND", "ORA", "EOR", "SFT"