diff options
author | Bad Diode <bd@badd10de.dev> | 2023-08-27 22:52:43 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-08-27 22:52:43 +0200 |
commit | 8357708a6f73401886bc2bdf405cb19adf419cbc (patch) | |
tree | ad9b1c3d2fed68bd3cadcff1f5fd868040598706 /src/uxn-core.s | |
parent | 941ad8e28efb685e910b38b06f98bc79fb29677f (diff) | |
download | uxngba-8357708a6f73401886bc2bdf405cb19adf419cbc.tar.gz uxngba-8357708a6f73401886bc2bdf405cb19adf419cbc.zip |
Adjust add/sub instructions slightly
Diffstat (limited to 'src/uxn-core.s')
-rw-r--r-- | src/uxn-core.s | 747 |
1 files changed, 370 insertions, 377 deletions
diff --git a/src/uxn-core.s b/src/uxn-core.s index a9fc3f9..32ec26b 100644 --- a/src/uxn-core.s +++ b/src/uxn-core.s | |||
@@ -30,532 +30,525 @@ io_ports: .space 256 | |||
30 | .global uxn_eval_asm | 30 | .global uxn_eval_asm |
31 | uxn_eval_asm: | 31 | uxn_eval_asm: |
32 | @ Initialization. | 32 | @ Initialization. |
33 | push {r4-r7} | 33 | push {r4-r7} |
34 | ldr r1, wst_ptr | 34 | ldr r1, wst_ptr |
35 | ldr r2, =uxn_ram | 35 | ldr r2, =uxn_ram |
36 | add r0, r0, r2 | 36 | add r0, r0, r2 |
37 | 37 | ||
38 | uxn_decode: | 38 | uxn_decode: |
39 | ldrb r3, [r0], #1 @ current OP value / table index | 39 | ldrb r3, [r0], #1 @ current OP value / table index |
40 | |||
41 | @ TODO: Setup wst/rst? or fill operations accordingly? | ||
42 | @ str r3, [r1], #1 @ Push to stack: Debugging | ||
43 | 40 | ||
44 | @ Decode OP based on table lookup. | 41 | @ Decode OP based on table lookup. |
45 | adr r4, op_table @ decoding table | 42 | adr r4, op_table @ decoding table |
46 | ldr r4, [r4, r3, lsl #2] @ op_table[idx * 4] | 43 | ldr r4, [r4, r3, lsl #2] @ op_table[idx * 4] |
47 | bx r4 @ op_table[idx * 4]() | 44 | bx r4 @ op_table[idx * 4]() |
48 | 45 | ||
49 | uxn_ret: | 46 | uxn_ret: |
50 | @ Update stack pointer and return. | 47 | @ Update stack pointer and return. |
51 | adr r0, wst_ptr | 48 | adr r0, wst_ptr |
52 | str r1, [r0] | 49 | str r1, [r0] |
53 | pop {r4-r7} | 50 | pop {r4-r7} |
54 | bx lr | 51 | bx lr |
55 | 52 | ||
56 | @ | 53 | @ |
57 | @ OP implementations. | 54 | @ OP implementations. |
58 | @ | 55 | @ |
59 | 56 | ||
60 | brk: | 57 | brk: |
61 | b uxn_ret | 58 | b uxn_ret |
62 | 59 | ||
63 | jci: | 60 | jci: |
64 | b uxn_decode | 61 | b uxn_decode |
65 | 62 | ||
66 | jmi: | 63 | jmi: |
67 | b uxn_decode | 64 | b uxn_decode |
68 | 65 | ||
69 | jsi: | 66 | jsi: |
70 | b uxn_decode | 67 | b uxn_decode |
71 | 68 | ||
72 | litr: | 69 | litr: |
73 | ldrb r3, [r0], #1 | 70 | ldrb r3, [r0], #1 |
74 | strb r3, [r1], #1 | 71 | strb r3, [r1], #1 |
75 | b uxn_decode | 72 | b uxn_decode |
76 | 73 | ||
77 | lit2r: | 74 | lit2r: |
78 | ldrb r3, [r0], #1 | 75 | ldrb r3, [r0], #1 |
79 | ldrb r4, [r0], #1 | 76 | ldrb r4, [r0], #1 |
80 | strb r3, [r1], #1 | 77 | strb r3, [r1], #1 |
81 | strb r4, [r1], #1 | 78 | strb r4, [r1], #1 |
82 | b uxn_decode | 79 | b uxn_decode |
83 | 80 | ||
84 | inc: | 81 | inc: |
85 | b uxn_decode | 82 | b uxn_decode |
86 | 83 | ||
87 | inc2: | 84 | inc2: |
88 | b uxn_decode | 85 | b uxn_decode |
89 | 86 | ||
90 | pop: | 87 | pop: |
91 | b uxn_decode | 88 | b uxn_decode |
92 | 89 | ||
93 | pop2: | 90 | pop2: |
94 | b uxn_decode | 91 | b uxn_decode |
95 | 92 | ||
96 | nip: | 93 | nip: |
97 | b uxn_decode | 94 | b uxn_decode |
98 | 95 | ||
99 | nip2: | 96 | nip2: |
100 | b uxn_decode | 97 | b uxn_decode |
101 | 98 | ||
102 | swp: | 99 | swp: |
103 | b uxn_decode | 100 | b uxn_decode |
104 | 101 | ||
105 | swp2: | 102 | swp2: |
106 | b uxn_decode | 103 | b uxn_decode |
107 | 104 | ||
108 | rot: | 105 | rot: |
109 | b uxn_decode | 106 | b uxn_decode |
110 | 107 | ||
111 | rot2: | 108 | rot2: |
112 | b uxn_decode | 109 | b uxn_decode |
113 | 110 | ||
114 | dup: | 111 | dup: |
115 | b uxn_decode | 112 | b uxn_decode |
116 | 113 | ||
117 | dup2: | 114 | dup2: |
118 | b uxn_decode | 115 | b uxn_decode |
119 | 116 | ||
120 | ovr: | 117 | ovr: |
121 | b uxn_decode | 118 | b uxn_decode |
122 | 119 | ||
123 | ovr2: | 120 | ovr2: |
124 | b uxn_decode | 121 | b uxn_decode |
125 | 122 | ||
126 | equ: | 123 | equ: |
127 | b uxn_decode | 124 | b uxn_decode |
128 | 125 | ||
129 | equ2: | 126 | equ2: |
130 | b uxn_decode | 127 | b uxn_decode |
131 | 128 | ||
132 | neq: | 129 | neq: |
133 | b uxn_decode | 130 | b uxn_decode |
134 | 131 | ||
135 | neq2: | 132 | neq2: |
136 | b uxn_decode | 133 | b uxn_decode |
137 | 134 | ||
138 | gth: | 135 | gth: |
139 | b uxn_decode | 136 | b uxn_decode |
140 | 137 | ||
141 | gth2: | 138 | gth2: |
142 | b uxn_decode | 139 | b uxn_decode |
143 | 140 | ||
144 | lth: | 141 | lth: |
145 | b uxn_decode | 142 | b uxn_decode |
146 | 143 | ||
147 | lth2: | 144 | lth2: |
148 | b uxn_decode | 145 | b uxn_decode |
149 | 146 | ||
150 | jmp: | 147 | jmp: |
151 | b uxn_decode | 148 | b uxn_decode |
152 | 149 | ||
153 | jmp2: | 150 | jmp2: |
154 | b uxn_decode | 151 | b uxn_decode |
155 | 152 | ||
156 | jcn: | 153 | jcn: |
157 | b uxn_decode | 154 | b uxn_decode |
158 | 155 | ||
159 | jcn2: | 156 | jcn2: |
160 | b uxn_decode | 157 | b uxn_decode |
161 | 158 | ||
162 | jsr: | 159 | jsr: |
163 | b uxn_decode | 160 | b uxn_decode |
164 | 161 | ||
165 | jsr2: | 162 | jsr2: |
166 | b uxn_decode | 163 | b uxn_decode |
167 | 164 | ||
168 | sth: | 165 | sth: |
169 | b uxn_decode | 166 | b uxn_decode |
170 | 167 | ||
171 | sth2: | 168 | sth2: |
172 | b uxn_decode | 169 | b uxn_decode |
173 | 170 | ||
174 | ldz: | 171 | ldz: |
175 | b uxn_decode | 172 | b uxn_decode |
176 | 173 | ||
177 | ldz2: | 174 | ldz2: |
178 | b uxn_decode | 175 | b uxn_decode |
179 | 176 | ||
180 | stz: | 177 | stz: |
181 | b uxn_decode | 178 | b uxn_decode |
182 | 179 | ||
183 | stz2: | 180 | stz2: |
184 | b uxn_decode | 181 | b uxn_decode |
185 | 182 | ||
186 | ldr: | 183 | ldr: |
187 | b uxn_decode | 184 | b uxn_decode |
188 | 185 | ||
189 | ldr2: | 186 | ldr2: |
190 | b uxn_decode | 187 | b uxn_decode |
191 | 188 | ||
192 | str: | 189 | str: |
193 | b uxn_decode | 190 | b uxn_decode |
194 | 191 | ||
195 | str2: | 192 | str2: |
196 | b uxn_decode | 193 | b uxn_decode |
197 | 194 | ||
198 | lda: | 195 | lda: |
199 | b uxn_decode | 196 | b uxn_decode |
200 | 197 | ||
201 | lda2: | 198 | lda2: |
202 | b uxn_decode | 199 | b uxn_decode |
203 | 200 | ||
204 | sta: | 201 | sta: |
205 | b uxn_decode | 202 | b uxn_decode |
206 | 203 | ||
207 | sta2: | 204 | sta2: |
208 | b uxn_decode | 205 | b uxn_decode |
209 | 206 | ||
210 | dei: | 207 | dei: |
211 | b uxn_decode | 208 | b uxn_decode |
212 | 209 | ||
213 | dei2: | 210 | dei2: |
214 | b uxn_decode | 211 | b uxn_decode |
215 | 212 | ||
216 | deo: | 213 | deo: |
217 | b uxn_decode | 214 | b uxn_decode |
218 | 215 | ||
219 | deo2: | 216 | deo2: |
220 | b uxn_decode | 217 | b uxn_decode |
221 | 218 | ||
222 | add: | 219 | add: |
223 | ldr r3, [r1, #-1]! | 220 | ldrb r3, [r1, #-1]! |
224 | ldr r4, [r1, #-1]! | 221 | ldrb r4, [r1, #-1]! |
225 | add r3, r3, r4 | 222 | add r3, r3, r4 |
226 | strb r3, [r1], #1 | 223 | strb r3, [r1], #1 |
227 | b uxn_decode | 224 | b uxn_decode |
228 | 225 | ||
229 | add2: | 226 | add2: |
230 | ldrb r3, [r1, #-1]! | 227 | ldrb r3, [r1, #-1]! |
231 | lsl r3, #8 | 228 | ldrb r5, [r1, #-1]! |
232 | ldrb r5, [r1, #-1]! | 229 | orr r3, r5, r3, lsl #8 |
233 | add r3, r5 | 230 | ldrb r4, [r1, #-1]! |
234 | ldrb r4, [r1, #-1]! | 231 | ldrb r5, [r1, #-1]! |
235 | ldrb r5, [r1, #-1]! | 232 | orr r4, r5, r4, lsl #8 |
236 | lsl r4, #8 | 233 | add r3, r3, r4 |
237 | add r4, r5 | 234 | strb r3, [r1], #1 |
238 | add r3, r3, r4 | 235 | lsr r3, #8 |
239 | strb r3, [r1], #1 | 236 | strb r3, [r1], #1 |
240 | lsr r3, #8 | 237 | b uxn_decode |
241 | strb r3, [r1], #1 | ||
242 | b uxn_decode | ||
243 | 238 | ||
244 | sub: | 239 | sub: |
245 | ldr r3, [r1, #-1]! | 240 | ldr r3, [r1, #-1]! |
246 | ldr r4, [r1, #-1]! | 241 | ldr r4, [r1, #-1]! |
247 | sub r4, r4, r3 | 242 | sub r4, r4, r3 |
248 | strb r4, [r1], #1 | 243 | strb r4, [r1], #1 |
249 | b uxn_decode | 244 | b uxn_decode |
250 | 245 | ||
251 | sub2: | 246 | sub2: |
252 | ldrb r3, [r1, #-1]! | 247 | ldrb r3, [r1, #-1]! |
253 | ldrb r5, [r1, #-1]! | 248 | ldrb r5, [r1, #-1]! |
254 | lsl r3, #8 | 249 | orr r3, r5, r3, lsl #8 |
255 | add r3, r5 | 250 | ldrb r4, [r1, #-1]! |
256 | ldrb r4, [r1, #-1]! | 251 | ldrb r5, [r1, #-1]! |
257 | ldrb r5, [r1, #-1]! | 252 | orr r4, r5, r4, lsl #8 |
258 | lsl r4, #8 | 253 | sub r3, r4, r3 |
259 | add r4, r5 | 254 | strb r3, [r1], #1 |
260 | sub r3, r4, r3 | 255 | lsr r3, #8 |
261 | strb r3, [r1], #1 | 256 | strb r3, [r1], #1 |
262 | lsr r3, #8 | 257 | b uxn_decode |
263 | strb r3, [r1], #1 | ||
264 | b uxn_decode | ||
265 | 258 | ||
266 | mul: | 259 | mul: |
267 | b uxn_decode | 260 | b uxn_decode |
268 | 261 | ||
269 | mul2: | 262 | mul2: |
270 | b uxn_decode | 263 | b uxn_decode |
271 | 264 | ||
272 | div: | 265 | div: |
273 | b uxn_decode | 266 | b uxn_decode |
274 | 267 | ||
275 | div2: | 268 | div2: |
276 | b uxn_decode | 269 | b uxn_decode |
277 | 270 | ||
278 | and: | 271 | and: |
279 | b uxn_decode | 272 | b uxn_decode |
280 | 273 | ||
281 | and2: | 274 | and2: |
282 | b uxn_decode | 275 | b uxn_decode |
283 | 276 | ||
284 | ora: | 277 | ora: |
285 | b uxn_decode | 278 | b uxn_decode |
286 | 279 | ||
287 | ora2: | 280 | ora2: |
288 | b uxn_decode | 281 | b uxn_decode |
289 | 282 | ||
290 | eor: | 283 | eor: |
291 | b uxn_decode | 284 | b uxn_decode |
292 | 285 | ||
293 | eor2: | 286 | eor2: |
294 | b uxn_decode | 287 | b uxn_decode |
295 | 288 | ||
296 | sft: | 289 | sft: |
297 | b uxn_decode | 290 | b uxn_decode |
298 | 291 | ||
299 | sft2: | 292 | sft2: |
300 | b uxn_decode | 293 | b uxn_decode |
301 | 294 | ||
302 | @ OP table | 295 | @ OP table |
303 | op_table: | 296 | op_table: |
304 | .word brk @ 0x00 | 297 | .word brk @ 0x00 |
305 | .word inc @ 0x01 | 298 | .word inc @ 0x01 |
306 | .word pop @ 0x02 | 299 | .word pop @ 0x02 |
307 | .word nip @ 0x03 | 300 | .word nip @ 0x03 |
308 | .word swp @ 0x04 | 301 | .word swp @ 0x04 |
309 | .word rot @ 0x05 | 302 | .word rot @ 0x05 |
310 | .word dup @ 0x06 | 303 | .word dup @ 0x06 |
311 | .word ovr @ 0x07 | 304 | .word ovr @ 0x07 |
312 | .word equ @ 0x08 | 305 | .word equ @ 0x08 |
313 | .word neq @ 0x09 | 306 | .word neq @ 0x09 |
314 | .word gth @ 0x0a | 307 | .word gth @ 0x0a |
315 | .word lth @ 0x0b | 308 | .word lth @ 0x0b |
316 | .word jmp @ 0x0c | 309 | .word jmp @ 0x0c |
317 | .word jcn @ 0x0d | 310 | .word jcn @ 0x0d |
318 | .word jsr @ 0x0e | 311 | .word jsr @ 0x0e |
319 | .word sth @ 0x0f | 312 | .word sth @ 0x0f |
320 | .word ldz @ 0x00 | 313 | .word ldz @ 0x00 |
321 | .word stz @ 0x11 | 314 | .word stz @ 0x11 |
322 | .word ldr @ 0x12 | 315 | .word ldr @ 0x12 |
323 | .word str @ 0x13 | 316 | .word str @ 0x13 |
324 | .word lda @ 0x14 | 317 | .word lda @ 0x14 |
325 | .word sta @ 0x15 | 318 | .word sta @ 0x15 |
326 | .word dei @ 0x16 | 319 | .word dei @ 0x16 |
327 | .word deo @ 0x17 | 320 | .word deo @ 0x17 |
328 | .word add @ 0x18 | 321 | .word add @ 0x18 |
329 | .word sub @ 0x19 | 322 | .word sub @ 0x19 |
330 | .word mul @ 0x1a | 323 | .word mul @ 0x1a |
331 | .word div @ 0x1b | 324 | .word div @ 0x1b |
332 | .word and @ 0x1c | 325 | .word and @ 0x1c |
333 | .word ora @ 0x1d | 326 | .word ora @ 0x1d |
334 | .word eor @ 0x1e | 327 | .word eor @ 0x1e |
335 | .word sft @ 0x1f | 328 | .word sft @ 0x1f |
336 | .word brk @ 0x20 | 329 | .word brk @ 0x20 |
337 | .word inc2 @ 0x21 | 330 | .word inc2 @ 0x21 |
338 | .word pop2 @ 0x22 | 331 | .word pop2 @ 0x22 |
339 | .word nip2 @ 0x23 | 332 | .word nip2 @ 0x23 |
340 | .word swp2 @ 0x24 | 333 | .word swp2 @ 0x24 |
341 | .word rot2 @ 0x25 | 334 | .word rot2 @ 0x25 |
342 | .word dup2 @ 0x26 | 335 | .word dup2 @ 0x26 |
343 | .word ovr2 @ 0x27 | 336 | .word ovr2 @ 0x27 |
344 | .word equ2 @ 0x28 | 337 | .word equ2 @ 0x28 |
345 | .word neq2 @ 0x29 | 338 | .word neq2 @ 0x29 |
346 | .word gth2 @ 0x2a | 339 | .word gth2 @ 0x2a |
347 | .word lth2 @ 0x2b | 340 | .word lth2 @ 0x2b |
348 | .word jmp2 @ 0x2c | 341 | .word jmp2 @ 0x2c |
349 | .word jcn2 @ 0x2d | 342 | .word jcn2 @ 0x2d |
350 | .word jsr2 @ 0x2e | 343 | .word jsr2 @ 0x2e |
351 | .word sth2 @ 0x2f | 344 | .word sth2 @ 0x2f |
352 | .word ldz2 @ 0x30 | 345 | .word ldz2 @ 0x30 |
353 | .word stz2 @ 0x31 | 346 | .word stz2 @ 0x31 |
354 | .word ldr2 @ 0x32 | 347 | .word ldr2 @ 0x32 |
355 | .word str2 @ 0x33 | 348 | .word str2 @ 0x33 |
356 | .word lda2 @ 0x34 | 349 | .word lda2 @ 0x34 |
357 | .word sta2 @ 0x35 | 350 | .word sta2 @ 0x35 |
358 | .word dei2 @ 0x36 | 351 | .word dei2 @ 0x36 |
359 | .word deo2 @ 0x37 | 352 | .word deo2 @ 0x37 |
360 | .word add2 @ 0x38 | 353 | .word add2 @ 0x38 |
361 | .word sub2 @ 0x39 | 354 | .word sub2 @ 0x39 |
362 | .word mul2 @ 0x3a | 355 | .word mul2 @ 0x3a |
363 | .word div2 @ 0x3b | 356 | .word div2 @ 0x3b |
364 | .word and2 @ 0x3c | 357 | .word and2 @ 0x3c |
365 | .word ora2 @ 0x3d | 358 | .word ora2 @ 0x3d |
366 | .word eor2 @ 0x3e | 359 | .word eor2 @ 0x3e |
367 | .word sft2 @ 0x3f | 360 | .word sft2 @ 0x3f |
368 | @ TODO: Can we mask this instead of having empty space? | 361 | @ TODO: Can we mask this instead of having empty space? |
369 | .word brk @ 0x40 | 362 | .word brk @ 0x40 |
370 | .word brk @ 0x41 | 363 | .word brk @ 0x41 |
371 | .word brk @ 0x42 | 364 | .word brk @ 0x42 |
372 | .word brk @ 0x43 | 365 | .word brk @ 0x43 |
373 | .word brk @ 0x44 | 366 | .word brk @ 0x44 |
374 | .word brk @ 0x45 | 367 | .word brk @ 0x45 |
375 | .word brk @ 0x46 | 368 | .word brk @ 0x46 |
376 | .word brk @ 0x47 | 369 | .word brk @ 0x47 |
377 | .word brk @ 0x48 | 370 | .word brk @ 0x48 |
378 | .word brk @ 0x49 | 371 | .word brk @ 0x49 |
379 | .word brk @ 0x4a | 372 | .word brk @ 0x4a |
380 | .word brk @ 0x4b | 373 | .word brk @ 0x4b |
381 | .word brk @ 0x4c | 374 | .word brk @ 0x4c |
382 | .word brk @ 0x4d | 375 | .word brk @ 0x4d |
383 | .word brk @ 0x4e | 376 | .word brk @ 0x4e |
384 | .word brk @ 0x4f | 377 | .word brk @ 0x4f |
385 | .word brk @ 0x50 | 378 | .word brk @ 0x50 |
386 | .word brk @ 0x51 | 379 | .word brk @ 0x51 |
387 | .word brk @ 0x52 | 380 | .word brk @ 0x52 |
388 | .word brk @ 0x53 | 381 | .word brk @ 0x53 |
389 | .word brk @ 0x54 | 382 | .word brk @ 0x54 |
390 | .word brk @ 0x55 | 383 | .word brk @ 0x55 |
391 | .word brk @ 0x56 | 384 | .word brk @ 0x56 |
392 | .word brk @ 0x57 | 385 | .word brk @ 0x57 |
393 | .word brk @ 0x58 | 386 | .word brk @ 0x58 |
394 | .word brk @ 0x59 | 387 | .word brk @ 0x59 |
395 | .word brk @ 0x5a | 388 | .word brk @ 0x5a |
396 | .word brk @ 0x5b | 389 | .word brk @ 0x5b |
397 | .word brk @ 0x5c | 390 | .word brk @ 0x5c |
398 | .word brk @ 0x5d | 391 | .word brk @ 0x5d |
399 | .word brk @ 0x5e | 392 | .word brk @ 0x5e |
400 | .word brk @ 0x5f | 393 | .word brk @ 0x5f |
401 | .word brk @ 0x60 | 394 | .word brk @ 0x60 |
402 | .word brk @ 0x61 | 395 | .word brk @ 0x61 |
403 | .word brk @ 0x62 | 396 | .word brk @ 0x62 |
404 | .word brk @ 0x63 | 397 | .word brk @ 0x63 |
405 | .word brk @ 0x64 | 398 | .word brk @ 0x64 |
406 | .word brk @ 0x65 | 399 | .word brk @ 0x65 |
407 | .word brk @ 0x66 | 400 | .word brk @ 0x66 |
408 | .word brk @ 0x67 | 401 | .word brk @ 0x67 |
409 | .word brk @ 0x68 | 402 | .word brk @ 0x68 |
410 | .word brk @ 0x69 | 403 | .word brk @ 0x69 |
411 | .word brk @ 0x6a | 404 | .word brk @ 0x6a |
412 | .word brk @ 0x6b | 405 | .word brk @ 0x6b |
413 | .word brk @ 0x6c | 406 | .word brk @ 0x6c |
414 | .word brk @ 0x6d | 407 | .word brk @ 0x6d |
415 | .word brk @ 0x6e | 408 | .word brk @ 0x6e |
416 | .word brk @ 0x6f | 409 | .word brk @ 0x6f |
417 | .word brk @ 0x70 | 410 | .word brk @ 0x70 |
418 | .word brk @ 0x71 | 411 | .word brk @ 0x71 |
419 | .word brk @ 0x72 | 412 | .word brk @ 0x72 |
420 | .word brk @ 0x73 | 413 | .word brk @ 0x73 |
421 | .word brk @ 0x74 | 414 | .word brk @ 0x74 |
422 | .word brk @ 0x75 | 415 | .word brk @ 0x75 |
423 | .word brk @ 0x76 | 416 | .word brk @ 0x76 |
424 | .word brk @ 0x77 | 417 | .word brk @ 0x77 |
425 | .word brk @ 0x78 | 418 | .word brk @ 0x78 |
426 | .word brk @ 0x79 | 419 | .word brk @ 0x79 |
427 | .word brk @ 0x7a | 420 | .word brk @ 0x7a |
428 | .word brk @ 0x7b | 421 | .word brk @ 0x7b |
429 | .word brk @ 0x7c | 422 | .word brk @ 0x7c |
430 | .word brk @ 0x7d | 423 | .word brk @ 0x7d |
431 | .word brk @ 0x7e | 424 | .word brk @ 0x7e |
432 | .word brk @ 0x7f | 425 | .word brk @ 0x7f |
433 | .word litr @ 0x80 | 426 | .word litr @ 0x80 |
434 | .word brk @ 0x81 | 427 | .word brk @ 0x81 |
435 | .word brk @ 0x82 | 428 | .word brk @ 0x82 |
436 | .word brk @ 0x83 | 429 | .word brk @ 0x83 |
437 | .word brk @ 0x84 | 430 | .word brk @ 0x84 |
438 | .word brk @ 0x85 | 431 | .word brk @ 0x85 |
439 | .word brk @ 0x86 | 432 | .word brk @ 0x86 |
440 | .word brk @ 0x87 | 433 | .word brk @ 0x87 |
441 | .word brk @ 0x88 | 434 | .word brk @ 0x88 |
442 | .word brk @ 0x89 | 435 | .word brk @ 0x89 |
443 | .word brk @ 0x8a | 436 | .word brk @ 0x8a |
444 | .word brk @ 0x8b | 437 | .word brk @ 0x8b |
445 | .word brk @ 0x8c | 438 | .word brk @ 0x8c |
446 | .word brk @ 0x8d | 439 | .word brk @ 0x8d |
447 | .word brk @ 0x8e | 440 | .word brk @ 0x8e |
448 | .word brk @ 0x8f | 441 | .word brk @ 0x8f |
449 | .word brk @ 0x90 | 442 | .word brk @ 0x90 |
450 | .word brk @ 0x91 | 443 | .word brk @ 0x91 |
451 | .word brk @ 0x92 | 444 | .word brk @ 0x92 |
452 | .word brk @ 0x93 | 445 | .word brk @ 0x93 |
453 | .word brk @ 0x94 | 446 | .word brk @ 0x94 |
454 | .word brk @ 0x95 | 447 | .word brk @ 0x95 |
455 | .word brk @ 0x96 | 448 | .word brk @ 0x96 |
456 | .word brk @ 0x97 | 449 | .word brk @ 0x97 |
457 | .word brk @ 0x98 | 450 | .word brk @ 0x98 |
458 | .word brk @ 0x99 | 451 | .word brk @ 0x99 |
459 | .word brk @ 0x9a | 452 | .word brk @ 0x9a |
460 | .word brk @ 0x9b | 453 | .word brk @ 0x9b |
461 | .word brk @ 0x9c | 454 | .word brk @ 0x9c |
462 | .word brk @ 0x9d | 455 | .word brk @ 0x9d |
463 | .word brk @ 0x9e | 456 | .word brk @ 0x9e |
464 | .word brk @ 0x9f | 457 | .word brk @ 0x9f |
465 | .word lit2r @ 0xa0 | 458 | .word lit2r @ 0xa0 |
466 | .word brk @ 0xa1 | 459 | .word brk @ 0xa1 |
467 | .word brk @ 0xa2 | 460 | .word brk @ 0xa2 |
468 | .word brk @ 0xa3 | 461 | .word brk @ 0xa3 |
469 | .word brk @ 0xa4 | 462 | .word brk @ 0xa4 |
470 | .word brk @ 0xa5 | 463 | .word brk @ 0xa5 |
471 | .word brk @ 0xa6 | 464 | .word brk @ 0xa6 |
472 | .word brk @ 0xa7 | 465 | .word brk @ 0xa7 |
473 | .word brk @ 0xa8 | 466 | .word brk @ 0xa8 |
474 | .word brk @ 0xa9 | 467 | .word brk @ 0xa9 |
475 | .word brk @ 0xaa | 468 | .word brk @ 0xaa |
476 | .word brk @ 0xab | 469 | .word brk @ 0xab |
477 | .word brk @ 0xac | 470 | .word brk @ 0xac |
478 | .word brk @ 0xad | 471 | .word brk @ 0xad |
479 | .word brk @ 0xae | 472 | .word brk @ 0xae |
480 | .word brk @ 0xaf | 473 | .word brk @ 0xaf |
481 | .word brk @ 0xb0 | 474 | .word brk @ 0xb0 |
482 | .word brk @ 0xb1 | 475 | .word brk @ 0xb1 |
483 | .word brk @ 0xb2 | 476 | .word brk @ 0xb2 |
484 | .word brk @ 0xb3 | 477 | .word brk @ 0xb3 |
485 | .word brk @ 0xb4 | 478 | .word brk @ 0xb4 |
486 | .word brk @ 0xb5 | 479 | .word brk @ 0xb5 |
487 | .word brk @ 0xb6 | 480 | .word brk @ 0xb6 |
488 | .word brk @ 0xb7 | 481 | .word brk @ 0xb7 |
489 | .word brk @ 0xb8 | 482 | .word brk @ 0xb8 |
490 | .word brk @ 0xb9 | 483 | .word brk @ 0xb9 |
491 | .word brk @ 0xba | 484 | .word brk @ 0xba |
492 | .word brk @ 0xbb | 485 | .word brk @ 0xbb |
493 | .word brk @ 0xbc | 486 | .word brk @ 0xbc |
494 | .word brk @ 0xbd | 487 | .word brk @ 0xbd |
495 | .word brk @ 0xbe | 488 | .word brk @ 0xbe |
496 | .word brk @ 0xbf | 489 | .word brk @ 0xbf |
497 | .word brk @ 0xc0 | 490 | .word brk @ 0xc0 |
498 | .word brk @ 0xc1 | 491 | .word brk @ 0xc1 |
499 | .word brk @ 0xc2 | 492 | .word brk @ 0xc2 |
500 | .word brk @ 0xc3 | 493 | .word brk @ 0xc3 |
501 | .word brk @ 0xc4 | 494 | .word brk @ 0xc4 |
502 | .word brk @ 0xc5 | 495 | .word brk @ 0xc5 |
503 | .word brk @ 0xc6 | 496 | .word brk @ 0xc6 |
504 | .word brk @ 0xc7 | 497 | .word brk @ 0xc7 |
505 | .word brk @ 0xc8 | 498 | .word brk @ 0xc8 |
506 | .word brk @ 0xc9 | 499 | .word brk @ 0xc9 |
507 | .word brk @ 0xca | 500 | .word brk @ 0xca |
508 | .word brk @ 0xcb | 501 | .word brk @ 0xcb |
509 | .word brk @ 0xcc | 502 | .word brk @ 0xcc |
510 | .word brk @ 0xcd | 503 | .word brk @ 0xcd |
511 | .word brk @ 0xce | 504 | .word brk @ 0xce |
512 | .word brk @ 0xcf | 505 | .word brk @ 0xcf |
513 | .word brk @ 0xd0 | 506 | .word brk @ 0xd0 |
514 | .word brk @ 0xd1 | 507 | .word brk @ 0xd1 |
515 | .word brk @ 0xd2 | 508 | .word brk @ 0xd2 |
516 | .word brk @ 0xd3 | 509 | .word brk @ 0xd3 |
517 | .word brk @ 0xd4 | 510 | .word brk @ 0xd4 |
518 | .word brk @ 0xd5 | 511 | .word brk @ 0xd5 |
519 | .word brk @ 0xd6 | 512 | .word brk @ 0xd6 |
520 | .word brk @ 0xd7 | 513 | .word brk @ 0xd7 |
521 | .word brk @ 0xd8 | 514 | .word brk @ 0xd8 |
522 | .word brk @ 0xd9 | 515 | .word brk @ 0xd9 |
523 | .word brk @ 0xda | 516 | .word brk @ 0xda |
524 | .word brk @ 0xdb | 517 | .word brk @ 0xdb |
525 | .word brk @ 0xdc | 518 | .word brk @ 0xdc |
526 | .word brk @ 0xdd | 519 | .word brk @ 0xdd |
527 | .word brk @ 0xde | 520 | .word brk @ 0xde |
528 | .word brk @ 0xdf | 521 | .word brk @ 0xdf |
529 | .word brk @ 0xe0 | 522 | .word brk @ 0xe0 |
530 | .word brk @ 0xe1 | 523 | .word brk @ 0xe1 |
531 | .word brk @ 0xe2 | 524 | .word brk @ 0xe2 |
532 | .word brk @ 0xe3 | 525 | .word brk @ 0xe3 |
533 | .word brk @ 0xe4 | 526 | .word brk @ 0xe4 |
534 | .word brk @ 0xe5 | 527 | .word brk @ 0xe5 |
535 | .word brk @ 0xe6 | 528 | .word brk @ 0xe6 |
536 | .word brk @ 0xe7 | 529 | .word brk @ 0xe7 |
537 | .word brk @ 0xe8 | 530 | .word brk @ 0xe8 |
538 | .word brk @ 0xe9 | 531 | .word brk @ 0xe9 |
539 | .word brk @ 0xea | 532 | .word brk @ 0xea |
540 | .word brk @ 0xeb | 533 | .word brk @ 0xeb |
541 | .word brk @ 0xec | 534 | .word brk @ 0xec |
542 | .word brk @ 0xed | 535 | .word brk @ 0xed |
543 | .word brk @ 0xee | 536 | .word brk @ 0xee |
544 | .word brk @ 0xef | 537 | .word brk @ 0xef |
545 | .word brk @ 0xf0 | 538 | .word brk @ 0xf0 |
546 | .word brk @ 0xf1 | 539 | .word brk @ 0xf1 |
547 | .word brk @ 0xf2 | 540 | .word brk @ 0xf2 |
548 | .word brk @ 0xf3 | 541 | .word brk @ 0xf3 |
549 | .word brk @ 0xf4 | 542 | .word brk @ 0xf4 |
550 | .word brk @ 0xf5 | 543 | .word brk @ 0xf5 |
551 | .word brk @ 0xf6 | 544 | .word brk @ 0xf6 |
552 | .word brk @ 0xf7 | 545 | .word brk @ 0xf7 |
553 | .word brk @ 0xf8 | 546 | .word brk @ 0xf8 |
554 | @ TODO: Can we mask this instead of having empty space? | 547 | @ TODO: Can we mask this instead of having empty space? |
555 | .word lit2r @ 0xf9 | 548 | .word lit2r @ 0xf9 |
556 | .word litr @ 0xfa | 549 | .word litr @ 0xfa |
557 | .word lit2r @ 0xfb | 550 | .word lit2r @ 0xfb |
558 | .word litr @ 0xfc | 551 | .word litr @ 0xfc |
559 | .word jsi @ 0xfd | 552 | .word jsi @ 0xfd |
560 | .word jmi @ 0xfe | 553 | .word jmi @ 0xfe |
561 | .word jci @ 0xff | 554 | .word jci @ 0xff |