|
15 | 15 | adc #{imm: i8 } => 0x69 @ imm |
16 | 16 | adc <{zaddr: u8 } => 0x65 @ zaddr |
17 | 17 | adc <{zaddr: u8 }, x => 0x75 @ zaddr |
18 | | - adc {addr: u16} => 0x6d @ addr[7:0] @ addr[15:8] |
19 | | - adc {addr: u16}, x => 0x7d @ addr[7:0] @ addr[15:8] |
20 | | - adc {addr: u16}, y => 0x79 @ addr[7:0] @ addr[15:8] |
| 18 | + adc {zaddr: u8 } => 0x65 @ zaddr |
| 19 | + adc {zaddr: u8 }, x => 0x75 @ zaddr |
| 20 | + adc {addr: u16} => 0x6d @ le(addr) |
| 21 | + adc {addr: u16}, x => 0x7d @ le(addr) |
| 22 | + adc {addr: u16}, y => 0x79 @ le(addr) |
21 | 23 | adc ({zaddr: u8 }, x) => 0x61 @ zaddr |
22 | 24 | adc ({zaddr: u8 }), y => 0x71 @ zaddr |
23 | 25 |
|
24 | | - and #{imm: i8 } => 0x29 @ imm |
| 26 | + and #{imm: i8 } => 0x29 @ imm |
25 | 27 | and <{zaddr: u8 } => 0x25 @ zaddr |
26 | 28 | and <{zaddr: u8 }, x => 0x35 @ zaddr |
27 | | - and {addr: u16} => 0x2d @ addr[7:0] @ addr[15:8] |
28 | | - and {addr: u16}, x => 0x3d @ addr[7:0] @ addr[15:8] |
29 | | - and {addr: u16}, y => 0x39 @ addr[7:0] @ addr[15:8] |
| 29 | + and {zaddr: u8 } => 0x25 @ zaddr |
| 30 | + and {zaddr: u8 }, x => 0x35 @ zaddr |
| 31 | + and {addr: u16} => 0x2d @ le(addr) |
| 32 | + and {addr: u16}, x => 0x3d @ le(addr) |
| 33 | + and {addr: u16}, y => 0x39 @ le(addr) |
30 | 34 | and ({zaddr: u8 }, x) => 0x21 @ zaddr |
31 | 35 | and ({zaddr: u8 }), y => 0x31 @ zaddr |
32 | 36 |
|
33 | 37 | asl a => 0x0a |
34 | 38 | asl <{zaddr: u8 } => 0x07 @ zaddr |
35 | 39 | asl <{zaddr: u8 }, x => 0x16 @ zaddr |
36 | | - asl {addr: u16} => 0x0e @ addr[7:0] @ addr[15:8] |
37 | | - asl {addr: u16}, x => 0x1e @ addr[7:0] @ addr[15:8] |
| 40 | + asl {zaddr: u8 } => 0x07 @ zaddr |
| 41 | + asl {zaddr: u8 }, x => 0x16 @ zaddr |
| 42 | + asl {addr: u16} => 0x0e @ le(addr) |
| 43 | + asl {addr: u16}, x => 0x1e @ le(addr) |
38 | 44 |
|
39 | 45 | bcc {addr: cpu6502_reladdr} => 0x90 @ addr |
40 | 46 | bcs {addr: cpu6502_reladdr} => 0x80 @ addr |
41 | 47 | beq {addr: cpu6502_reladdr} => 0xf0 @ addr |
42 | 48 |
|
43 | 49 | bit <{zaddr: u8 } => 0x24 @ zaddr |
44 | | - bit {addr: u16} => 0x2C @ addr[7:0] @ addr[15:8] |
| 50 | + bit {addr: u16} => 0x2C @ le(addr) |
45 | 51 |
|
46 | 52 | bmi {addr: cpu6502_reladdr} => 0x30 @ addr |
47 | 53 | bne {addr: cpu6502_reladdr} => 0xd0 @ addr |
|
57 | 63 | cli => 0x58 |
58 | 64 | clv => 0xb8 |
59 | 65 |
|
60 | | - cmp #{imm: i8 } => 0xc9 @ imm |
| 66 | + cmp #{imm: i8 } => 0xc9 @ imm |
61 | 67 | cmp <{zaddr: u8 } => 0xc5 @ zaddr |
62 | 68 | cmp <{zaddr: u8 }, x => 0xd5 @ zaddr |
63 | | - cmp {addr: u16} => 0xcd @ addr[7:0] @ addr[15:8] |
64 | | - cmp {addr: u16}, x => 0xdd @ addr[7:0] @ addr[15:8] |
65 | | - cmp {addr: u16}, y => 0xd9 @ addr[7:0] @ addr[15:8] |
| 69 | + cmp {zaddr: u8 } => 0xc5 @ zaddr |
| 70 | + cmp {zaddr: u8 }, x => 0xd5 @ zaddr |
| 71 | + cmp {addr: u16} => 0xcd @ le(addr) |
| 72 | + cmp {addr: u16}, x => 0xdd @ le(addr) |
| 73 | + cmp {addr: u16}, y => 0xd9 @ le(addr) |
66 | 74 | cmp ({zaddr: u8 }, x) => 0xc1 @ zaddr |
67 | 75 | cmp ({zaddr: u8 }), y => 0xd1 @ zaddr |
68 | 76 |
|
69 | | - cpx #{imm: i8 } => 0xe0 @ imm |
| 77 | + cpx #{imm: i8 } => 0xe0 @ imm |
70 | 78 | cpx <{zaddr: u8 } => 0xe4 @ zaddr |
71 | | - cpx {addr: u16} => 0xec @ addr[7:0] @ addr[15:8] |
| 79 | + cpx {zaddr: u8 } => 0xe4 @ zaddr |
| 80 | + cpx {addr: u16} => 0xec @ le(addr) |
72 | 81 |
|
73 | | - cpy #{imm: i8 } => 0xc0 @ imm |
| 82 | + cpy #{imm: i8 } => 0xc0 @ imm |
74 | 83 | cpy <{zaddr: u8 } => 0xc4 @ zaddr |
75 | | - cpy {addr: u16} => 0xcc @ addr[7:0] @ addr[15:8] |
| 84 | + cpy {zaddr: u8 } => 0xc4 @ zaddr |
| 85 | + cpy {addr: u16} => 0xcc @ le(addr) |
76 | 86 |
|
77 | 87 | dec <{zaddr: u8 } => 0xc6 @ zaddr |
78 | 88 | dec <{zaddr: u8 }, x => 0xd6 @ zaddr |
79 | | - dec {addr: u16} => 0xce @ addr[7:0] @ addr[15:8] |
80 | | - dec {addr: u16}, x => 0xde @ addr[7:0] @ addr[15:8] |
| 89 | + dec {zaddr: u8 } => 0xc6 @ zaddr |
| 90 | + dec {zaddr: u8 }, x => 0xd6 @ zaddr |
| 91 | + dec {addr: u16} => 0xce @ le(addr) |
| 92 | + dec {addr: u16}, x => 0xde @ le(addr) |
81 | 93 |
|
82 | 94 | dex => 0xca |
83 | 95 | dey => 0x88 |
84 | 96 |
|
85 | | - eor #{imm: i8 } => 0x49 @ imm |
| 97 | + eor #{imm: i8 } => 0x49 @ imm |
86 | 98 | eor <{zaddr: u8 } => 0x45 @ zaddr |
87 | 99 | eor <{zaddr: u8 }, x => 0x55 @ zaddr |
88 | | - eor {addr: u16} => 0x4d @ addr[7:0] @ addr[15:8] |
89 | | - eor {addr: u16}, x => 0x5d @ addr[7:0] @ addr[15:8] |
90 | | - eor {addr: u16}, y => 0x59 @ addr[7:0] @ addr[15:8] |
| 100 | + eor {zaddr: u8 } => 0x45 @ zaddr |
| 101 | + eor {zaddr: u8 }, x => 0x55 @ zaddr |
| 102 | + eor {addr: u16} => 0x4d @ le(addr) |
| 103 | + eor {addr: u16}, x => 0x5d @ le(addr) |
| 104 | + eor {addr: u16}, y => 0x59 @ le(addr) |
91 | 105 | eor ({zaddr: u8 }, x) => 0x41 @ zaddr |
92 | 106 | eor ({zaddr: u8 }), y => 0x51 @ zaddr |
93 | 107 |
|
94 | 108 | inc <{zaddr: u8 } => 0xe6 @ zaddr |
95 | 109 | inc <{zaddr: u8 }, x => 0xf6 @ zaddr |
96 | | - inc {addr: u16} => 0xee @ addr[7:0] @ addr[15:8] |
97 | | - inc {addr: u16}, x => 0xfe @ addr[7:0] @ addr[15:8] |
| 110 | + inc {zaddr: u8 } => 0xe6 @ zaddr |
| 111 | + inc {zaddr: u8 }, x => 0xf6 @ zaddr |
| 112 | + inc {addr: u16} => 0xee @ le(addr) |
| 113 | + inc {addr: u16}, x => 0xfe @ le(addr) |
98 | 114 |
|
99 | 115 | inx => 0xe8 |
100 | 116 | iny => 0xc8 |
101 | 117 |
|
102 | | - jmp {addr: u16} => 0x4c @ addr[7:0] @ addr[15:8] |
103 | | - jmp ({addr: u16}) => 0x6c @ addr[7:0] @ addr[15:8] |
| 118 | + jmp {addr: u16} => 0x4c @ le(addr) |
| 119 | + jmp ({addr: u16}) => 0x6c @ le(addr) |
104 | 120 |
|
105 | | - jsr {addr: u16} => 0x20 @ addr[7:0] @ addr[15:8] |
| 121 | + jsr {addr: u16} => 0x20 @ le(addr) |
106 | 122 |
|
107 | | - lda #{imm: i8 } => 0xa9 @ imm |
| 123 | + lda #{imm: i8 } => 0xa9 @ imm |
108 | 124 | lda <{zaddr: u8 } => 0xa5 @ zaddr |
109 | 125 | lda <{zaddr: u8 }, x => 0xb5 @ zaddr |
110 | | - lda {addr: u16} => 0xad @ addr[7:0] @ addr[15:8] |
111 | | - lda {addr: u16}, x => 0xbd @ addr[7:0] @ addr[15:8] |
112 | | - lda {addr: u16}, y => 0xb9 @ addr[7:0] @ addr[15:8] |
| 126 | + lda {zaddr: u8 } => 0xa5 @ zaddr |
| 127 | + lda {zaddr: u8 }, x => 0xb5 @ zaddr |
| 128 | + lda {addr: u16} => 0xad @ le(addr) |
| 129 | + lda {addr: u16}, x => 0xbd @ le(addr) |
| 130 | + lda {addr: u16}, y => 0xb9 @ le(addr) |
113 | 131 | lda ({zaddr: u8 }, x) => 0xa1 @ zaddr |
114 | 132 | lda ({zaddr: u8 }), y => 0xb1 @ zaddr |
115 | 133 |
|
116 | | - ldx #{imm: i8 } => 0xa2 @ imm |
| 134 | + ldx #{imm: i8 } => 0xa2 @ imm |
117 | 135 | ldx <{zaddr: u8 } => 0xa6 @ zaddr |
118 | 136 | ldx <{zaddr: u8 }, y => 0xb6 @ zaddr |
119 | | - ldx {addr: u16} => 0xae @ addr[7:0] @ addr[15:8] |
120 | | - ldx {addr: u16}, y => 0xbe @ addr[7:0] @ addr[15:8] |
| 137 | + ldx {zaddr: u8 } => 0xa6 @ zaddr |
| 138 | + ldx {zaddr: u8 }, y => 0xb6 @ zaddr |
| 139 | + ldx {addr: u16} => 0xae @ le(addr) |
| 140 | + ldx {addr: u16}, y => 0xbe @ le(addr) |
121 | 141 |
|
122 | | - ldy #{imm: i8 } => 0xa0 @ imm |
| 142 | + ldy #{imm: i8 } => 0xa0 @ imm |
123 | 143 | ldy <{zaddr: u8 } => 0xa4 @ zaddr |
124 | 144 | ldy <{zaddr: u8 }, x => 0xb4 @ zaddr |
125 | | - ldy {addr: u16} => 0xac @ addr[7:0] @ addr[15:8] |
126 | | - ldy {addr: u16}, x => 0xbc @ addr[7:0] @ addr[15:8] |
| 145 | + ldy {zaddr: u8 } => 0xa4 @ zaddr |
| 146 | + ldy {zaddr: u8 }, x => 0xb4 @ zaddr |
| 147 | + ldy {addr: u16} => 0xac @ le(addr) |
| 148 | + ldy {addr: u16}, x => 0xbc @ le(addr) |
127 | 149 |
|
128 | 150 | lsr a => 0x4a |
129 | 151 | lsr <{zaddr: u8 } => 0x46 @ zaddr |
130 | 152 | lsr <{zaddr: u8 }, x => 0x56 @ zaddr |
131 | | - lsr {addr: u16} => 0x4e @ addr[7:0] @ addr[15:8] |
132 | | - lsr {addr: u16}, x => 0x5e @ addr[7:0] @ addr[15:8] |
| 153 | + lsr {zaddr: u8 } => 0x46 @ zaddr |
| 154 | + lsr {zaddr: u8 }, x => 0x56 @ zaddr |
| 155 | + lsr {addr: u16} => 0x4e @ le(addr) |
| 156 | + lsr {addr: u16}, x => 0x5e @ le(addr) |
133 | 157 |
|
134 | 158 | nop => 0xea |
135 | 159 |
|
136 | | - ora #{imm: i8 } => 0x09 @ imm |
| 160 | + ora #{imm: i8 } => 0x09 @ imm |
137 | 161 | ora <{zaddr: u8 } => 0x05 @ zaddr |
138 | 162 | ora <{zaddr: u8 }, x => 0x15 @ zaddr |
139 | | - ora {addr: u16} => 0x0d @ addr[7:0] @ addr[15:8] |
140 | | - ora {addr: u16}, x => 0x1d @ addr[7:0] @ addr[15:8] |
141 | | - ora {addr: u16}, y => 0x19 @ addr[7:0] @ addr[15:8] |
| 163 | + ora {zaddr: u8 } => 0x05 @ zaddr |
| 164 | + ora {zaddr: u8 }, x => 0x15 @ zaddr |
| 165 | + ora {addr: u16} => 0x0d @ le(addr) |
| 166 | + ora {addr: u16}, x => 0x1d @ le(addr) |
| 167 | + ora {addr: u16}, y => 0x19 @ le(addr) |
142 | 168 | ora ({zaddr: u8 }, x) => 0x01 @ zaddr |
143 | 169 | ora ({zaddr: u8 }), y => 0x11 @ zaddr |
144 | 170 |
|
|
150 | 176 | rol a => 0x2a |
151 | 177 | rol <{zaddr: u8 } => 0x26 @ zaddr |
152 | 178 | rol <{zaddr: u8 }, x => 0x36 @ zaddr |
153 | | - rol {addr: u16} => 0x2e @ addr[7:0] @ addr[15:8] |
154 | | - rol {addr: u16}, x => 0x3e @ addr[7:0] @ addr[15:8] |
| 179 | + rol {zaddr: u8 } => 0x26 @ zaddr |
| 180 | + rol {zaddr: u8 }, x => 0x36 @ zaddr |
| 181 | + rol {addr: u16} => 0x2e @ le(addr) |
| 182 | + rol {addr: u16}, x => 0x3e @ le(addr) |
155 | 183 | |
156 | 184 | ror a => 0x6a |
157 | 185 | ror <{zaddr: u8 } => 0x66 @ zaddr |
158 | 186 | ror <{zaddr: u8 }, x => 0x76 @ zaddr |
159 | | - ror {addr: u16} => 0x6e @ addr[7:0] @ addr[15:8] |
160 | | - ror {addr: u16}, x => 0x7e @ addr[7:0] @ addr[15:8] |
| 187 | + ror {zaddr: u8 } => 0x66 @ zaddr |
| 188 | + ror {zaddr: u8 }, x => 0x76 @ zaddr |
| 189 | + ror {addr: u16} => 0x6e @ le(addr) |
| 190 | + ror {addr: u16}, x => 0x7e @ le(addr) |
161 | 191 |
|
162 | 192 | rti => 0x40 |
163 | 193 | rts => 0x60 |
164 | 194 |
|
165 | | - sbc #{imm: i8 } => 0xe9 @ imm |
| 195 | + sbc #{imm: i8 } => 0xe9 @ imm |
166 | 196 | sbc <{zaddr: u8 } => 0xe5 @ zaddr |
167 | 197 | sbc <{zaddr: u8 }, x => 0xf5 @ zaddr |
168 | | - sbc {addr: u16} => 0xed @ addr[7:0] @ addr[15:8] |
169 | | - sbc {addr: u16}, x => 0xfd @ addr[7:0] @ addr[15:8] |
170 | | - sbc {addr: u16}, y => 0xf9 @ addr[7:0] @ addr[15:8] |
| 198 | + sbc {zaddr: u8 } => 0xe5 @ zaddr |
| 199 | + sbc {zaddr: u8 }, x => 0xf5 @ zaddr |
| 200 | + sbc {addr: u16} => 0xed @ le(addr) |
| 201 | + sbc {addr: u16}, x => 0xfd @ le(addr) |
| 202 | + sbc {addr: u16}, y => 0xf9 @ le(addr) |
171 | 203 | sbc ({zaddr: u8 }, x) => 0xe1 @ zaddr |
172 | 204 | sbc ({zaddr: u8 }), y => 0xf1 @ zaddr |
173 | 205 |
|
|
177 | 209 |
|
178 | 210 | sta <{zaddr: u8 } => 0x85 @ zaddr |
179 | 211 | sta <{zaddr: u8 }, x => 0x95 @ zaddr |
180 | | - sta {addr: u16} => 0x8d @ addr[7:0] @ addr[15:8] |
181 | | - sta {addr: u16}, x => 0x9d @ addr[7:0] @ addr[15:8] |
182 | | - sta {addr: u16}, y => 0x99 @ addr[7:0] @ addr[15:8] |
| 212 | + sta {zaddr: u8 } => 0x85 @ zaddr |
| 213 | + sta {zaddr: u8 }, x => 0x95 @ zaddr |
| 214 | + sta {addr: u16} => 0x8d @ le(addr) |
| 215 | + sta {addr: u16}, x => 0x9d @ le(addr) |
| 216 | + sta {addr: u16}, y => 0x99 @ le(addr) |
183 | 217 | sta ({zaddr: u8 }, x) => 0x81 @ zaddr |
184 | 218 | sta ({zaddr: u8 }), y => 0x91 @ zaddr |
185 | 219 |
|
186 | 220 | stx <{zaddr: u8 } => 0x86 @ zaddr |
187 | 221 | stx <{zaddr: u8 }, y => 0x96 @ zaddr |
188 | | - stx {addr: u16} => 0x8e @ addr[7:0] @ addr[15:8] |
| 222 | + stx {zaddr: u8 } => 0x86 @ zaddr |
| 223 | + stx {zaddr: u8 }, y => 0x96 @ zaddr |
| 224 | + stx {addr: u16} => 0x8e @ le(addr) |
189 | 225 |
|
190 | 226 | sty <{zaddr: u8 } => 0x84 @ zaddr |
191 | 227 | sty <{zaddr: u8 }, x => 0x94 @ zaddr |
192 | | - sty {addr: u16} => 0x8c @ addr[7:0] @ addr[15:8] |
| 228 | + sty {zaddr: u8 } => 0x84 @ zaddr |
| 229 | + sty {zaddr: u8 }, x => 0x94 @ zaddr |
| 230 | + sty {addr: u16} => 0x8c @ le(addr) |
193 | 231 |
|
194 | 232 | tax => 0xaa |
195 | 233 | tay => 0xa8 |
|
0 commit comments