SHOW:
|
|
- or go back to the newest paste.
1 | $0000/$0001 - M0 - address pointer | |
2 | $0002/$0003 - M2 - metastack (values are pushed/pulled here like in the stack) ($05??-$051F)? | |
3 | $0004/$0005 - M4 - address offset | |
4 | signifies the top of the metastack??? | |
5 | $0006/$0007 - M6 - command queue | |
6 | $0008/$0009 - M8 - 1st math register | |
7 | $000C/$000D - MC - 2nd math register | |
8 | ||
9 | 00 (0) - transfer metastack values #$17/#$18 from bottom to M8 (#$E8 #$FF) | |
10 | 01 (0) - transfer metastack values #$15/#$16 from bottom to M8 (#$EA #$FF) | |
11 | - | 81 (1) - advance M4 by value, transfer contents of augmented address to M8 ($0009=#$00) |
11 | + | 02 (0) - transfer metastack values #$13/#$14 from bottom to M8 (#$EC #$FF) |
12 | 03 (0) - transfer metastack values #$11/#$12 from bottom to M8 (#$EE #$FF) | |
13 | 04 (0) - transfer metastack values #$0F/#$10 from bottom to M8 (#$F0 #$FF) | |
14 | 05 (0) - transfer metastack values #$0D/#$0E from bottom to M8 (#$F2 #$FF) | |
15 | 06 (0) - transfer metastack values #$0B/#$0C from bottom to M8 (#$F4 #$FF) | |
16 | - | 8D (1) - push next value (1 byte) to metastack as a 2-byte value (value, #$00) |
16 | + | 07 (0) - transfer metastack values #$09/#$0A from bottom to M8 (#$F6 #$FF) |
17 | 08 (0) - transfer metastack values #$07/#$08 from bottom to M8 (#$F8 #$FF) | |
18 | - | A0 (2) - advance M4 by next 2 values, transfer contents of augmented address to M8 ($0009=#$00) |
18 | + | 09 (0) - transfer metastack values #$05/#$06 from bottom to M8 (#$FA #$FF) |
19 | - | A5 (2) - store contents of specified address to M8 ($0009=#$00) |
19 | + | 0A (0) - transfer metastack values #$03/#$04 from bottom to M8 (#$FC #$FF) |
20 | 0B (0) - transfer metastack values #$01/#$02 from bottom to M8 (#$FE #$FF) | |
21 | 0C (0) - transfer values 0B/0C (11/12) past metastack to M8 | |
22 | 0D (0) - transfer values 0D/0E (13/14) past metastack to M8 | |
23 | 0E (0) - transfer values 0F/10 (15/16) past metastack to M8 | |
24 | 0F (0) - transfer values 11/12 (17/18) past metastack to M8 | |
25 | - | C6 (0) - checks if M8 < MC |
25 | + | |
26 | - | C7 (0) - checks if M8 ≤ MC |
26 | + | 10 (0) - transfer metastack values #$17/#$18 from bottom to MC (#$E8 #$FF) |
27 | - | C8 (0) - checks if M8 > MC |
27 | + | 11 (0) - transfer metastack values #$15/#$16 from bottom to MC (#$EA #$FF) |
28 | - | C9 (0) - checks if M8 ≥ MC |
28 | + | 12 (0) - transfer metastack values #$13/#$14 from bottom to MC (#$EC #$FF) |
29 | 13 (0) - transfer metastack values #$11/#$12 from bottom to MC (#$EE #$FF) | |
30 | 14 (0) - transfer metastack values #$0F/#$10 from bottom to MC (#$F0 #$FF) | |
31 | 15 (0) - transfer metastack values #$0D/#$0E from bottom to MC (#$F2 #$FF) | |
32 | 16 (0) - transfer metastack values #$0B/#$0C from bottom to MC (#$F4 #$FF) | |
33 | 17 (0) - transfer metastack values #$09/#$0A from bottom to MC (#$F6 #$FF) | |
34 | 18 (0) - transfer metastack values #$07/#$08 from bottom to MC (#$F8 #$FF) | |
35 | 19 (0) - transfer metastack values #$05/#$06 from bottom to MC (#$FA #$FF) | |
36 | 1A (0) - transfer metastack values #$03/#$04 from bottom to MC (#$FC #$FF) | |
37 | 1B (0) - transfer metastack values #$01/#$02 from bottom to MC (#$FE #$FF) | |
38 | 1C (0) - transfer values 0B/0C (11/12) past metastack to MC | |
39 | 1D (0) - transfer values 0D/0E (13/14) past metastack to MC | |
40 | 1E (0) - transfer values 0F/10 (15/16) past metastack to MC | |
41 | 1F (0) - transfer values 11/12 (17/18) past metastack to MC | |
42 | ||
43 | 2A (0) - store M8 to metastack values 03/04 | |
44 | 2B (0) - store M8 to metastack values 01/02 | |
45 | ||
46 | 3B (0) - push metastack values 01/02 to metastack | |
47 | ||
48 | 3C (0) - push preloaded values 0B/0C to metastack | |
49 | ||
50 | 3D (0) - push preloaded values 0D/0E to metastack | |
51 | ||
52 | 4X (0) - stores the value of X to $0008 ($0009=#$00) | |
53 | 5X (0) - stores the value of X to $000C ($000D=#$00) | |
54 | 6X (0) - push X to the metastack as a 2-byte value (value, #$00) | |
55 | 7X (0) - adds the value of X to $0008 | |
56 | 81 (1) - advance M4 by value, transfer contents of augmented address ($00),0 to M8 and ($00),1 to M9 | |
57 | 85 (1) - store 2-byte value of M8 to specified (2) metastack locations | |
58 | 89 (1) - store the next value to M8 ($0009=#$00) | |
59 | 8A (2) - stores the next 2 values to M8 | |
60 | 8B (1) - stores the next value to MC ($000D=#$00) | |
61 | 8C (2) - stores the next 2 values to MC | |
62 | 8D (1) - push next value (1 byte) to metastack as a 2-byte value | |
63 | 8E (2) - push the next 2 values to the metastack | |
64 | 8F (1) - add the next value to M8 | |
65 | 90 (2) - add the next 2 values to M8 | |
66 | A0 (2) - advance M4 by next 2 values, transfer contents of augmented address (1-byte) to $0008 ($0009=#$00) | |
67 | A2 (2) - advance M4 by next 2 values, transfer contents of $0008 (1-byte) to augmented address. | |
68 | A3 (2) - push specific metastack byte as 2-byte value to metastack | |
69 | A4 (2) - store 2-byte contents of specified address (plus 0, plus 1) to M8 | |
70 | A5 (2) - store 1-byte contents of specified address to $0008 ($0009=#$00) | |
71 | A6 (2) - store 2-byte contents of specified address (plus 0, plus 1) to MC | |
72 | A7 (2) - store 1-byte contents of specified address to $000C ($000D=#$00) | |
73 | A8 (2) - store 2-byte contents of M8 to specified address (plus 0, plus 1) | |
74 | A9 (2) - store 1-byte contents of $0008 to specified address | |
75 | AA (2) - push 2-byte contents of specified address (plus 0, plus 1) to metastack | |
76 | AC (2) - push current queue position to metastack & jump to specified address | |
77 | AE (1) - empty a # of values from the metastack equal to the specified value | |
78 | B0 (0) - replace M8 with the 2-byte address at the address it contains (plus 0, plus 1) | |
79 | B1 (0) - pull 2 metastack values, then store 2-byte value of M8 to that address | |
80 | B3 (0) - pushes M8 to metastack | |
81 | B4 (0) - pulls 2 values from metastack to MC | |
82 | B5 (0) - multiply the contents of M8 by the contents of MC (2-byte) | |
83 | B8 (0) - divide M8 by MC | |
84 | BB (0) - Add MC to M8 | |
85 | BC (0) - subtract MC from M8 | |
86 | BD (0) - perform a number of left shifts to M8 equal to MC | |
87 | BE (0) - perform a number of right shifts to M8 equal to MC | |
88 | ||
89 | C0 (0) - checks if M8 = MC | |
90 | C1 (0) - checks if M8 != MC | |
91 | C2 (0) - checks if M8 < MC (signed) | |
92 | C3 (0) - checks if M8 ≤ MC (signed) | |
93 | C4 (0) - checks if M8 > MC (signed) | |
94 | C5 (0) - checks if M8 ≥ MC (signed) | |
95 | C6 (0) - checks if M8 < MC (unsigned) | |
96 | C7 (0) - checks if M8 ≤ MC (unsigned) | |
97 | C8 (0) - checks if M8 > MC (unsigned) | |
98 | C9 (0) - checks if M8 ≥ MC (unsigned) | |
99 | CA (0) - checks if M8 = MC = 0 | |
100 | CB (0) - take the negative of M8 (signed) | |
101 | CD (0) - swaps the contents of M8 and MC | |
102 | CF (0) - transfer values #$00-#$07 from ahead of the metastack to $0000-$0007 | |
103 | inc M0, then JMP ($0000) | |
104 | D0 (0) - increments M8 | |
105 | D1 (0) - decrements M8 | |
106 | D2 (0) - doubles M8 (left shift) | |
107 | D3 (0) - replace M8 with the value specified at the address it contains ($0009=#$00) | |
108 | D4 (0) - Pull 2 metastack values, store $0008 to address specified | |
109 | D5 (x) - Adds the first 2 values to M8. Values 3 & 4 indicate the # of redirect addresses that | |
110 | follow. The first address is the "else" address if M8 ≥ values 3 & 4. The addresses | |
111 | after that correspond to the value of M8 beginning with #$00. | |
112 | D6 (2) - skips to the address specified in the next 2 values | |
113 | D7 (2) - skips to the address specified in the next 2 values if comparison was true | |
114 | D8 (2) - skips to the address specified in the next 2 values if comparison was false | |
115 | D9 (x) - First two values are the number of loops to run. | |
116 | Checks if the next two values are equal to M8. If they don't, advance M6 by 4. | |
117 | If the values match, rewrite M6 to address following the matching value. | |
118 | If the loop counter runs out, rewrite M6 to whatever address follows. | |
119 | DA (0) - ANDs the contents of M8 with those of MC | |
120 | DB (0) - ORAs the contents of M8 with those of MC | |
121 | DC (0) - EORs the contents of M8 with those of MC | |
122 | ||
123 | DE (2) - stores address of specified meta value to M8 | |
124 | ||
125 | E9 (3) - runs subfunction specified in next 2 values & pulls a # of metastack bytes equal to 3rd value |