aboutsummaryrefslogtreecommitdiffstats
path: root/src/uxn-core.s
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-08-27 22:52:43 +0200
committerBad Diode <bd@badd10de.dev>2023-08-27 22:52:43 +0200
commit8357708a6f73401886bc2bdf405cb19adf419cbc (patch)
treead9b1c3d2fed68bd3cadcff1f5fd868040598706 /src/uxn-core.s
parent941ad8e28efb685e910b38b06f98bc79fb29677f (diff)
downloaduxngba-8357708a6f73401886bc2bdf405cb19adf419cbc.tar.gz
uxngba-8357708a6f73401886bc2bdf405cb19adf419cbc.zip
Adjust add/sub instructions slightly
Diffstat (limited to 'src/uxn-core.s')
-rw-r--r--src/uxn-core.s747
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
31uxn_eval_asm: 31uxn_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
38uxn_decode: 38uxn_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
49uxn_ret: 46uxn_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
60brk: 57brk:
61 b uxn_ret 58 b uxn_ret
62 59
63jci: 60jci:
64 b uxn_decode 61 b uxn_decode
65 62
66jmi: 63jmi:
67 b uxn_decode 64 b uxn_decode
68 65
69jsi: 66jsi:
70 b uxn_decode 67 b uxn_decode
71 68
72litr: 69litr:
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
77lit2r: 74lit2r:
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
84inc: 81inc:
85 b uxn_decode 82 b uxn_decode
86 83
87inc2: 84inc2:
88 b uxn_decode 85 b uxn_decode
89 86
90pop: 87pop:
91 b uxn_decode 88 b uxn_decode
92 89
93pop2: 90pop2:
94 b uxn_decode 91 b uxn_decode
95 92
96nip: 93nip:
97 b uxn_decode 94 b uxn_decode
98 95
99nip2: 96nip2:
100 b uxn_decode 97 b uxn_decode
101 98
102swp: 99swp:
103 b uxn_decode 100 b uxn_decode
104 101
105swp2: 102swp2:
106 b uxn_decode 103 b uxn_decode
107 104
108rot: 105rot:
109 b uxn_decode 106 b uxn_decode
110 107
111rot2: 108rot2:
112 b uxn_decode 109 b uxn_decode
113 110
114dup: 111dup:
115 b uxn_decode 112 b uxn_decode
116 113
117dup2: 114dup2:
118 b uxn_decode 115 b uxn_decode
119 116
120ovr: 117ovr:
121 b uxn_decode 118 b uxn_decode
122 119
123ovr2: 120ovr2:
124 b uxn_decode 121 b uxn_decode
125 122
126equ: 123equ:
127 b uxn_decode 124 b uxn_decode
128 125
129equ2: 126equ2:
130 b uxn_decode 127 b uxn_decode
131 128
132neq: 129neq:
133 b uxn_decode 130 b uxn_decode
134 131
135neq2: 132neq2:
136 b uxn_decode 133 b uxn_decode
137 134
138gth: 135gth:
139 b uxn_decode 136 b uxn_decode
140 137
141gth2: 138gth2:
142 b uxn_decode 139 b uxn_decode
143 140
144lth: 141lth:
145 b uxn_decode 142 b uxn_decode
146 143
147lth2: 144lth2:
148 b uxn_decode 145 b uxn_decode
149 146
150jmp: 147jmp:
151 b uxn_decode 148 b uxn_decode
152 149
153jmp2: 150jmp2:
154 b uxn_decode 151 b uxn_decode
155 152
156jcn: 153jcn:
157 b uxn_decode 154 b uxn_decode
158 155
159jcn2: 156jcn2:
160 b uxn_decode 157 b uxn_decode
161 158
162jsr: 159jsr:
163 b uxn_decode 160 b uxn_decode
164 161
165jsr2: 162jsr2:
166 b uxn_decode 163 b uxn_decode
167 164
168sth: 165sth:
169 b uxn_decode 166 b uxn_decode
170 167
171sth2: 168sth2:
172 b uxn_decode 169 b uxn_decode
173 170
174ldz: 171ldz:
175 b uxn_decode 172 b uxn_decode
176 173
177ldz2: 174ldz2:
178 b uxn_decode 175 b uxn_decode
179 176
180stz: 177stz:
181 b uxn_decode 178 b uxn_decode
182 179
183stz2: 180stz2:
184 b uxn_decode 181 b uxn_decode
185 182
186ldr: 183ldr:
187 b uxn_decode 184 b uxn_decode
188 185
189ldr2: 186ldr2:
190 b uxn_decode 187 b uxn_decode
191 188
192str: 189str:
193 b uxn_decode 190 b uxn_decode
194 191
195str2: 192str2:
196 b uxn_decode 193 b uxn_decode
197 194
198lda: 195lda:
199 b uxn_decode 196 b uxn_decode
200 197
201lda2: 198lda2:
202 b uxn_decode 199 b uxn_decode
203 200
204sta: 201sta:
205 b uxn_decode 202 b uxn_decode
206 203
207sta2: 204sta2:
208 b uxn_decode 205 b uxn_decode
209 206
210dei: 207dei:
211 b uxn_decode 208 b uxn_decode
212 209
213dei2: 210dei2:
214 b uxn_decode 211 b uxn_decode
215 212
216deo: 213deo:
217 b uxn_decode 214 b uxn_decode
218 215
219deo2: 216deo2:
220 b uxn_decode 217 b uxn_decode
221 218
222add: 219add:
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
229add2: 226add2:
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
244sub: 239sub:
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
251sub2: 246sub2:
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
266mul: 259mul:
267 b uxn_decode 260 b uxn_decode
268 261
269mul2: 262mul2:
270 b uxn_decode 263 b uxn_decode
271 264
272div: 265div:
273 b uxn_decode 266 b uxn_decode
274 267
275div2: 268div2:
276 b uxn_decode 269 b uxn_decode
277 270
278and: 271and:
279 b uxn_decode 272 b uxn_decode
280 273
281and2: 274and2:
282 b uxn_decode 275 b uxn_decode
283 276
284ora: 277ora:
285 b uxn_decode 278 b uxn_decode
286 279
287ora2: 280ora2:
288 b uxn_decode 281 b uxn_decode
289 282
290eor: 283eor:
291 b uxn_decode 284 b uxn_decode
292 285
293eor2: 286eor2:
294 b uxn_decode 287 b uxn_decode
295 288
296sft: 289sft:
297 b uxn_decode 290 b uxn_decode
298 291
299sft2: 292sft2:
300 b uxn_decode 293 b uxn_decode
301 294
302@ OP table 295@ OP table
303op_table: 296op_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