Hackfix and re-enable strtoull and wcstoull, see bug #3798.
[sdcc.git] / sdcc / sdas / asstm8 / st8err.asm
blobf4e3212da92a330ac3b5f0b7c9d4db6153916d98
1 .title stm8 Assembly Errors Test
3 .area Prog(rel,con)
6 abyt = 0x0110 ; Absolute 1-Byte Value
7 awrd = 0x015432 ; Absolute 2-Byte Value
8 aexa = 0x01BA9876 ; Absolute 3-Byte Value
10 rbyt = . + 0x0010 ; Relocatable 1-Byte Value
11 rwrd = . + 0x5432 ; Relocatable 2-Byte Value
12 rexa = . + 0xBA9876 ; Relocatable 3-Byte Value
15 .page
16 .sbttl Base STM8 Instructions in Numerical Order (Absolute)
18 ; The 1-Byte abyt value has been changed to a 2-Byte value.
19 ; Those instructions not supporting a 2-Byte mode will
20 ; report an 'a' error except most immediate mode instructions
21 ; which simply use the lower 1-Byte value.
23 ; The 2-Byte awrd value has been changed to a 3-Byte value.
24 ; All modes with awrd will report 'a' errors except the
25 ; immediate mode which simply uses the lower 2-Byte value.
27 ; All 3-Byte instructions simply use the lower 3-Byte value.
30 ; Note:
31 ; This file's comments are formatted so that
32 ; the expected assembler errors can be seen
33 ; and the generated code can be compared to
34 ; the expected code using the asxscn program.
37 agrp0:
38 neg (abyt,sp) ;a ; 00 10
39 rrwa x,a ; ; 01
40 rlwa x,a ; ; 02
41 cpl (abyt,sp) ;a ; 03 10
42 srl (abyt,sp) ;a ; 04 10
43 ; ; 05
44 rrc (abyt,sp) ;a ; 06 10
45 sra (abyt,sp) ;a ; 07 10
46 sla (abyt,sp) ;a ; 08 10
47 rlc (abyt,sp) ;a ; 09 10
48 dec (abyt,sp) ;a ; 0A 10
49 ; ; 0B 10
50 inc (abyt,sp) ;a ; 0C 10
51 tnz (abyt,sp) ;a ; 0D 10
52 swap (abyt,sp) ;a ; 0E 10
53 clr (abyt,sp) ;a ; 0F 10
55 agrp1:
56 sub a,(abyt,sp) ;a ; 10 10
57 cp a,(abyt,sp) ;a ; 11 10
58 sbc a,(abyt,sp) ;a ; 12 10
59 cpw x,(abyt,sp) ;a ; 13 10
60 and a,(abyt,sp) ;a ; 14 10
61 bcp a,(abyt,sp) ;a ; 15 10
62 ldw y,(abyt,sp) ;a ; 16 10
63 ldw (abyt,sp),y ;a ; 17 10
64 xor a,(abyt,sp) ;a ; 18 10
65 adc a,(abyt,sp) ;a ; 19 10
66 or a,(abyt,sp) ;a ; 1A 10
67 add a,(abyt,sp) ;a ; 1B 10
68 addw x,#awrd ; ; 1C 54 32
69 subw x,#awrd ; ; 1D 54 32
70 ldw x,(abyt,sp) ;a ; 1E 10
71 ldw (abyt,sp),x ;a ; 1F 10
73 .page
75 agrp2:
76 jra 1$ ; ; 20 0E
77 jrf 1$ ; ; 21 0C
78 jrugt 1$ ; ; 22 0A
79 jrule 1$ ; ; 23 08
80 jrnc 1$ ; ; 24 06
81 jrc 1$ ; ; 25 04
82 jrne 1$ ; ; 26 02
83 jreq 1$ ; ; 27 00
84 1$: jrnv 1$ ; ; 28 FE
85 jrv 1$ ; ; 29 FC
86 jrpl 1$ ; ; 2A FA
87 jrmi 1$ ; ; 2B F8
88 jrsgt 1$ ; ; 2C F6
89 jrsle 1$ ; ; 2D F4
90 jrsge 1$ ; ; 2E F2
91 jrslt 1$ ; ; 2F F0
93 agrp3:
94 neg abyt ; ; 72 50 01 10
95 exg a,awrd ;a ; 31 54 32
96 pop awrd ;a ; 32 54 32
97 cpl abyt ; ; 72 53 01 10
98 srl abyt ; ; 72 54 01 10
99 mov awrd,#abyt ;a ; 35 10 54 32
100 rrc abyt ; ; 72 56 01 10
101 sra abyt ; ; 72 57 01 10
102 sla abyt ; ; 72 58 01 10
103 rlc abyt ; ; 72 59 01 10
104 dec abyt ; ; 72 5A 01 10
105 push awrd ;a ; 3B 54 32
106 inc abyt ; ; 72 5C 01 10
107 tnz abyt ; ; 72 5D 01 10
108 swap abyt ; ; 72 5E 01 10
109 clr abyt ; ; 72 5F 01 10
111 .page
113 agrp4:
114 neg a ; ; 40
115 exg a,xl ; ; 41
116 mul x,a ; ; 42
117 cpl a ; ; 43
118 srl a ; ; 44
119 mov abyt,abyt+0x11 ; ; 55 01 21 01 10
120 rrc a ; ; 46
121 sra a ; ; 47
122 sla a ; ; 48
123 rlc a ; ; 49
124 dec a ; ; 4A
125 push #abyt ; ; 4B 10
126 inc a ; ; 4C
127 tnz a ; ; 4D
128 swap a ; ; 4E
129 clr a ; ; 4F
131 agrp5:
132 negw x ; ; 50
133 exgw x,y ; ; 51
134 sub sp,#abyt ;a ; 52 10
135 cplw x ; ; 53
136 srlw x ; ; 54
137 mov awrd,awrd+0x1111;a ; 55 65 43 54 32
138 rrcw x ; ; 56
139 sraw x ; ; 57
140 slaw x ; ; 58
141 rlcw x ; ; 59
142 decw x ; ; 5A
143 add sp,#abyt ;a ; 5B 10
144 incw x ; ; 5C
145 tnzw x ; ; 5D
146 swapw x ; ; 5E
147 clrw x ; ; 5F
149 .page
151 agrp6:
152 neg (abyt,x) ; ; 72 40 01 10
153 exg a,yl ; ; 61
154 div x,a ; ; 62
155 cpl (abyt,x) ; ; 72 43 01 10
156 srl (abyt,x) ; ; 72 44 01 10
157 divw x,y ; ; 65
158 rrc (abyt,x) ; ; 72 46 01 10
159 sra (abyt,x) ; ; 72 47 01 10
160 sla (abyt,x) ; ; 72 48 01 10
161 rlc (abyt,x) ; ; 72 49 01 10
162 dec (abyt,x) ; ; 72 4A 01 10
163 ld (abyt,sp),a ;a ; 6B 10
164 inc (abyt,x) ; ; 72 4C 01 10
165 tnz (abyt,x) ; ; 72 4D 01 10
166 swap (abyt,x) ; ; 72 4E 01 10
167 clr (abyt,x) ; ; 72 4F 01 10
169 agrp7:
170 neg (x) ; ; 70
171 ; ; 71
172 ; ; 72
173 cpl (x) ; ; 73
174 srl (x) ; ; 74
175 ; ; 75
176 rrc (x) ; ; 76
177 sra (x) ; ; 77
178 sla (x) ; ; 78
179 rlc (x) ; ; 79
180 dec (x) ; ; 7A
181 ld a,(abyt,sp) ;a ; 7B 10
182 inc (x) ; ; 7C
183 tnz (x) ; ; 7D
184 swap (x) ; ; 7E
185 clr (x) ; ; 7F
187 .page
189 agrp8:
190 iret ; ; 80
191 ret ; ; 81
192 ; ; 82
193 trap ; ; 83
194 pop a ; ; 84
195 popw x ; ; 85
196 pop cc ; ; 86
197 retf ; ; 87
198 push a ; ; 88
199 pushw x ; ; 89
200 push cc ; ; 8A
201 ; ; 8B
202 ccf ; ; 8C
203 callf aexa ; ; 8D BA 98 76
204 halt ; ; 8E
205 wfi ; ; 8F
207 agrp9:
208 ; ; 90
209 ; ; 91
210 ; ; 92
211 ldw x,y ; ; 93
212 ldw sp,x ; ; 94
213 ld xh,a ; ; 95
214 ldw x,sp ; ; 96
215 ld xl,a ; ; 97
216 rcf ; ; 98
217 scf ; ; 99
218 rim ; ; 9A
219 sim ; ; 9B
220 rvf ; ; 9C
221 nop ; ; 9D
222 ld a,xh ; ; 9E
223 ld a,xl ; ; 9F
225 .page
227 agrpA:
228 sub a,#abyt ; ; A0 10
229 cp a,#abyt ; ; A1 10
230 sbc a,#abyt ; ; A2 10
231 cpw x,#awrd ; ; A3 54 32
232 and a,#abyt ; ; A4 10
233 bcp a,#abyt ; ; A5 10
234 ld a,#abyt ; ; A6 10
235 ldf (aexa,x),a ; ; A7 BA 98 76
236 xor a,#abyt ; ; A8 10
237 adc a,#abyt ; ; A9 10
238 or a,#abyt ; ; AA 10
239 add a,#abyt ; ; AB 10
240 jpf aexa ; ; AC BA 98 76
241 1$: callr 1$ ; ; AD FE
242 ldw x,#awrd ; ; AE 54 32
243 ldf a,(aexa,x) ; ; AF BA 98 76
245 agrpB:
246 sub a,abyt ; ; C0 01 10
247 cp a,abyt ; ; C1 01 10
248 sbc a,abyt ; ; C2 01 10
249 cpw x,abyt ; ; C3 01 10
250 and a,abyt ; ; C4 01 10
251 bcp a,abyt ; ; C5 01 10
252 ld a,abyt ; ; C6 01 10
253 ld abyt,a ; ; C7 01 10
254 xor a,abyt ; ; C8 01 10
255 adc a,abyt ; ; C9 01 10
256 or a,abyt ; ; CA 01 10
257 add a,abyt ; ; CB 01 10
258 ldf a,aexa ; ; BC BA 98 76
259 ldf aexa,a ; ; BD BA 98 76
260 ldw x,abyt ; ; CE 01 10
261 ldw abyt,x ; ; CF 01 10
263 .page
265 agrpC:
266 sub a,awrd ;a ; C0 54 32
267 cp a,awrd ;a ; C1 54 32
268 sbc a,awrd ;a ; C2 54 32
269 cpw x,awrd ;a ; C3 54 32
270 and a,awrd ;a ; C4 54 32
271 bcp a,awrd ;a ; C5 54 32
272 ld a,awrd ;a ; C6 54 32
273 ld awrd,a ;a ; C7 54 32
274 xor a,awrd ;a ; C8 54 32
275 adc a,awrd ;a ; C9 54 32
276 or a,awrd ;a ; CA 54 32
277 add a,awrd ;a ; CB 54 32
278 jp awrd ; ; CC 54 32
279 call awrd ; ; CD 54 32
280 ldw x,awrd ;a ; CE 54 32
281 ldw awrd,x ;a ; CF 54 32
283 agrpD:
284 sub a,(awrd,x) ;a ; D0 54 32
285 cp a,(awrd,x) ;a ; D1 54 32
286 sbc a,(awrd,x) ;a ; D2 54 32
287 cpw y,(awrd,x) ;a ; D3 54 32
288 and a,(awrd,x) ;a ; D4 54 32
289 bcp a,(awrd,x) ;a ; D5 54 32
290 ld a,(awrd,x) ;a ; D6 54 32
291 ld (awrd,x),a ;a ; D7 54 32
292 xor a,(awrd,x) ;a ; D8 54 32
293 adc a,(awrd,x) ;a ; D9 54 32
294 or a,(awrd,x) ;a ; DA 54 32
295 add a,(awrd,x) ;a ; DB 54 32
296 jp (awrd,x) ;a ; DC 54 32
297 call (awrd,x) ;a ; DD 54 32
298 ldw x,(awrd,x) ;a ; DE 54 32
299 ldw (awrd,x),y ;a ; DF 54 32
301 .page
303 agrpE:
304 sub a,(abyt,x) ; ; D0 01 10
305 cp a,(abyt,x) ; ; D1 01 10
306 sbc a,(abyt,x) ; ; D2 01 10
307 cpw y,(abyt,x) ; ; D3 01 10
308 and a,(abyt,x) ; ; D4 01 10
309 bcp a,(abyt,x) ; ; D5 01 10
310 ld a,(abyt,x) ; ; D6 01 10
311 ld (abyt,x),a ; ; D7 01 10
312 xor a,(abyt,x) ; ; D8 01 10
313 adc a,(abyt,x) ; ; D9 01 10
314 or a,(abyt,x) ; ; DA 01 10
315 add a,(abyt,x) ; ; DB 01 10
316 jp (abyt,x) ; ; DC 01 10
317 call (abyt,x) ; ; DD 01 10
318 ldw x,(abyt,x) ; ; DE 01 10
319 ldw (abyt,x),y ; ; DF 01 10
321 agrpF:
322 sub a,(x) ; ; F0
323 cp a,(x) ; ; F1
324 sbc a,(x) ; ; F2
325 cpw y,(x) ; ; F3
326 and a,(x) ; ; F4
327 bcp a,(x) ; ; F5
328 ld a,(x) ; ; F6
329 ld (x),a ; ; F7
330 xor a,(x) ; ; F8
331 adc a,(x) ; ; F9
332 or a,(x) ; ; FA
333 add a,(x) ; ; FB
334 jp (x) ; ; FC
335 call (x) ; ; FD
336 ldw x,(x) ; ; FE
337 ldw (x),y ; ; FF
340 .page
341 .sbttl Page 72 STM8 Instructions in Numerical Order (Absolute)
343 agrp72_0:
344 btjt awrd,#0,1$ ;a ; 72 00 54 32 23
345 btjf awrd,#0,1$ ;a ; 72 01 54 32 1E
346 btjt awrd,#1,1$ ;a ; 72 02 54 32 19
347 btjf awrd,#1,1$ ;a ; 72 03 54 32 14
348 btjt awrd,#2,1$ ;a ; 72 04 54 32 0F
349 btjf awrd,#2,1$ ;a ; 72 05 54 32 0A
350 btjt awrd,#3,1$ ;a ; 72 06 54 32 05
351 btjf awrd,#3,1$ ;a ; 72 07 54 32 00
352 1$: btjt awrd,#4,1$ ;a ; 72 08 54 32 FB
353 btjf awrd,#4,1$ ;a ; 72 09 54 32 F6
354 btjt awrd,#5,1$ ;a ; 72 0A 54 32 F1
355 btjf awrd,#5,1$ ;a ; 72 0B 54 32 EC
356 btjt awrd,#6,1$ ;a ; 72 0C 54 32 E7
357 btjf awrd,#6,1$ ;a ; 72 0D 54 32 E2
358 btjt awrd,#7,1$ ;a ; 72 0E 54 32 DD
359 btjf awrd,#7,1$ ;a ; 72 0F 54 32 D8
361 agrp72_1:
362 bset awrd,#0 ;a ; 72 10 54 32
363 bres awrd,#0 ;a ; 72 11 54 32
364 bset awrd,#1 ;a ; 72 12 54 32
365 bres awrd,#1 ;a ; 72 13 54 32
366 bset awrd,#2 ;a ; 72 14 54 32
367 bres awrd,#2 ;a ; 72 15 54 32
368 bset awrd,#3 ;a ; 72 16 54 32
369 bres awrd,#3 ;a ; 72 17 54 32
370 bset awrd,#4 ;a ; 72 18 54 32
371 bres awrd,#4 ;a ; 72 19 54 32
372 bset awrd,#5 ;a ; 72 1A 54 32
373 bres awrd,#5 ;a ; 72 1B 54 32
374 bset awrd,#6 ;a ; 72 1C 54 32
375 bres awrd,#6 ;a ; 72 1D 54 32
376 bset awrd,#7 ;a ; 72 1E 54 32
377 bres awrd,#7 ;a ; 72 1F 54 32
379 agrp72_2:
381 .page
383 agrp72_3:
384 neg [awrd] ;a ; 72 30 54 32
385 ; ; 72 31
386 ; ; 72 32
387 cpl [awrd] ;a ; 72 33 54 32
388 srl [awrd] ;a ; 72 34 54 32
389 ; ; 72 35
390 rrc [awrd] ;a ; 72 36 54 32
391 sra [awrd] ;a ; 72 37 54 32
392 sla [awrd] ;a ; 72 38 54 32
393 rlc [awrd] ;a ; 72 39 54 32
394 dec [awrd] ;a ; 72 3A 54 32
395 ; ; 72 3B
396 inc [awrd] ;a ; 72 3C 54 32
397 tnz [awrd] ;a ; 72 3D 54 32
398 swap [awrd] ;a ; 72 3E 54 32
399 clr [awrd] ;a ; 72 3F 54 32
401 agrp72_4:
402 neg (awrd,x) ;a ; 72 40 54 32
403 ; ; 72 41
404 ; ; 72 42
405 cpl (awrd,x) ;a ; 72 43 54 32
406 srl (awrd,x) ;a ; 72 44 54 32
407 ; ; 72 45
408 rrc (awrd,x) ;a ; 72 46 54 32
409 sra (awrd,x) ;a ; 72 47 54 32
410 sla (awrd,x) ;a ; 72 48 54 32
411 rlc (awrd,x) ;a ; 72 49 54 32
412 dec (awrd,x) ;a ; 72 4A 54 32
413 ; ; 72 4B
414 inc (awrd,x) ;a ; 72 4C 54 32
415 tnz (awrd,x) ;a ; 72 4D 54 32
416 swap (awrd,x) ;a ; 72 4E 54 32
417 clr (awrd,x) ;a ; 72 4F 54 32
419 .page
421 agrp72_5:
422 neg awrd ;a ; 72 50 54 32
423 ; ; 72 51
424 ; ; 72 52
425 cpl awrd ;a ; 72 53 54 32
426 srl awrd ;a ; 72 54 54 32
427 ; ; 72 55
428 rrc awrd ;a ; 72 56 54 32
429 sra awrd ;a ; 72 57 54 32
430 sla awrd ;a ; 72 58 54 32
431 rlc awrd ;a ; 72 59 54 32
432 dec awrd ;a ; 72 5A 54 32
433 ; ; 72 5B
434 inc awrd ;a ; 72 5C 54 32
435 tnz awrd ;a ; 72 5D 54 32
436 swap awrd ;a ; 72 5E 54 32
437 clr awrd ;a ; 72 5F 54 32
439 agrp72_6:
440 neg ([awrd],x) ;a ; 72 60 54 32
441 ; ; 72 61
442 ; ; 72 62
443 cpl ([awrd],x) ;a ; 72 63 54 32
444 srl ([awrd],x) ;a ; 72 64 54 32
445 ; ; 72 65
446 rrc ([awrd],x) ;a ; 72 66 54 32
447 sra ([awrd],x) ;a ; 72 67 54 32
448 sla ([awrd],x) ;a ; 72 68 54 32
449 rlc ([awrd],x) ;a ; 72 69 54 32
450 dec ([awrd],x) ;a ; 72 6A 54 32
451 ; ; 72 6B
452 inc ([awrd],x) ;a ; 72 6C 54 32
453 tnz ([awrd],x) ;a ; 72 6D 54 32
454 swap ([awrd],x) ;a ; 72 6E 54 32
455 clr ([awrd],x) ;a ; 72 6F 54 32
457 .page
459 agrp72_7:
461 agrp72_8:
462 wfe ; ; 72 8F
464 agrp72_9:
466 agrp72_A:
467 subw y,#awrd ; ; 72 A2 54 32
468 addw y,#awrd ; ; 72 A9 54 32
470 agrp72_B:
471 subw x,abyt ;a ; 72 B0 10
472 subw y,abyt ;a ; 72 B2 10
473 addw y,abyt ;a ; 72 B9 10
474 addw x,abyt ;a ; 72 BB 10
476 .page
478 agrp72_C:
479 sub a,[awrd] ;a ; 72 C0 54 32
480 cp a,[awrd] ;a ; 72 C1 54 32
481 sbc a,[awrd] ;a ; 72 C2 54 32
482 cpw x,[awrd] ;a ; 72 C3 54 32
483 and a,[awrd] ;a ; 72 C4 54 32
484 bcp a,[awrd] ;a ; 72 C5 54 32
485 ld a,[awrd] ;a ; 72 C6 54 32
486 ld [awrd],a ;a ; 72 C7 54 32
487 xor a,[awrd] ;a ; 72 C8 54 32
488 adc a,[awrd] ;a ; 72 C9 54 32
489 or a,[awrd] ;a ; 72 CA 54 32
490 add a,[awrd] ;a ; 72 CB 54 32
491 jp [awrd] ;a ; 72 CC 54 32
492 call [awrd] ;a ; 72 CD 54 32
493 ldw x,[awrd] ;a ; 72 CE 54 32
494 ldw [awrd],x ;a ; 72 CF 54 32
496 agrp72_D:
497 sub a,([awrd],x) ;a ; 72 D0 54 32
498 cp a,([awrd],x) ;a ; 72 D1 54 32
499 sbc a,([awrd],x) ;a ; 72 D2 54 32
500 cpw y,([awrd],x) ;a ; 72 D3 54 32
501 and a,([awrd],x) ;a ; 72 D4 54 32
502 bcp a,([awrd],x) ;a ; 72 D5 54 32
503 ld a,([awrd],x) ;a ; 72 D6 54 32
504 ld ([awrd],x),a ;a ; 72 D7 54 32
505 xor a,([awrd],x) ;a ; 72 D8 54 32
506 adc a,([awrd],x) ;a ; 72 D9 54 32
507 or a,([awrd],x) ;a ; 72 DA 54 32
508 add a,([awrd],x) ;a ; 72 DB 54 32
509 jp ([awrd],x) ;a ; 72 DC 54 32
510 call ([awrd],x) ;a ; 72 DD 54 32
511 ldw x,([awrd],x) ;a ; 72 DE 54 32
512 ldw ([awrd],x),y ;a ; 72 DF 54 32
514 agrp72_E:
516 agrp72_F:
517 subw x,(abyt,sp) ;a ; 72 F0 10
518 subw y,(abyt,sp) ;a ; 72 F2 10
519 addw y,(abyt,sp) ;a ; 72 F9 10
520 addw x,(abyt,sp) ;a ; 72 FB 10
523 .page
524 .sbttl Page 90 STM8 Instructions in Numerical Order (Absolute)
526 agrp90_0:
527 rrwa y,a ; ; 90 01
528 rlwa y,a ; ; 90 02
530 agrp90_1:
531 bcpl awrd,#0 ;a ; 90 10 54 32
532 bccm awrd,#0 ;a ; 90 11 54 32
533 bcpl awrd,#1 ;a ; 90 12 54 32
534 bccm awrd,#1 ;a ; 90 13 54 32
535 bcpl awrd,#2 ;a ; 90 14 54 32
536 bccm awrd,#2 ;a ; 90 15 54 32
537 bcpl awrd,#3 ;a ; 90 16 54 32
538 bccm awrd,#3 ;a ; 90 17 54 32
539 bcpl awrd,#4 ;a ; 90 18 54 32
540 bccm awrd,#4 ;a ; 90 19 54 32
541 bcpl awrd,#5 ;a ; 90 1A 54 32
542 bccm awrd,#5 ;a ; 90 1B 54 32
543 bcpl awrd,#6 ;a ; 90 1C 54 32
544 bccm awrd,#6 ;a ; 90 1D 54 32
545 bcpl awrd,#7 ;a ; 90 1E 54 32
546 bccm awrd,#7 ;a ; 90 1F 54 32
548 agrp90_2:
549 jrnh 1$ ; ; 90 28 0C
550 jrh 1$ ; ; 90 29 09
551 jrnm 1$ ; ; 90 2C 06
552 jrm 1$ ; ; 90 2D 03
553 jril 1$ ; ; 90 2E 00
554 1$: jrih 1$ ; ; 90 2F FD
556 agrp90_3:
558 .page
560 agrp90_4:
561 neg (awrd,y) ;a ; 90 40 54 32
562 ; ; 90 41
563 mul y,a ; ; 90 42
564 cpl (awrd,y) ;a ; 90 43 54 32
565 srl (awrd,y) ;a ; 90 44 54 32
566 ; ; 90 45
567 rrc (awrd,y) ;a ; 90 46 54 32
568 sra (awrd,y) ;a ; 90 47 54 32
569 sla (awrd,y) ;a ; 90 48 54 32
570 rlc (awrd,y) ;a ; 90 49 54 32
571 dec (awrd,y) ;a ; 90 4A 54 32
572 ; ; 90 4B
573 inc (awrd,y) ;a ; 90 4C 54 32
574 tnz (awrd,y) ;a ; 90 4D 54 32
575 swap (awrd,y) ;a ; 90 4E 54 32
576 clr (awrd,y) ;a ; 90 4F 54 32
578 agrp90_5:
579 negw y ; ; 90 50
580 ; ; 90 51
581 ; ; 90 52
582 cplw y ; ; 90 53
583 srlw y ; ; 90 54
584 ; ; 90 55
585 rrcw y ; ; 90 56
586 sraw y ; ; 90 57
587 slaw y ; ; 90 58
588 rlcw y ; ; 90 59
589 decw y ; ; 90 5A
590 ; ; 90 5B
591 incw y ; ; 90 5C
592 tnzw y ; ; 90 5D
593 swapw y ; ; 90 5E
594 clrw y ; ; 90 5F
596 .page
598 agrp90_6:
599 neg (abyt,y) ; ; 90 40 01 10
600 ; ; 90 61
601 div y,a ; ; 90 62
602 cpl (abyt,y) ; ; 90 43 01 10
603 srl (abyt,y) ; ; 90 44 01 10
604 ; ; 90 65
605 rrc (abyt,y) ; ; 90 46 01 10
606 sra (abyt,y) ; ; 90 47 01 10
607 sla (abyt,y) ; ; 90 48 01 10
608 rlc (abyt,y) ; ; 90 49 01 10
609 dec (abyt,y) ; ; 90 4A 01 10
610 ; ; 90 6B
611 inc (abyt,y) ; ; 90 4C 01 10
612 tnz (abyt,y) ; ; 90 4D 01 10
613 swap (abyt,y) ; ; 90 4E 01 10
614 clr (abyt,y) ; ; 90 4F 01 10
616 agrp90_7:
617 neg (y) ; ; 90 70
618 ; ; 90 71
619 ; ; 90 72
620 cpl (y) ; ; 90 73
621 srl (y) ; ; 90 74
622 ; ; 90 75
623 rrc (y) ; ; 90 76
624 sra (y) ; ; 90 77
625 sla (y) ; ; 90 78
626 rlc (y) ; ; 90 79
627 dec (y) ; ; 90 7A
628 ; ; 90 7B
629 inc (y) ; ; 90 7C
630 tnz (y) ; ; 90 7D
631 swap (y) ; ; 90 7E
632 clr (y) ; ; 90 7F
634 .page
636 agrp90_8:
637 popw y ; ; 90 85
638 pushw y ; ; 90 89
640 agrp90_9:
641 ldw y,x ; ; 90 93
642 ldw sp,y ; ; 90 94
643 ld yh,a ; ; 90 95
644 ldw y,sp ; ; 90 96
645 ld yl,a ; ; 90 97
646 ld a,yh ; ; 90 9E
647 ld a,yl ; ; 90 9F
649 agrp90_A:
650 cpw y,#awrd ; ; 90 A3 54 32
651 ldf (aexa,y),a ; ; 90 A7 BA 98 76
652 ldw y,#awrd ; ; 90 AE 54 32
653 ldf a,(aexa,y) ; ; 90 AF BA 98 76
655 agrp90_B:
656 cpw y,abyt ; ; 90 C3 01 10
657 ldw y,abyt ; ; 90 CE 01 10
658 ldw abyt,y ; ; 90 CF 01 10
660 agrp90_C:
661 cpw y,awrd ;a ; 90 C3 54 32
662 ldw y,awrd ;a ; 90 CE 54 32
663 ldw awrd,y ;a ; 90 CF 54 32
665 agrp90_D:
666 sub a,(awrd,y) ;a ; 90 D0 54 32
667 cp a,(awrd,y) ;a ; 90 D1 54 32
668 sbc a,(awrd,y) ;a ; 90 D2 54 32
669 cpw x,(awrd,y) ;a ; 90 D3 54 32
670 and a,(awrd,y) ;a ; 90 D4 54 32
671 bcp a,(awrd,y) ;a ; 90 D5 54 32
672 ld a,(awrd,y) ;a ; 90 D6 54 32
673 ld (awrd,y),a ;a ; 90 D7 54 32
674 xor a,(awrd,y) ;a ; 90 D8 54 32
675 adc a,(awrd,y) ;a ; 90 D9 54 32
676 or a,(awrd,y) ;a ; 90 DA 54 32
677 add a,(awrd,y) ;a ; 90 DB 54 32
678 jp (awrd,y) ;a ; 90 DC 54 32
679 call (awrd,y) ;a ; 90 DD 54 32
680 ldw y,(awrd,y) ;a ; 90 DE 54 32
681 ldw (awrd,y),x ;a ; 90 DF 54 32
683 .page
685 agrp90_E:
686 sub a,(abyt,y) ; ; 90 D0 01 10
687 cp a,(abyt,y) ; ; 90 D1 01 10
688 sbc a,(abyt,y) ; ; 90 D2 01 10
689 cpw x,(abyt,y) ; ; 90 D3 01 10
690 and a,(abyt,y) ; ; 90 D4 01 10
691 bcp a,(abyt,y) ; ; 90 D5 01 10
692 ld a,(abyt,y) ; ; 90 D6 01 10
693 ld (abyt,y),a ; ; 90 D7 01 10
694 xor a,(abyt,y) ; ; 90 D8 01 10
695 adc a,(abyt,y) ; ; 90 D9 01 10
696 or a,(abyt,y) ; ; 90 DA 01 10
697 add a,(abyt,y) ; ; 90 DB 01 10
698 jp (abyt,y) ; ; 90 DC 01 10
699 call (abyt,y) ; ; 90 DD 01 10
700 ldw y,(abyt,y) ; ; 90 DE 01 10
701 ldw (abyt,y),x ; ; 90 DF 01 10
703 agrp90_F:
704 sub a,(y) ; ; 90 F0
705 cp a,(y) ; ; 90 F1
706 sbc a,(y) ; ; 90 F2
707 cpw x,(y) ; ; 90 F3
708 and a,(y) ; ; 90 F4
709 bcp a,(y) ; ; 90 F5
710 ld a,(y) ; ; 90 F6
711 ld (y),a ; ; 90 F7
712 xor a,(y) ; ; 90 F8
713 adc a,(y) ; ; 90 F9
714 or a,(y) ; ; 90 FA
715 add a,(y) ; ; 90 FB
716 jp (y) ; ; 90 FC
717 call (y) ; ; 90 FD
718 ldw y,(y) ; ; 90 FE
719 ldw (y),x ; ; 90 FF
722 .page
723 .sbttl Page 91 STM8 Instructions in Numerical Order (Absolute)
725 agrp91_0:
727 agrp91_1:
729 agrp91_2:
731 agrp91_3:
733 agrp91_4:
735 agrp91_5:
737 agrp91_6:
738 neg ([abyt],y) ;a ; 91 60 10
739 ; ; 91 61
740 ; ; 91 62
741 cpl ([abyt],y) ;a ; 91 63 10
742 srl ([abyt],y) ;a ; 91 64 10
743 ; ; 91 65
744 rrc ([abyt],y) ;a ; 91 66 10
745 sra ([abyt],y) ;a ; 91 67 10
746 sla ([abyt],y) ;a ; 91 68 10
747 rlc ([abyt],y) ;a ; 91 69 10
748 dec ([abyt],y) ;a ; 91 6A 10
749 ; ; 91 6B
750 inc ([abyt],y) ;a ; 91 6C 10
751 tnz ([abyt],y) ;a ; 91 6D 10
752 swap ([abyt],y) ;a ; 91 6E 10
753 clr ([abyt],y) ;a ; 91 6F 10
755 agrp91_7:
757 .page
759 agrp91_8:
761 agrp91_9:
763 agrp91_A:
764 ldf ([awrd],y),a ;a ; 91 A7 54 32
765 ldf a,([awrd],y) ;a ; 91 AF 54 32
767 agrp91_B:
769 agrp91_C:
770 cpw y,[abyt] ;a ; 91 C3 10
771 ldw y,[abyt] ;a ; 91 CE 10
772 ldw [abyt],y ;a ; 91 CF 10
774 agrp91_D:
775 sub a,([abyt],y) ;a ; 91 D0 10
776 cp a,([abyt],y) ;a ; 91 D1 10
777 sbc a,([abyt],y) ;a ; 91 D2 10
778 cpw x,([abyt],y) ;a ; 91 D3 10
779 and a,([abyt],y) ;a ; 91 D4 10
780 bcp a,([abyt],y) ;a ; 91 D5 10
781 ld a,([abyt],y) ;a ; 91 D6 10
782 ld ([abyt],y),a ;a ; 91 D7 10
783 xor a,([abyt],y) ;a ; 91 D8 10
784 adc a,([abyt],y) ;a ; 91 D9 10
785 or a,([abyt],y) ;a ; 91 DA 10
786 add a,([abyt],y) ;a ; 91 DB 10
787 jp ([abyt],y) ;a ; 91 DC 10
788 call ([abyt],y) ;a ; 91 DD 10
789 ldw y,([abyt],y) ;a ; 91 DE 10
790 ldw ([abyt],y),x ;a ; 91 DF 10
792 agrp91_E:
794 agrp91_F:
796 .page
797 .sbttl Page 92 STM8 Instructions in Numerical Order (Absolute)
799 agrp92_0:
801 agrp92_1:
803 agrp92_2:
805 agrp92_3:
806 neg [abyt] ; ; 72 30 01 10
807 ; ; 92 31
808 ; ; 92 32
809 cpl [abyt] ; ; 72 33 01 10
810 srl [abyt] ; ; 72 34 01 10
811 ; ; 92 35
812 rrc [abyt] ; ; 72 36 01 10
813 sra [abyt] ; ; 72 37 01 10
814 sla [abyt] ; ; 72 38 01 10
815 rlc [abyt] ; ; 72 39 01 10
816 dec [abyt] ; ; 72 3A 01 10
817 ; ; 92 3B
818 inc [abyt] ; ; 72 3C 01 10
819 tnz [abyt] ; ; 72 3D 01 10
820 swap [abyt] ; ; 72 3E 01 10
821 clr [abyt] ; ; 72 3F 01 10
823 agrp92_4:
825 agrp92_5:
827 agrp92_6:
828 neg ([abyt],x) ; ; 72 60 01 10
829 ; ; 92 61
830 ; ; 92 62
831 cpl ([abyt],x) ; ; 72 63 01 10
832 srl ([abyt],x) ; ; 72 64 01 10
833 ; ; 92 65
834 rrc ([abyt],x) ; ; 72 66 01 10
835 sra ([abyt],x) ; ; 72 67 01 10
836 sla ([abyt],x) ; ; 72 68 01 10
837 rlc ([abyt],x) ; ; 72 69 01 10
838 dec ([abyt],x) ; ; 72 6A 01 10
839 ; ; 92 6B
840 inc ([abyt],x) ; ; 72 6C 01 10
841 tnz ([abyt],x) ; ; 72 6D 01 10
842 swap ([abyt],x) ; ; 72 6E 01 10
843 clr ([abyt],x) ; ; 72 6F 01 10
845 agrp92_7:
847 .page
849 agrp92_8:
850 callf [awrd] ;a ; 92 8D 54 32
852 agrp92_9:
854 agrp92_A:
855 ldf ([awrd],x),a ;a ; 92 A7 54 32
856 jpf [awrd] ;a ; 92 AC 54 32
857 ldf a,([awrd],x) ;a ; 92 AF 54 32
859 agrp92_B:
860 ldf a,[awrd] ;a ; 92 BC 54 32
861 ldf [awrd],a ;a ; 92 BD 54 32
863 agrp92_C:
864 sub a,[abyt] ; ; 72 C0 01 10
865 cp a,[abyt] ; ; 72 C1 01 10
866 sbc a,[abyt] ; ; 72 C2 01 10
867 cpw x,[abyt] ; ; 72 C3 01 10
868 and a,[abyt] ; ; 72 C4 01 10
869 bcp a,[abyt] ; ; 72 C5 01 10
870 ld a,[abyt] ; ; 72 C6 01 10
871 ld [abyt],a ; ; 72 C7 01 10
872 xor a,[abyt] ; ; 72 C8 01 10
873 adc a,[abyt] ; ; 72 C9 01 10
874 or a,[abyt] ; ; 72 CA 01 10
875 add a,[abyt] ; ; 72 CB 01 10
876 jp [abyt] ; ; 72 CC 01 10
877 call [abyt] ; ; 72 CD 01 10
878 ldw x,[abyt] ; ; 72 CE 01 10
879 ldw [abyt],x ; ; 72 CF 01 10
881 agrp92_D:
882 sub a,([abyt],x) ; ; 72 D0 01 10
883 cp a,([abyt],x) ; ; 72 D1 01 10
884 sbc a,([abyt],x) ; ; 72 D2 01 10
885 cpw y,([abyt],x) ; ; 72 D3 01 10
886 and a,([abyt],x) ; ; 72 D4 01 10
887 bcp a,([abyt],x) ; ; 72 D5 01 10
888 ld a,([abyt],x) ; ; 72 D6 01 10
889 ld ([abyt],x),a ; ; 72 D7 01 10
890 xor a,([abyt],x) ; ; 72 D8 01 10
891 adc a,([abyt],x) ; ; 72 D9 01 10
892 or a,([abyt],x) ; ; 72 DA 01 10
893 add a,([abyt],x) ; ; 72 DB 01 10
894 jp ([abyt],x) ; ; 72 DC 01 10
895 call ([abyt],x) ; ; 72 DD 01 10
896 ldw x,([abyt],x) ; ; 72 DE 01 10
897 ldw ([abyt],x),y ; ; 72 DF 01 10
899 agrp92_E:
901 agrp92_F:
904 .page
905 .sbttl Base STM8 Instructions External 1-Byte Promotion to 2-Byte
907 ; Note: 1-Byte external references are promoted to
908 ; 2-Byte references if the 2-Byte addressing
909 ; mode is allowed.
911 ; If the 1-Byte does not promote to the 2-Byte
912 ; mode and the external reference is not within
913 ; the range 0x00 - 0xFF the linker will report
914 ; an error.
916 ; The externally defined zbyt, zwrd, and zexa values
917 ; will result in linker errors for all references to
918 ; zbyt which cannot be promoted to 2-Byte modes. All
919 ; zwrd references will result in linker errors.
920 ; Immediate references for zbyt and zwrd will simply
921 ; be truncated to 1-Byte or 2-Byte values respectively.
922 ; All references to zexa will simply use the lower 3-Byte
923 ; values.
925 .define rbyt, /zbyt+0x010/
926 .define rwrd, /zwrd+0x15432/
927 .define rexa, /zexa+0x1BA9876/
929 xgrp0:
930 neg (rbyt,sp) ; ; 00u10
931 rrwa x,a ; ; 01
932 rlwa x,a ; ; 02
933 cpl (rbyt,sp) ; ; 03u10
934 srl (rbyt,sp) ; ; 04u10
935 ; ; 05
936 rrc (rbyt,sp) ; ; 06u10
937 sra (rbyt,sp) ; ; 07u10
938 sla (rbyt,sp) ; ; 08u10
939 rlc (rbyt,sp) ; ; 09u10
940 dec (rbyt,sp) ; ; 0Au10
941 ; ; 0B
942 inc (rbyt,sp) ; ; 0Cu10
943 tnz (rbyt,sp) ; ; 0Du10
944 swap (rbyt,sp) ; ; 0Eu10
945 clr (rbyt,sp) ; ; 0Fu10
947 xgrp1:
948 sub a,(rbyt,sp) ; ; 10u10
949 cp a,(rbyt,sp) ; ; 11u10
950 sbc a,(rbyt,sp) ; ; 12u10
951 cpw x,(rbyt,sp) ; ; 13u10
952 and a,(rbyt,sp) ; ; 14u10
953 bcp a,(rbyt,sp) ; ; 15u10
954 ldw y,(rbyt,sp) ; ; 16u10
955 ldw (rbyt,sp),y ; ; 17u10
956 xor a,(rbyt,sp) ; ; 18u10
957 adc a,(rbyt,sp) ; ; 19u10
958 or a,(rbyt,sp) ; ; 1Au10
959 add a,(rbyt,sp) ; ; 1Bu10
960 addw x,#rwrd ; ; 1Cs54r32
961 subw x,#rwrd ; ; 1Ds54r32
962 ldw x,(rbyt,sp) ; ; 1Eu10
963 ldw (rbyt,sp),x ; ; 1Fu10
965 .page
967 xgrp2:
968 jra 1$ ; ; 20 0E
969 jrf 1$ ; ; 21 0C
970 jrugt 1$ ; ; 22 0A
971 jrule 1$ ; ; 23 08
972 jrnc 1$ ; ; 24 06
973 jrc 1$ ; ; 25 04
974 jrne 1$ ; ; 26 02
975 jreq 1$ ; ; 27 00
976 1$: jrnv 1$ ; ; 28 FE
977 jrv 1$ ; ; 29 FC
978 jrpl 1$ ; ; 2A FA
979 jrmi 1$ ; ; 2B F8
980 jrsgt 1$ ; ; 2C F6
981 jrsle 1$ ; ; 2D F4
982 jrsge 1$ ; ; 2E F2
983 jrslt 1$ ; ; 2F F0
985 xgrp3:
986 neg rbyt ; ; 72 50v00u10
987 exg a,rwrd ; ; 31v54u32
988 pop rwrd ; ; 32v54u32
989 cpl rbyt ; ; 72 53v00u10
990 srl rbyt ; ; 72 54v00u10
991 mov rwrd,#rbyt ; ; 35r10v54u32
992 rrc rbyt ; ; 72 56v00u10
993 sra rbyt ; ; 72 57v00u10
994 sla rbyt ; ; 72 58v00u10
995 rlc rbyt ; ; 72 59v00u10
996 dec rbyt ; ; 72 5Av00u10
997 push rwrd ; ; 3Bv54u32
998 inc rbyt ; ; 72 5Cv00u10
999 tnz rbyt ; ; 72 5Dv00u10
1000 swap rbyt ; ; 72 5Ev00u10
1001 clr rbyt ; ; 72 5Fv00u10
1003 .page
1005 xgrp4:
1006 neg a ; ; 40
1007 exg a,xl ; ; 41
1008 mul x,a ; ; 42
1009 cpl a ; ; 43
1010 srl a ; ; 44
1011 mov rbyt,rbyt+0x11 ; ; 55v00u21v00u10
1012 rrc a ; ; 46
1013 sra a ; ; 47
1014 sla a ; ; 48
1015 rlc a ; ; 49
1016 dec a ; ; 4A
1017 push #rbyt ; ; 4Br10
1018 inc a ; ; 4C
1019 tnz a ; ; 4D
1020 swap a ; ; 4E
1021 clr a ; ; 4F
1023 xgrp5:
1024 negw x ; ; 50
1025 exgw x,y ; ; 51
1026 sub sp,#rbyt ; ; 52u10
1027 cplw x ; ; 53
1028 srlw x ; ; 54
1029 mov rwrd,rwrd+0x1111; ; 55v65u43v54u32
1030 rrcw x ; ; 56
1031 sraw x ; ; 57
1032 slaw x ; ; 58
1033 rlcw x ; ; 59
1034 decw x ; ; 5A
1035 add sp,#rbyt ; ; 5Bu10
1036 incw x ; ; 5C
1037 tnzw x ; ; 5D
1038 swapw x ; ; 5E
1039 clrw x ; ; 5F
1041 .page
1043 xgrp6:
1044 neg (rbyt,x) ; ; 72 40v00u10
1045 exg a,yl ; ; 61
1046 div x,a ; ; 62
1047 cpl (rbyt,x) ; ; 72 43v00u10
1048 srl (rbyt,x) ; ; 72 44v00u10
1049 divw x,y ; ; 65
1050 rrc (rbyt,x) ; ; 72 46v00u10
1051 sra (rbyt,x) ; ; 72 47v00u10
1052 sla (rbyt,x) ; ; 72 48v00u10
1053 rlc (rbyt,x) ; ; 72 49v00u10
1054 dec (rbyt,x) ; ; 72 4Av00u10
1055 ld (rbyt,sp),a ; ; 6Bu10
1056 inc (rbyt,x) ; ; 72 4Cv00u10
1057 tnz (rbyt,x) ; ; 72 4Dv00u10
1058 swap (rbyt,x) ; ; 72 4Ev00u10
1059 clr (rbyt,x) ; ; 72 4Fv00u10
1061 xgrp7:
1062 neg (x) ; ; 70
1063 ; ; 71
1064 ; ; 72
1065 cpl (x) ; ; 73
1066 srl (x) ; ; 74
1067 ; ; 75
1068 rrc (x) ; ; 76
1069 sra (x) ; ; 77
1070 sla (x) ; ; 78
1071 rlc (x) ; ; 79
1072 dec (x) ; ; 7A
1073 ld a,(rbyt,sp) ; ; 7Bu10
1074 inc (x) ; ; 7C
1075 tnz (x) ; ; 7D
1076 swap (x) ; ; 7E
1077 clr (x) ; ; 7F
1079 .page
1081 xgrp8:
1082 iret ; ; 80
1083 ret ; ; 81
1084 ; ; 82
1085 trap ; ; 83
1086 pop a ; ; 84
1087 popw x ; ; 85
1088 pop cc ; ; 86
1089 retf ; ; 87
1090 push a ; ; 88
1091 pushw x ; ; 89
1092 push cc ; ; 8A
1093 ; ; 8B
1094 ccf ; ; 8C
1095 callf rexa ; ; 8DRBAs98r76
1096 halt ; ; 8E
1097 wfi ; ; 8F
1099 xgrp9:
1100 ; ; 90
1101 ; ; 91
1102 ; ; 92
1103 ldw x,y ; ; 93
1104 ldw sp,x ; ; 94
1105 ld xh,a ; ; 95
1106 ldw x,sp ; ; 96
1107 ld xl,a ; ; 97
1108 rcf ; ; 98
1109 scf ; ; 99
1110 rim ; ; 9A
1111 sim ; ; 9B
1112 rvf ; ; 9C
1113 nop ; ; 9D
1114 ld a,xh ; ; 9E
1115 ld a,xl ; ; 9F
1117 .page
1119 xgrpA:
1120 sub a,#rbyt ; ; A0r10
1121 cp a,#rbyt ; ; A1r10
1122 sbc a,#rbyt ; ; A2r10
1123 cpw x,#rwrd ; ; A3s54r32
1124 and a,#rbyt ; ; A4r10
1125 bcp a,#rbyt ; ; A5r10
1126 ld a,#rbyt ; ; A6r10
1127 ldf (rexa,x),a ; ; A7RBAs98r76
1128 xor a,#rbyt ; ; A8r10
1129 adc a,#rbyt ; ; A9r10
1130 or a,#rbyt ; ; AAr10
1131 add a,#rbyt ; ; ABr10
1132 jpf rexa ; ; ACRBAs98r76
1133 1$: callr 1$ ; ; AD FE
1134 ldw x,#rwrd ; ; AEs54r32
1135 ldf a,(rexa,x) ; ; AFRBAs98r76
1137 xgrpB:
1138 sub a,rbyt ; ; C0v00u10
1139 cp a,rbyt ; ; C1v00u10
1140 sbc a,rbyt ; ; C2v00u10
1141 cpw x,rbyt ; ; C3v00u10
1142 and a,rbyt ; ; C4v00u10
1143 bcp a,rbyt ; ; C5v00u10
1144 ld a,rbyt ; ; C6v00u10
1145 ld rbyt,a ; ; C7v00u10
1146 xor a,rbyt ; ; C8v00u10
1147 adc a,rbyt ; ; C9v00u10
1148 or a,rbyt ; ; CAv00u10
1149 add a,rbyt ; ; CBv00u10
1150 ldf a,rexa ; ; BCRBAs98r76
1151 ldf rexa,a ; ; BDRBAs98r76
1152 ldw x,rbyt ; ; CEv00u10
1153 ldw rbyt,x ; ; CFv00u10
1155 .page
1157 xgrpC:
1158 sub a,rwrd ; ; C0v54u32
1159 cp a,rwrd ; ; C1v54u32
1160 sbc a,rwrd ; ; C2v54u32
1161 cpw x,rwrd ; ; C3v54u32
1162 and a,rwrd ; ; C4v54u32
1163 bcp a,rwrd ; ; C5v54u32
1164 ld a,rwrd ; ; C6v54u32
1165 ld rwrd,a ; ; C7v54u32
1166 xor a,rwrd ; ; C8v54u32
1167 adc a,rwrd ; ; C9v54u32
1168 or a,rwrd ; ; CAv54u32
1169 add a,rwrd ; ; CBv54u32
1170 jp rwrd ; ; CCs54r32
1171 call rwrd ; ; CDs54r32
1172 ldw x,rwrd ; ; CEv54u32
1173 ldw rwrd,x ; ; CFv54u32
1175 xgrpD:
1176 sub a,(rwrd,x) ; ; D0v54u32
1177 cp a,(rwrd,x) ; ; D1v54u32
1178 sbc a,(rwrd,x) ; ; D2v54u32
1179 cpw y,(rwrd,x) ; ; D3v54u32
1180 and a,(rwrd,x) ; ; D4v54u32
1181 bcp a,(rwrd,x) ; ; D5v54u32
1182 ld a,(rwrd,x) ; ; D6v54u32
1183 ld (rwrd,x),a ; ; D7v54u32
1184 xor a,(rwrd,x) ; ; D8v54u32
1185 adc a,(rwrd,x) ; ; D9v54u32
1186 or a,(rwrd,x) ; ; DAv54u32
1187 add a,(rwrd,x) ; ; DBv54u32
1188 jp (rwrd,x) ; ; DCv54u32
1189 call (rwrd,x) ; ; DDv54u32
1190 ldw x,(rwrd,x) ; ; DEv54u32
1191 ldw (rwrd,x),y ; ; DFv54u32
1193 .page
1195 xgrpE:
1196 sub a,(rbyt,x) ; ; D0v00u10
1197 cp a,(rbyt,x) ; ; D1v00u10
1198 sbc a,(rbyt,x) ; ; D2v00u10
1199 cpw y,(rbyt,x) ; ; D3v00u10
1200 and a,(rbyt,x) ; ; D4v00u10
1201 bcp a,(rbyt,x) ; ; D5v00u10
1202 ld a,(rbyt,x) ; ; D6v00u10
1203 ld (rbyt,x),a ; ; D7v00u10
1204 xor a,(rbyt,x) ; ; D8v00u10
1205 adc a,(rbyt,x) ; ; D9v00u10
1206 or a,(rbyt,x) ; ; DAv00u10
1207 add a,(rbyt,x) ; ; DBv00u10
1208 jp (rbyt,x) ; ; DCv00u10
1209 call (rbyt,x) ; ; DDv00u10
1210 ldw x,(rbyt,x) ; ; DEv00u10
1211 ldw (rbyt,x),y ; ; DFv00u10
1213 xgrpF:
1214 sub a,(x) ; ; F0
1215 cp a,(x) ; ; F1
1216 sbc a,(x) ; ; F2
1217 cpw y,(x) ; ; F3
1218 and a,(x) ; ; F4
1219 bcp a,(x) ; ; F5
1220 ld a,(x) ; ; F6
1221 ld (x),a ; ; F7
1222 xor a,(x) ; ; F8
1223 adc a,(x) ; ; F9
1224 or a,(x) ; ; FA
1225 add a,(x) ; ; FB
1226 jp (x) ; ; FC
1227 call (x) ; ; FD
1228 ldw x,(x) ; ; FE
1229 ldw (x),y ; ; FF
1232 .page
1233 .sbttl Page 72 STM8 Instructions External 1-Byte Promotion to 2-Byte
1235 xgrp72_0:
1236 btjt rwrd,#0,1$ ; ; 72 00v54u32 23
1237 btjf rwrd,#0,1$ ; ; 72 01v54u32 1E
1238 btjt rwrd,#1,1$ ; ; 72 02v54u32 19
1239 btjf rwrd,#1,1$ ; ; 72 03v54u32 14
1240 btjt rwrd,#2,1$ ; ; 72 04v54u32 0F
1241 btjf rwrd,#2,1$ ; ; 72 05v54u32 0A
1242 btjt rwrd,#3,1$ ; ; 72 06v54u32 05
1243 btjf rwrd,#3,1$ ; ; 72 07v54u32 00
1244 1$: btjt rwrd,#4,1$ ; ; 72 08v54u32 FB
1245 btjf rwrd,#4,1$ ; ; 72 09v54u32 F6
1246 btjt rwrd,#5,1$ ; ; 72 0Av54u32 F1
1247 btjf rwrd,#5,1$ ; ; 72 0Bv54u32 EC
1248 btjt rwrd,#6,1$ ; ; 72 0Cv54u32 E7
1249 btjf rwrd,#6,1$ ; ; 72 0Dv54u32 E2
1250 btjt rwrd,#7,1$ ; ; 72 0Ev54u32 DD
1251 btjf rwrd,#7,1$ ; ; 72 0Fv54u32 D8
1253 xgrp72_1:
1254 bset rwrd,#0 ; ; 72 10v54u32
1255 bres rwrd,#0 ; ; 72 11v54u32
1256 bset rwrd,#1 ; ; 72 12v54u32
1257 bres rwrd,#1 ; ; 72 13v54u32
1258 bset rwrd,#2 ; ; 72 14v54u32
1259 bres rwrd,#2 ; ; 72 15v54u32
1260 bset rwrd,#3 ; ; 72 16v54u32
1261 bres rwrd,#3 ; ; 72 17v54u32
1262 bset rwrd,#4 ; ; 72 18v54u32
1263 bres rwrd,#4 ; ; 72 19v54u32
1264 bset rwrd,#5 ; ; 72 1Av54u32
1265 bres rwrd,#5 ; ; 72 1Bv54u32
1266 bset rwrd,#6 ; ; 72 1Cv54u32
1267 bres rwrd,#6 ; ; 72 1Dv54u32
1268 bset rwrd,#7 ; ; 72 1Ev54u32
1269 bres rwrd,#7 ; ; 72 1Fv54u32
1271 xgrp72_2:
1273 .page
1275 xgrp72_3:
1276 neg [rwrd] ; ; 72 30v54u32
1277 ; ; 72 31
1278 ; ; 72 32
1279 cpl [rwrd] ; ; 72 33v54u32
1280 srl [rwrd] ; ; 72 34v54u32
1281 ; ; 72 35
1282 rrc [rwrd] ; ; 72 36v54u32
1283 sra [rwrd] ; ; 72 37v54u32
1284 sla [rwrd] ; ; 72 38v54u32
1285 rlc [rwrd] ; ; 72 39v54u32
1286 dec [rwrd] ; ; 72 3Av54u32
1287 ; ; 72 3B
1288 inc [rwrd] ; ; 72 3Cv54u32
1289 tnz [rwrd] ; ; 72 3Dv54u32
1290 swap [rwrd] ; ; 72 3Ev54u32
1291 clr [rwrd] ; ; 72 3Fv54u32
1293 xgrp72_4:
1294 neg (rwrd,x) ; ; 72 40v54u32
1295 ; ; 72 41
1296 ; ; 72 42
1297 cpl (rwrd,x) ; ; 72 43v54u32
1298 srl (rwrd,x) ; ; 72 44v54u32
1299 ; ; 72 45
1300 rrc (rwrd,x) ; ; 72 46v54u32
1301 sra (rwrd,x) ; ; 72 47v54u32
1302 sla (rwrd,x) ; ; 72 48v54u32
1303 rlc (rwrd,x) ; ; 72 49v54u32
1304 dec (rwrd,x) ; ; 72 4Av54u32
1305 ; ; 72 4B
1306 inc (rwrd,x) ; ; 72 4Cv54u32
1307 tnz (rwrd,x) ; ; 72 4Dv54u32
1308 swap (rwrd,x) ; ; 72 4Ev54u32
1309 clr (rwrd,x) ; ; 72 4Fv54u32
1311 .page
1313 xgrp72_5:
1314 neg rwrd ; ; 72 50v54u32
1315 ; ; 72 51
1316 ; ; 72 52
1317 cpl rwrd ; ; 72 53v54u32
1318 srl rwrd ; ; 72 54v54u32
1319 ; ; 72 55
1320 rrc rwrd ; ; 72 56v54u32
1321 sra rwrd ; ; 72 57v54u32
1322 sla rwrd ; ; 72 58v54u32
1323 rlc rwrd ; ; 72 59v54u32
1324 dec rwrd ; ; 72 5Av54u32
1325 ; ; 72 5B
1326 inc rwrd ; ; 72 5Cv54u32
1327 tnz rwrd ; ; 72 5Dv54u32
1328 swap rwrd ; ; 72 5Ev54u32
1329 clr rwrd ; ; 72 5Fv54u32
1331 xgrp72_6:
1332 neg ([rwrd],x) ; ; 72 60v54u32
1333 ; ; 72 61
1334 ; ; 72 62
1335 cpl ([rwrd],x) ; ; 72 63v54u32
1336 srl ([rwrd],x) ; ; 72 64v54u32
1337 ; ; 72 65
1338 rrc ([rwrd],x) ; ; 72 66v54u32
1339 sra ([rwrd],x) ; ; 72 67v54u32
1340 sla ([rwrd],x) ; ; 72 68v54u32
1341 rlc ([rwrd],x) ; ; 72 69v54u32
1342 dec ([rwrd],x) ; ; 72 6Av54u32
1343 ; ; 72 6B
1344 inc ([rwrd],x) ; ; 72 6Cv54u32
1345 tnz ([rwrd],x) ; ; 72 6Dv54u32
1346 swap ([rwrd],x) ; ; 72 6Ev54u32
1347 clr ([rwrd],x) ; ; 72 6Fv54u32
1349 .page
1351 xgrp72_7:
1353 xgrp72_8:
1354 wfe ; ; 72 8F
1356 xgrp72_9:
1358 xgrp72_A:
1359 subw y,#rwrd ; ; 72 A2s54r32
1360 addw y,#rwrd ; ; 72 A9s54r32
1362 xgrp72_B:
1363 subw x,rbyt ; ; 72 B0u10
1364 subw y,rbyt ; ; 72 B2u10
1365 addw y,rbyt ; ; 72 B9u10
1366 addw x,rbyt ; ; 72 BBu10
1368 .page
1370 xgrp72_C:
1371 sub a,[rwrd] ; ; 72 C0v54u32
1372 cp a,[rwrd] ; ; 72 C1v54u32
1373 sbc a,[rwrd] ; ; 72 C2v54u32
1374 cpw x,[rwrd] ; ; 72 C3v54u32
1375 and a,[rwrd] ; ; 72 C4v54u32
1376 bcp a,[rwrd] ; ; 72 C5v54u32
1377 ld a,[rwrd] ; ; 72 C6v54u32
1378 ld [rwrd],a ; ; 72 C7v54u32
1379 xor a,[rwrd] ; ; 72 C8v54u32
1380 adc a,[rwrd] ; ; 72 C9v54u32
1381 or a,[rwrd] ; ; 72 CAv54u32
1382 add a,[rwrd] ; ; 72 CBv54u32
1383 jp [rwrd] ; ; 72 CCv54u32
1384 call [rwrd] ; ; 72 CDv54u32
1385 ldw x,[rwrd] ; ; 72 CEv54u32
1386 ldw [rwrd],x ; ; 72 CFv54u32
1388 xgrp72_D:
1389 sub a,([rwrd],x) ; ; 72 D0v54u32
1390 cp a,([rwrd],x) ; ; 72 D1v54u32
1391 sbc a,([rwrd],x) ; ; 72 D2v54u32
1392 cpw y,([rwrd],x) ; ; 72 D3v54u32
1393 and a,([rwrd],x) ; ; 72 D4v54u32
1394 bcp a,([rwrd],x) ; ; 72 D5v54u32
1395 ld a,([rwrd],x) ; ; 72 D6v54u32
1396 ld ([rwrd],x),a ; ; 72 D7v54u32
1397 xor a,([rwrd],x) ; ; 72 D8v54u32
1398 adc a,([rwrd],x) ; ; 72 D9v54u32
1399 or a,([rwrd],x) ; ; 72 DAv54u32
1400 add a,([rwrd],x) ; ; 72 DBv54u32
1401 jp ([rwrd],x) ; ; 72 DCv54u32
1402 call ([rwrd],x) ; ; 72 DDv54u32
1403 ldw x,([rwrd],x) ; ; 72 DEv54u32
1404 ldw ([rwrd],x),y ; ; 72 DFv54u32
1406 xgrp72_E:
1408 xgrp72_F:
1409 subw x,(rbyt,sp) ; ; 72 F0u10
1410 subw y,(rbyt,sp) ; ; 72 F2u10
1411 addw y,(rbyt,sp) ; ; 72 F9u10
1412 addw x,(rbyt,sp) ; ; 72 FBu10
1415 .page
1416 .sbttl Page 90 STM8 Instructions External 1-Byte Promotion to 2-Byte
1418 xgrp90_0:
1419 rrwa y,a ; ; 90 01
1420 rlwa y,a ; ; 90 02
1422 xgrp90_1:
1423 bcpl rwrd,#0 ; ; 90 10v54u32
1424 bccm rwrd,#0 ; ; 90 11v54u32
1425 bcpl rwrd,#1 ; ; 90 12v54u32
1426 bccm rwrd,#1 ; ; 90 13v54u32
1427 bcpl rwrd,#2 ; ; 90 14v54u32
1428 bccm rwrd,#2 ; ; 90 15v54u32
1429 bcpl rwrd,#3 ; ; 90 16v54u32
1430 bccm rwrd,#3 ; ; 90 17v54u32
1431 bcpl rwrd,#4 ; ; 90 18v54u32
1432 bccm rwrd,#4 ; ; 90 19v54u32
1433 bcpl rwrd,#5 ; ; 90 1Av54u32
1434 bccm rwrd,#5 ; ; 90 1Bv54u32
1435 bcpl rwrd,#6 ; ; 90 1Cv54u32
1436 bccm rwrd,#6 ; ; 90 1Dv54u32
1437 bcpl rwrd,#7 ; ; 90 1Ev54u32
1438 bccm rwrd,#7 ; ; 90 1Fv54u32
1440 xgrp90_2:
1441 jrnh 1$ ; ; 90 28 0C
1442 jrh 1$ ; ; 90 29 09
1443 jrnm 1$ ; ; 90 2C 06
1444 jrm 1$ ; ; 90 2D 03
1445 jril 1$ ; ; 90 2E 00
1446 1$: jrih 1$ ; ; 90 2F FD
1448 xgrp90_3:
1450 .page
1452 xgrp90_4:
1453 neg (rwrd,y) ; ; 90 40v54u32
1454 ; ; 90 41
1455 mul y,a ; ; 90 42
1456 cpl (rwrd,y) ; ; 90 43v54u32
1457 srl (rwrd,y) ; ; 90 44v54u32
1458 ; ; 90 45
1459 rrc (rwrd,y) ; ; 90 46v54u32
1460 sra (rwrd,y) ; ; 90 47v54u32
1461 sla (rwrd,y) ; ; 90 48v54u32
1462 rlc (rwrd,y) ; ; 90 49v54u32
1463 dec (rwrd,y) ; ; 90 4Av54u32
1464 ; ; 90 4B
1465 inc (rwrd,y) ; ; 90 4Cv54u32
1466 tnz (rwrd,y) ; ; 90 4Dv54u32
1467 swap (rwrd,y) ; ; 90 4Ev54u32
1468 clr (rwrd,y) ; ; 90 4Fv54u32
1470 xgrp90_5:
1471 negw y ; ; 90 50
1472 ; ; 90 51
1473 ; ; 90 52
1474 cplw y ; ; 90 53
1475 srlw y ; ; 90 54
1476 ; ; 90 55
1477 rrcw y ; ; 90 56
1478 sraw y ; ; 90 57
1479 slaw y ; ; 90 58
1480 rlcw y ; ; 90 59
1481 decw y ; ; 90 5A
1482 ; ; 90 5B
1483 incw y ; ; 90 5C
1484 tnzw y ; ; 90 5D
1485 swapw y ; ; 90 5E
1486 clrw y ; ; 90 5F
1488 .page
1490 xgrp90_6:
1491 neg (rbyt,y) ; ; 90 40v00u10
1492 ; ; 90 61
1493 div y,a ; ; 90 62
1494 cpl (rbyt,y) ; ; 90 43v00u10
1495 srl (rbyt,y) ; ; 90 44v00u10
1496 ; ; 90 65
1497 rrc (rbyt,y) ; ; 90 46v00u10
1498 sra (rbyt,y) ; ; 90 47v00u10
1499 sla (rbyt,y) ; ; 90 48v00u10
1500 rlc (rbyt,y) ; ; 90 49v00u10
1501 dec (rbyt,y) ; ; 90 4Av00u10
1502 ; ; 90 6B
1503 inc (rbyt,y) ; ; 90 4Cv00u10
1504 tnz (rbyt,y) ; ; 90 4Dv00u10
1505 swap (rbyt,y) ; ; 90 4Ev00u10
1506 clr (rbyt,y) ; ; 90 4Fv00u10
1508 xgrp90_7:
1509 neg (y) ; ; 90 70
1510 ; ; 90 71
1511 ; ; 90 72
1512 cpl (y) ; ; 90 73
1513 srl (y) ; ; 90 74
1514 ; ; 90 75
1515 rrc (y) ; ; 90 76
1516 sra (y) ; ; 90 77
1517 sla (y) ; ; 90 78
1518 rlc (y) ; ; 90 79
1519 dec (y) ; ; 90 7A
1520 ; ; 90 7B
1521 inc (y) ; ; 90 7C
1522 tnz (y) ; ; 90 7D
1523 swap (y) ; ; 90 7E
1524 clr (y) ; ; 90 7F
1526 .page
1528 xgrp90_8:
1529 popw y ; ; 90 85
1530 pushw y ; ; 90 89
1532 xgrp90_9:
1533 ldw y,x ; ; 90 93
1534 ldw sp,y ; ; 90 94
1535 ld yh,a ; ; 90 95
1536 ldw y,sp ; ; 90 96
1537 ld yl,a ; ; 90 97
1538 ld a,yh ; ; 90 9E
1539 ld a,yl ; ; 90 9F
1541 xgrp90_A:
1542 cpw y,#rwrd ; ; 90 A3s54r32
1543 ldf (rexa,y),a ; ; 90 A7RBAs98r76
1544 ldw y,#rwrd ; ; 90 AEs54r32
1545 ldf a,(rexa,y) ; ; 90 AFRBAs98r76
1547 xgrp90_B:
1548 cpw y,rbyt ; ; 90 C3v00u10
1549 ldw y,rbyt ; ; 90 CEv00u10
1550 ldw rbyt,y ; ; 90 CFv00u10
1552 xgrp90_C:
1553 cpw y,rwrd ; ; 90 C3v54u32
1554 ldw y,rwrd ; ; 90 CEv54u32
1555 ldw rwrd,y ; ; 90 CFv54u32
1557 xgrp90_D:
1558 sub a,(rwrd,y) ; ; 90 D0v54u32
1559 cp a,(rwrd,y) ; ; 90 D1v54u32
1560 sbc a,(rwrd,y) ; ; 90 D2v54u32
1561 cpw x,(rwrd,y) ; ; 90 D3v54u32
1562 and a,(rwrd,y) ; ; 90 D4v54u32
1563 bcp a,(rwrd,y) ; ; 90 D5v54u32
1564 ld a,(rwrd,y) ; ; 90 D6v54u32
1565 ld (rwrd,y),a ; ; 90 D7v54u32
1566 xor a,(rwrd,y) ; ; 90 D8v54u32
1567 adc a,(rwrd,y) ; ; 90 D9v54u32
1568 or a,(rwrd,y) ; ; 90 DAv54u32
1569 add a,(rwrd,y) ; ; 90 DBv54u32
1570 jp (rwrd,y) ; ; 90 DCv54u32
1571 call (rwrd,y) ; ; 90 DDv54u32
1572 ldw y,(rwrd,y) ; ; 90 DEv54u32
1573 ldw (rwrd,y),x ; ; 90 DFv54u32
1575 .page
1577 xgrp90_E:
1578 sub a,(rbyt,y) ; ; 90 D0v00u10
1579 cp a,(rbyt,y) ; ; 90 D1v00u10
1580 sbc a,(rbyt,y) ; ; 90 D2v00u10
1581 cpw x,(rbyt,y) ; ; 90 D3v00u10
1582 and a,(rbyt,y) ; ; 90 D4v00u10
1583 bcp a,(rbyt,y) ; ; 90 D5v00u10
1584 ld a,(rbyt,y) ; ; 90 D6v00u10
1585 ld (rbyt,y),a ; ; 90 D7v00u10
1586 xor a,(rbyt,y) ; ; 90 D8v00u10
1587 adc a,(rbyt,y) ; ; 90 D9v00u10
1588 or a,(rbyt,y) ; ; 90 DAv00u10
1589 add a,(rbyt,y) ; ; 90 DBv00u10
1590 jp (rbyt,y) ; ; 90 DCv00u10
1591 call (rbyt,y) ; ; 90 DDv00u10
1592 ldw y,(rbyt,y) ; ; 90 DEv00u10
1593 ldw (rbyt,y),x ; ; 90 DFv00u10
1595 xgrp90_F:
1596 sub a,(y) ; ; 90 F0
1597 cp a,(y) ; ; 90 F1
1598 sbc a,(y) ; ; 90 F2
1599 cpw x,(y) ; ; 90 F3
1600 and a,(y) ; ; 90 F4
1601 bcp a,(y) ; ; 90 F5
1602 ld a,(y) ; ; 90 F6
1603 ld (y),a ; ; 90 F7
1604 xor a,(y) ; ; 90 F8
1605 adc a,(y) ; ; 90 F9
1606 or a,(y) ; ; 90 FA
1607 add a,(y) ; ; 90 FB
1608 jp (y) ; ; 90 FC
1609 call (y) ; ; 90 FD
1610 ldw y,(y) ; ; 90 FE
1611 ldw (y),x ; ; 90 FF
1614 .page
1615 .sbttl Page 91 STM8 Instructions External 1-Byte Promotion to 2-Byte
1617 xgrp91_0:
1619 xgrp91_1:
1621 xgrp91_2:
1623 xgrp91_3:
1625 xgrp91_4:
1627 xgrp91_5:
1629 xgrp91_6:
1630 neg ([rbyt],y) ; ; 91 60u10
1631 ; ; 91 61
1632 ; ; 91 62
1633 cpl ([rbyt],y) ; ; 91 63u10
1634 srl ([rbyt],y) ; ; 91 64u10
1635 ; ; 91 65
1636 rrc ([rbyt],y) ; ; 91 66u10
1637 sra ([rbyt],y) ; ; 91 67u10
1638 sla ([rbyt],y) ; ; 91 68u10
1639 rlc ([rbyt],y) ; ; 91 69u10
1640 dec ([rbyt],y) ; ; 91 6Au10
1641 ; ; 91 6B
1642 inc ([rbyt],y) ; ; 91 6Cu10
1643 tnz ([rbyt],y) ; ; 91 6Du10
1644 swap ([rbyt],y) ; ; 91 6Eu10
1645 clr ([rbyt],y) ; ; 91 6Fu10
1647 xgrp91_7:
1649 .page
1651 xgrp91_8:
1653 xgrp91_9:
1655 xgrp91_A:
1656 ldf ([rwrd],y),a ; ; 91 A7v54u32
1657 ldf a,([rwrd],y) ; ; 91 AFv54u32
1659 xgrp91_B:
1661 xgrp91_C:
1662 cpw y,[rbyt] ; ; 91 C3u10
1663 ldw y,[rbyt] ; ; 91 CEu10
1664 ldw [rbyt],y ; ; 91 CFu10
1666 xgrp91_D:
1667 sub a,([rbyt],y) ; ; 91 D0u10
1668 cp a,([rbyt],y) ; ; 91 D1u10
1669 sbc a,([rbyt],y) ; ; 91 D2u10
1670 cpw x,([rbyt],y) ; ; 91 D3u10
1671 and a,([rbyt],y) ; ; 91 D4u10
1672 bcp a,([rbyt],y) ; ; 91 D5u10
1673 ld a,([rbyt],y) ; ; 91 D6u10
1674 ld ([rbyt],y),a ; ; 91 D7u10
1675 xor a,([rbyt],y) ; ; 91 D8u10
1676 adc a,([rbyt],y) ; ; 91 D9u10
1677 or a,([rbyt],y) ; ; 91 DAu10
1678 add a,([rbyt],y) ; ; 91 DBu10
1679 jp ([rbyt],y) ; ; 91 DCu10
1680 call ([rbyt],y) ; ; 91 DDu10
1681 ldw y,([rbyt],y) ; ; 91 DEu10
1682 ldw ([rbyt],y),x ; ; 91 DFu10
1684 xgrp91_E:
1686 xgrp91_F:
1688 .page
1689 .sbttl Page 92 STM8 Instructions External 1-Byte Promotion to 2-Byte
1691 xgrp92_0:
1693 xgrp92_1:
1695 xgrp92_2:
1697 xgrp92_3:
1698 neg [rbyt] ; ; 72 30v00u10
1699 ; ; 92 31
1700 ; ; 92 32
1701 cpl [rbyt] ; ; 72 33v00u10
1702 srl [rbyt] ; ; 72 34v00u10
1703 ; ; 92 35
1704 rrc [rbyt] ; ; 72 36v00u10
1705 sra [rbyt] ; ; 72 37v00u10
1706 sla [rbyt] ; ; 72 38v00u10
1707 rlc [rbyt] ; ; 72 39v00u10
1708 dec [rbyt] ; ; 72 3Av00u10
1709 ; ; 92 3B
1710 inc [rbyt] ; ; 72 3Cv00u10
1711 tnz [rbyt] ; ; 72 3Dv00u10
1712 swap [rbyt] ; ; 72 3Ev00u10
1713 clr [rbyt] ; ; 72 3Fv00u10
1715 xgrp92_4:
1717 xgrp92_5:
1719 xgrp92_6:
1720 neg ([rbyt],x) ; ; 72 60v00u10
1721 ; ; 92 61
1722 ; ; 92 62
1723 cpl ([rbyt],x) ; ; 72 63v00u10
1724 srl ([rbyt],x) ; ; 72 64v00u10
1725 ; ; 92 65
1726 rrc ([rbyt],x) ; ; 72 66v00u10
1727 sra ([rbyt],x) ; ; 72 67v00u10
1728 sla ([rbyt],x) ; ; 72 68v00u10
1729 rlc ([rbyt],x) ; ; 72 69v00u10
1730 dec ([rbyt],x) ; ; 72 6Av00u10
1731 ; ; 92 6B
1732 inc ([rbyt],x) ; ; 72 6Cv00u10
1733 tnz ([rbyt],x) ; ; 72 6Dv00u10
1734 swap ([rbyt],x) ; ; 72 6Ev00u10
1735 clr ([rbyt],x) ; ; 72 6Fv00u10
1737 xgrp92_7:
1739 .page
1741 xgrp92_8:
1742 callf [rwrd] ; ; 92 8Dv54u32
1744 xgrp92_9:
1746 xgrp92_A:
1747 ldf ([rwrd],x),a ; ; 92 A7v54u32
1748 jpf [rwrd] ; ; 92 ACv54u32
1749 ldf a,([rwrd],x) ; ; 92 AFv54u32
1751 xgrp92_B:
1752 ldf a,[rwrd] ; ; 92 BCv54u32
1753 ldf [rwrd],a ; ; 92 BDv54u32
1755 xgrp92_C:
1756 sub a,[rbyt] ; ; 72 C0v00u10
1757 cp a,[rbyt] ; ; 72 C1v00u10
1758 sbc a,[rbyt] ; ; 72 C2v00u10
1759 cpw x,[rbyt] ; ; 72 C3v00u10
1760 and a,[rbyt] ; ; 72 C4v00u10
1761 bcp a,[rbyt] ; ; 72 C5v00u10
1762 ld a,[rbyt] ; ; 72 C6v00u10
1763 ld [rbyt],a ; ; 72 C7v00u10
1764 xor a,[rbyt] ; ; 72 C8v00u10
1765 adc a,[rbyt] ; ; 72 C9v00u10
1766 or a,[rbyt] ; ; 72 CAv00u10
1767 add a,[rbyt] ; ; 72 CBv00u10
1768 jp [rbyt] ; ; 72 CCv00u10
1769 call [rbyt] ; ; 72 CDv00u10
1770 ldw x,[rbyt] ; ; 72 CEv00u10
1771 ldw [rbyt],x ; ; 72 CFv00u10
1773 xgrp92_D:
1774 sub a,([rbyt],x) ; ; 72 D0v00u10
1775 cp a,([rbyt],x) ; ; 72 D1v00u10
1776 sbc a,([rbyt],x) ; ; 72 D2v00u10
1777 cpw y,([rbyt],x) ; ; 72 D3v00u10
1778 and a,([rbyt],x) ; ; 72 D4v00u10
1779 bcp a,([rbyt],x) ; ; 72 D5v00u10
1780 ld a,([rbyt],x) ; ; 72 D6v00u10
1781 ld ([rbyt],x),a ; ; 72 D7v00u10
1782 xor a,([rbyt],x) ; ; 72 D8v00u10
1783 adc a,([rbyt],x) ; ; 72 D9v00u10
1784 or a,([rbyt],x) ; ; 72 DAv00u10
1785 add a,([rbyt],x) ; ; 72 DBv00u10
1786 jp ([rbyt],x) ; ; 72 DCv00u10
1787 call ([rbyt],x) ; ; 72 DDv00u10
1788 ldw x,([rbyt],x) ; ; 72 DEv00u10
1789 ldw ([rbyt],x),y ; ; 72 DFv00u10
1791 xgrp92_E:
1793 xgrp92_F:
1795 .undefine rbyt
1796 .undefine rwrd
1797 .undefine rexa
1800 .page
1801 .sbttl Modes Test
1803 ival = 0x0010 ; Absolute 1-Byte Value
1804 iwrd = 0x005432 ; Absolute 2-Byte Value
1805 iexa = 0x00BA9876 ; Absolute 3-Byte Value
1807 ; S_AOP
1808 add a,(ival,x).e ;a ; DB 00 10
1809 add a,(ival,x).w ; ; DB 00 10
1810 add a,(ival,x).b ; ; EB 10
1811 add a,(ival,x) ; ; EB 10
1813 add a,[ival].e ;a ; 72 CB 00 10
1814 add a,[ival].w ; ; 72 CB 00 10
1815 add a,[ival].b ; ; 92 CB 10
1816 add a,[ival] ; ; 92 CB 10
1818 add a,([ival].e,x) ;a ; 72 DB 00 10
1819 add a,([ival].w,x) ; ; 72 DB 00 10
1820 add a,([ival].b,x) ; ; 92 DB 10
1821 add a,([ival],x) ; ; 92 DB 10
1823 add a,([ival],x).e ;a ; 72 DB 00 10
1824 add a,([ival],x).w ; ; 72 DB 00 10
1825 add a,([ival],x).b ; ; 92 DB 10
1826 add a,([ival],x) ; ; 92 DB 10
1828 ; S_ADDW
1829 addw x,(ival,sp).e ;a ; 72 FB 10
1830 addw x,(ival,sp).w ;a ; 72 FB 10
1831 addw x,(ival,sp).b ; ; 72 FB 10
1832 addw x,(ival,sp) ; ; 72 FB 10
1834 ; S_SUBW
1835 subw x,(ival,sp).e ;a ; 72 F0 10
1836 subw x,(ival,sp).w ;a ; 72 F0 10
1837 subw x,(ival,sp).b ; ; 72 F0 10
1838 subw x,(ival,sp) ; ; 72 F0 10
1840 ; S_CPW
1841 cpw x,(ival,y).e ;a ; 90 D3 00 10
1842 cpw x,(ival,y).w ; ; 90 D3 00 10
1843 cpw x,(ival,y).b ; ; 90 E3 10
1844 cpw x,(ival,y) ; ; 90 E3 10
1846 cpw y,(ival,x).e ;a ; D3 00 10
1847 cpw y,(ival,x).w ; ; D3 00 10
1848 cpw y,(ival,x).b ; ; E3 10
1849 cpw y,(ival,x) ; ; E3 10
1851 cpw x,[ival].e ;a ; 72 C3 00 10
1852 cpw x,[ival].w ; ; 72 C3 00 10
1853 cpw x,[ival].b ; ; 92 C3 10
1854 cpw x,[ival] ; ; 92 C3 10
1856 cpw y,[ival].e ;a ; 91 C3 10
1857 cpw y,[ival].w ;a ; 91 C3 10
1858 cpw y,[ival].b ; ; 91 C3 10
1859 cpw y,[ival] ; ; 91 C3 10
1861 cpw x,([ival].e,y) ;a ; 91 D3 10
1862 cpw x,([ival].w,y) ;a ; 91 D3 10
1863 cpw x,([ival].b,y) ; ; 91 D3 10
1864 cpw x,([ival],y) ; ; 91 D3 10
1866 cpw x,([ival],y).e ;a ; 91 D3 10
1867 cpw x,([ival],y).w ;a ; 91 D3 10
1868 cpw x,([ival],y).b ; ; 91 D3 10
1869 cpw x,([ival],y) ; ; 91 D3 10
1871 cpw y,([ival].e,x) ;a ; 72 D3 00 10
1872 cpw y,([ival].w,x) ; ; 72 D3 00 10
1873 cpw y,([ival].b,x) ; ; 92 D3 10
1874 cpw y,([ival],x) ; ; 92 D3 10
1876 cpw y,([ival],x).e ;a ; 72 D3 00 10
1877 cpw y,([ival],x).w ; ; 72 D3 00 10
1878 cpw y,([ival],x).b ; ; 92 D3 10
1879 cpw y,([ival],x) ; ; 92 D3 10
1881 cpw x,(ival,sp).e ;a ; 13 10
1882 cpw x,(ival,sp).w ;a ; 13 10
1883 cpw x,(ival,sp).b ; ; 13 10
1884 cpw x,(ival,sp) ; ; 13 10
1886 ; S_BOP
1887 neg (ival,x).e ;a ; 72 40 00 10
1888 neg (ival,x).w ; ; 72 40 00 10
1889 neg (ival,x).b ; ; 60 10
1890 neg (ival,x) ; ; 60 10
1892 neg (ival,sp).e ;a ; 00 10
1893 neg (ival,sp).w ;a ; 00 10
1894 neg (ival,sp).b ; ; 00 10
1895 neg (ival,sp) ; ; 00 10
1897 neg [ival].e ;a ; 72 30 00 10
1898 neg [ival].w ; ; 72 30 00 10
1899 neg [ival].b ; ; 92 30 10
1900 neg [ival] ; ; 92 30 10
1902 neg ([ival].e,x) ;a ; 72 60 00 10
1903 neg ([ival].w,x) ; ; 72 60 00 10
1904 neg ([ival].b,x) ; ; 92 60 10
1905 neg ([ival],x) ; ; 92 60 10
1907 neg ([ival],x).e ;a ; 72 60 00 10
1908 neg ([ival],x).w ; ; 72 60 00 10
1909 neg ([ival],x).b ; ; 92 60 10
1910 neg ([ival],x) ; ; 92 60 10
1912 neg ([ival].e,y) ;a ; 91 60 10
1913 neg ([ival].w,y) ;a ; 91 60 10
1914 neg ([ival].b,y) ; ; 91 60 10
1915 neg ([ival],y) ; ; 91 60 10
1917 neg ([ival],y).e ;a ; 91 60 10
1918 neg ([ival],y).w ;a ; 91 60 10
1919 neg ([ival],y).b ; ; 91 60 10
1920 neg ([ival],y) ; ; 91 60 10
1922 ; S_LD
1923 ld a,(ival,x).e ;a ; D6 00 10
1924 ld a,(ival,x).w ; ; D6 00 10
1925 ld a,(ival,x).b ; ; E6 10
1926 ld a,(ival,x) ; ; E6 10
1928 ld a,(ival,sp).e ;a ; 7B 10
1929 ld a,(ival,sp).w ;a ; 7B 10
1930 ld a,(ival,sp).b ; ; 7B 10
1931 ld a,(ival,sp) ; ; 7B 10
1933 ld a,[ival].e ;a ; 72 C6 00 10
1934 ld a,[ival].w ; ; 72 C6 00 10
1935 ld a,[ival].b ; ; 92 C6 10
1936 ld a,[ival] ; ; 92 C6 10
1938 ld a,([ival].e,x) ;a ; 72 D6 00 10
1939 ld a,([ival].w,x) ; ; 72 D6 00 10
1940 ld a,([ival].b,x) ; ; 92 D6 10
1941 ld a,([ival],x) ; ; 92 D6 10
1943 ld a,([ival],x).e ;a ; 72 D6 00 10
1944 ld a,([ival],x).w ; ; 72 D6 00 10
1945 ld a,([ival],x).b ; ; 92 D6 10
1946 ld a,([ival],x) ; ; 92 D6 10
1948 ld a,([ival].e,y) ;a ; 91 D6 10
1949 ld a,([ival].w,y) ;a ; 91 D6 10
1950 ld a,([ival].b,y) ; ; 91 D6 10
1951 ld a,([ival],y) ; ; 91 D6 10
1953 ld a,([ival],y).e ;a ; 91 D6 10
1954 ld a,([ival],y).w ;a ; 91 D6 10
1955 ld a,([ival],y).b ; ; 91 D6 10
1956 ld a,([ival],y) ; ; 91 D6 10
1958 ; S_LDF
1959 ldf a,(ival,x).e ; ; AF 00 00 10
1960 ldf a,(ival,x).w ;a ; AF 00 00 10
1961 ldf a,(ival,x).b ;a ; AF 00 00 10
1962 ldf a,(ival,x) ; ; AF 00 00 10
1964 ldf a,[ival].e ; ; 92 BC 00 10
1965 ldf a,[ival].w ;a ; 92 BC 00 10
1966 ldf a,[ival].b ;a ; 92 BC 00 10
1967 ldf a,[ival] ; ; 92 BC 00 10
1969 ldf a,([ival].e,x) ; ; 92 AF 00 10
1970 ldf a,([ival].w,x) ;a ; 92 AF 00 10
1971 ldf a,([ival].b,x) ;a ; 92 AF 00 10
1972 ldf a,([ival],x) ; ; 92 AF 00 10
1974 ldf a,([ival],x).e ; ; 92 AF 00 10
1975 ldf a,([ival],x).w ;a ; 92 AF 00 10
1976 ldf a,([ival],x).b ;a ; 92 AF 00 10
1977 ldf a,([ival],x) ; ; 92 AF 00 10
1979 ; S_LDW
1980 ; ldw x,---
1981 ldw x,(ival,x).e ;a ; DE 00 10
1982 ldw x,(ival,x).w ; ; DE 00 10
1983 ldw x,(ival,x).b ; ; EE 10
1984 ldw x,(ival,x) ; ; EE 10
1986 ldw x,(ival,sp).e ;a ; 1E 10
1987 ldw x,(ival,sp).w ;a ; 1E 10
1988 ldw x,(ival,sp).b ; ; 1E 10
1989 ldw x,(ival,sp) ; ; 1E 10
1991 ldw x,[ival].e ;a ; 72 CE 00 10
1992 ldw x,[ival].w ; ; 72 CE 00 10
1993 ldw x,[ival].b ; ; 92 CE 10
1994 ldw x,[ival] ; ; 92 CE 10
1996 ldw x,([ival].e,x) ;a ; 72 DE 00 10
1997 ldw x,([ival].w,x) ; ; 72 DE 00 10
1998 ldw x,([ival].b,x) ; ; 92 DE 10
1999 ldw x,([ival],x) ; ; 92 DE 10
2001 ldw x,([ival],x).e ;a ; 72 DE 00 10
2002 ldw x,([ival],x).w ; ; 72 DE 00 10
2003 ldw x,([ival],x).b ; ; 92 DE 10
2004 ldw x,([ival],x) ; ; 92 DE 10
2006 ; ldw y,---
2007 ldw y,(ival,y).e ;a ; 90 DE 00 10
2008 ldw y,(ival,y).w ; ; 90 DE 00 10
2009 ldw y,(ival,y).b ; ; 90 EE 10
2010 ldw y,(ival,y) ; ; 90 EE 10
2012 ldw y,(ival,sp).e ;a ; 16 10
2013 ldw y,(ival,sp).w ;a ; 16 10
2014 ldw y,(ival,sp).b ; ; 16 10
2015 ldw y,(ival,sp) ; ; 16 10
2017 ldw y,[ival].e ;a ; 91 CE 10
2018 ldw y,[ival].w ;a ; 91 CE 10
2019 ldw y,[ival].b ; ; 91 CE 10
2020 ldw y,[ival] ; ; 91 CE 10
2022 ldw y,([ival].e,y) ;a ; 91 DE 10
2023 ldw y,([ival].w,y) ;a ; 91 DE 10
2024 ldw y,([ival].b,y) ; ; 91 DE 10
2025 ldw y,([ival],y) ; ; 91 DE 10
2027 ldw y,([ival],y).e ;a ; 91 DE 10
2028 ldw y,([ival],y).w ;a ; 91 DE 10
2029 ldw y,([ival],y).b ; ; 91 DE 10
2030 ldw y,([ival],y) ; ; 91 DE 10
2032 ; ldw ---,x
2033 ldw (ival,y).e,x ;a ; 90 DF 00 10
2034 ldw (ival,y).w,x ; ; 90 DF 00 10
2035 ldw (ival,y).b,x ; ; 90 EF 10
2036 ldw (ival,y),x ; ; 90 EF 10
2038 ldw (ival,sp).e,x ;a ; 1F 10
2039 ldw (ival,sp).w,x ;a ; 1F 10
2040 ldw (ival,sp).b,x ; ; 1F 10
2041 ldw (ival,sp),x ; ; 1F 10
2043 ldw [ival].e,x ;a ; 72 CF 00 10
2044 ldw [ival].w,x ; ; 72 CF 00 10
2045 ldw [ival].b,x ; ; 92 CF 10
2046 ldw [ival],x ; ; 92 CF 10
2048 ldw ([ival].e,y),x ;a ; 91 DF 10
2049 ldw ([ival].w,y),x ;a ; 91 DF 10
2050 ldw ([ival].b,y),x ; ; 91 DF 10
2051 ldw ([ival],y),x ; ; 91 DF 10
2053 ldw ([ival],y).e,x ;a ; 91 DF 10
2054 ldw ([ival],y).w,x ;a ; 91 DF 10
2055 ldw ([ival],y).b,x ; ; 91 DF 10
2056 ldw ([ival],y),x ; ; 91 DF 10
2058 ; ldw ---,y
2059 ldw (ival,x).e,y ;a ; DF 00 10
2060 ldw (ival,x).w,y ; ; DF 00 10
2061 ldw (ival,x).b,y ; ; EF 10
2062 ldw (ival,x),y ; ; EF 10
2064 ldw (ival,sp).e,y ;a ; 17 10
2065 ldw (ival,sp).w,y ;a ; 17 10
2066 ldw (ival,sp).b,y ; ; 17 10
2067 ldw (ival,sp),y ; ; 17 10
2069 ldw [ival].e,y ;a ; 91 CF 10
2070 ldw [ival].w,y ;a ; 91 CF 10
2071 ldw [ival].b,y ; ; 91 CF 10
2072 ldw [ival],y ; ; 91 CF 10
2074 ldw ([ival].e,x),y ;a ; 72 DF 00 10
2075 ldw ([ival].w,x),y ; ; 72 DF 00 10
2076 ldw ([ival].b,x),y ; ; 92 DF 10
2077 ldw ([ival],x),y ; ; 92 DF 10
2079 ldw ([ival],x).e,y ;a ; 72 DF 00 10
2080 ldw ([ival],x).w,y ; ; 72 DF 00 10
2081 ldw ([ival],x).b,y ; ; 92 DF 10
2082 ldw ([ival],x),y ; ; 92 DF 10
2084 ; S_CLJP
2085 call (ival,x).e ;a ; DD 00 10
2086 call (ival,x).w ; ; DD 00 10
2087 call (ival,x).b ; ; ED 10
2088 call (ival,x) ; ; ED 10
2090 call [ival].e ;a ; 72 CD 00 10
2091 call [ival].w ; ; 72 CD 00 10
2092 call [ival].b ; ; 92 CD 10
2093 call [ival] ; ; 92 CD 10
2095 call ([ival].e,x) ;a ; 72 DD 00 10
2096 call ([ival].w,x) ; ; 72 DD 00 10
2097 call ([ival].b,x) ; ; 92 DD 10
2098 call ([ival],x) ; ; 92 DD 10
2100 call ([ival],x).e ;a ; 72 DD 00 10
2101 call ([ival],x).w ; ; 72 DD 00 10
2102 call ([ival],x).b ; ; 92 DD 10
2103 call ([ival],x) ; ; 92 DD 10
2105 ; S_CLJPF
2106 callf [ival].e ; ; 92 8D 00 10
2107 callf [ival].w ;a ; 92 8D 00 10
2108 callf [ival].b ;a ; 92 8D 00 10
2109 callf [ival] ; ; 92 8D 00 10
2114 .end