Hackfix and re-enable strtoull and wcstoull, see bug #3798.
[sdcc.git] / sdcc / sdas / asf8 / tst8.asm
blob05b3d81046f1637c7cf930b8d1dbddf465c3ab6b
1 .title stm8 Sequential Test
3 .area Prog(rel,con)
6 abyt = 0x0010 ; Absolute 1-Byte Value
7 awrd = 0x5432 ; Absolute 2-Byte Value
8 aexa = 0xBA9876 ; 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 agrp0:
19 neg (abyt,sp) ; 00 10
20 rrwa x,a ; 01
21 rlwa x,a ; 02
22 cpl (abyt,sp) ; 03 10
23 srl (abyt,sp) ; 04 10
24 ; 05
25 rrc (abyt,sp) ; 06 10
26 sra (abyt,sp) ; 07 10
27 sla (abyt,sp) ; 08 10
28 rlc (abyt,sp) ; 09 10
29 dec (abyt,sp) ; 0A 10
30 ; 0B 10
31 inc (abyt,sp) ; 0C 10
32 tnz (abyt,sp) ; 0D 10
33 swap (abyt,sp) ; 0E 10
34 clr (abyt,sp) ; 0F 10
36 agrp1:
37 sub a,(abyt,sp) ; 10 10
38 cp a,(abyt,sp) ; 11 10
39 sbc a,(abyt,sp) ; 12 10
40 cpw x,(abyt,sp) ; 13 10
41 and a,(abyt,sp) ; 14 10
42 bcp a,(abyt,sp) ; 15 10
43 ldw y,(abyt,sp) ; 16 10
44 ldw (abyt,sp),y ; 17 10
45 xor a,(abyt,sp) ; 18 10
46 adc a,(abyt,sp) ; 19 10
47 or a,(abyt,sp) ; 1A 10
48 add a,(abyt,sp) ; 1B 10
49 addw x,#awrd ; 1C 54 32
50 subw x,#awrd ; 1D 54 32
51 ldw x,(abyt,sp) ; 1E 10
52 ldw (abyt,sp),x ; 1F 10
54 .page
56 agrp2:
57 jra 1$ ; 20 0E
58 jrf 1$ ; 21 0C
59 jrugt 1$ ; 22 0A
60 jrule 1$ ; 23 08
61 jrnc 1$ ; 24 06
62 jrc 1$ ; 25 04
63 jrne 1$ ; 26 02
64 jreq 1$ ; 27 00
65 1$: jrnv 1$ ; 28 FE
66 jrv 1$ ; 29 FC
67 jrpl 1$ ; 2A FA
68 jrmi 1$ ; 2B F8
69 jrsgt 1$ ; 2C F6
70 jrsle 1$ ; 2D F4
71 jrsge 1$ ; 2E F2
72 jrslt 1$ ; 2F F0
74 agrp3:
75 neg abyt ; 30 10
76 exg a,awrd ; 31 54 32
77 pop awrd ; 32 54 32
78 cpl abyt ; 33 10
79 srl abyt ; 34 10
80 mov awrd,#abyt ; 35 10 54 32
81 rrc abyt ; 36 10
82 sra abyt ; 37 10
83 sla abyt ; 38 10
84 rlc abyt ; 39 10
85 dec abyt ; 3A 10
86 push awrd ; 3B 54 32
87 inc abyt ; 3C 10
88 tnz abyt ; 3D 10
89 swap abyt ; 3E 10
90 clr abyt ; 3F 10
92 .page
94 agrp4:
95 neg a ; 40
96 exg a,xl ; 41
97 mul x,a ; 42
98 cpl a ; 43
99 srl a ; 44
100 mov abyt,abyt+0x11 ; 45 21 10
101 rrc a ; 46
102 sra a ; 47
103 sla a ; 48
104 rlc a ; 49
105 dec a ; 4A
106 push #abyt ; 4B 10
107 inc a ; 4C
108 tnz a ; 4D
109 swap a ; 4E
110 clr a ; 4F
112 agrp5:
113 negw x ; 50
114 exgw x,y ; 51
115 sub sp,#abyt ; 52 10
116 cplw x ; 53
117 srlw x ; 54
118 mov awrd,awrd+0x1111; 55 65 43 54 32
119 rrcw x ; 56
120 sraw x ; 57
121 slaw x ; 58
122 rlcw x ; 59
123 decw x ; 5A
124 add sp,#abyt ; 5B 10
125 incw x ; 5C
126 tnzw x ; 5D
127 swapw x ; 5E
128 clrw x ; 5F
130 .page
132 agrp6:
133 neg (abyt,x) ; 60 10
134 exg a,yl ; 61
135 div x,a ; 62
136 cpl (abyt,x) ; 63 10
137 srl (abyt,x) ; 64 10
138 divw x,y ; 65
139 rrc (abyt,x) ; 66 10
140 sra (abyt,x) ; 67 10
141 sla (abyt,x) ; 68 10
142 rlc (abyt,x) ; 69 10
143 dec (abyt,x) ; 6A 10
144 ld (abyt,sp),a ; 6B 10
145 inc (abyt,x) ; 6C 10
146 tnz (abyt,x) ; 6D 10
147 swap (abyt,x) ; 6E 10
148 clr (abyt,x) ; 6F 10
150 agrp7:
151 neg (x) ; 70
152 ; 71
153 ; 72
154 cpl (x) ; 73
155 srl (x) ; 74
156 ; 75
157 rrc (x) ; 76
158 sra (x) ; 77
159 sla (x) ; 78
160 rlc (x) ; 79
161 dec (x) ; 7A
162 ld a,(abyt,sp) ; 7B 10
163 inc (x) ; 7C
164 tnz (x) ; 7D
165 swap (x) ; 7E
166 clr (x) ; 7F
168 .page
170 agrp8:
171 iret ; 80
172 ret ; 81
173 ; 82
174 trap ; 83
175 pop a ; 84
176 popw x ; 85
177 pop cc ; 86
178 retf ; 87
179 push a ; 88
180 pushw x ; 89
181 push cc ; 8A
182 ; 8B
183 ccf ; 8C
184 callf aexa ; 8D BA 98 76
185 halt ; 8E
186 wfi ; 8F
188 agrp9:
189 ; 90
190 ; 91
191 ; 92
192 ldw x,y ; 93
193 ldw sp,x ; 94
194 ld xh,a ; 95
195 ldw x,sp ; 96
196 ld xl,a ; 97
197 rcf ; 98
198 scf ; 99
199 rim ; 9A
200 sim ; 9B
201 rvf ; 9C
202 nop ; 9D
203 ld a,xh ; 9E
204 ld a,xl ; 9F
206 .page
208 agrpA:
209 sub a,#abyt ; A0 10
210 cp a,#abyt ; A1 10
211 sbc a,#abyt ; A2 10
212 cpw x,#awrd ; A3 54 32
213 and a,#abyt ; A4 10
214 bcp a,#abyt ; A5 10
215 ld a,#abyt ; A6 10
216 ldf (aexa,x),a ; A7 BA 98 76
217 xor a,#abyt ; A8 10
218 adc a,#abyt ; A9 10
219 or a,#abyt ; AA 10
220 add a,#abyt ; AB 10
221 jpf aexa ; AC BA 98 76
222 1$: callr 1$ ; AD FE
223 ldw x,#awrd ; AE 54 32
224 ldf a,(aexa,x) ; AF BA 98 76
226 agrpB:
227 sub a,abyt ; B0 10
228 cp a,abyt ; B1 10
229 sbc a,abyt ; B2 10
230 cpw x,abyt ; B3 10
231 and a,abyt ; B4 10
232 bcp a,abyt ; B5 10
233 ld a,abyt ; B6 10
234 ld abyt,a ; B7 10
235 xor a,abyt ; B8 10
236 adc a,abyt ; B9 10
237 or a,abyt ; BA 10
238 add a,abyt ; BB 10
239 ldf a,aexa ; BC BA 98 76
240 ldf aexa,a ; BD BA 98 76
241 ldw x,abyt ; BE 10
242 ldw abyt,x ; BF 10
244 .page
246 agrpC:
247 sub a,awrd ; C0 54 32
248 cp a,awrd ; C1 54 32
249 sbc a,awrd ; C2 54 32
250 cpw x,awrd ; C3 54 32
251 and a,awrd ; C4 54 32
252 bcp a,awrd ; C5 54 32
253 ld a,awrd ; C6 54 32
254 ld awrd,a ; C7 54 32
255 xor a,awrd ; C8 54 32
256 adc a,awrd ; C9 54 32
257 or a,awrd ; CA 54 32
258 add a,awrd ; CB 54 32
259 jp awrd ; CC 54 32
260 call awrd ; CD 54 32
261 ldw x,awrd ; CE 54 32
262 ldw awrd,x ; CF 54 32
264 agrpD:
265 sub a,(awrd,x) ; D0 54 32
266 cp a,(awrd,x) ; D1 54 32
267 sbc a,(awrd,x) ; D2 54 32
268 cpw y,(awrd,x) ; D3 54 32
269 and a,(awrd,x) ; D4 54 32
270 bcp a,(awrd,x) ; D5 54 32
271 ld a,(awrd,x) ; D6 54 32
272 ld (awrd,x),a ; D7 54 32
273 xor a,(awrd,x) ; D8 54 32
274 adc a,(awrd,x) ; D9 54 32
275 or a,(awrd,x) ; DA 54 32
276 add a,(awrd,x) ; DB 54 32
277 jp (awrd,x) ; DC 54 32
278 call (awrd,x) ; DD 54 32
279 ldw x,(awrd,x) ; DE 54 32
280 ldw (awrd,x),y ; DF 54 32
282 .page
284 agrpE:
285 sub a,(abyt,x) ; E0 10
286 cp a,(abyt,x) ; E1 10
287 sbc a,(abyt,x) ; E2 10
288 cpw y,(abyt,x) ; E3 10
289 and a,(abyt,x) ; E4 10
290 bcp a,(abyt,x) ; E5 10
291 ld a,(abyt,x) ; E6 10
292 ld (abyt,x),a ; E7 10
293 xor a,(abyt,x) ; E8 10
294 adc a,(abyt,x) ; E9 10
295 or a,(abyt,x) ; EA 10
296 add a,(abyt,x) ; EB 10
297 jp (abyt,x) ; EC 10
298 call (abyt,x) ; ED 10
299 ldw x,(abyt,x) ; EE 10
300 ldw (abyt,x),y ; EF 10
302 agrpF:
303 sub a,(x) ; F0
304 cp a,(x) ; F1
305 sbc a,(x) ; F2
306 cpw y,(x) ; F3
307 and a,(x) ; F4
308 bcp a,(x) ; F5
309 ld a,(x) ; F6
310 ld (x),a ; F7
311 xor a,(x) ; F8
312 adc a,(x) ; F9
313 or a,(x) ; FA
314 add a,(x) ; FB
315 jp (x) ; FC
316 call (x) ; FD
317 ldw x,(x) ; FE
318 ldw (x),y ; FF
321 .page
322 .sbttl Page 72 STM8 Instructions in Numerical Order (Absolute)
324 agrp72_0:
325 btjt awrd,#0,1$ ; 72 00 54 32 23
326 btjf awrd,#0,1$ ; 72 01 54 32 1E
327 btjt awrd,#1,1$ ; 72 02 54 32 19
328 btjf awrd,#1,1$ ; 72 03 54 32 14
329 btjt awrd,#2,1$ ; 72 04 54 32 0F
330 btjf awrd,#2,1$ ; 72 05 54 32 0A
331 btjt awrd,#3,1$ ; 72 06 54 32 05
332 btjf awrd,#3,1$ ; 72 07 54 32 00
333 1$: btjt awrd,#4,1$ ; 72 08 54 32 FB
334 btjf awrd,#4,1$ ; 72 09 54 32 F6
335 btjt awrd,#5,1$ ; 72 0A 54 32 F1
336 btjf awrd,#5,1$ ; 72 0B 54 32 EC
337 btjt awrd,#6,1$ ; 72 0C 54 32 E7
338 btjf awrd,#6,1$ ; 72 0D 54 32 E2
339 btjt awrd,#7,1$ ; 72 0E 54 32 DD
340 btjf awrd,#7,1$ ; 72 0F 54 32 D8
342 agrp72_1:
343 bset awrd,#0 ; 72 10 54 32
344 bres awrd,#0 ; 72 11 54 32
345 bset awrd,#1 ; 72 12 54 32
346 bres awrd,#1 ; 72 13 54 32
347 bset awrd,#2 ; 72 14 54 32
348 bres awrd,#2 ; 72 15 54 32
349 bset awrd,#3 ; 72 16 54 32
350 bres awrd,#3 ; 72 17 54 32
351 bset awrd,#4 ; 72 18 54 32
352 bres awrd,#4 ; 72 19 54 32
353 bset awrd,#5 ; 72 1A 54 32
354 bres awrd,#5 ; 72 1B 54 32
355 bset awrd,#6 ; 72 1C 54 32
356 bres awrd,#6 ; 72 1D 54 32
357 bset awrd,#7 ; 72 1E 54 32
358 bres awrd,#7 ; 72 1F 54 32
360 agrp72_2:
362 .page
364 agrp72_3:
365 neg [awrd] ; 72 30 54 32
366 ; 72 31
367 ; 72 32
368 cpl [awrd] ; 72 33 54 32
369 srl [awrd] ; 72 34 54 32
370 ; 72 35
371 rrc [awrd] ; 72 36 54 32
372 sra [awrd] ; 72 37 54 32
373 sla [awrd] ; 72 38 54 32
374 rlc [awrd] ; 72 39 54 32
375 dec [awrd] ; 72 3A 54 32
376 ; 72 3B
377 inc [awrd] ; 72 3C 54 32
378 tnz [awrd] ; 72 3D 54 32
379 swap [awrd] ; 72 3E 54 32
380 clr [awrd] ; 72 3F 54 32
382 agrp72_4:
383 neg (awrd,x) ; 72 40 54 32
384 ; 72 41
385 ; 72 42
386 cpl (awrd,x) ; 72 43 54 32
387 srl (awrd,x) ; 72 44 54 32
388 ; 72 45
389 rrc (awrd,x) ; 72 46 54 32
390 sra (awrd,x) ; 72 47 54 32
391 sla (awrd,x) ; 72 48 54 32
392 rlc (awrd,x) ; 72 49 54 32
393 dec (awrd,x) ; 72 4A 54 32
394 ; 72 4B
395 inc (awrd,x) ; 72 4C 54 32
396 tnz (awrd,x) ; 72 4D 54 32
397 swap (awrd,x) ; 72 4E 54 32
398 clr (awrd,x) ; 72 4F 54 32
400 .page
402 agrp72_5:
403 neg awrd ; 72 50 54 32
404 ; 72 51
405 ; 72 52
406 cpl awrd ; 72 53 54 32
407 srl awrd ; 72 54 54 32
408 ; 72 55
409 rrc awrd ; 72 56 54 32
410 sra awrd ; 72 57 54 32
411 sla awrd ; 72 58 54 32
412 rlc awrd ; 72 59 54 32
413 dec awrd ; 72 5A 54 32
414 ; 72 5B
415 inc awrd ; 72 5C 54 32
416 tnz awrd ; 72 5D 54 32
417 swap awrd ; 72 5E 54 32
418 clr awrd ; 72 5F 54 32
420 agrp72_6:
421 neg ([awrd],x) ; 72 60 54 32
422 ; 72 61
423 ; 72 62
424 cpl ([awrd],x) ; 72 63 54 32
425 srl ([awrd],x) ; 72 64 54 32
426 ; 72 65
427 rrc ([awrd],x) ; 72 66 54 32
428 sra ([awrd],x) ; 72 67 54 32
429 sla ([awrd],x) ; 72 68 54 32
430 rlc ([awrd],x) ; 72 69 54 32
431 dec ([awrd],x) ; 72 6A 54 32
432 ; 72 6B
433 inc ([awrd],x) ; 72 6C 54 32
434 tnz ([awrd],x) ; 72 6D 54 32
435 swap ([awrd],x) ; 72 6E 54 32
436 clr ([awrd],x) ; 72 6F 54 32
438 .page
440 agrp72_7:
442 agrp72_8:
443 wfe ; 72 8F
445 agrp72_9:
447 agrp72_A:
448 subw y,#awrd ; 72 A2 54 32
449 addw y,#awrd ; 72 A9 54 32
451 agrp72_B:
452 subw x,abyt ; 72 B0 10
453 subw y,abyt ; 72 B2 10
454 addw y,abyt ; 72 B9 10
455 addw x,abyt ; 72 BB 10
457 .page
459 agrp72_C:
460 sub a,[awrd] ; 72 C0 54 32
461 cp a,[awrd] ; 72 C1 54 32
462 sbc a,[awrd] ; 72 C2 54 32
463 cpw x,[awrd] ; 72 C3 54 32
464 and a,[awrd] ; 72 C4 54 32
465 bcp a,[awrd] ; 72 C5 54 32
466 ld a,[awrd] ; 72 C6 54 32
467 ld [awrd],a ; 72 C7 54 32
468 xor a,[awrd] ; 72 C8 54 32
469 adc a,[awrd] ; 72 C9 54 32
470 or a,[awrd] ; 72 CA 54 32
471 add a,[awrd] ; 72 CB 54 32
472 jp [awrd] ; 72 CC 54 32
473 call [awrd] ; 72 CD 54 32
474 ldw x,[awrd] ; 72 CE 54 32
475 ldw [awrd],x ; 72 CF 54 32
477 agrp72_D:
478 sub a,([awrd],x) ; 72 D0 54 32
479 cp a,([awrd],x) ; 72 D1 54 32
480 sbc a,([awrd],x) ; 72 D2 54 32
481 cpw y,([awrd],x) ; 72 D3 54 32
482 and a,([awrd],x) ; 72 D4 54 32
483 bcp a,([awrd],x) ; 72 D5 54 32
484 ld a,([awrd],x) ; 72 D6 54 32
485 ld ([awrd],x),a ; 72 D7 54 32
486 xor a,([awrd],x) ; 72 D8 54 32
487 adc a,([awrd],x) ; 72 D9 54 32
488 or a,([awrd],x) ; 72 DA 54 32
489 add a,([awrd],x) ; 72 DB 54 32
490 jp ([awrd],x) ; 72 DC 54 32
491 call ([awrd],x) ; 72 DD 54 32
492 ldw x,([awrd],x) ; 72 DE 54 32
493 ldw ([awrd],x),y ; 72 DF 54 32
495 agrp72_E:
497 agrp72_F:
498 subw x,(abyt,sp) ; 72 F0 10
499 subw y,(abyt,sp) ; 72 F2 10
500 addw y,(abyt,sp) ; 72 F9 10
501 addw x,(abyt,sp) ; 72 FB 10
504 .page
505 .sbttl Page 90 STM8 Instructions in Numerical Order (Absolute)
507 agrp90_0:
508 rrwa y,a ; 90 01
509 rlwa y,a ; 90 02
511 agrp90_1:
512 bcpl awrd,#0 ; 90 10 54 32
513 bccm awrd,#0 ; 90 11 54 32
514 bcpl awrd,#1 ; 90 12 54 32
515 bccm awrd,#1 ; 90 13 54 32
516 bcpl awrd,#2 ; 90 14 54 32
517 bccm awrd,#2 ; 90 15 54 32
518 bcpl awrd,#3 ; 90 16 54 32
519 bccm awrd,#3 ; 90 17 54 32
520 bcpl awrd,#4 ; 90 18 54 32
521 bccm awrd,#4 ; 90 19 54 32
522 bcpl awrd,#5 ; 90 1A 54 32
523 bccm awrd,#5 ; 90 1B 54 32
524 bcpl awrd,#6 ; 90 1C 54 32
525 bccm awrd,#6 ; 90 1D 54 32
526 bcpl awrd,#7 ; 90 1E 54 32
527 bccm awrd,#7 ; 90 1F 54 32
529 agrp90_2:
530 jrnh 1$ ; 90 28 0C
531 jrh 1$ ; 90 29 09
532 jrnm 1$ ; 90 2C 06
533 jrm 1$ ; 90 2D 03
534 jril 1$ ; 90 2E 00
535 1$: jrih 1$ ; 90 2F FD
537 agrp90_3:
539 .page
541 agrp90_4:
542 neg (awrd,y) ; 90 40 54 32
543 ; 90 41
544 mul y,a ; 90 42
545 cpl (awrd,y) ; 90 43 54 32
546 srl (awrd,y) ; 90 44 54 32
547 ; 90 45
548 rrc (awrd,y) ; 90 46 54 32
549 sra (awrd,y) ; 90 47 54 32
550 sla (awrd,y) ; 90 48 54 32
551 rlc (awrd,y) ; 90 49 54 32
552 dec (awrd,y) ; 90 4A 54 32
553 ; 90 4B
554 inc (awrd,y) ; 90 4C 54 32
555 tnz (awrd,y) ; 90 4D 54 32
556 swap (awrd,y) ; 90 4E 54 32
557 clr (awrd,y) ; 90 4F 54 32
559 agrp90_5:
560 negw y ; 90 50
561 ; 90 51
562 ; 90 52
563 cplw y ; 90 53
564 srlw y ; 90 54
565 ; 90 55
566 rrcw y ; 90 56
567 sraw y ; 90 57
568 slaw y ; 90 58
569 rlcw y ; 90 59
570 decw y ; 90 5A
571 ; 90 5B
572 incw y ; 90 5C
573 tnzw y ; 90 5D
574 swapw y ; 90 5E
575 clrw y ; 90 5F
577 .page
579 agrp90_6:
580 neg (abyt,y) ; 90 60 10
581 ; 90 61
582 div y,a ; 90 62
583 cpl (abyt,y) ; 90 63 10
584 srl (abyt,y) ; 90 64 10
585 ; 90 65
586 rrc (abyt,y) ; 90 66 10
587 sra (abyt,y) ; 90 67 10
588 sla (abyt,y) ; 90 68 10
589 rlc (abyt,y) ; 90 69 10
590 dec (abyt,y) ; 90 6A 10
591 ; 90 6B
592 inc (abyt,y) ; 90 6C 10
593 tnz (abyt,y) ; 90 6D 10
594 swap (abyt,y) ; 90 6E 10
595 clr (abyt,y) ; 90 6F 10
597 agrp90_7:
598 neg (y) ; 90 70
599 ; 90 71
600 ; 90 72
601 cpl (y) ; 90 73
602 srl (y) ; 90 74
603 ; 90 75
604 rrc (y) ; 90 76
605 sra (y) ; 90 77
606 sla (y) ; 90 78
607 rlc (y) ; 90 79
608 dec (y) ; 90 7A
609 ; 90 7B
610 inc (y) ; 90 7C
611 tnz (y) ; 90 7D
612 swap (y) ; 90 7E
613 clr (y) ; 90 7F
615 .page
617 agrp90_8:
618 popw y ; 90 85
619 pushw y ; 90 89
621 agrp90_9:
622 ldw y,x ; 90 93
623 ldw sp,y ; 90 94
624 ld yh,a ; 90 95
625 ldw y,sp ; 90 96
626 ld yl,a ; 90 97
627 ld a,yh ; 90 9E
628 ld a,yl ; 90 9F
630 agrp90_A:
631 cpw y,#awrd ; 90 A3 54 32
632 ldf (aexa,y),a ; 90 A7 BA 98 76
633 ldw y,#awrd ; 90 AE 54 32
634 ldf a,(aexa,y) ; 90 AF BA 98 76
636 agrp90_B:
637 cpw y,abyt ; 90 B3 10
638 ldw y,abyt ; 90 BE 10
639 ldw abyt,y ; 90 BF 10
641 agrp90_C:
642 cpw y,awrd ; 90 C3 54 32
643 ldw y,awrd ; 90 CE 54 32
644 ldw awrd,y ; 90 CF 54 32
646 agrp90_D:
647 sub a,(awrd,y) ; 90 D0 54 32
648 cp a,(awrd,y) ; 90 D1 54 32
649 sbc a,(awrd,y) ; 90 D2 54 32
650 cpw x,(awrd,y) ; 90 D3 54 32
651 and a,(awrd,y) ; 90 D4 54 32
652 bcp a,(awrd,y) ; 90 D5 54 32
653 ld a,(awrd,y) ; 90 D6 54 32
654 ld (awrd,y),a ; 90 D7 54 32
655 xor a,(awrd,y) ; 90 D8 54 32
656 adc a,(awrd,y) ; 90 D9 54 32
657 or a,(awrd,y) ; 90 DA 54 32
658 add a,(awrd,y) ; 90 DB 54 32
659 jp (awrd,y) ; 90 DC 54 32
660 call (awrd,y) ; 90 DD 54 32
661 ldw y,(awrd,y) ; 90 DE 54 32
662 ldw (awrd,y),x ; 90 DF 54 32
664 .page
666 agrp90_E:
667 sub a,(abyt,y) ; 90 E0 10
668 cp a,(abyt,y) ; 90 E1 10
669 sbc a,(abyt,y) ; 90 E2 10
670 cpw x,(abyt,y) ; 90 E3 10
671 and a,(abyt,y) ; 90 E4 10
672 bcp a,(abyt,y) ; 90 E5 10
673 ld a,(abyt,y) ; 90 E6 10
674 ld (abyt,y),a ; 90 E7 10
675 xor a,(abyt,y) ; 90 E8 10
676 adc a,(abyt,y) ; 90 E9 10
677 or a,(abyt,y) ; 90 EA 10
678 add a,(abyt,y) ; 90 EB 10
679 jp (abyt,y) ; 90 EC 10
680 call (abyt,y) ; 90 ED 10
681 ldw y,(abyt,y) ; 90 EE 10
682 ldw (abyt,y),x ; 90 EF 10
684 agrp90_F:
685 sub a,(y) ; 90 F0
686 cp a,(y) ; 90 F1
687 sbc a,(y) ; 90 F2
688 cpw x,(y) ; 90 F3
689 and a,(y) ; 90 F4
690 bcp a,(y) ; 90 F5
691 ld a,(y) ; 90 F6
692 ld (y),a ; 90 F7
693 xor a,(y) ; 90 F8
694 adc a,(y) ; 90 F9
695 or a,(y) ; 90 FA
696 add a,(y) ; 90 FB
697 jp (y) ; 90 FC
698 call (y) ; 90 FD
699 ldw y,(y) ; 90 FE
700 ldw (y),x ; 90 FF
703 .page
704 .sbttl Page 91 STM8 Instructions in Numerical Order (Absolute)
706 agrp91_0:
708 agrp91_1:
710 agrp91_2:
712 agrp91_3:
714 agrp91_4:
716 agrp91_5:
718 agrp91_6:
719 neg ([abyt],y) ; 91 60 10
720 ; 91 61
721 ; 91 62
722 cpl ([abyt],y) ; 91 63 10
723 srl ([abyt],y) ; 91 64 10
724 ; 91 65
725 rrc ([abyt],y) ; 91 66 10
726 sra ([abyt],y) ; 91 67 10
727 sla ([abyt],y) ; 91 68 10
728 rlc ([abyt],y) ; 91 69 10
729 dec ([abyt],y) ; 91 6A 10
730 ; 91 6B
731 inc ([abyt],y) ; 91 6C 10
732 tnz ([abyt],y) ; 91 6D 10
733 swap ([abyt],y) ; 91 6E 10
734 clr ([abyt],y) ; 91 6F 10
736 agrp91_7:
738 .page
740 agrp91_8:
742 agrp91_9:
744 agrp91_A:
745 ldf ([awrd],y),a ; 91 A7 54 32
746 ldf a,([awrd],y) ; 91 AF 54 32
748 agrp91_B:
750 agrp91_C:
751 cpw y,[abyt] ; 91 C3 10
752 ldw y,[abyt] ; 91 CE 10
753 ldw [abyt],y ; 91 CF 10
755 agrp91_D:
756 sub a,([abyt],y) ; 91 D0 10
757 cp a,([abyt],y) ; 91 D1 10
758 sbc a,([abyt],y) ; 91 D2 10
759 cpw x,([abyt],y) ; 91 D3 10
760 and a,([abyt],y) ; 91 D4 10
761 bcp a,([abyt],y) ; 91 D5 10
762 ld a,([abyt],y) ; 91 D6 10
763 ld ([abyt],y),a ; 91 D7 10
764 xor a,([abyt],y) ; 91 D8 10
765 adc a,([abyt],y) ; 91 D9 10
766 or a,([abyt],y) ; 91 DA 10
767 add a,([abyt],y) ; 91 DB 10
768 jp ([abyt],y) ; 91 DC 10
769 call ([abyt],y) ; 91 DD 10
770 ldw y,([abyt],y) ; 91 DE 10
771 ldw ([abyt],y),x ; 91 DF 10
773 agrp91_E:
775 agrp91_F:
777 .page
778 .sbttl Page 92 STM8 Instructions in Numerical Order (Absolute)
780 agrp92_0:
782 agrp92_1:
784 agrp92_2:
786 agrp92_3:
787 neg [abyt] ; 92 30 10
788 ; 92 31
789 ; 92 32
790 cpl [abyt] ; 92 33 10
791 srl [abyt] ; 92 34 10
792 ; 92 35
793 rrc [abyt] ; 92 36 10
794 sra [abyt] ; 92 37 10
795 sla [abyt] ; 92 38 10
796 rlc [abyt] ; 92 39 10
797 dec [abyt] ; 92 3A 10
798 ; 92 3B
799 inc [abyt] ; 92 3C 10
800 tnz [abyt] ; 92 3D 10
801 swap [abyt] ; 92 3E 10
802 clr [abyt] ; 92 3F 10
804 agrp92_4:
806 agrp92_5:
808 agrp92_6:
809 neg ([abyt],x) ; 92 60 10
810 ; 92 61
811 ; 92 62
812 cpl ([abyt],x) ; 92 63 10
813 srl ([abyt],x) ; 92 64 10
814 ; 92 65
815 rrc ([abyt],x) ; 92 66 10
816 sra ([abyt],x) ; 92 67 10
817 sla ([abyt],x) ; 92 68 10
818 rlc ([abyt],x) ; 92 69 10
819 dec ([abyt],x) ; 92 6A 10
820 ; 92 6B
821 inc ([abyt],x) ; 92 6C 10
822 tnz ([abyt],x) ; 92 6D 10
823 swap ([abyt],x) ; 92 6E 10
824 clr ([abyt],x) ; 92 6F 10
826 agrp92_7:
828 .page
830 agrp92_8:
831 callf [awrd] ; 92 8D 54 32
833 agrp92_9:
835 agrp92_A:
836 ldf ([awrd],x),a ; 92 A7 54 32
837 jpf [awrd] ; 92 AC 54 32
838 ldf a,([awrd],x) ; 92 AF 54 32
840 agrp92_B:
841 ldf a,[awrd] ; 92 BC 54 32
842 ldf [awrd],a ; 92 BD 54 32
844 agrp92_C:
845 sub a,[abyt] ; 92 C0 10
846 cp a,[abyt] ; 92 C1 10
847 sbc a,[abyt] ; 92 C2 10
848 cpw x,[abyt] ; 92 C3 10
849 and a,[abyt] ; 92 C4 10
850 bcp a,[abyt] ; 92 C5 10
851 ld a,[abyt] ; 92 C6 10
852 ld [abyt],a ; 92 C7 10
853 xor a,[abyt] ; 92 C8 10
854 adc a,[abyt] ; 92 C9 10
855 or a,[abyt] ; 92 CA 10
856 add a,[abyt] ; 92 CB 10
857 jp [abyt] ; 92 CC 10
858 call [abyt] ; 92 CD 10
859 ldw x,[abyt] ; 92 CE 10
860 ldw [abyt],x ; 92 CF 10
862 agrp92_D:
863 sub a,([abyt],x) ; 92 D0 10
864 cp a,([abyt],x) ; 92 D1 10
865 sbc a,([abyt],x) ; 92 D2 10
866 cpw y,([abyt],x) ; 92 D3 10
867 and a,([abyt],x) ; 92 D4 10
868 bcp a,([abyt],x) ; 92 D5 10
869 ld a,([abyt],x) ; 92 D6 10
870 ld ([abyt],x),a ; 92 D7 10
871 xor a,([abyt],x) ; 92 D8 10
872 adc a,([abyt],x) ; 92 D9 10
873 or a,([abyt],x) ; 92 DA 10
874 add a,([abyt],x) ; 92 DB 10
875 jp ([abyt],x) ; 92 DC 10
876 call ([abyt],x) ; 92 DD 10
877 ldw x,([abyt],x) ; 92 DE 10
878 ldw ([abyt],x),y ; 92 DF 10
880 agrp92_E:
882 agrp92_F:
885 .page
886 .sbttl Base STM8 Instructions in Numerical Order (Relocatable)
888 rgrp0:
889 neg (*rbyt,sp) ; 00u10
890 rrwa x,a ; 01
891 rlwa x,a ; 02
892 cpl (*rbyt,sp) ; 03u10
893 srl (*rbyt,sp) ; 04u10
894 ; 05
895 rrc (*rbyt,sp) ; 06u10
896 sra (*rbyt,sp) ; 07u10
897 sla (*rbyt,sp) ; 08u10
898 rlc (*rbyt,sp) ; 09u10
899 dec (*rbyt,sp) ; 0Au10
900 ; 0B
901 inc (*rbyt,sp) ; 0Cu10
902 tnz (*rbyt,sp) ; 0Du10
903 swap (*rbyt,sp) ; 0Eu10
904 clr (*rbyt,sp) ; 0Fu10
906 rgrp1:
907 sub a,(*rbyt,sp) ; 10u10
908 cp a,(*rbyt,sp) ; 11u10
909 sbc a,(*rbyt,sp) ; 12u10
910 cpw x,(*rbyt,sp) ; 13u10
911 and a,(*rbyt,sp) ; 14u10
912 bcp a,(*rbyt,sp) ; 15u10
913 ldw y,(*rbyt,sp) ; 16u10
914 ldw (*rbyt,sp),y ; 17u10
915 xor a,(*rbyt,sp) ; 18u10
916 adc a,(*rbyt,sp) ; 19u10
917 or a,(*rbyt,sp) ; 1Au10
918 add a,(*rbyt,sp) ; 1Bu10
919 addw x,#rwrd ; 1Cs54r32
920 subw x,#rwrd ; 1Ds54r32
921 ldw x,(*rbyt,sp) ; 1Eu10
922 ldw (*rbyt,sp),x ; 1Fu10
924 .page
926 rgrp2:
927 jra 1$ ; 20 0E
928 jrf 1$ ; 21 0C
929 jrugt 1$ ; 22 0A
930 jrule 1$ ; 23 08
931 jrnc 1$ ; 24 06
932 jrc 1$ ; 25 04
933 jrne 1$ ; 26 02
934 jreq 1$ ; 27 00
935 1$: jrnv 1$ ; 28 FE
936 jrv 1$ ; 29 FC
937 jrpl 1$ ; 2A FA
938 jrmi 1$ ; 2B F8
939 jrsgt 1$ ; 2C F6
940 jrsle 1$ ; 2D F4
941 jrsge 1$ ; 2E F2
942 jrslt 1$ ; 2F F0
944 rgrp3:
945 neg *rbyt ; 30u10
946 exg a,rwrd ; 31v54u32
947 pop rwrd ; 32v54u32
948 cpl *rbyt ; 33u10
949 srl *rbyt ; 34u10
950 mov rwrd,#rbyt ; 35r10v54u32
951 rrc *rbyt ; 36u10
952 sra *rbyt ; 37u10
953 sla *rbyt ; 38u10
954 rlc *rbyt ; 39u10
955 dec *rbyt ; 3Au10
956 push rwrd ; 3Bv54u32
957 inc *rbyt ; 3Cu10
958 tnz *rbyt ; 3Du10
959 swap *rbyt ; 3Eu10
960 clr *rbyt ; 3Fu10
962 .page
964 rgrp4:
965 neg a ; 40
966 exg a,xl ; 41
967 mul x,a ; 42
968 cpl a ; 43
969 srl a ; 44
970 mov *rbyt,*rbyt+0x11; 45u21u10
971 rrc a ; 46
972 sra a ; 47
973 sla a ; 48
974 rlc a ; 49
975 dec a ; 4A
976 push #rbyt ; 4Br10
977 inc a ; 4C
978 tnz a ; 4D
979 swap a ; 4E
980 clr a ; 4F
982 rgrp5:
983 negw x ; 50
984 exgw x,y ; 51
985 sub sp,#rbyt ; 52u10
986 cplw x ; 53
987 srlw x ; 54
988 mov rwrd,rwrd+0x1111; 55v65u43v54u32
989 rrcw x ; 56
990 sraw x ; 57
991 slaw x ; 58
992 rlcw x ; 59
993 decw x ; 5A
994 add sp,#rbyt ; 5Bu10
995 incw x ; 5C
996 tnzw x ; 5D
997 swapw x ; 5E
998 clrw x ; 5F
1000 .page
1002 rgrp6:
1003 neg (*rbyt,x) ; 60u10
1004 exg a,yl ; 61
1005 div x,a ; 62
1006 cpl (*rbyt,x) ; 63u10
1007 srl (*rbyt,x) ; 64u10
1008 divw x,y ; 65
1009 rrc (*rbyt,x) ; 66u10
1010 sra (*rbyt,x) ; 67u10
1011 sla (*rbyt,x) ; 68u10
1012 rlc (*rbyt,x) ; 69u10
1013 dec (*rbyt,x) ; 6Au10
1014 ld (*rbyt,sp),a ; 6Bu10
1015 inc (*rbyt,x) ; 6Cu10
1016 tnz (*rbyt,x) ; 6Du10
1017 swap (*rbyt,x) ; 6Eu10
1018 clr (*rbyt,x) ; 6Fu10
1020 rgrp7:
1021 neg (x) ; 70
1022 ; 71
1023 ; 72
1024 cpl (x) ; 73
1025 srl (x) ; 74
1026 ; 75
1027 rrc (x) ; 76
1028 sra (x) ; 77
1029 sla (x) ; 78
1030 rlc (x) ; 79
1031 dec (x) ; 7A
1032 ld a,(*rbyt,sp) ; 7Bu10
1033 inc (x) ; 7C
1034 tnz (x) ; 7D
1035 swap (x) ; 7E
1036 clr (x) ; 7F
1038 .page
1040 rgrp8:
1041 iret ; 80
1042 ret ; 81
1043 ; 82
1044 trap ; 83
1045 pop a ; 84
1046 popw x ; 85
1047 pop cc ; 86
1048 retf ; 87
1049 push a ; 88
1050 pushw x ; 89
1051 push cc ; 8A
1052 ; 8B
1053 ccf ; 8C
1054 callf rexa ; 8DRBAs98r76
1055 halt ; 8E
1056 wfi ; 8F
1058 rgrp9:
1059 ; 90
1060 ; 91
1061 ; 92
1062 ldw x,y ; 93
1063 ldw sp,x ; 94
1064 ld xh,a ; 95
1065 ldw x,sp ; 96
1066 ld xl,a ; 97
1067 rcf ; 98
1068 scf ; 99
1069 rim ; 9A
1070 sim ; 9B
1071 rvf ; 9C
1072 nop ; 9D
1073 ld a,xh ; 9E
1074 ld a,xl ; 9F
1076 .page
1078 rgrpA:
1079 sub a,#rbyt ; A0r10
1080 cp a,#rbyt ; A1r10
1081 sbc a,#rbyt ; A2r10
1082 cpw x,#rwrd ; A3s54r32
1083 and a,#rbyt ; A4r10
1084 bcp a,#rbyt ; A5r10
1085 ld a,#rbyt ; A6r10
1086 ldf (rexa,x),a ; A7RBAs98r76
1087 xor a,#rbyt ; A8r10
1088 adc a,#rbyt ; A9r10
1089 or a,#rbyt ; AAr10
1090 add a,#rbyt ; ABr10
1091 jpf rexa ; ACRBAs98r76
1092 1$: callr 1$ ; AD FE
1093 ldw x,#rwrd ; AEs54r32
1094 ldf a,(rexa,x) ; AFRBAs98r76
1096 rgrpB:
1097 sub a,*rbyt ; B0u10
1098 cp a,*rbyt ; B1u10
1099 sbc a,*rbyt ; B2u10
1100 cpw x,*rbyt ; B3u10
1101 and a,*rbyt ; B4u10
1102 bcp a,*rbyt ; B5u10
1103 ld a,*rbyt ; B6u10
1104 ld *rbyt,a ; B7u10
1105 xor a,*rbyt ; B8u10
1106 adc a,*rbyt ; B9u10
1107 or a,*rbyt ; BAu10
1108 add a,*rbyt ; BBu10
1109 ldf a,rexa ; BCRBAs98r76
1110 ldf rexa,a ; BDRBAs98r76
1111 ldw x,*rbyt ; BEu10
1112 ldw *rbyt,x ; BFu10
1114 .page
1116 rgrpC:
1117 sub a,rwrd ; C0v54u32
1118 cp a,rwrd ; C1v54u32
1119 sbc a,rwrd ; C2v54u32
1120 cpw x,rwrd ; C3v54u32
1121 and a,rwrd ; C4v54u32
1122 bcp a,rwrd ; C5v54u32
1123 ld a,rwrd ; C6v54u32
1124 ld rwrd,a ; C7v54u32
1125 xor a,rwrd ; C8v54u32
1126 adc a,rwrd ; C9v54u32
1127 or a,rwrd ; CAv54u32
1128 add a,rwrd ; CBv54u32
1129 jp rwrd ; CCs54r32
1130 call rwrd ; CDs54r32
1131 ldw x,rwrd ; CEv54u32
1132 ldw rwrd,x ; CFv54u32
1134 rgrpD:
1135 sub a,(rwrd,x) ; D0v54u32
1136 cp a,(rwrd,x) ; D1v54u32
1137 sbc a,(rwrd,x) ; D2v54u32
1138 cpw y,(rwrd,x) ; D3v54u32
1139 and a,(rwrd,x) ; D4v54u32
1140 bcp a,(rwrd,x) ; D5v54u32
1141 ld a,(rwrd,x) ; D6v54u32
1142 ld (rwrd,x),a ; D7v54u32
1143 xor a,(rwrd,x) ; D8v54u32
1144 adc a,(rwrd,x) ; D9v54u32
1145 or a,(rwrd,x) ; DAv54u32
1146 add a,(rwrd,x) ; DBv54u32
1147 jp (rwrd,x) ; DCv54u32
1148 call (rwrd,x) ; DDv54u32
1149 ldw x,(rwrd,x) ; DEv54u32
1150 ldw (rwrd,x),y ; DFv54u32
1152 .page
1154 rgrpE:
1155 sub a,(*rbyt,x) ; E0u10
1156 cp a,(*rbyt,x) ; E1u10
1157 sbc a,(*rbyt,x) ; E2u10
1158 cpw y,(*rbyt,x) ; E3u10
1159 and a,(*rbyt,x) ; E4u10
1160 bcp a,(*rbyt,x) ; E5u10
1161 ld a,(*rbyt,x) ; E6u10
1162 ld (*rbyt,x),a ; E7u10
1163 xor a,(*rbyt,x) ; E8u10
1164 adc a,(*rbyt,x) ; E9u10
1165 or a,(*rbyt,x) ; EAu10
1166 add a,(*rbyt,x) ; EBu10
1167 jp (*rbyt,x) ; ECu10
1168 call (*rbyt,x) ; EDu10
1169 ldw x,(*rbyt,x) ; EEu10
1170 ldw (*rbyt,x),y ; EFu10
1172 rgrpF:
1173 sub a,(x) ; F0
1174 cp a,(x) ; F1
1175 sbc a,(x) ; F2
1176 cpw y,(x) ; F3
1177 and a,(x) ; F4
1178 bcp a,(x) ; F5
1179 ld a,(x) ; F6
1180 ld (x),a ; F7
1181 xor a,(x) ; F8
1182 adc a,(x) ; F9
1183 or a,(x) ; FA
1184 add a,(x) ; FB
1185 jp (x) ; FC
1186 call (x) ; FD
1187 ldw x,(x) ; FE
1188 ldw (x),y ; FF
1191 .page
1192 .sbttl Page 72 STM8 Instructions in Numerical Order (Relocatable)
1194 rgrp72_0:
1195 btjt rwrd,#0,1$ ; 72 00v54u32 23
1196 btjf rwrd,#0,1$ ; 72 01v54u32 1E
1197 btjt rwrd,#1,1$ ; 72 02v54u32 19
1198 btjf rwrd,#1,1$ ; 72 03v54u32 14
1199 btjt rwrd,#2,1$ ; 72 04v54u32 0F
1200 btjf rwrd,#2,1$ ; 72 05v54u32 0A
1201 btjt rwrd,#3,1$ ; 72 06v54u32 05
1202 btjf rwrd,#3,1$ ; 72 07v54u32 00
1203 1$: btjt rwrd,#4,1$ ; 72 08v54u32 FB
1204 btjf rwrd,#4,1$ ; 72 09v54u32 F6
1205 btjt rwrd,#5,1$ ; 72 0Av54u32 F1
1206 btjf rwrd,#5,1$ ; 72 0Bv54u32 EC
1207 btjt rwrd,#6,1$ ; 72 0Cv54u32 E7
1208 btjf rwrd,#6,1$ ; 72 0Dv54u32 E2
1209 btjt rwrd,#7,1$ ; 72 0Ev54u32 DD
1210 btjf rwrd,#7,1$ ; 72 0Fv54u32 D8
1212 rgrp72_1:
1213 bset rwrd,#0 ; 72 10v54u32
1214 bres rwrd,#0 ; 72 11v54u32
1215 bset rwrd,#1 ; 72 12v54u32
1216 bres rwrd,#1 ; 72 13v54u32
1217 bset rwrd,#2 ; 72 14v54u32
1218 bres rwrd,#2 ; 72 15v54u32
1219 bset rwrd,#3 ; 72 16v54u32
1220 bres rwrd,#3 ; 72 17v54u32
1221 bset rwrd,#4 ; 72 18v54u32
1222 bres rwrd,#4 ; 72 19v54u32
1223 bset rwrd,#5 ; 72 1Av54u32
1224 bres rwrd,#5 ; 72 1Bv54u32
1225 bset rwrd,#6 ; 72 1Cv54u32
1226 bres rwrd,#6 ; 72 1Dv54u32
1227 bset rwrd,#7 ; 72 1Ev54u32
1228 bres rwrd,#7 ; 72 1Fv54u32
1230 rgrp72_2:
1232 .page
1234 rgrp72_3:
1235 neg [rwrd] ; 72 30v54u32
1236 ; 72 31
1237 ; 72 32
1238 cpl [rwrd] ; 72 33v54u32
1239 srl [rwrd] ; 72 34v54u32
1240 ; 72 35
1241 rrc [rwrd] ; 72 36v54u32
1242 sra [rwrd] ; 72 37v54u32
1243 sla [rwrd] ; 72 38v54u32
1244 rlc [rwrd] ; 72 39v54u32
1245 dec [rwrd] ; 72 3Av54u32
1246 ; 72 3B
1247 inc [rwrd] ; 72 3Cv54u32
1248 tnz [rwrd] ; 72 3Dv54u32
1249 swap [rwrd] ; 72 3Ev54u32
1250 clr [rwrd] ; 72 3Fv54u32
1252 rgrp72_4:
1253 neg (rwrd,x) ; 72 40v54u32
1254 ; 72 41
1255 ; 72 42
1256 cpl (rwrd,x) ; 72 43v54u32
1257 srl (rwrd,x) ; 72 44v54u32
1258 ; 72 45
1259 rrc (rwrd,x) ; 72 46v54u32
1260 sra (rwrd,x) ; 72 47v54u32
1261 sla (rwrd,x) ; 72 48v54u32
1262 rlc (rwrd,x) ; 72 49v54u32
1263 dec (rwrd,x) ; 72 4Av54u32
1264 ; 72 4B
1265 inc (rwrd,x) ; 72 4Cv54u32
1266 tnz (rwrd,x) ; 72 4Dv54u32
1267 swap (rwrd,x) ; 72 4Ev54u32
1268 clr (rwrd,x) ; 72 4Fv54u32
1270 .page
1272 rgrp72_5:
1273 neg rwrd ; 72 50v54u32
1274 ; 72 51
1275 ; 72 52
1276 cpl rwrd ; 72 53v54u32
1277 srl rwrd ; 72 54v54u32
1278 ; 72 55
1279 rrc rwrd ; 72 56v54u32
1280 sra rwrd ; 72 57v54u32
1281 sla rwrd ; 72 58v54u32
1282 rlc rwrd ; 72 59v54u32
1283 dec rwrd ; 72 5Av54u32
1284 ; 72 5B
1285 inc rwrd ; 72 5Cv54u32
1286 tnz rwrd ; 72 5Dv54u32
1287 swap rwrd ; 72 5Ev54u32
1288 clr rwrd ; 72 5Fv54u32
1290 rgrp72_6:
1291 neg ([rwrd],x) ; 72 60v54u32
1292 ; 72 61
1293 ; 72 62
1294 cpl ([rwrd],x) ; 72 63v54u32
1295 srl ([rwrd],x) ; 72 64v54u32
1296 ; 72 65
1297 rrc ([rwrd],x) ; 72 66v54u32
1298 sra ([rwrd],x) ; 72 67v54u32
1299 sla ([rwrd],x) ; 72 68v54u32
1300 rlc ([rwrd],x) ; 72 69v54u32
1301 dec ([rwrd],x) ; 72 6Av54u32
1302 ; 72 6B
1303 inc ([rwrd],x) ; 72 6Cv54u32
1304 tnz ([rwrd],x) ; 72 6Dv54u32
1305 swap ([rwrd],x) ; 72 6Ev54u32
1306 clr ([rwrd],x) ; 72 6Fv54u32
1308 .page
1310 rgrp72_7:
1312 rgrp72_8:
1313 wfe ; 72 8F
1315 rgrp72_9:
1317 rgrp72_A:
1318 subw y,#rwrd ; 72 A2s54r32
1319 addw y,#rwrd ; 72 A9s54r32
1321 rgrp72_B:
1322 subw x,*rbyt ; 72 B0u10
1323 subw y,*rbyt ; 72 B2u10
1324 addw y,*rbyt ; 72 B9u10
1325 addw x,*rbyt ; 72 BBu10
1327 .page
1329 rgrp72_C:
1330 sub a,[rwrd] ; 72 C0v54u32
1331 cp a,[rwrd] ; 72 C1v54u32
1332 sbc a,[rwrd] ; 72 C2v54u32
1333 cpw x,[rwrd] ; 72 C3v54u32
1334 and a,[rwrd] ; 72 C4v54u32
1335 bcp a,[rwrd] ; 72 C5v54u32
1336 ld a,[rwrd] ; 72 C6v54u32
1337 ld [rwrd],a ; 72 C7v54u32
1338 xor a,[rwrd] ; 72 C8v54u32
1339 adc a,[rwrd] ; 72 C9v54u32
1340 or a,[rwrd] ; 72 CAv54u32
1341 add a,[rwrd] ; 72 CBv54u32
1342 jp [rwrd] ; 72 CCv54u32
1343 call [rwrd] ; 72 CDv54u32
1344 ldw x,[rwrd] ; 72 CEv54u32
1345 ldw [rwrd],x ; 72 CFv54u32
1347 rgrp72_D:
1348 sub a,([rwrd],x) ; 72 D0v54u32
1349 cp a,([rwrd],x) ; 72 D1v54u32
1350 sbc a,([rwrd],x) ; 72 D2v54u32
1351 cpw y,([rwrd],x) ; 72 D3v54u32
1352 and a,([rwrd],x) ; 72 D4v54u32
1353 bcp a,([rwrd],x) ; 72 D5v54u32
1354 ld a,([rwrd],x) ; 72 D6v54u32
1355 ld ([rwrd],x),a ; 72 D7v54u32
1356 xor a,([rwrd],x) ; 72 D8v54u32
1357 adc a,([rwrd],x) ; 72 D9v54u32
1358 or a,([rwrd],x) ; 72 DAv54u32
1359 add a,([rwrd],x) ; 72 DBv54u32
1360 jp ([rwrd],x) ; 72 DCv54u32
1361 call ([rwrd],x) ; 72 DDv54u32
1362 ldw x,([rwrd],x) ; 72 DEv54u32
1363 ldw ([rwrd],x),y ; 72 DFv54u32
1365 rgrp72_E:
1367 rgrp72_F:
1368 subw x,(*rbyt,sp) ; 72 F0u10
1369 subw y,(*rbyt,sp) ; 72 F2u10
1370 addw y,(*rbyt,sp) ; 72 F9u10
1371 addw x,(*rbyt,sp) ; 72 FBu10
1374 .page
1375 .sbttl Page 90 STM8 Instructions in Numerical Order (Relocatable)
1377 rgrp90_0:
1378 rrwa y,a ; 90 01
1379 rlwa y,a ; 90 02
1381 rgrp90_1:
1382 bcpl rwrd,#0 ; 90 10v54u32
1383 bccm rwrd,#0 ; 90 11v54u32
1384 bcpl rwrd,#1 ; 90 12v54u32
1385 bccm rwrd,#1 ; 90 13v54u32
1386 bcpl rwrd,#2 ; 90 14v54u32
1387 bccm rwrd,#2 ; 90 15v54u32
1388 bcpl rwrd,#3 ; 90 16v54u32
1389 bccm rwrd,#3 ; 90 17v54u32
1390 bcpl rwrd,#4 ; 90 18v54u32
1391 bccm rwrd,#4 ; 90 19v54u32
1392 bcpl rwrd,#5 ; 90 1Av54u32
1393 bccm rwrd,#5 ; 90 1Bv54u32
1394 bcpl rwrd,#6 ; 90 1Cv54u32
1395 bccm rwrd,#6 ; 90 1Dv54u32
1396 bcpl rwrd,#7 ; 90 1Ev54u32
1397 bccm rwrd,#7 ; 90 1Fv54u32
1399 rgrp90_2:
1400 jrnh 1$ ; 90 28 0C
1401 jrh 1$ ; 90 29 09
1402 jrnm 1$ ; 90 2C 06
1403 jrm 1$ ; 90 2D 03
1404 jril 1$ ; 90 2E 00
1405 1$: jrih 1$ ; 90 2F FD
1407 rgrp90_3:
1409 .page
1411 rgrp90_4:
1412 neg (rwrd,y) ; 90 40v54u32
1413 ; 90 41
1414 mul y,a ; 90 42
1415 cpl (rwrd,y) ; 90 43v54u32
1416 srl (rwrd,y) ; 90 44v54u32
1417 ; 90 45
1418 rrc (rwrd,y) ; 90 46v54u32
1419 sra (rwrd,y) ; 90 47v54u32
1420 sla (rwrd,y) ; 90 48v54u32
1421 rlc (rwrd,y) ; 90 49v54u32
1422 dec (rwrd,y) ; 90 4Av54u32
1423 ; 90 4B
1424 inc (rwrd,y) ; 90 4Cv54u32
1425 tnz (rwrd,y) ; 90 4Dv54u32
1426 swap (rwrd,y) ; 90 4Ev54u32
1427 clr (rwrd,y) ; 90 4Fv54u32
1429 rgrp90_5:
1430 negw y ; 90 50
1431 ; 90 51
1432 ; 90 52
1433 cplw y ; 90 53
1434 srlw y ; 90 54
1435 ; 90 55
1436 rrcw y ; 90 56
1437 sraw y ; 90 57
1438 slaw y ; 90 58
1439 rlcw y ; 90 59
1440 decw y ; 90 5A
1441 ; 90 5B
1442 incw y ; 90 5C
1443 tnzw y ; 90 5D
1444 swapw y ; 90 5E
1445 clrw y ; 90 5F
1447 .page
1449 rgrp90_6:
1450 neg (*rbyt,y) ; 90 60u10
1451 ; 90 61
1452 div y,a ; 90 62
1453 cpl (*rbyt,y) ; 90 63u10
1454 srl (*rbyt,y) ; 90 64u10
1455 ; 90 65
1456 rrc (*rbyt,y) ; 90 66u10
1457 sra (*rbyt,y) ; 90 67u10
1458 sla (*rbyt,y) ; 90 68u10
1459 rlc (*rbyt,y) ; 90 69u10
1460 dec (*rbyt,y) ; 90 6Au10
1461 ; 90 6B
1462 inc (*rbyt,y) ; 90 6Cu10
1463 tnz (*rbyt,y) ; 90 6Du10
1464 swap (*rbyt,y) ; 90 6Eu10
1465 clr (*rbyt,y) ; 90 6Fu10
1467 rgrp90_7:
1468 neg (y) ; 90 70
1469 ; 90 71
1470 ; 90 72
1471 cpl (y) ; 90 73
1472 srl (y) ; 90 74
1473 ; 90 75
1474 rrc (y) ; 90 76
1475 sra (y) ; 90 77
1476 sla (y) ; 90 78
1477 rlc (y) ; 90 79
1478 dec (y) ; 90 7A
1479 ; 90 7B
1480 inc (y) ; 90 7C
1481 tnz (y) ; 90 7D
1482 swap (y) ; 90 7E
1483 clr (y) ; 90 7F
1485 .page
1487 rgrp90_8:
1488 popw y ; 90 85
1489 pushw y ; 90 89
1491 rgrp90_9:
1492 ldw y,x ; 90 93
1493 ldw sp,y ; 90 94
1494 ld yh,a ; 90 95
1495 ldw y,sp ; 90 96
1496 ld yl,a ; 90 97
1497 ld a,yh ; 90 9E
1498 ld a,yl ; 90 9F
1500 rgrp90_A:
1501 cpw y,#rwrd ; 90 A3s54r32
1502 ldf (rexa,y),a ; 90 A7RBAs98r76
1503 ldw y,#rwrd ; 90 AEs54r32
1504 ldf a,(rexa,y) ; 90 AFRBAs98r76
1506 rgrp90_B:
1507 cpw y,*rbyt ; 90 B3u10
1508 ldw y,*rbyt ; 90 BEu10
1509 ldw *rbyt,y ; 90 BFu10
1511 rgrp90_C:
1512 cpw y,rwrd ; 90 C3v54u32
1513 ldw y,rwrd ; 90 CEv54u32
1514 ldw rwrd,y ; 90 CFv54u32
1516 rgrp90_D:
1517 sub a,(rwrd,y) ; 90 D0v54u32
1518 cp a,(rwrd,y) ; 90 D1v54u32
1519 sbc a,(rwrd,y) ; 90 D2v54u32
1520 cpw x,(rwrd,y) ; 90 D3v54u32
1521 and a,(rwrd,y) ; 90 D4v54u32
1522 bcp a,(rwrd,y) ; 90 D5v54u32
1523 ld a,(rwrd,y) ; 90 D6v54u32
1524 ld (rwrd,y),a ; 90 D7v54u32
1525 xor a,(rwrd,y) ; 90 D8v54u32
1526 adc a,(rwrd,y) ; 90 D9v54u32
1527 or a,(rwrd,y) ; 90 DAv54u32
1528 add a,(rwrd,y) ; 90 DBv54u32
1529 jp (rwrd,y) ; 90 DCv54u32
1530 call (rwrd,y) ; 90 DDv54u32
1531 ldw y,(rwrd,y) ; 90 DEv54u32
1532 ldw (rwrd,y),x ; 90 DFv54u32
1534 .page
1536 rgrp90_E:
1537 sub a,(*rbyt,y) ; 90 E0u10
1538 cp a,(*rbyt,y) ; 90 E1u10
1539 sbc a,(*rbyt,y) ; 90 E2u10
1540 cpw x,(*rbyt,y) ; 90 E3u10
1541 and a,(*rbyt,y) ; 90 E4u10
1542 bcp a,(*rbyt,y) ; 90 E5u10
1543 ld a,(*rbyt,y) ; 90 E6u10
1544 ld (*rbyt,y),a ; 90 E7u10
1545 xor a,(*rbyt,y) ; 90 E8u10
1546 adc a,(*rbyt,y) ; 90 E9u10
1547 or a,(*rbyt,y) ; 90 EAu10
1548 add a,(*rbyt,y) ; 90 EBu10
1549 jp (*rbyt,y) ; 90 ECu10
1550 call (*rbyt,y) ; 90 EDu10
1551 ldw y,(*rbyt,y) ; 90 EEu10
1552 ldw (*rbyt,y),x ; 90 EFu10
1554 rgrp90_F:
1555 sub a,(y) ; 90 F0
1556 cp a,(y) ; 90 F1
1557 sbc a,(y) ; 90 F2
1558 cpw x,(y) ; 90 F3
1559 and a,(y) ; 90 F4
1560 bcp a,(y) ; 90 F5
1561 ld a,(y) ; 90 F6
1562 ld (y),a ; 90 F7
1563 xor a,(y) ; 90 F8
1564 adc a,(y) ; 90 F9
1565 or a,(y) ; 90 FA
1566 add a,(y) ; 90 FB
1567 jp (y) ; 90 FC
1568 call (y) ; 90 FD
1569 ldw y,(y) ; 90 FE
1570 ldw (y),x ; 90 FF
1573 .page
1574 .sbttl Page 91 STM8 Instructions in Numerical Order (Relocatable)
1576 rgrp91_0:
1578 rgrp91_1:
1580 rgrp91_2:
1582 rgrp91_3:
1584 rgrp91_4:
1586 rgrp91_5:
1588 rgrp91_6:
1589 neg ([*rbyt],y) ; 91 60u10
1590 ; 91 61
1591 ; 91 62
1592 cpl ([*rbyt],y) ; 91 63u10
1593 srl ([*rbyt],y) ; 91 64u10
1594 ; 91 65
1595 rrc ([*rbyt],y) ; 91 66u10
1596 sra ([*rbyt],y) ; 91 67u10
1597 sla ([*rbyt],y) ; 91 68u10
1598 rlc ([*rbyt],y) ; 91 69u10
1599 dec ([*rbyt],y) ; 91 6Au10
1600 ; 91 6B
1601 inc ([*rbyt],y) ; 91 6Cu10
1602 tnz ([*rbyt],y) ; 91 6Du10
1603 swap ([*rbyt],y) ; 91 6Eu10
1604 clr ([*rbyt],y) ; 91 6Fu10
1606 rgrp91_7:
1608 .page
1610 rgrp91_8:
1612 rgrp91_9:
1614 rgrp91_A:
1615 ldf ([rwrd],y),a ; 91 A7v54u32
1616 ldf a,([rwrd],y) ; 91 AFv54u32
1618 rgrp91_B:
1620 rgrp91_C:
1621 cpw y,[*rbyt] ; 91 C3u10
1622 ldw y,[*rbyt] ; 91 CEu10
1623 ldw [*rbyt],y ; 91 CFu10
1625 rgrp91_D:
1626 sub a,([*rbyt],y) ; 91 D0u10
1627 cp a,([*rbyt],y) ; 91 D1u10
1628 sbc a,([*rbyt],y) ; 91 D2u10
1629 cpw x,([*rbyt],y) ; 91 D3u10
1630 and a,([*rbyt],y) ; 91 D4u10
1631 bcp a,([*rbyt],y) ; 91 D5u10
1632 ld a,([*rbyt],y) ; 91 D6u10
1633 ld ([*rbyt],y),a ; 91 D7u10
1634 xor a,([*rbyt],y) ; 91 D8u10
1635 adc a,([*rbyt],y) ; 91 D9u10
1636 or a,([*rbyt],y) ; 91 DAu10
1637 add a,([*rbyt],y) ; 91 DBu10
1638 jp ([*rbyt],y) ; 91 DCu10
1639 call ([*rbyt],y) ; 91 DDu10
1640 ldw y,([*rbyt],y) ; 91 DEu10
1641 ldw ([*rbyt],y),x ; 91 DFu10
1643 rgrp91_E:
1645 rgrp91_F:
1647 .page
1648 .sbttl Page 92 STM8 Instructions in Numerical Order (Relocatable)
1650 rgrp92_0:
1652 rgrp92_1:
1654 rgrp92_2:
1656 rgrp92_3:
1657 neg [*rbyt] ; 92 30u10
1658 ; 92 31
1659 ; 92 32
1660 cpl [*rbyt] ; 92 33u10
1661 srl [*rbyt] ; 92 34u10
1662 ; 92 35
1663 rrc [*rbyt] ; 92 36u10
1664 sra [*rbyt] ; 92 37u10
1665 sla [*rbyt] ; 92 38u10
1666 rlc [*rbyt] ; 92 39u10
1667 dec [*rbyt] ; 92 3Au10
1668 ; 92 3B
1669 inc [*rbyt] ; 92 3Cu10
1670 tnz [*rbyt] ; 92 3Du10
1671 swap [*rbyt] ; 92 3Eu10
1672 clr [*rbyt] ; 92 3Fu10
1674 rgrp92_4:
1676 rgrp92_5:
1678 rgrp92_6:
1679 neg ([*rbyt],x) ; 92 60u10
1680 ; 92 61
1681 ; 92 62
1682 cpl ([*rbyt],x) ; 92 63u10
1683 srl ([*rbyt],x) ; 92 64u10
1684 ; 92 65
1685 rrc ([*rbyt],x) ; 92 66u10
1686 sra ([*rbyt],x) ; 92 67u10
1687 sla ([*rbyt],x) ; 92 68u10
1688 rlc ([*rbyt],x) ; 92 69u10
1689 dec ([*rbyt],x) ; 92 6Au10
1690 ; 92 6B
1691 inc ([*rbyt],x) ; 92 6Cu10
1692 tnz ([*rbyt],x) ; 92 6Du10
1693 swap ([*rbyt],x) ; 92 6Eu10
1694 clr ([*rbyt],x) ; 92 6Fu10
1696 rgrp92_7:
1698 .page
1700 rgrp92_8:
1701 callf [rwrd] ; 92 8Dv54u32
1703 rgrp92_9:
1705 rgrp92_A:
1706 ldf ([rwrd],x),a ; 92 A7v54u32
1707 jpf [rwrd] ; 92 ACv54u32
1708 ldf a,([rwrd],x) ; 92 AFv54u32
1710 rgrp92_B:
1711 ldf a,[rwrd] ; 92 BCv54u32
1712 ldf [rwrd],a ; 92 BDv54u32
1714 rgrp92_C:
1715 sub a,[*rbyt] ; 92 C0u10
1716 cp a,[*rbyt] ; 92 C1u10
1717 sbc a,[*rbyt] ; 92 C2u10
1718 cpw x,[*rbyt] ; 92 C3u10
1719 and a,[*rbyt] ; 92 C4u10
1720 bcp a,[*rbyt] ; 92 C5u10
1721 ld a,[*rbyt] ; 92 C6u10
1722 ld [*rbyt],a ; 92 C7u10
1723 xor a,[*rbyt] ; 92 C8u10
1724 adc a,[*rbyt] ; 92 C9u10
1725 or a,[*rbyt] ; 92 CAu10
1726 add a,[*rbyt] ; 92 CBu10
1727 jp [*rbyt] ; 92 CCu10
1728 call [*rbyt] ; 92 CDu10
1729 ldw x,[*rbyt] ; 92 CEu10
1730 ldw [*rbyt],x ; 92 CFu10
1732 rgrp92_D:
1733 sub a,([*rbyt],x) ; 92 D0u10
1734 cp a,([*rbyt],x) ; 92 D1u10
1735 sbc a,([*rbyt],x) ; 92 D2u10
1736 cpw y,([*rbyt],x) ; 92 D3u10
1737 and a,([*rbyt],x) ; 92 D4u10
1738 bcp a,([*rbyt],x) ; 92 D5u10
1739 ld a,([*rbyt],x) ; 92 D6u10
1740 ld ([*rbyt],x),a ; 92 D7u10
1741 xor a,([*rbyt],x) ; 92 D8u10
1742 adc a,([*rbyt],x) ; 92 D9u10
1743 or a,([*rbyt],x) ; 92 DAu10
1744 add a,([*rbyt],x) ; 92 DBu10
1745 jp ([*rbyt],x) ; 92 DCu10
1746 call ([*rbyt],x) ; 92 DDu10
1747 ldw x,([*rbyt],x) ; 92 DEu10
1748 ldw ([*rbyt],x),y ; 92 DFu10
1750 rgrp92_E:
1752 rgrp92_F:
1755 .page
1756 .sbttl Base STM8 Instructions in Numerical Order (Alternate)
1758 ; Alternate 1-Byte Designation
1760 mgrp0:
1761 neg (rbyt,sp).b ; 00u10
1762 rrwa x,a ; 01
1763 rlwa x,a ; 02
1764 cpl (rbyt,sp).b ; 03u10
1765 srl (rbyt,sp).b ; 04u10
1766 ; 05
1767 rrc (rbyt,sp).b ; 06u10
1768 sra (rbyt,sp).b ; 07u10
1769 sla (rbyt,sp).b ; 08u10
1770 rlc (rbyt,sp).b ; 09u10
1771 dec (rbyt,sp).b ; 0Au10
1772 ; 0B
1773 inc (rbyt,sp).b ; 0Cu10
1774 tnz (rbyt,sp).b ; 0Du10
1775 swap (rbyt,sp).b ; 0Eu10
1776 clr (rbyt,sp).b ; 0Fu10
1778 mgrp1:
1779 sub a,(rbyt,sp).b ; 10u10
1780 cp a,(rbyt,sp).b ; 11u10
1781 sbc a,(rbyt,sp).b ; 12u10
1782 cpw x,(rbyt,sp).b ; 13u10
1783 and a,(rbyt,sp).b ; 14u10
1784 bcp a,(rbyt,sp).b ; 15u10
1785 ldw y,(rbyt,sp).b ; 16u10
1786 ldw (rbyt,sp).b,y ; 17u10
1787 xor a,(rbyt,sp).b ; 18u10
1788 adc a,(rbyt,sp).b ; 19u10
1789 or a,(rbyt,sp).b ; 1Au10
1790 add a,(rbyt,sp).b ; 1Bu10
1791 addw x,#rwrd ; 1Cs54r32
1792 subw x,#rwrd ; 1Ds54r32
1793 ldw x,(rbyt,sp).b ; 1Eu10
1794 ldw (rbyt,sp).b,x ; 1Fu10
1796 .page
1798 mgrp2:
1799 jra 1$ ; 20 0E
1800 jrf 1$ ; 21 0C
1801 jrugt 1$ ; 22 0A
1802 jrule 1$ ; 23 08
1803 jrnc 1$ ; 24 06
1804 jrc 1$ ; 25 04
1805 jrne 1$ ; 26 02
1806 jreq 1$ ; 27 00
1807 1$: jrnv 1$ ; 28 FE
1808 jrv 1$ ; 29 FC
1809 jrpl 1$ ; 2A FA
1810 jrmi 1$ ; 2B F8
1811 jrsgt 1$ ; 2C F6
1812 jrsle 1$ ; 2D F4
1813 jrsge 1$ ; 2E F2
1814 jrslt 1$ ; 2F F0
1816 mgrp3:
1817 neg *rbyt ; 30u10
1818 exg a,rwrd ; 31v54u32
1819 pop rwrd ; 32v54u32
1820 cpl *rbyt ; 33u10
1821 srl *rbyt ; 34u10
1822 mov rwrd,#rbyt ; 35r10v54u32
1823 rrc *rbyt ; 36u10
1824 sra *rbyt ; 37u10
1825 sla *rbyt ; 38u10
1826 rlc *rbyt ; 39u10
1827 dec *rbyt ; 3Au10
1828 push rwrd ; 3Bv54u32
1829 inc *rbyt ; 3Cu10
1830 tnz *rbyt ; 3Du10
1831 swap *rbyt ; 3Eu10
1832 clr *rbyt ; 3Fu10
1834 .page
1836 mgrp4:
1837 neg a ; 40
1838 exg a,xl ; 41
1839 mul x,a ; 42
1840 cpl a ; 43
1841 srl a ; 44
1842 mov *rbyt,*rbyt+0x11; 45u21u10
1843 rrc a ; 46
1844 sra a ; 47
1845 sla a ; 48
1846 rlc a ; 49
1847 dec a ; 4A
1848 push #rbyt ; 4Br10
1849 inc a ; 4C
1850 tnz a ; 4D
1851 swap a ; 4E
1852 clr a ; 4F
1854 mgrp5:
1855 negw x ; 50
1856 exgw x,y ; 51
1857 sub sp,#rbyt ; 52u10
1858 cplw x ; 53
1859 srlw x ; 54
1860 mov rwrd,rwrd+0x1111; 55v65u43v54u32
1861 rrcw x ; 56
1862 sraw x ; 57
1863 slaw x ; 58
1864 rlcw x ; 59
1865 decw x ; 5A
1866 add sp,#rbyt ; 5Bu10
1867 incw x ; 5C
1868 tnzw x ; 5D
1869 swapw x ; 5E
1870 clrw x ; 5F
1872 .page
1874 mgrp6:
1875 neg (rbyt,x).b ; 60u10
1876 exg a,yl ; 61
1877 div x,a ; 62
1878 cpl (rbyt,x).b ; 63u10
1879 srl (rbyt,x).b ; 64u10
1880 divw x,y ; 65
1881 rrc (rbyt,x).b ; 66u10
1882 sra (rbyt,x).b ; 67u10
1883 sla (rbyt,x).b ; 68u10
1884 rlc (rbyt,x).b ; 69u10
1885 dec (rbyt,x).b ; 6Au10
1886 ld (rbyt,sp).b,a ; 6Bu10
1887 inc (rbyt,x).b ; 6Cu10
1888 tnz (rbyt,x).b ; 6Du10
1889 swap (rbyt,x).b ; 6Eu10
1890 clr (rbyt,x).b ; 6Fu10
1892 mgrp7:
1893 neg (x) ; 70
1894 ; 71
1895 ; 72
1896 cpl (x) ; 73
1897 srl (x) ; 74
1898 ; 75
1899 rrc (x) ; 76
1900 sra (x) ; 77
1901 sla (x) ; 78
1902 rlc (x) ; 79
1903 dec (x) ; 7A
1904 ld a,(rbyt,sp).b ; 7Bu10
1905 inc (x) ; 7C
1906 tnz (x) ; 7D
1907 swap (x) ; 7E
1908 clr (x) ; 7F
1910 .page
1912 mgrp8:
1913 iret ; 80
1914 ret ; 81
1915 ; 82
1916 trap ; 83
1917 pop a ; 84
1918 popw x ; 85
1919 pop cc ; 86
1920 retf ; 87
1921 push a ; 88
1922 pushw x ; 89
1923 push cc ; 8A
1924 ; 8B
1925 ccf ; 8C
1926 callf rexa ; 8DRBAs98r76
1927 halt ; 8E
1928 wfi ; 8F
1930 mgrp9:
1931 ; 90
1932 ; 91
1933 ; 92
1934 ldw x,y ; 93
1935 ldw sp,x ; 94
1936 ld xh,a ; 95
1937 ldw x,sp ; 96
1938 ld xl,a ; 97
1939 rcf ; 98
1940 scf ; 99
1941 rim ; 9A
1942 sim ; 9B
1943 rvf ; 9C
1944 nop ; 9D
1945 ld a,xh ; 9E
1946 ld a,xl ; 9F
1948 .page
1950 mgrpA:
1951 sub a,#rbyt ; A0r10
1952 cp a,#rbyt ; A1r10
1953 sbc a,#rbyt ; A2r10
1954 cpw x,#rwrd ; A3s54r32
1955 and a,#rbyt ; A4r10
1956 bcp a,#rbyt ; A5r10
1957 ld a,#rbyt ; A6r10
1958 ldf (rexa,x),a ; A7RBAs98r76
1959 xor a,#rbyt ; A8r10
1960 adc a,#rbyt ; A9r10
1961 or a,#rbyt ; AAr10
1962 add a,#rbyt ; ABr10
1963 jpf rexa ; ACRBAs98r76
1964 1$: callr 1$ ; AD FE
1965 ldw x,#rwrd ; AEs54r32
1966 ldf a,(rexa,x) ; AFRBAs98r76
1968 mgrpB:
1969 sub a,*rbyt ; B0u10
1970 cp a,*rbyt ; B1u10
1971 sbc a,*rbyt ; B2u10
1972 cpw x,*rbyt ; B3u10
1973 and a,*rbyt ; B4u10
1974 bcp a,*rbyt ; B5u10
1975 ld a,*rbyt ; B6u10
1976 ld *rbyt,a ; B7u10
1977 xor a,*rbyt ; B8u10
1978 adc a,*rbyt ; B9u10
1979 or a,*rbyt ; BAu10
1980 add a,*rbyt ; BBu10
1981 ldf a,rexa ; BCRBAs98r76
1982 ldf rexa,a ; BDRBAs98r76
1983 ldw x,*rbyt ; BEu10
1984 ldw *rbyt,x ; BFu10
1986 .page
1988 mgrpC:
1989 sub a,rwrd ; C0v54u32
1990 cp a,rwrd ; C1v54u32
1991 sbc a,rwrd ; C2v54u32
1992 cpw x,rwrd ; C3v54u32
1993 and a,rwrd ; C4v54u32
1994 bcp a,rwrd ; C5v54u32
1995 ld a,rwrd ; C6v54u32
1996 ld rwrd,a ; C7v54u32
1997 xor a,rwrd ; C8v54u32
1998 adc a,rwrd ; C9v54u32
1999 or a,rwrd ; CAv54u32
2000 add a,rwrd ; CBv54u32
2001 jp rwrd ; CCs54r32
2002 call rwrd ; CDs54r32
2003 ldw x,rwrd ; CEv54u32
2004 ldw rwrd,x ; CFv54u32
2006 mgrpD:
2007 sub a,(rwrd,x) ; D0v54u32
2008 cp a,(rwrd,x) ; D1v54u32
2009 sbc a,(rwrd,x) ; D2v54u32
2010 cpw y,(rwrd,x) ; D3v54u32
2011 and a,(rwrd,x) ; D4v54u32
2012 bcp a,(rwrd,x) ; D5v54u32
2013 ld a,(rwrd,x) ; D6v54u32
2014 ld (rwrd,x),a ; D7v54u32
2015 xor a,(rwrd,x) ; D8v54u32
2016 adc a,(rwrd,x) ; D9v54u32
2017 or a,(rwrd,x) ; DAv54u32
2018 add a,(rwrd,x) ; DBv54u32
2019 jp (rwrd,x) ; DCv54u32
2020 call (rwrd,x) ; DDv54u32
2021 ldw x,(rwrd,x) ; DEv54u32
2022 ldw (rwrd,x),y ; DFv54u32
2024 .page
2026 mgrpE:
2027 sub a,(rbyt,x).b ; E0u10
2028 cp a,(rbyt,x).b ; E1u10
2029 sbc a,(rbyt,x).b ; E2u10
2030 cpw y,(rbyt,x).b ; E3u10
2031 and a,(rbyt,x).b ; E4u10
2032 bcp a,(rbyt,x).b ; E5u10
2033 ld a,(rbyt,x).b ; E6u10
2034 ld (rbyt,x).b,a ; E7u10
2035 xor a,(rbyt,x).b ; E8u10
2036 adc a,(rbyt,x).b ; E9u10
2037 or a,(rbyt,x).b ; EAu10
2038 add a,(rbyt,x).b ; EBu10
2039 jp (rbyt,x).b ; ECu10
2040 call (rbyt,x).b ; EDu10
2041 ldw x,(rbyt,x).b ; EEu10
2042 ldw (rbyt,x).b,y ; EFu10
2044 mgrpF:
2045 sub a,(x) ; F0
2046 cp a,(x) ; F1
2047 sbc a,(x) ; F2
2048 cpw y,(x) ; F3
2049 and a,(x) ; F4
2050 bcp a,(x) ; F5
2051 ld a,(x) ; F6
2052 ld (x),a ; F7
2053 xor a,(x) ; F8
2054 adc a,(x) ; F9
2055 or a,(x) ; FA
2056 add a,(x) ; FB
2057 jp (x) ; FC
2058 call (x) ; FD
2059 ldw x,(x) ; FE
2060 ldw (x),y ; FF
2063 .page
2064 .sbttl Page 72 STM8 Instructions in Numerical Order (Alternate)
2066 mgrp72_0:
2067 btjt rwrd,#0,1$ ; 72 00v54u32 23
2068 btjf rwrd,#0,1$ ; 72 01v54u32 1E
2069 btjt rwrd,#1,1$ ; 72 02v54u32 19
2070 btjf rwrd,#1,1$ ; 72 03v54u32 14
2071 btjt rwrd,#2,1$ ; 72 04v54u32 0F
2072 btjf rwrd,#2,1$ ; 72 05v54u32 0A
2073 btjt rwrd,#3,1$ ; 72 06v54u32 05
2074 btjf rwrd,#3,1$ ; 72 07v54u32 00
2075 1$: btjt rwrd,#4,1$ ; 72 08v54u32 FB
2076 btjf rwrd,#4,1$ ; 72 09v54u32 F6
2077 btjt rwrd,#5,1$ ; 72 0Av54u32 F1
2078 btjf rwrd,#5,1$ ; 72 0Bv54u32 EC
2079 btjt rwrd,#6,1$ ; 72 0Cv54u32 E7
2080 btjf rwrd,#6,1$ ; 72 0Dv54u32 E2
2081 btjt rwrd,#7,1$ ; 72 0Ev54u32 DD
2082 btjf rwrd,#7,1$ ; 72 0Fv54u32 D8
2084 mgrp72_1:
2085 bset rwrd,#0 ; 72 10v54u32
2086 bres rwrd,#0 ; 72 11v54u32
2087 bset rwrd,#1 ; 72 12v54u32
2088 bres rwrd,#1 ; 72 13v54u32
2089 bset rwrd,#2 ; 72 14v54u32
2090 bres rwrd,#2 ; 72 15v54u32
2091 bset rwrd,#3 ; 72 16v54u32
2092 bres rwrd,#3 ; 72 17v54u32
2093 bset rwrd,#4 ; 72 18v54u32
2094 bres rwrd,#4 ; 72 19v54u32
2095 bset rwrd,#5 ; 72 1Av54u32
2096 bres rwrd,#5 ; 72 1Bv54u32
2097 bset rwrd,#6 ; 72 1Cv54u32
2098 bres rwrd,#6 ; 72 1Dv54u32
2099 bset rwrd,#7 ; 72 1Ev54u32
2100 bres rwrd,#7 ; 72 1Fv54u32
2102 mgrp72_2:
2104 .page
2106 mgrp72_3:
2107 neg [rwrd] ; 72 30v54u32
2108 ; 72 31
2109 ; 72 32
2110 cpl [rwrd] ; 72 33v54u32
2111 srl [rwrd] ; 72 34v54u32
2112 ; 72 35
2113 rrc [rwrd] ; 72 36v54u32
2114 sra [rwrd] ; 72 37v54u32
2115 sla [rwrd] ; 72 38v54u32
2116 rlc [rwrd] ; 72 39v54u32
2117 dec [rwrd] ; 72 3Av54u32
2118 ; 72 3B
2119 inc [rwrd] ; 72 3Cv54u32
2120 tnz [rwrd] ; 72 3Dv54u32
2121 swap [rwrd] ; 72 3Ev54u32
2122 clr [rwrd] ; 72 3Fv54u32
2124 mgrp72_4:
2125 neg (rwrd,x) ; 72 40v54u32
2126 ; 72 41
2127 ; 72 42
2128 cpl (rwrd,x) ; 72 43v54u32
2129 srl (rwrd,x) ; 72 44v54u32
2130 ; 72 45
2131 rrc (rwrd,x) ; 72 46v54u32
2132 sra (rwrd,x) ; 72 47v54u32
2133 sla (rwrd,x) ; 72 48v54u32
2134 rlc (rwrd,x) ; 72 49v54u32
2135 dec (rwrd,x) ; 72 4Av54u32
2136 ; 72 4B
2137 inc (rwrd,x) ; 72 4Cv54u32
2138 tnz (rwrd,x) ; 72 4Dv54u32
2139 swap (rwrd,x) ; 72 4Ev54u32
2140 clr (rwrd,x) ; 72 4Fv54u32
2142 .page
2144 mgrp72_5:
2145 neg rwrd ; 72 50v54u32
2146 ; 72 51
2147 ; 72 52
2148 cpl rwrd ; 72 53v54u32
2149 srl rwrd ; 72 54v54u32
2150 ; 72 55
2151 rrc rwrd ; 72 56v54u32
2152 sra rwrd ; 72 57v54u32
2153 sla rwrd ; 72 58v54u32
2154 rlc rwrd ; 72 59v54u32
2155 dec rwrd ; 72 5Av54u32
2156 ; 72 5B
2157 inc rwrd ; 72 5Cv54u32
2158 tnz rwrd ; 72 5Dv54u32
2159 swap rwrd ; 72 5Ev54u32
2160 clr rwrd ; 72 5Fv54u32
2162 mgrp72_6:
2163 neg ([rwrd],x) ; 72 60v54u32
2164 ; 72 61
2165 ; 72 62
2166 cpl ([rwrd],x) ; 72 63v54u32
2167 srl ([rwrd],x) ; 72 64v54u32
2168 ; 72 65
2169 rrc ([rwrd],x) ; 72 66v54u32
2170 sra ([rwrd],x) ; 72 67v54u32
2171 sla ([rwrd],x) ; 72 68v54u32
2172 rlc ([rwrd],x) ; 72 69v54u32
2173 dec ([rwrd],x) ; 72 6Av54u32
2174 ; 72 6B
2175 inc ([rwrd],x) ; 72 6Cv54u32
2176 tnz ([rwrd],x) ; 72 6Dv54u32
2177 swap ([rwrd],x) ; 72 6Ev54u32
2178 clr ([rwrd],x) ; 72 6Fv54u32
2180 .page
2182 mgrp72_7:
2184 mgrp72_8:
2185 wfe ; 72 8F
2187 mgrp72_9:
2189 mgrp72_A:
2190 subw y,#rwrd ; 72 A2s54r32
2191 addw y,#rwrd ; 72 A9s54r32
2193 mgrp72_B:
2194 subw x,*rbyt ; 72 B0u10
2195 subw y,*rbyt ; 72 B2u10
2196 addw y,*rbyt ; 72 B9u10
2197 addw x,*rbyt ; 72 BBu10
2199 .page
2201 mgrp72_C:
2202 sub a,[rwrd] ; 72 C0v54u32
2203 cp a,[rwrd] ; 72 C1v54u32
2204 sbc a,[rwrd] ; 72 C2v54u32
2205 cpw x,[rwrd] ; 72 C3v54u32
2206 and a,[rwrd] ; 72 C4v54u32
2207 bcp a,[rwrd] ; 72 C5v54u32
2208 ld a,[rwrd] ; 72 C6v54u32
2209 ld [rwrd],a ; 72 C7v54u32
2210 xor a,[rwrd] ; 72 C8v54u32
2211 adc a,[rwrd] ; 72 C9v54u32
2212 or a,[rwrd] ; 72 CAv54u32
2213 add a,[rwrd] ; 72 CBv54u32
2214 jp [rwrd] ; 72 CCv54u32
2215 call [rwrd] ; 72 CDv54u32
2216 ldw x,[rwrd] ; 72 CEv54u32
2217 ldw [rwrd],x ; 72 CFv54u32
2219 mgrp72_D:
2220 sub a,([rwrd],x) ; 72 D0v54u32
2221 cp a,([rwrd],x) ; 72 D1v54u32
2222 sbc a,([rwrd],x) ; 72 D2v54u32
2223 cpw y,([rwrd],x) ; 72 D3v54u32
2224 and a,([rwrd],x) ; 72 D4v54u32
2225 bcp a,([rwrd],x) ; 72 D5v54u32
2226 ld a,([rwrd],x) ; 72 D6v54u32
2227 ld ([rwrd],x),a ; 72 D7v54u32
2228 xor a,([rwrd],x) ; 72 D8v54u32
2229 adc a,([rwrd],x) ; 72 D9v54u32
2230 or a,([rwrd],x) ; 72 DAv54u32
2231 add a,([rwrd],x) ; 72 DBv54u32
2232 jp ([rwrd],x) ; 72 DCv54u32
2233 call ([rwrd],x) ; 72 DDv54u32
2234 ldw x,([rwrd],x) ; 72 DEv54u32
2235 ldw ([rwrd],x),y ; 72 DFv54u32
2237 mgrp72_E:
2239 mgrp72_F:
2240 subw x,(rbyt,sp).b ; 72 F0u10
2241 subw y,(rbyt,sp).b ; 72 F2u10
2242 addw y,(rbyt,sp).b ; 72 F9u10
2243 addw x,(rbyt,sp).b ; 72 FBu10
2246 .page
2247 .sbttl Page 90 STM8 Instructions in Numerical Order (Alternate)
2249 mgrp90_0:
2250 rrwa y,a ; 90 01
2251 rlwa y,a ; 90 02
2253 mgrp90_1:
2254 bcpl rwrd,#0 ; 90 10v54u32
2255 bccm rwrd,#0 ; 90 11v54u32
2256 bcpl rwrd,#1 ; 90 12v54u32
2257 bccm rwrd,#1 ; 90 13v54u32
2258 bcpl rwrd,#2 ; 90 14v54u32
2259 bccm rwrd,#2 ; 90 15v54u32
2260 bcpl rwrd,#3 ; 90 16v54u32
2261 bccm rwrd,#3 ; 90 17v54u32
2262 bcpl rwrd,#4 ; 90 18v54u32
2263 bccm rwrd,#4 ; 90 19v54u32
2264 bcpl rwrd,#5 ; 90 1Av54u32
2265 bccm rwrd,#5 ; 90 1Bv54u32
2266 bcpl rwrd,#6 ; 90 1Cv54u32
2267 bccm rwrd,#6 ; 90 1Dv54u32
2268 bcpl rwrd,#7 ; 90 1Ev54u32
2269 bccm rwrd,#7 ; 90 1Fv54u32
2271 mgrp90_2:
2272 jrnh 1$ ; 90 28 0C
2273 jrh 1$ ; 90 29 09
2274 jrnm 1$ ; 90 2C 06
2275 jrm 1$ ; 90 2D 03
2276 jril 1$ ; 90 2E 00
2277 1$: jrih 1$ ; 90 2F FD
2279 mgrp90_3:
2281 .page
2283 mgrp90_4:
2284 neg (rwrd,y) ; 90 40v54u32
2285 ; 90 41
2286 mul y,a ; 90 42
2287 cpl (rwrd,y) ; 90 43v54u32
2288 srl (rwrd,y) ; 90 44v54u32
2289 ; 90 45
2290 rrc (rwrd,y) ; 90 46v54u32
2291 sra (rwrd,y) ; 90 47v54u32
2292 sla (rwrd,y) ; 90 48v54u32
2293 rlc (rwrd,y) ; 90 49v54u32
2294 dec (rwrd,y) ; 90 4Av54u32
2295 ; 90 4B
2296 inc (rwrd,y) ; 90 4Cv54u32
2297 tnz (rwrd,y) ; 90 4Dv54u32
2298 swap (rwrd,y) ; 90 4Ev54u32
2299 clr (rwrd,y) ; 90 4Fv54u32
2301 mgrp90_5:
2302 negw y ; 90 50
2303 ; 90 51
2304 ; 90 52
2305 cplw y ; 90 53
2306 srlw y ; 90 54
2307 ; 90 55
2308 rrcw y ; 90 56
2309 sraw y ; 90 57
2310 slaw y ; 90 58
2311 rlcw y ; 90 59
2312 decw y ; 90 5A
2313 ; 90 5B
2314 incw y ; 90 5C
2315 tnzw y ; 90 5D
2316 swapw y ; 90 5E
2317 clrw y ; 90 5F
2319 .page
2321 mgrp90_6:
2322 neg (rbyt,y).b ; 90 60u10
2323 ; 90 61
2324 div y,a ; 90 62
2325 cpl (rbyt,y).b ; 90 63u10
2326 srl (rbyt,y).b ; 90 64u10
2327 ; 90 65
2328 rrc (rbyt,y).b ; 90 66u10
2329 sra (rbyt,y).b ; 90 67u10
2330 sla (rbyt,y).b ; 90 68u10
2331 rlc (rbyt,y).b ; 90 69u10
2332 dec (rbyt,y).b ; 90 6Au10
2333 ; 90 6B
2334 inc (rbyt,y).b ; 90 6Cu10
2335 tnz (rbyt,y).b ; 90 6Du10
2336 swap (rbyt,y).b ; 90 6Eu10
2337 clr (rbyt,y).b ; 90 6Fu10
2339 mgrp90_7:
2340 neg (y) ; 90 70
2341 ; 90 71
2342 ; 90 72
2343 cpl (y) ; 90 73
2344 srl (y) ; 90 74
2345 ; 90 75
2346 rrc (y) ; 90 76
2347 sra (y) ; 90 77
2348 sla (y) ; 90 78
2349 rlc (y) ; 90 79
2350 dec (y) ; 90 7A
2351 ; 90 7B
2352 inc (y) ; 90 7C
2353 tnz (y) ; 90 7D
2354 swap (y) ; 90 7E
2355 clr (y) ; 90 7F
2357 .page
2359 mgrp90_8:
2360 popw y ; 90 85
2361 pushw y ; 90 89
2363 mgrp90_9:
2364 ldw y,x ; 90 93
2365 ldw sp,y ; 90 94
2366 ld yh,a ; 90 95
2367 ldw y,sp ; 90 96
2368 ld yl,a ; 90 97
2369 ld a,yh ; 90 9E
2370 ld a,yl ; 90 9F
2372 mgrp90_A:
2373 cpw y,#rwrd ; 90 A3s54r32
2374 ldf (rexa,y),a ; 90 A7RBAs98r76
2375 ldw y,#rwrd ; 90 AEs54r32
2376 ldf a,(rexa,y) ; 90 AFRBAs98r76
2378 mgrp90_B:
2379 cpw y,*rbyt ; 90 B3u10
2380 ldw y,*rbyt ; 90 BEu10
2381 ldw *rbyt,y ; 90 BFu10
2383 mgrp90_C:
2384 cpw y,rwrd ; 90 C3v54u32
2385 ldw y,rwrd ; 90 CEv54u32
2386 ldw rwrd,y ; 90 CFv54u32
2388 mgrp90_D:
2389 sub a,(rwrd,y) ; 90 D0v54u32
2390 cp a,(rwrd,y) ; 90 D1v54u32
2391 sbc a,(rwrd,y) ; 90 D2v54u32
2392 cpw x,(rwrd,y) ; 90 D3v54u32
2393 and a,(rwrd,y) ; 90 D4v54u32
2394 bcp a,(rwrd,y) ; 90 D5v54u32
2395 ld a,(rwrd,y) ; 90 D6v54u32
2396 ld (rwrd,y),a ; 90 D7v54u32
2397 xor a,(rwrd,y) ; 90 D8v54u32
2398 adc a,(rwrd,y) ; 90 D9v54u32
2399 or a,(rwrd,y) ; 90 DAv54u32
2400 add a,(rwrd,y) ; 90 DBv54u32
2401 jp (rwrd,y) ; 90 DCv54u32
2402 call (rwrd,y) ; 90 DDv54u32
2403 ldw y,(rwrd,y) ; 90 DEv54u32
2404 ldw (rwrd,y),x ; 90 DFv54u32
2406 .page
2408 mgrp90_E:
2409 sub a,(rbyt,y).b ; 90 E0u10
2410 cp a,(rbyt,y).b ; 90 E1u10
2411 sbc a,(rbyt,y).b ; 90 E2u10
2412 cpw x,(rbyt,y).b ; 90 E3u10
2413 and a,(rbyt,y).b ; 90 E4u10
2414 bcp a,(rbyt,y).b ; 90 E5u10
2415 ld a,(rbyt,y).b ; 90 E6u10
2416 ld (rbyt,y).b,a ; 90 E7u10
2417 xor a,(rbyt,y).b ; 90 E8u10
2418 adc a,(rbyt,y).b ; 90 E9u10
2419 or a,(rbyt,y).b ; 90 EAu10
2420 add a,(rbyt,y).b ; 90 EBu10
2421 jp (rbyt,y).b ; 90 ECu10
2422 call (rbyt,y).b ; 90 EDu10
2423 ldw y,(rbyt,y).b ; 90 EEu10
2424 ldw (rbyt,y).b,x ; 90 EFu10
2426 mgrp90_F:
2427 sub a,(y) ; 90 F0
2428 cp a,(y) ; 90 F1
2429 sbc a,(y) ; 90 F2
2430 cpw x,(y) ; 90 F3
2431 and a,(y) ; 90 F4
2432 bcp a,(y) ; 90 F5
2433 ld a,(y) ; 90 F6
2434 ld (y),a ; 90 F7
2435 xor a,(y) ; 90 F8
2436 adc a,(y) ; 90 F9
2437 or a,(y) ; 90 FA
2438 add a,(y) ; 90 FB
2439 jp (y) ; 90 FC
2440 call (y) ; 90 FD
2441 ldw y,(y) ; 90 FE
2442 ldw (y),x ; 90 FF
2445 .page
2446 .sbttl Page 91 STM8 Instructions in Numerical Order (Alternate)
2448 mgrp91_0:
2450 mgrp91_1:
2452 mgrp91_2:
2454 mgrp91_3:
2456 mgrp91_4:
2458 mgrp91_5:
2460 mgrp91_6:
2461 neg ([rbyt],y).b ; 91 60u10
2462 ; 91 61
2463 ; 91 62
2464 cpl ([rbyt],y).b ; 91 63u10
2465 srl ([rbyt],y).b ; 91 64u10
2466 ; 91 65
2467 rrc ([rbyt],y).b ; 91 66u10
2468 sra ([rbyt],y).b ; 91 67u10
2469 sla ([rbyt],y).b ; 91 68u10
2470 rlc ([rbyt],y).b ; 91 69u10
2471 dec ([rbyt],y).b ; 91 6Au10
2472 ; 91 6B
2473 inc ([rbyt],y).b ; 91 6Cu10
2474 tnz ([rbyt],y).b ; 91 6Du10
2475 swap ([rbyt],y).b ; 91 6Eu10
2476 clr ([rbyt],y).b ; 91 6Fu10
2478 mgrp91_7:
2480 .page
2482 mgrp91_8:
2484 mgrp91_9:
2486 mgrp91_A:
2487 ldf ([rwrd],y),a ; 91 A7v54u32
2488 ldf a,([rwrd],y) ; 91 AFv54u32
2490 mgrp91_B:
2492 mgrp91_C:
2493 cpw y,[rbyt].b ; 91 C3u10
2494 ldw y,[rbyt].b ; 91 CEu10
2495 ldw [rbyt].b,y ; 91 CFu10
2497 mgrp91_D:
2498 sub a,([rbyt],y).b ; 91 D0u10
2499 cp a,([rbyt],y).b ; 91 D1u10
2500 sbc a,([rbyt],y).b ; 91 D2u10
2501 cpw x,([rbyt],y).b ; 91 D3u10
2502 and a,([rbyt],y).b ; 91 D4u10
2503 bcp a,([rbyt],y).b ; 91 D5u10
2504 ld a,([rbyt],y).b ; 91 D6u10
2505 ld ([rbyt],y).b,a ; 91 D7u10
2506 xor a,([rbyt],y).b ; 91 D8u10
2507 adc a,([rbyt],y).b ; 91 D9u10
2508 or a,([rbyt],y).b ; 91 DAu10
2509 add a,([rbyt],y).b ; 91 DBu10
2510 jp ([rbyt],y).b ; 91 DCu10
2511 call ([rbyt],y).b ; 91 DDu10
2512 ldw y,([rbyt],y).b ; 91 DEu10
2513 ldw ([rbyt],y).b,x ; 91 DFu10
2515 mgrp91_E:
2517 mgrp91_F:
2519 .page
2520 .sbttl Page 92 STM8 Instructions in Numerical Order (Alternate)
2522 mgrp92_0:
2524 mgrp92_1:
2526 mgrp92_2:
2528 mgrp92_3:
2529 neg [rbyt].b ; 92 30u10
2530 ; 92 31
2531 ; 92 32
2532 cpl [rbyt].b ; 92 33u10
2533 srl [rbyt].b ; 92 34u10
2534 ; 92 35
2535 rrc [rbyt].b ; 92 36u10
2536 sra [rbyt].b ; 92 37u10
2537 sla [rbyt].b ; 92 38u10
2538 rlc [rbyt].b ; 92 39u10
2539 dec [rbyt].b ; 92 3Au10
2540 ; 92 3B
2541 inc [rbyt].b ; 92 3Cu10
2542 tnz [rbyt].b ; 92 3Du10
2543 swap [rbyt].b ; 92 3Eu10
2544 clr [rbyt].b ; 92 3Fu10
2546 mgrp92_4:
2548 mgrp92_5:
2550 mgrp92_6:
2551 neg ([rbyt],x).b ; 92 60u10
2552 ; 92 61
2553 ; 92 62
2554 cpl ([rbyt],x).b ; 92 63u10
2555 srl ([rbyt],x).b ; 92 64u10
2556 ; 92 65
2557 rrc ([rbyt],x).b ; 92 66u10
2558 sra ([rbyt],x).b ; 92 67u10
2559 sla ([rbyt],x).b ; 92 68u10
2560 rlc ([rbyt],x).b ; 92 69u10
2561 dec ([rbyt],x).b ; 92 6Au10
2562 ; 92 6B
2563 inc ([rbyt],x).b ; 92 6Cu10
2564 tnz ([rbyt],x).b ; 92 6Du10
2565 swap ([rbyt],x).b ; 92 6Eu10
2566 clr ([rbyt],x).b ; 92 6Fu10
2568 mgrp92_7:
2570 .page
2572 mgrp92_8:
2573 callf [rwrd] ; 92 8Dv54u32
2575 mgrp92_9:
2577 mgrp92_A:
2578 ldf ([rwrd],x),a ; 92 A7v54u32
2579 jpf [rwrd] ; 92 ACv54u32
2580 ldf a,([rwrd],x) ; 92 AFv54u32
2582 mgrp92_B:
2583 ldf a,[rwrd] ; 92 BCv54u32
2584 ldf [rwrd],a ; 92 BDv54u32
2586 mgrp92_C:
2587 sub a,[rbyt].b ; 92 C0u10
2588 cp a,[rbyt].b ; 92 C1u10
2589 sbc a,[rbyt].b ; 92 C2u10
2590 cpw x,[rbyt].b ; 92 C3u10
2591 and a,[rbyt].b ; 92 C4u10
2592 bcp a,[rbyt].b ; 92 C5u10
2593 ld a,[rbyt].b ; 92 C6u10
2594 ld [rbyt].b,a ; 92 C7u10
2595 xor a,[rbyt].b ; 92 C8u10
2596 adc a,[rbyt].b ; 92 C9u10
2597 or a,[rbyt].b ; 92 CAu10
2598 add a,[rbyt].b ; 92 CBu10
2599 jp [rbyt].b ; 92 CCu10
2600 call [rbyt].b ; 92 CDu10
2601 ldw x,[rbyt].b ; 92 CEu10
2602 ldw [rbyt].b,x ; 92 CFu10
2604 mgrp92_D:
2605 sub a,([rbyt],x).b ; 92 D0u10
2606 cp a,([rbyt],x).b ; 92 D1u10
2607 sbc a,([rbyt],x).b ; 92 D2u10
2608 cpw y,([rbyt],x).b ; 92 D3u10
2609 and a,([rbyt],x).b ; 92 D4u10
2610 bcp a,([rbyt],x).b ; 92 D5u10
2611 ld a,([rbyt],x).b ; 92 D6u10
2612 ld ([rbyt],x).b,a ; 92 D7u10
2613 xor a,([rbyt],x).b ; 92 D8u10
2614 adc a,([rbyt],x).b ; 92 D9u10
2615 or a,([rbyt],x).b ; 92 DAu10
2616 add a,([rbyt],x).b ; 92 DBu10
2617 jp ([rbyt],x).b ; 92 DCu10
2618 call ([rbyt],x).b ; 92 DDu10
2619 ldw x,([rbyt],x).b ; 92 DEu10
2620 ldw ([rbyt],x).b,y ; 92 DFu10
2622 mgrp92_E:
2624 mgrp92_F:
2627 .page
2628 .sbttl Base STM8 Instructions with External symbols
2630 ;ljm TODO: define not implemented
2631 ; .define rbyt, /xbyt+0x10/
2632 ; .define rwrd, /xwrd+0x5432/
2633 ; .define rexa, /xexa+0xBA9876/
2635 ngrp0:
2636 neg (*rbyt,sp) ; 00u10
2637 rrwa x,a ; 01
2638 rlwa x,a ; 02
2639 cpl (*rbyt,sp) ; 03u10
2640 srl (*rbyt,sp) ; 04u10
2641 ; 05
2642 rrc (*rbyt,sp) ; 06u10
2643 sra (*rbyt,sp) ; 07u10
2644 sla (*rbyt,sp) ; 08u10
2645 rlc (*rbyt,sp) ; 09u10
2646 dec (*rbyt,sp) ; 0Au10
2647 ; 0B
2648 inc (*rbyt,sp) ; 0Cu10
2649 tnz (*rbyt,sp) ; 0Du10
2650 swap (*rbyt,sp) ; 0Eu10
2651 clr (*rbyt,sp) ; 0Fu10
2653 ngrp1:
2654 sub a,(*rbyt,sp) ; 10u10
2655 cp a,(*rbyt,sp) ; 11u10
2656 sbc a,(*rbyt,sp) ; 12u10
2657 cpw x,(*rbyt,sp) ; 13u10
2658 and a,(*rbyt,sp) ; 14u10
2659 bcp a,(*rbyt,sp) ; 15u10
2660 ldw y,(*rbyt,sp) ; 16u10
2661 ldw (*rbyt,sp),y ; 17u10
2662 xor a,(*rbyt,sp) ; 18u10
2663 adc a,(*rbyt,sp) ; 19u10
2664 or a,(*rbyt,sp) ; 1Au10
2665 add a,(*rbyt,sp) ; 1Bu10
2666 addw x,#rwrd ; 1Cs54r32
2667 subw x,#rwrd ; 1Ds54r32
2668 ldw x,(*rbyt,sp) ; 1Eu10
2669 ldw (*rbyt,sp),x ; 1Fu10
2671 .page
2673 ngrp2:
2674 jra 1$ ; 20 0E
2675 jrf 1$ ; 21 0C
2676 jrugt 1$ ; 22 0A
2677 jrule 1$ ; 23 08
2678 jrnc 1$ ; 24 06
2679 jrc 1$ ; 25 04
2680 jrne 1$ ; 26 02
2681 jreq 1$ ; 27 00
2682 1$: jrnv 1$ ; 28 FE
2683 jrv 1$ ; 29 FC
2684 jrpl 1$ ; 2A FA
2685 jrmi 1$ ; 2B F8
2686 jrsgt 1$ ; 2C F6
2687 jrsle 1$ ; 2D F4
2688 jrsge 1$ ; 2E F2
2689 jrslt 1$ ; 2F F0
2691 ngrp3:
2692 neg *rbyt ; 30u10
2693 exg a,rwrd ; 31v54u32
2694 pop rwrd ; 32v54u32
2695 cpl *rbyt ; 33u10
2696 srl *rbyt ; 34u10
2697 mov rwrd,#rbyt ; 35r10v54u32
2698 rrc *rbyt ; 36u10
2699 sra *rbyt ; 37u10
2700 sla *rbyt ; 38u10
2701 rlc *rbyt ; 39u10
2702 dec *rbyt ; 3Au10
2703 push rwrd ; 3Bv54u32
2704 inc *rbyt ; 3Cu10
2705 tnz *rbyt ; 3Du10
2706 swap *rbyt ; 3Eu10
2707 clr *rbyt ; 3Fu10
2709 .page
2711 ngrp4:
2712 neg a ; 40
2713 exg a,xl ; 41
2714 mul x,a ; 42
2715 cpl a ; 43
2716 srl a ; 44
2717 mov *rbyt,*rbyt+0x11; 45u21u10
2718 rrc a ; 46
2719 sra a ; 47
2720 sla a ; 48
2721 rlc a ; 49
2722 dec a ; 4A
2723 push #rbyt ; 4Br10
2724 inc a ; 4C
2725 tnz a ; 4D
2726 swap a ; 4E
2727 clr a ; 4F
2729 ngrp5:
2730 negw x ; 50
2731 exgw x,y ; 51
2732 sub sp,#rbyt ; 52u10
2733 cplw x ; 53
2734 srlw x ; 54
2735 mov rwrd,rwrd+0x1111; 55v65u43v54u32
2736 rrcw x ; 56
2737 sraw x ; 57
2738 slaw x ; 58
2739 rlcw x ; 59
2740 decw x ; 5A
2741 add sp,#rbyt ; 5Bu10
2742 incw x ; 5C
2743 tnzw x ; 5D
2744 swapw x ; 5E
2745 clrw x ; 5F
2747 .page
2749 ngrp6:
2750 neg (*rbyt,x) ; 60u10
2751 exg a,yl ; 61
2752 div x,a ; 62
2753 cpl (*rbyt,x) ; 63u10
2754 srl (*rbyt,x) ; 64u10
2755 divw x,y ; 65
2756 rrc (*rbyt,x) ; 66u10
2757 sra (*rbyt,x) ; 67u10
2758 sla (*rbyt,x) ; 68u10
2759 rlc (*rbyt,x) ; 69u10
2760 dec (*rbyt,x) ; 6Au10
2761 ld (*rbyt,sp),a ; 6Bu10
2762 inc (*rbyt,x) ; 6Cu10
2763 tnz (*rbyt,x) ; 6Du10
2764 swap (*rbyt,x) ; 6Eu10
2765 clr (*rbyt,x) ; 6Fu10
2767 ngrp7:
2768 neg (x) ; 70
2769 ; 71
2770 ; 72
2771 cpl (x) ; 73
2772 srl (x) ; 74
2773 ; 75
2774 rrc (x) ; 76
2775 sra (x) ; 77
2776 sla (x) ; 78
2777 rlc (x) ; 79
2778 dec (x) ; 7A
2779 ld a,(*rbyt,sp) ; 7Bu10
2780 inc (x) ; 7C
2781 tnz (x) ; 7D
2782 swap (x) ; 7E
2783 clr (x) ; 7F
2785 .page
2787 ngrp8:
2788 iret ; 80
2789 ret ; 81
2790 ; 82
2791 trap ; 83
2792 pop a ; 84
2793 popw x ; 85
2794 pop cc ; 86
2795 retf ; 87
2796 push a ; 88
2797 pushw x ; 89
2798 push cc ; 8A
2799 ; 8B
2800 ccf ; 8C
2801 callf rexa ; 8DRBAs98r76
2802 halt ; 8E
2803 wfi ; 8F
2805 ngrp9:
2806 ; 90
2807 ; 91
2808 ; 92
2809 ldw x,y ; 93
2810 ldw sp,x ; 94
2811 ld xh,a ; 95
2812 ldw x,sp ; 96
2813 ld xl,a ; 97
2814 rcf ; 98
2815 scf ; 99
2816 rim ; 9A
2817 sim ; 9B
2818 rvf ; 9C
2819 nop ; 9D
2820 ld a,xh ; 9E
2821 ld a,xl ; 9F
2823 .page
2825 ngrpA:
2826 sub a,#rbyt ; A0r10
2827 cp a,#rbyt ; A1r10
2828 sbc a,#rbyt ; A2r10
2829 cpw x,#rwrd ; A3s54r32
2830 and a,#rbyt ; A4r10
2831 bcp a,#rbyt ; A5r10
2832 ld a,#rbyt ; A6r10
2833 ldf (rexa,x),a ; A7RBAs98r76
2834 xor a,#rbyt ; A8r10
2835 adc a,#rbyt ; A9r10
2836 or a,#rbyt ; AAr10
2837 add a,#rbyt ; ABr10
2838 jpf rexa ; ACRBAs98r76
2839 1$: callr 1$ ; AD FE
2840 ldw x,#rwrd ; AEs54r32
2841 ldf a,(rexa,x) ; AFRBAs98r76
2843 ngrpB:
2844 sub a,*rbyt ; B0u10
2845 cp a,*rbyt ; B1u10
2846 sbc a,*rbyt ; B2u10
2847 cpw x,*rbyt ; B3u10
2848 and a,*rbyt ; B4u10
2849 bcp a,*rbyt ; B5u10
2850 ld a,*rbyt ; B6u10
2851 ld *rbyt,a ; B7u10
2852 xor a,*rbyt ; B8u10
2853 adc a,*rbyt ; B9u10
2854 or a,*rbyt ; BAu10
2855 add a,*rbyt ; BBu10
2856 ldf a,rexa ; BCRBAs98r76
2857 ldf rexa,a ; BDRBAs98r76
2858 ldw x,*rbyt ; BEu10
2859 ldw *rbyt,x ; BFu10
2861 .page
2863 ngrpC:
2864 sub a,rwrd ; C0v54u32
2865 cp a,rwrd ; C1v54u32
2866 sbc a,rwrd ; C2v54u32
2867 cpw x,rwrd ; C3v54u32
2868 and a,rwrd ; C4v54u32
2869 bcp a,rwrd ; C5v54u32
2870 ld a,rwrd ; C6v54u32
2871 ld rwrd,a ; C7v54u32
2872 xor a,rwrd ; C8v54u32
2873 adc a,rwrd ; C9v54u32
2874 or a,rwrd ; CAv54u32
2875 add a,rwrd ; CBv54u32
2876 jp rwrd ; CCs54r32
2877 call rwrd ; CDs54r32
2878 ldw x,rwrd ; CEv54u32
2879 ldw rwrd,x ; CFv54u32
2881 ngrpD:
2882 sub a,(rwrd,x) ; D0v54u32
2883 cp a,(rwrd,x) ; D1v54u32
2884 sbc a,(rwrd,x) ; D2v54u32
2885 cpw y,(rwrd,x) ; D3v54u32
2886 and a,(rwrd,x) ; D4v54u32
2887 bcp a,(rwrd,x) ; D5v54u32
2888 ld a,(rwrd,x) ; D6v54u32
2889 ld (rwrd,x),a ; D7v54u32
2890 xor a,(rwrd,x) ; D8v54u32
2891 adc a,(rwrd,x) ; D9v54u32
2892 or a,(rwrd,x) ; DAv54u32
2893 add a,(rwrd,x) ; DBv54u32
2894 jp (rwrd,x) ; DCv54u32
2895 call (rwrd,x) ; DDv54u32
2896 ldw x,(rwrd,x) ; DEv54u32
2897 ldw (rwrd,x),y ; DFv54u32
2899 .page
2901 ngrpE:
2902 sub a,(*rbyt,x) ; E0u10
2903 cp a,(*rbyt,x) ; E1u10
2904 sbc a,(*rbyt,x) ; E2u10
2905 cpw y,(*rbyt,x) ; E3u10
2906 and a,(*rbyt,x) ; E4u10
2907 bcp a,(*rbyt,x) ; E5u10
2908 ld a,(*rbyt,x) ; E6u10
2909 ld (*rbyt,x),a ; E7u10
2910 xor a,(*rbyt,x) ; E8u10
2911 adc a,(*rbyt,x) ; E9u10
2912 or a,(*rbyt,x) ; EAu10
2913 add a,(*rbyt,x) ; EBu10
2914 jp (*rbyt,x) ; ECu10
2915 call (*rbyt,x) ; EDu10
2916 ldw x,(*rbyt,x) ; EEu10
2917 ldw (*rbyt,x),y ; EFu10
2919 ngrpF:
2920 sub a,(x) ; F0
2921 cp a,(x) ; F1
2922 sbc a,(x) ; F2
2923 cpw y,(x) ; F3
2924 and a,(x) ; F4
2925 bcp a,(x) ; F5
2926 ld a,(x) ; F6
2927 ld (x),a ; F7
2928 xor a,(x) ; F8
2929 adc a,(x) ; F9
2930 or a,(x) ; FA
2931 add a,(x) ; FB
2932 jp (x) ; FC
2933 call (x) ; FD
2934 ldw x,(x) ; FE
2935 ldw (x),y ; FF
2938 .page
2939 .sbttl Page 72 STM8 Instructions with External symbols
2941 ngrp72_0:
2942 btjt rwrd,#0,1$ ; 72 00v54u32 23
2943 btjf rwrd,#0,1$ ; 72 01v54u32 1E
2944 btjt rwrd,#1,1$ ; 72 02v54u32 19
2945 btjf rwrd,#1,1$ ; 72 03v54u32 14
2946 btjt rwrd,#2,1$ ; 72 04v54u32 0F
2947 btjf rwrd,#2,1$ ; 72 05v54u32 0A
2948 btjt rwrd,#3,1$ ; 72 06v54u32 05
2949 btjf rwrd,#3,1$ ; 72 07v54u32 00
2950 1$: btjt rwrd,#4,1$ ; 72 08v54u32 FB
2951 btjf rwrd,#4,1$ ; 72 09v54u32 F6
2952 btjt rwrd,#5,1$ ; 72 0Av54u32 F1
2953 btjf rwrd,#5,1$ ; 72 0Bv54u32 EC
2954 btjt rwrd,#6,1$ ; 72 0Cv54u32 E7
2955 btjf rwrd,#6,1$ ; 72 0Dv54u32 E2
2956 btjt rwrd,#7,1$ ; 72 0Ev54u32 DD
2957 btjf rwrd,#7,1$ ; 72 0Fv54u32 D8
2959 ngrp72_1:
2960 bset rwrd,#0 ; 72 10v54u32
2961 bres rwrd,#0 ; 72 11v54u32
2962 bset rwrd,#1 ; 72 12v54u32
2963 bres rwrd,#1 ; 72 13v54u32
2964 bset rwrd,#2 ; 72 14v54u32
2965 bres rwrd,#2 ; 72 15v54u32
2966 bset rwrd,#3 ; 72 16v54u32
2967 bres rwrd,#3 ; 72 17v54u32
2968 bset rwrd,#4 ; 72 18v54u32
2969 bres rwrd,#4 ; 72 19v54u32
2970 bset rwrd,#5 ; 72 1Av54u32
2971 bres rwrd,#5 ; 72 1Bv54u32
2972 bset rwrd,#6 ; 72 1Cv54u32
2973 bres rwrd,#6 ; 72 1Dv54u32
2974 bset rwrd,#7 ; 72 1Ev54u32
2975 bres rwrd,#7 ; 72 1Fv54u32
2977 ngrp72_2:
2979 .page
2981 ngrp72_3:
2982 neg [rwrd] ; 72 30v54u32
2983 ; 72 31
2984 ; 72 32
2985 cpl [rwrd] ; 72 33v54u32
2986 srl [rwrd] ; 72 34v54u32
2987 ; 72 35
2988 rrc [rwrd] ; 72 36v54u32
2989 sra [rwrd] ; 72 37v54u32
2990 sla [rwrd] ; 72 38v54u32
2991 rlc [rwrd] ; 72 39v54u32
2992 dec [rwrd] ; 72 3Av54u32
2993 ; 72 3B
2994 inc [rwrd] ; 72 3Cv54u32
2995 tnz [rwrd] ; 72 3Dv54u32
2996 swap [rwrd] ; 72 3Ev54u32
2997 clr [rwrd] ; 72 3Fv54u32
2999 ngrp72_4:
3000 neg (rwrd,x) ; 72 40v54u32
3001 ; 72 41
3002 ; 72 42
3003 cpl (rwrd,x) ; 72 43v54u32
3004 srl (rwrd,x) ; 72 44v54u32
3005 ; 72 45
3006 rrc (rwrd,x) ; 72 46v54u32
3007 sra (rwrd,x) ; 72 47v54u32
3008 sla (rwrd,x) ; 72 48v54u32
3009 rlc (rwrd,x) ; 72 49v54u32
3010 dec (rwrd,x) ; 72 4Av54u32
3011 ; 72 4B
3012 inc (rwrd,x) ; 72 4Cv54u32
3013 tnz (rwrd,x) ; 72 4Dv54u32
3014 swap (rwrd,x) ; 72 4Ev54u32
3015 clr (rwrd,x) ; 72 4Fv54u32
3017 .page
3019 ngrp72_5:
3020 neg rwrd ; 72 50v54u32
3021 ; 72 51
3022 ; 72 52
3023 cpl rwrd ; 72 53v54u32
3024 srl rwrd ; 72 54v54u32
3025 ; 72 55
3026 rrc rwrd ; 72 56v54u32
3027 sra rwrd ; 72 57v54u32
3028 sla rwrd ; 72 58v54u32
3029 rlc rwrd ; 72 59v54u32
3030 dec rwrd ; 72 5Av54u32
3031 ; 72 5B
3032 inc rwrd ; 72 5Cv54u32
3033 tnz rwrd ; 72 5Dv54u32
3034 swap rwrd ; 72 5Ev54u32
3035 clr rwrd ; 72 5Fv54u32
3037 ngrp72_6:
3038 neg ([rwrd],x) ; 72 60v54u32
3039 ; 72 61
3040 ; 72 62
3041 cpl ([rwrd],x) ; 72 63v54u32
3042 srl ([rwrd],x) ; 72 64v54u32
3043 ; 72 65
3044 rrc ([rwrd],x) ; 72 66v54u32
3045 sra ([rwrd],x) ; 72 67v54u32
3046 sla ([rwrd],x) ; 72 68v54u32
3047 rlc ([rwrd],x) ; 72 69v54u32
3048 dec ([rwrd],x) ; 72 6Av54u32
3049 ; 72 6B
3050 inc ([rwrd],x) ; 72 6Cv54u32
3051 tnz ([rwrd],x) ; 72 6Dv54u32
3052 swap ([rwrd],x) ; 72 6Ev54u32
3053 clr ([rwrd],x) ; 72 6Fv54u32
3055 .page
3057 ngrp72_7:
3059 ngrp72_8:
3060 wfe ; 72 8F
3062 ngrp72_9:
3064 ngrp72_A:
3065 subw y,#rwrd ; 72 A2s54r32
3066 addw y,#rwrd ; 72 A9s54r32
3068 ngrp72_B:
3069 subw x,*rbyt ; 72 B0u10
3070 subw y,*rbyt ; 72 B2u10
3071 addw y,*rbyt ; 72 B9u10
3072 addw x,*rbyt ; 72 BBu10
3074 .page
3076 ngrp72_C:
3077 sub a,[rwrd] ; 72 C0v54u32
3078 cp a,[rwrd] ; 72 C1v54u32
3079 sbc a,[rwrd] ; 72 C2v54u32
3080 cpw x,[rwrd] ; 72 C3v54u32
3081 and a,[rwrd] ; 72 C4v54u32
3082 bcp a,[rwrd] ; 72 C5v54u32
3083 ld a,[rwrd] ; 72 C6v54u32
3084 ld [rwrd],a ; 72 C7v54u32
3085 xor a,[rwrd] ; 72 C8v54u32
3086 adc a,[rwrd] ; 72 C9v54u32
3087 or a,[rwrd] ; 72 CAv54u32
3088 add a,[rwrd] ; 72 CBv54u32
3089 jp [rwrd] ; 72 CCv54u32
3090 call [rwrd] ; 72 CDv54u32
3091 ldw x,[rwrd] ; 72 CEv54u32
3092 ldw [rwrd],x ; 72 CFv54u32
3094 ngrp72_D:
3095 sub a,([rwrd],x) ; 72 D0v54u32
3096 cp a,([rwrd],x) ; 72 D1v54u32
3097 sbc a,([rwrd],x) ; 72 D2v54u32
3098 cpw y,([rwrd],x) ; 72 D3v54u32
3099 and a,([rwrd],x) ; 72 D4v54u32
3100 bcp a,([rwrd],x) ; 72 D5v54u32
3101 ld a,([rwrd],x) ; 72 D6v54u32
3102 ld ([rwrd],x),a ; 72 D7v54u32
3103 xor a,([rwrd],x) ; 72 D8v54u32
3104 adc a,([rwrd],x) ; 72 D9v54u32
3105 or a,([rwrd],x) ; 72 DAv54u32
3106 add a,([rwrd],x) ; 72 DBv54u32
3107 jp ([rwrd],x) ; 72 DCv54u32
3108 call ([rwrd],x) ; 72 DDv54u32
3109 ldw x,([rwrd],x) ; 72 DEv54u32
3110 ldw ([rwrd],x),y ; 72 DFv54u32
3112 ngrp72_E:
3114 ngrp72_F:
3115 subw x,(*rbyt,sp) ; 72 F0u10
3116 subw y,(*rbyt,sp) ; 72 F2u10
3117 addw y,(*rbyt,sp) ; 72 F9u10
3118 addw x,(*rbyt,sp) ; 72 FBu10
3121 .page
3122 .sbttl Page 90 STM8 Instructions with External symbols
3124 ngrp90_0:
3125 rrwa y,a ; 90 01
3126 rlwa y,a ; 90 02
3128 ngrp90_1:
3129 bcpl rwrd,#0 ; 90 10v54u32
3130 bccm rwrd,#0 ; 90 11v54u32
3131 bcpl rwrd,#1 ; 90 12v54u32
3132 bccm rwrd,#1 ; 90 13v54u32
3133 bcpl rwrd,#2 ; 90 14v54u32
3134 bccm rwrd,#2 ; 90 15v54u32
3135 bcpl rwrd,#3 ; 90 16v54u32
3136 bccm rwrd,#3 ; 90 17v54u32
3137 bcpl rwrd,#4 ; 90 18v54u32
3138 bccm rwrd,#4 ; 90 19v54u32
3139 bcpl rwrd,#5 ; 90 1Av54u32
3140 bccm rwrd,#5 ; 90 1Bv54u32
3141 bcpl rwrd,#6 ; 90 1Cv54u32
3142 bccm rwrd,#6 ; 90 1Dv54u32
3143 bcpl rwrd,#7 ; 90 1Ev54u32
3144 bccm rwrd,#7 ; 90 1Fv54u32
3146 ngrp90_2:
3147 jrnh 1$ ; 90 28 0C
3148 jrh 1$ ; 90 29 09
3149 jrnm 1$ ; 90 2C 06
3150 jrm 1$ ; 90 2D 03
3151 jril 1$ ; 90 2E 00
3152 1$: jrih 1$ ; 90 2F FD
3154 ngrp90_3:
3156 .page
3158 ngrp90_4:
3159 neg (rwrd,y) ; 90 40v54u32
3160 ; 90 41
3161 mul y,a ; 90 42
3162 cpl (rwrd,y) ; 90 43v54u32
3163 srl (rwrd,y) ; 90 44v54u32
3164 ; 90 45
3165 rrc (rwrd,y) ; 90 46v54u32
3166 sra (rwrd,y) ; 90 47v54u32
3167 sla (rwrd,y) ; 90 48v54u32
3168 rlc (rwrd,y) ; 90 49v54u32
3169 dec (rwrd,y) ; 90 4Av54u32
3170 ; 90 4B
3171 inc (rwrd,y) ; 90 4Cv54u32
3172 tnz (rwrd,y) ; 90 4Dv54u32
3173 swap (rwrd,y) ; 90 4Ev54u32
3174 clr (rwrd,y) ; 90 4Fv54u32
3176 ngrp90_5:
3177 negw y ; 90 50
3178 ; 90 51
3179 ; 90 52
3180 cplw y ; 90 53
3181 srlw y ; 90 54
3182 ; 90 55
3183 rrcw y ; 90 56
3184 sraw y ; 90 57
3185 slaw y ; 90 58
3186 rlcw y ; 90 59
3187 decw y ; 90 5A
3188 ; 90 5B
3189 incw y ; 90 5C
3190 tnzw y ; 90 5D
3191 swapw y ; 90 5E
3192 clrw y ; 90 5F
3194 .page
3196 ngrp90_6:
3197 neg (*rbyt,y) ; 90 60u10
3198 ; 90 61
3199 div y,a ; 90 62
3200 cpl (*rbyt,y) ; 90 63u10
3201 srl (*rbyt,y) ; 90 64u10
3202 ; 90 65
3203 rrc (*rbyt,y) ; 90 66u10
3204 sra (*rbyt,y) ; 90 67u10
3205 sla (*rbyt,y) ; 90 68u10
3206 rlc (*rbyt,y) ; 90 69u10
3207 dec (*rbyt,y) ; 90 6Au10
3208 ; 90 6B
3209 inc (*rbyt,y) ; 90 6Cu10
3210 tnz (*rbyt,y) ; 90 6Du10
3211 swap (*rbyt,y) ; 90 6Eu10
3212 clr (*rbyt,y) ; 90 6Fu10
3214 ngrp90_7:
3215 neg (y) ; 90 70
3216 ; 90 71
3217 ; 90 72
3218 cpl (y) ; 90 73
3219 srl (y) ; 90 74
3220 ; 90 75
3221 rrc (y) ; 90 76
3222 sra (y) ; 90 77
3223 sla (y) ; 90 78
3224 rlc (y) ; 90 79
3225 dec (y) ; 90 7A
3226 ; 90 7B
3227 inc (y) ; 90 7C
3228 tnz (y) ; 90 7D
3229 swap (y) ; 90 7E
3230 clr (y) ; 90 7F
3232 .page
3234 ngrp90_8:
3235 popw y ; 90 85
3236 pushw y ; 90 89
3238 ngrp90_9:
3239 ldw y,x ; 90 93
3240 ldw sp,y ; 90 94
3241 ld yh,a ; 90 95
3242 ldw y,sp ; 90 96
3243 ld yl,a ; 90 97
3244 ld a,yh ; 90 9E
3245 ld a,yl ; 90 9F
3247 ngrp90_A:
3248 cpw y,#rwrd ; 90 A3s54r32
3249 ldf (rexa,y),a ; 90 A7RBAs98r76
3250 ldw y,#rwrd ; 90 AEs54r32
3251 ldf a,(rexa,y) ; 90 AFRBAs98r76
3253 ngrp90_B:
3254 cpw y,*rbyt ; 90 B3u10
3255 ldw y,*rbyt ; 90 BEu10
3256 ldw *rbyt,y ; 90 BFu10
3258 ngrp90_C:
3259 cpw y,rwrd ; 90 C3v54u32
3260 ldw y,rwrd ; 90 CEv54u32
3261 ldw rwrd,y ; 90 CFv54u32
3263 ngrp90_D:
3264 sub a,(rwrd,y) ; 90 D0v54u32
3265 cp a,(rwrd,y) ; 90 D1v54u32
3266 sbc a,(rwrd,y) ; 90 D2v54u32
3267 cpw x,(rwrd,y) ; 90 D3v54u32
3268 and a,(rwrd,y) ; 90 D4v54u32
3269 bcp a,(rwrd,y) ; 90 D5v54u32
3270 ld a,(rwrd,y) ; 90 D6v54u32
3271 ld (rwrd,y),a ; 90 D7v54u32
3272 xor a,(rwrd,y) ; 90 D8v54u32
3273 adc a,(rwrd,y) ; 90 D9v54u32
3274 or a,(rwrd,y) ; 90 DAv54u32
3275 add a,(rwrd,y) ; 90 DBv54u32
3276 jp (rwrd,y) ; 90 DCv54u32
3277 call (rwrd,y) ; 90 DDv54u32
3278 ldw y,(rwrd,y) ; 90 DEv54u32
3279 ldw (rwrd,y),x ; 90 DFv54u32
3281 .page
3283 ngrp90_E:
3284 sub a,(*rbyt,y) ; 90 E0u10
3285 cp a,(*rbyt,y) ; 90 E1u10
3286 sbc a,(*rbyt,y) ; 90 E2u10
3287 cpw x,(*rbyt,y) ; 90 E3u10
3288 and a,(*rbyt,y) ; 90 E4u10
3289 bcp a,(*rbyt,y) ; 90 E5u10
3290 ld a,(*rbyt,y) ; 90 E6u10
3291 ld (*rbyt,y),a ; 90 E7u10
3292 xor a,(*rbyt,y) ; 90 E8u10
3293 adc a,(*rbyt,y) ; 90 E9u10
3294 or a,(*rbyt,y) ; 90 EAu10
3295 add a,(*rbyt,y) ; 90 EBu10
3296 jp (*rbyt,y) ; 90 ECu10
3297 call (*rbyt,y) ; 90 EDu10
3298 ldw y,(*rbyt,y) ; 90 EEu10
3299 ldw (*rbyt,y),x ; 90 EFu10
3301 ngrp90_F:
3302 sub a,(y) ; 90 F0
3303 cp a,(y) ; 90 F1
3304 sbc a,(y) ; 90 F2
3305 cpw x,(y) ; 90 F3
3306 and a,(y) ; 90 F4
3307 bcp a,(y) ; 90 F5
3308 ld a,(y) ; 90 F6
3309 ld (y),a ; 90 F7
3310 xor a,(y) ; 90 F8
3311 adc a,(y) ; 90 F9
3312 or a,(y) ; 90 FA
3313 add a,(y) ; 90 FB
3314 jp (y) ; 90 FC
3315 call (y) ; 90 FD
3316 ldw y,(y) ; 90 FE
3317 ldw (y),x ; 90 FF
3320 .page
3321 .sbttl Page 91 STM8 Instructions with External symbols
3323 ngrp91_0:
3325 ngrp91_1:
3327 ngrp91_2:
3329 ngrp91_3:
3331 ngrp91_4:
3333 ngrp91_5:
3335 ngrp91_6:
3336 neg ([*rbyt],y) ; 91 60u10
3337 ; 91 61
3338 ; 91 62
3339 cpl ([*rbyt],y) ; 91 63u10
3340 srl ([*rbyt],y) ; 91 64u10
3341 ; 91 65
3342 rrc ([*rbyt],y) ; 91 66u10
3343 sra ([*rbyt],y) ; 91 67u10
3344 sla ([*rbyt],y) ; 91 68u10
3345 rlc ([*rbyt],y) ; 91 69u10
3346 dec ([*rbyt],y) ; 91 6Au10
3347 ; 91 6B
3348 inc ([*rbyt],y) ; 91 6Cu10
3349 tnz ([*rbyt],y) ; 91 6Du10
3350 swap ([*rbyt],y) ; 91 6Eu10
3351 clr ([*rbyt],y) ; 91 6Fu10
3353 ngrp91_7:
3355 .page
3357 ngrp91_8:
3359 ngrp91_9:
3361 ngrp91_A:
3362 ldf ([rwrd],y),a ; 91 A7v54u32
3363 ldf a,([rwrd],y) ; 91 AFv54u32
3365 ngrp91_B:
3367 ngrp91_C:
3368 cpw y,[*rbyt] ; 91 C3u10
3369 ldw y,[*rbyt] ; 91 CEu10
3370 ldw [*rbyt],y ; 91 CFu10
3372 ngrp91_D:
3373 sub a,([*rbyt],y) ; 91 D0u10
3374 cp a,([*rbyt],y) ; 91 D1u10
3375 sbc a,([*rbyt],y) ; 91 D2u10
3376 cpw x,([*rbyt],y) ; 91 D3u10
3377 and a,([*rbyt],y) ; 91 D4u10
3378 bcp a,([*rbyt],y) ; 91 D5u10
3379 ld a,([*rbyt],y) ; 91 D6u10
3380 ld ([*rbyt],y),a ; 91 D7u10
3381 xor a,([*rbyt],y) ; 91 D8u10
3382 adc a,([*rbyt],y) ; 91 D9u10
3383 or a,([*rbyt],y) ; 91 DAu10
3384 add a,([*rbyt],y) ; 91 DBu10
3385 jp ([*rbyt],y) ; 91 DCu10
3386 call ([*rbyt],y) ; 91 DDu10
3387 ldw y,([*rbyt],y) ; 91 DEu10
3388 ldw ([*rbyt],y),x ; 91 DFu10
3390 ngrp91_E:
3392 ngrp91_F:
3394 .page
3395 .sbttl Page 92 STM8 Instructions with External symbols
3397 ngrp92_0:
3399 ngrp92_1:
3401 ngrp92_2:
3403 ngrp92_3:
3404 neg [*rbyt] ; 92 30u10
3405 ; 92 31
3406 ; 92 32
3407 cpl [*rbyt] ; 92 33u10
3408 srl [*rbyt] ; 92 34u10
3409 ; 92 35
3410 rrc [*rbyt] ; 92 36u10
3411 sra [*rbyt] ; 92 37u10
3412 sla [*rbyt] ; 92 38u10
3413 rlc [*rbyt] ; 92 39u10
3414 dec [*rbyt] ; 92 3Au10
3415 ; 92 3B
3416 inc [*rbyt] ; 92 3Cu10
3417 tnz [*rbyt] ; 92 3Du10
3418 swap [*rbyt] ; 92 3Eu10
3419 clr [*rbyt] ; 92 3Fu10
3421 ngrp92_4:
3423 ngrp92_5:
3425 ngrp92_6:
3426 neg ([*rbyt],x) ; 92 60u10
3427 ; 92 61
3428 ; 92 62
3429 cpl ([*rbyt],x) ; 92 63u10
3430 srl ([*rbyt],x) ; 92 64u10
3431 ; 92 65
3432 rrc ([*rbyt],x) ; 92 66u10
3433 sra ([*rbyt],x) ; 92 67u10
3434 sla ([*rbyt],x) ; 92 68u10
3435 rlc ([*rbyt],x) ; 92 69u10
3436 dec ([*rbyt],x) ; 92 6Au10
3437 ; 92 6B
3438 inc ([*rbyt],x) ; 92 6Cu10
3439 tnz ([*rbyt],x) ; 92 6Du10
3440 swap ([*rbyt],x) ; 92 6Eu10
3441 clr ([*rbyt],x) ; 92 6Fu10
3443 ngrp92_7:
3445 .page
3447 ngrp92_8:
3448 callf [rwrd] ; 92 8Dv54u32
3450 ngrp92_9:
3452 ngrp92_A:
3453 ldf ([rwrd],x),a ; 92 A7v54u32
3454 jpf [rwrd] ; 92 ACv54u32
3455 ldf a,([rwrd],x) ; 92 AFv54u32
3457 ngrp92_B:
3458 ldf a,[rwrd] ; 92 BCv54u32
3459 ldf [rwrd],a ; 92 BDv54u32
3461 ngrp92_C:
3462 sub a,[*rbyt] ; 92 C0u10
3463 cp a,[*rbyt] ; 92 C1u10
3464 sbc a,[*rbyt] ; 92 C2u10
3465 cpw x,[*rbyt] ; 92 C3u10
3466 and a,[*rbyt] ; 92 C4u10
3467 bcp a,[*rbyt] ; 92 C5u10
3468 ld a,[*rbyt] ; 92 C6u10
3469 ld [*rbyt],a ; 92 C7u10
3470 xor a,[*rbyt] ; 92 C8u10
3471 adc a,[*rbyt] ; 92 C9u10
3472 or a,[*rbyt] ; 92 CAu10
3473 add a,[*rbyt] ; 92 CBu10
3474 jp [*rbyt] ; 92 CCu10
3475 call [*rbyt] ; 92 CDu10
3476 ldw x,[*rbyt] ; 92 CEu10
3477 ldw [*rbyt],x ; 92 CFu10
3479 ngrp92_D:
3480 sub a,([*rbyt],x) ; 92 D0u10
3481 cp a,([*rbyt],x) ; 92 D1u10
3482 sbc a,([*rbyt],x) ; 92 D2u10
3483 cpw y,([*rbyt],x) ; 92 D3u10
3484 and a,([*rbyt],x) ; 92 D4u10
3485 bcp a,([*rbyt],x) ; 92 D5u10
3486 ld a,([*rbyt],x) ; 92 D6u10
3487 ld ([*rbyt],x),a ; 92 D7u10
3488 xor a,([*rbyt],x) ; 92 D8u10
3489 adc a,([*rbyt],x) ; 92 D9u10
3490 or a,([*rbyt],x) ; 92 DAu10
3491 add a,([*rbyt],x) ; 92 DBu10
3492 jp ([*rbyt],x) ; 92 DCu10
3493 call ([*rbyt],x) ; 92 DDu10
3494 ldw x,([*rbyt],x) ; 92 DEu10
3495 ldw ([*rbyt],x),y ; 92 DFu10
3497 ngrp92_E:
3499 ngrp92_F:
3501 ;; ljm TODO: undefine not implemented
3502 ; .undefine rbyt
3503 ; .undefine rwrd
3504 ; .undefine rexa
3507 .page
3508 .sbttl Base STM8 Instructions External 1-Byte Promotion to 2-Byte
3510 ; Note: 1-Byte external references are promoted to
3511 ; 2-Byte references if the 2-Byte addressing
3512 ; mode is allowed.
3514 ; If the 1-Byte does not promote to the 2-Byte
3515 ; mode and the external reference is not within
3516 ; the range 0x00 - 0xFF the linker will report
3517 ; an error.
3519 .define rbyt, /xbyt+0x10/
3520 .define rwrd, /xwrd+0x5432/
3521 .define rexa, /xexa+0xBA9876/
3523 xgrp0:
3524 neg (rbyt,sp) ; 00u10
3525 rrwa x,a ; 01
3526 rlwa x,a ; 02
3527 cpl (rbyt,sp) ; 03u10
3528 srl (rbyt,sp) ; 04u10
3529 ; 05
3530 rrc (rbyt,sp) ; 06u10
3531 sra (rbyt,sp) ; 07u10
3532 sla (rbyt,sp) ; 08u10
3533 rlc (rbyt,sp) ; 09u10
3534 dec (rbyt,sp) ; 0Au10
3535 ; 0B
3536 inc (rbyt,sp) ; 0Cu10
3537 tnz (rbyt,sp) ; 0Du10
3538 swap (rbyt,sp) ; 0Eu10
3539 clr (rbyt,sp) ; 0Fu10
3541 xgrp1:
3542 sub a,(rbyt,sp) ; 10u10
3543 cp a,(rbyt,sp) ; 11u10
3544 sbc a,(rbyt,sp) ; 12u10
3545 cpw x,(rbyt,sp) ; 13u10
3546 and a,(rbyt,sp) ; 14u10
3547 bcp a,(rbyt,sp) ; 15u10
3548 ldw y,(rbyt,sp) ; 16u10
3549 ldw (rbyt,sp),y ; 17u10
3550 xor a,(rbyt,sp) ; 18u10
3551 adc a,(rbyt,sp) ; 19u10
3552 or a,(rbyt,sp) ; 1Au10
3553 add a,(rbyt,sp) ; 1Bu10
3554 addw x,#rwrd ; 1Cs54r32
3555 subw x,#rwrd ; 1Ds54r32
3556 ldw x,(rbyt,sp) ; 1Eu10
3557 ldw (rbyt,sp),x ; 1Fu10
3559 .page
3561 xgrp2:
3562 jra 1$ ; 20 0E
3563 jrf 1$ ; 21 0C
3564 jrugt 1$ ; 22 0A
3565 jrule 1$ ; 23 08
3566 jrnc 1$ ; 24 06
3567 jrc 1$ ; 25 04
3568 jrne 1$ ; 26 02
3569 jreq 1$ ; 27 00
3570 1$: jrnv 1$ ; 28 FE
3571 jrv 1$ ; 29 FC
3572 jrpl 1$ ; 2A FA
3573 jrmi 1$ ; 2B F8
3574 jrsgt 1$ ; 2C F6
3575 jrsle 1$ ; 2D F4
3576 jrsge 1$ ; 2E F2
3577 jrslt 1$ ; 2F F0
3579 xgrp3:
3580 neg rbyt ; 72 50v00u10
3581 exg a,rwrd ; 31v54u32
3582 pop rwrd ; 32v54u32
3583 cpl rbyt ; 72 53v00u10
3584 srl rbyt ; 72 54v00u10
3585 mov rwrd,#rbyt ; 35r10v54u32
3586 rrc rbyt ; 72 56v00u10
3587 sra rbyt ; 72 57v00u10
3588 sla rbyt ; 72 58v00u10
3589 rlc rbyt ; 72 59v00u10
3590 dec rbyt ; 72 5Av00u10
3591 push rwrd ; 3Bv54u32
3592 inc rbyt ; 72 5Cv00u10
3593 tnz rbyt ; 72 5Dv00u10
3594 swap rbyt ; 72 5Ev00u10
3595 clr rbyt ; 72 5Fv00u10
3597 .page
3599 xgrp4:
3600 neg a ; 40
3601 exg a,xl ; 41
3602 mul x,a ; 42
3603 cpl a ; 43
3604 srl a ; 44
3605 mov rbyt,rbyt+0x11 ; 55v00u21v00u10
3606 rrc a ; 46
3607 sra a ; 47
3608 sla a ; 48
3609 rlc a ; 49
3610 dec a ; 4A
3611 push #rbyt ; 4Br10
3612 inc a ; 4C
3613 tnz a ; 4D
3614 swap a ; 4E
3615 clr a ; 4F
3617 xgrp5:
3618 negw x ; 50
3619 exgw x,y ; 51
3620 sub sp,#rbyt ; 52u10
3621 cplw x ; 53
3622 srlw x ; 54
3623 mov rwrd,rwrd+0x1111; 55v65u43v54u32
3624 rrcw x ; 56
3625 sraw x ; 57
3626 slaw x ; 58
3627 rlcw x ; 59
3628 decw x ; 5A
3629 add sp,#rbyt ; 5Bu10
3630 incw x ; 5C
3631 tnzw x ; 5D
3632 swapw x ; 5E
3633 clrw x ; 5F
3635 .page
3637 xgrp6:
3638 neg (rbyt,x) ; 72 40v00u10
3639 exg a,yl ; 61
3640 div x,a ; 62
3641 cpl (rbyt,x) ; 72 43v00u10
3642 srl (rbyt,x) ; 72 44v00u10
3643 divw x,y ; 65
3644 rrc (rbyt,x) ; 72 46v00u10
3645 sra (rbyt,x) ; 72 47v00u10
3646 sla (rbyt,x) ; 72 48v00u10
3647 rlc (rbyt,x) ; 72 49v00u10
3648 dec (rbyt,x) ; 72 4Av00u10
3649 ld (rbyt,sp),a ; 6Bu10
3650 inc (rbyt,x) ; 72 4Cv00u10
3651 tnz (rbyt,x) ; 72 4Dv00u10
3652 swap (rbyt,x) ; 72 4Ev00u10
3653 clr (rbyt,x) ; 72 4Fv00u10
3655 xgrp7:
3656 neg (x) ; 70
3657 ; 71
3658 ; 72
3659 cpl (x) ; 73
3660 srl (x) ; 74
3661 ; 75
3662 rrc (x) ; 76
3663 sra (x) ; 77
3664 sla (x) ; 78
3665 rlc (x) ; 79
3666 dec (x) ; 7A
3667 ld a,(rbyt,sp) ; 7Bu10
3668 inc (x) ; 7C
3669 tnz (x) ; 7D
3670 swap (x) ; 7E
3671 clr (x) ; 7F
3673 .page
3675 xgrp8:
3676 iret ; 80
3677 ret ; 81
3678 ; 82
3679 trap ; 83
3680 pop a ; 84
3681 popw x ; 85
3682 pop cc ; 86
3683 retf ; 87
3684 push a ; 88
3685 pushw x ; 89
3686 push cc ; 8A
3687 ; 8B
3688 ccf ; 8C
3689 callf rexa ; 8DRBAs98r76
3690 halt ; 8E
3691 wfi ; 8F
3693 xgrp9:
3694 ; 90
3695 ; 91
3696 ; 92
3697 ldw x,y ; 93
3698 ldw sp,x ; 94
3699 ld xh,a ; 95
3700 ldw x,sp ; 96
3701 ld xl,a ; 97
3702 rcf ; 98
3703 scf ; 99
3704 rim ; 9A
3705 sim ; 9B
3706 rvf ; 9C
3707 nop ; 9D
3708 ld a,xh ; 9E
3709 ld a,xl ; 9F
3711 .page
3713 xgrpA:
3714 sub a,#rbyt ; A0r10
3715 cp a,#rbyt ; A1r10
3716 sbc a,#rbyt ; A2r10
3717 cpw x,#rwrd ; A3s54r32
3718 and a,#rbyt ; A4r10
3719 bcp a,#rbyt ; A5r10
3720 ld a,#rbyt ; A6r10
3721 ldf (rexa,x),a ; A7RBAs98r76
3722 xor a,#rbyt ; A8r10
3723 adc a,#rbyt ; A9r10
3724 or a,#rbyt ; AAr10
3725 add a,#rbyt ; ABr10
3726 jpf rexa ; ACRBAs98r76
3727 1$: callr 1$ ; AD FE
3728 ldw x,#rwrd ; AEs54r32
3729 ldf a,(rexa,x) ; AFRBAs98r76
3731 xgrpB:
3732 sub a,rbyt ; C0v00u10
3733 cp a,rbyt ; C1v00u10
3734 sbc a,rbyt ; C2v00u10
3735 cpw x,rbyt ; C3v00u10
3736 and a,rbyt ; C4v00u10
3737 bcp a,rbyt ; C5v00u10
3738 ld a,rbyt ; C6v00u10
3739 ld rbyt,a ; C7v00u10
3740 xor a,rbyt ; C8v00u10
3741 adc a,rbyt ; C9v00u10
3742 or a,rbyt ; CAv00u10
3743 add a,rbyt ; CBv00u10
3744 ldf a,rexa ; BCRBAs98r76
3745 ldf rexa,a ; BDRBAs98r76
3746 ldw x,rbyt ; CEv00u10
3747 ldw rbyt,x ; CFv00u10
3749 .page
3751 xgrpC:
3752 sub a,rwrd ; C0v54u32
3753 cp a,rwrd ; C1v54u32
3754 sbc a,rwrd ; C2v54u32
3755 cpw x,rwrd ; C3v54u32
3756 and a,rwrd ; C4v54u32
3757 bcp a,rwrd ; C5v54u32
3758 ld a,rwrd ; C6v54u32
3759 ld rwrd,a ; C7v54u32
3760 xor a,rwrd ; C8v54u32
3761 adc a,rwrd ; C9v54u32
3762 or a,rwrd ; CAv54u32
3763 add a,rwrd ; CBv54u32
3764 jp rwrd ; CCs54r32
3765 call rwrd ; CDs54r32
3766 ldw x,rwrd ; CEv54u32
3767 ldw rwrd,x ; CFv54u32
3769 xgrpD:
3770 sub a,(rwrd,x) ; D0v54u32
3771 cp a,(rwrd,x) ; D1v54u32
3772 sbc a,(rwrd,x) ; D2v54u32
3773 cpw y,(rwrd,x) ; D3v54u32
3774 and a,(rwrd,x) ; D4v54u32
3775 bcp a,(rwrd,x) ; D5v54u32
3776 ld a,(rwrd,x) ; D6v54u32
3777 ld (rwrd,x),a ; D7v54u32
3778 xor a,(rwrd,x) ; D8v54u32
3779 adc a,(rwrd,x) ; D9v54u32
3780 or a,(rwrd,x) ; DAv54u32
3781 add a,(rwrd,x) ; DBv54u32
3782 jp (rwrd,x) ; DCv54u32
3783 call (rwrd,x) ; DDv54u32
3784 ldw x,(rwrd,x) ; DEv54u32
3785 ldw (rwrd,x),y ; DFv54u32
3787 .page
3789 xgrpE:
3790 sub a,(rbyt,x) ; D0v00u10
3791 cp a,(rbyt,x) ; D1v00u10
3792 sbc a,(rbyt,x) ; D2v00u10
3793 cpw y,(rbyt,x) ; D3v00u10
3794 and a,(rbyt,x) ; D4v00u10
3795 bcp a,(rbyt,x) ; D5v00u10
3796 ld a,(rbyt,x) ; D6v00u10
3797 ld (rbyt,x),a ; D7v00u10
3798 xor a,(rbyt,x) ; D8v00u10
3799 adc a,(rbyt,x) ; D9v00u10
3800 or a,(rbyt,x) ; DAv00u10
3801 add a,(rbyt,x) ; DBv00u10
3802 jp (rbyt,x) ; DCv00u10
3803 call (rbyt,x) ; DDv00u10
3804 ldw x,(rbyt,x) ; DEv00u10
3805 ldw (rbyt,x),y ; DFv00u10
3807 xgrpF:
3808 sub a,(x) ; F0
3809 cp a,(x) ; F1
3810 sbc a,(x) ; F2
3811 cpw y,(x) ; F3
3812 and a,(x) ; F4
3813 bcp a,(x) ; F5
3814 ld a,(x) ; F6
3815 ld (x),a ; F7
3816 xor a,(x) ; F8
3817 adc a,(x) ; F9
3818 or a,(x) ; FA
3819 add a,(x) ; FB
3820 jp (x) ; FC
3821 call (x) ; FD
3822 ldw x,(x) ; FE
3823 ldw (x),y ; FF
3826 .page
3827 .sbttl Page 72 STM8 Instructions External 1-Byte Promotion to 2-Byte
3829 xgrp72_0:
3830 btjt rwrd,#0,1$ ; 72 00v54u32 23
3831 btjf rwrd,#0,1$ ; 72 01v54u32 1E
3832 btjt rwrd,#1,1$ ; 72 02v54u32 19
3833 btjf rwrd,#1,1$ ; 72 03v54u32 14
3834 btjt rwrd,#2,1$ ; 72 04v54u32 0F
3835 btjf rwrd,#2,1$ ; 72 05v54u32 0A
3836 btjt rwrd,#3,1$ ; 72 06v54u32 05
3837 btjf rwrd,#3,1$ ; 72 07v54u32 00
3838 1$: btjt rwrd,#4,1$ ; 72 08v54u32 FB
3839 btjf rwrd,#4,1$ ; 72 09v54u32 F6
3840 btjt rwrd,#5,1$ ; 72 0Av54u32 F1
3841 btjf rwrd,#5,1$ ; 72 0Bv54u32 EC
3842 btjt rwrd,#6,1$ ; 72 0Cv54u32 E7
3843 btjf rwrd,#6,1$ ; 72 0Dv54u32 E2
3844 btjt rwrd,#7,1$ ; 72 0Ev54u32 DD
3845 btjf rwrd,#7,1$ ; 72 0Fv54u32 D8
3847 xgrp72_1:
3848 bset rwrd,#0 ; 72 10v54u32
3849 bres rwrd,#0 ; 72 11v54u32
3850 bset rwrd,#1 ; 72 12v54u32
3851 bres rwrd,#1 ; 72 13v54u32
3852 bset rwrd,#2 ; 72 14v54u32
3853 bres rwrd,#2 ; 72 15v54u32
3854 bset rwrd,#3 ; 72 16v54u32
3855 bres rwrd,#3 ; 72 17v54u32
3856 bset rwrd,#4 ; 72 18v54u32
3857 bres rwrd,#4 ; 72 19v54u32
3858 bset rwrd,#5 ; 72 1Av54u32
3859 bres rwrd,#5 ; 72 1Bv54u32
3860 bset rwrd,#6 ; 72 1Cv54u32
3861 bres rwrd,#6 ; 72 1Dv54u32
3862 bset rwrd,#7 ; 72 1Ev54u32
3863 bres rwrd,#7 ; 72 1Fv54u32
3865 xgrp72_2:
3867 .page
3869 xgrp72_3:
3870 neg [rwrd] ; 72 30v54u32
3871 ; 72 31
3872 ; 72 32
3873 cpl [rwrd] ; 72 33v54u32
3874 srl [rwrd] ; 72 34v54u32
3875 ; 72 35
3876 rrc [rwrd] ; 72 36v54u32
3877 sra [rwrd] ; 72 37v54u32
3878 sla [rwrd] ; 72 38v54u32
3879 rlc [rwrd] ; 72 39v54u32
3880 dec [rwrd] ; 72 3Av54u32
3881 ; 72 3B
3882 inc [rwrd] ; 72 3Cv54u32
3883 tnz [rwrd] ; 72 3Dv54u32
3884 swap [rwrd] ; 72 3Ev54u32
3885 clr [rwrd] ; 72 3Fv54u32
3887 xgrp72_4:
3888 neg (rwrd,x) ; 72 40v54u32
3889 ; 72 41
3890 ; 72 42
3891 cpl (rwrd,x) ; 72 43v54u32
3892 srl (rwrd,x) ; 72 44v54u32
3893 ; 72 45
3894 rrc (rwrd,x) ; 72 46v54u32
3895 sra (rwrd,x) ; 72 47v54u32
3896 sla (rwrd,x) ; 72 48v54u32
3897 rlc (rwrd,x) ; 72 49v54u32
3898 dec (rwrd,x) ; 72 4Av54u32
3899 ; 72 4B
3900 inc (rwrd,x) ; 72 4Cv54u32
3901 tnz (rwrd,x) ; 72 4Dv54u32
3902 swap (rwrd,x) ; 72 4Ev54u32
3903 clr (rwrd,x) ; 72 4Fv54u32
3905 .page
3907 xgrp72_5:
3908 neg rwrd ; 72 50v54u32
3909 ; 72 51
3910 ; 72 52
3911 cpl rwrd ; 72 53v54u32
3912 srl rwrd ; 72 54v54u32
3913 ; 72 55
3914 rrc rwrd ; 72 56v54u32
3915 sra rwrd ; 72 57v54u32
3916 sla rwrd ; 72 58v54u32
3917 rlc rwrd ; 72 59v54u32
3918 dec rwrd ; 72 5Av54u32
3919 ; 72 5B
3920 inc rwrd ; 72 5Cv54u32
3921 tnz rwrd ; 72 5Dv54u32
3922 swap rwrd ; 72 5Ev54u32
3923 clr rwrd ; 72 5Fv54u32
3925 xgrp72_6:
3926 neg ([rwrd],x) ; 72 60v54u32
3927 ; 72 61
3928 ; 72 62
3929 cpl ([rwrd],x) ; 72 63v54u32
3930 srl ([rwrd],x) ; 72 64v54u32
3931 ; 72 65
3932 rrc ([rwrd],x) ; 72 66v54u32
3933 sra ([rwrd],x) ; 72 67v54u32
3934 sla ([rwrd],x) ; 72 68v54u32
3935 rlc ([rwrd],x) ; 72 69v54u32
3936 dec ([rwrd],x) ; 72 6Av54u32
3937 ; 72 6B
3938 inc ([rwrd],x) ; 72 6Cv54u32
3939 tnz ([rwrd],x) ; 72 6Dv54u32
3940 swap ([rwrd],x) ; 72 6Ev54u32
3941 clr ([rwrd],x) ; 72 6Fv54u32
3943 .page
3945 xgrp72_7:
3947 xgrp72_8:
3948 wfe ; 72 8F
3950 xgrp72_9:
3952 xgrp72_A:
3953 subw y,#rwrd ; 72 A2s54r32
3954 addw y,#rwrd ; 72 A9s54r32
3956 xgrp72_B:
3957 subw x,rbyt ; 72 B0u10
3958 subw y,rbyt ; 72 B2u10
3959 addw y,rbyt ; 72 B9u10
3960 addw x,rbyt ; 72 BBu10
3962 .page
3964 xgrp72_C:
3965 sub a,[rwrd] ; 72 C0v54u32
3966 cp a,[rwrd] ; 72 C1v54u32
3967 sbc a,[rwrd] ; 72 C2v54u32
3968 cpw x,[rwrd] ; 72 C3v54u32
3969 and a,[rwrd] ; 72 C4v54u32
3970 bcp a,[rwrd] ; 72 C5v54u32
3971 ld a,[rwrd] ; 72 C6v54u32
3972 ld [rwrd],a ; 72 C7v54u32
3973 xor a,[rwrd] ; 72 C8v54u32
3974 adc a,[rwrd] ; 72 C9v54u32
3975 or a,[rwrd] ; 72 CAv54u32
3976 add a,[rwrd] ; 72 CBv54u32
3977 jp [rwrd] ; 72 CCv54u32
3978 call [rwrd] ; 72 CDv54u32
3979 ldw x,[rwrd] ; 72 CEv54u32
3980 ldw [rwrd],x ; 72 CFv54u32
3982 xgrp72_D:
3983 sub a,([rwrd],x) ; 72 D0v54u32
3984 cp a,([rwrd],x) ; 72 D1v54u32
3985 sbc a,([rwrd],x) ; 72 D2v54u32
3986 cpw y,([rwrd],x) ; 72 D3v54u32
3987 and a,([rwrd],x) ; 72 D4v54u32
3988 bcp a,([rwrd],x) ; 72 D5v54u32
3989 ld a,([rwrd],x) ; 72 D6v54u32
3990 ld ([rwrd],x),a ; 72 D7v54u32
3991 xor a,([rwrd],x) ; 72 D8v54u32
3992 adc a,([rwrd],x) ; 72 D9v54u32
3993 or a,([rwrd],x) ; 72 DAv54u32
3994 add a,([rwrd],x) ; 72 DBv54u32
3995 jp ([rwrd],x) ; 72 DCv54u32
3996 call ([rwrd],x) ; 72 DDv54u32
3997 ldw x,([rwrd],x) ; 72 DEv54u32
3998 ldw ([rwrd],x),y ; 72 DFv54u32
4000 xgrp72_E:
4002 xgrp72_F:
4003 subw x,(rbyt,sp) ; 72 F0u10
4004 subw y,(rbyt,sp) ; 72 F2u10
4005 addw y,(rbyt,sp) ; 72 F9u10
4006 addw x,(rbyt,sp) ; 72 FBu10
4009 .page
4010 .sbttl Page 90 STM8 Instructions External 1-Byte Promotion to 2-Byte
4012 xgrp90_0:
4013 rrwa y,a ; 90 01
4014 rlwa y,a ; 90 02
4016 xgrp90_1:
4017 bcpl rwrd,#0 ; 90 10v54u32
4018 bccm rwrd,#0 ; 90 11v54u32
4019 bcpl rwrd,#1 ; 90 12v54u32
4020 bccm rwrd,#1 ; 90 13v54u32
4021 bcpl rwrd,#2 ; 90 14v54u32
4022 bccm rwrd,#2 ; 90 15v54u32
4023 bcpl rwrd,#3 ; 90 16v54u32
4024 bccm rwrd,#3 ; 90 17v54u32
4025 bcpl rwrd,#4 ; 90 18v54u32
4026 bccm rwrd,#4 ; 90 19v54u32
4027 bcpl rwrd,#5 ; 90 1Av54u32
4028 bccm rwrd,#5 ; 90 1Bv54u32
4029 bcpl rwrd,#6 ; 90 1Cv54u32
4030 bccm rwrd,#6 ; 90 1Dv54u32
4031 bcpl rwrd,#7 ; 90 1Ev54u32
4032 bccm rwrd,#7 ; 90 1Fv54u32
4034 xgrp90_2:
4035 jrnh 1$ ; 90 28 0C
4036 jrh 1$ ; 90 29 09
4037 jrnm 1$ ; 90 2C 06
4038 jrm 1$ ; 90 2D 03
4039 jril 1$ ; 90 2E 00
4040 1$: jrih 1$ ; 90 2F FD
4042 xgrp90_3:
4044 .page
4046 xgrp90_4:
4047 neg (rwrd,y) ; 90 40v54u32
4048 ; 90 41
4049 mul y,a ; 90 42
4050 cpl (rwrd,y) ; 90 43v54u32
4051 srl (rwrd,y) ; 90 44v54u32
4052 ; 90 45
4053 rrc (rwrd,y) ; 90 46v54u32
4054 sra (rwrd,y) ; 90 47v54u32
4055 sla (rwrd,y) ; 90 48v54u32
4056 rlc (rwrd,y) ; 90 49v54u32
4057 dec (rwrd,y) ; 90 4Av54u32
4058 ; 90 4B
4059 inc (rwrd,y) ; 90 4Cv54u32
4060 tnz (rwrd,y) ; 90 4Dv54u32
4061 swap (rwrd,y) ; 90 4Ev54u32
4062 clr (rwrd,y) ; 90 4Fv54u32
4064 xgrp90_5:
4065 negw y ; 90 50
4066 ; 90 51
4067 ; 90 52
4068 cplw y ; 90 53
4069 srlw y ; 90 54
4070 ; 90 55
4071 rrcw y ; 90 56
4072 sraw y ; 90 57
4073 slaw y ; 90 58
4074 rlcw y ; 90 59
4075 decw y ; 90 5A
4076 ; 90 5B
4077 incw y ; 90 5C
4078 tnzw y ; 90 5D
4079 swapw y ; 90 5E
4080 clrw y ; 90 5F
4082 .page
4084 xgrp90_6:
4085 neg (rbyt,y) ; 90 40v00u10
4086 ; 90 61
4087 div y,a ; 90 62
4088 cpl (rbyt,y) ; 90 43v00u10
4089 srl (rbyt,y) ; 90 44v00u10
4090 ; 90 65
4091 rrc (rbyt,y) ; 90 46v00u10
4092 sra (rbyt,y) ; 90 47v00u10
4093 sla (rbyt,y) ; 90 48v00u10
4094 rlc (rbyt,y) ; 90 49v00u10
4095 dec (rbyt,y) ; 90 4Av00u10
4096 ; 90 6B
4097 inc (rbyt,y) ; 90 4Cv00u10
4098 tnz (rbyt,y) ; 90 4Dv00u10
4099 swap (rbyt,y) ; 90 4Ev00u10
4100 clr (rbyt,y) ; 90 4Fv00u10
4102 xgrp90_7:
4103 neg (y) ; 90 70
4104 ; 90 71
4105 ; 90 72
4106 cpl (y) ; 90 73
4107 srl (y) ; 90 74
4108 ; 90 75
4109 rrc (y) ; 90 76
4110 sra (y) ; 90 77
4111 sla (y) ; 90 78
4112 rlc (y) ; 90 79
4113 dec (y) ; 90 7A
4114 ; 90 7B
4115 inc (y) ; 90 7C
4116 tnz (y) ; 90 7D
4117 swap (y) ; 90 7E
4118 clr (y) ; 90 7F
4120 .page
4122 xgrp90_8:
4123 popw y ; 90 85
4124 pushw y ; 90 89
4126 xgrp90_9:
4127 ldw y,x ; 90 93
4128 ldw sp,y ; 90 94
4129 ld yh,a ; 90 95
4130 ldw y,sp ; 90 96
4131 ld yl,a ; 90 97
4132 ld a,yh ; 90 9E
4133 ld a,yl ; 90 9F
4135 xgrp90_A:
4136 cpw y,#rwrd ; 90 A3s54r32
4137 ldf (rexa,y),a ; 90 A7RBAs98r76
4138 ldw y,#rwrd ; 90 AEs54r32
4139 ldf a,(rexa,y) ; 90 AFRBAs98r76
4141 xgrp90_B:
4142 cpw y,rbyt ; 90 C3v00u10
4143 ldw y,rbyt ; 90 CEv00u10
4144 ldw rbyt,y ; 90 CFv00u10
4146 xgrp90_C:
4147 cpw y,rwrd ; 90 C3v54u32
4148 ldw y,rwrd ; 90 CEv54u32
4149 ldw rwrd,y ; 90 CFv54u32
4151 xgrp90_D:
4152 sub a,(rwrd,y) ; 90 D0v54u32
4153 cp a,(rwrd,y) ; 90 D1v54u32
4154 sbc a,(rwrd,y) ; 90 D2v54u32
4155 cpw x,(rwrd,y) ; 90 D3v54u32
4156 and a,(rwrd,y) ; 90 D4v54u32
4157 bcp a,(rwrd,y) ; 90 D5v54u32
4158 ld a,(rwrd,y) ; 90 D6v54u32
4159 ld (rwrd,y),a ; 90 D7v54u32
4160 xor a,(rwrd,y) ; 90 D8v54u32
4161 adc a,(rwrd,y) ; 90 D9v54u32
4162 or a,(rwrd,y) ; 90 DAv54u32
4163 add a,(rwrd,y) ; 90 DBv54u32
4164 jp (rwrd,y) ; 90 DCv54u32
4165 call (rwrd,y) ; 90 DDv54u32
4166 ldw y,(rwrd,y) ; 90 DEv54u32
4167 ldw (rwrd,y),x ; 90 DFv54u32
4169 .page
4171 xgrp90_E:
4172 sub a,(rbyt,y) ; 90 D0v00u10
4173 cp a,(rbyt,y) ; 90 D1v00u10
4174 sbc a,(rbyt,y) ; 90 D2v00u10
4175 cpw x,(rbyt,y) ; 90 D3v00u10
4176 and a,(rbyt,y) ; 90 D4v00u10
4177 bcp a,(rbyt,y) ; 90 D5v00u10
4178 ld a,(rbyt,y) ; 90 D6v00u10
4179 ld (rbyt,y),a ; 90 D7v00u10
4180 xor a,(rbyt,y) ; 90 D8v00u10
4181 adc a,(rbyt,y) ; 90 D9v00u10
4182 or a,(rbyt,y) ; 90 DAv00u10
4183 add a,(rbyt,y) ; 90 DBv00u10
4184 jp (rbyt,y) ; 90 DCv00u10
4185 call (rbyt,y) ; 90 DDv00u10
4186 ldw y,(rbyt,y) ; 90 DEv00u10
4187 ldw (rbyt,y),x ; 90 DFv00u10
4189 xgrp90_F:
4190 sub a,(y) ; 90 F0
4191 cp a,(y) ; 90 F1
4192 sbc a,(y) ; 90 F2
4193 cpw x,(y) ; 90 F3
4194 and a,(y) ; 90 F4
4195 bcp a,(y) ; 90 F5
4196 ld a,(y) ; 90 F6
4197 ld (y),a ; 90 F7
4198 xor a,(y) ; 90 F8
4199 adc a,(y) ; 90 F9
4200 or a,(y) ; 90 FA
4201 add a,(y) ; 90 FB
4202 jp (y) ; 90 FC
4203 call (y) ; 90 FD
4204 ldw y,(y) ; 90 FE
4205 ldw (y),x ; 90 FF
4208 .page
4209 .sbttl Page 91 STM8 Instructions External 1-Byte Promotion to 2-Byte
4211 xgrp91_0:
4213 xgrp91_1:
4215 xgrp91_2:
4217 xgrp91_3:
4219 xgrp91_4:
4221 xgrp91_5:
4223 xgrp91_6:
4224 neg ([rbyt],y) ; 91 60u10
4225 ; 91 61
4226 ; 91 62
4227 cpl ([rbyt],y) ; 91 63u10
4228 srl ([rbyt],y) ; 91 64u10
4229 ; 91 65
4230 rrc ([rbyt],y) ; 91 66u10
4231 sra ([rbyt],y) ; 91 67u10
4232 sla ([rbyt],y) ; 91 68u10
4233 rlc ([rbyt],y) ; 91 69u10
4234 dec ([rbyt],y) ; 91 6Au10
4235 ; 91 6B
4236 inc ([rbyt],y) ; 91 6Cu10
4237 tnz ([rbyt],y) ; 91 6Du10
4238 swap ([rbyt],y) ; 91 6Eu10
4239 clr ([rbyt],y) ; 91 6Fu10
4241 xgrp91_7:
4243 .page
4245 xgrp91_8:
4247 xgrp91_9:
4249 xgrp91_A:
4250 ldf ([rwrd],y),a ; 91 A7v54u32
4251 ldf a,([rwrd],y) ; 91 AFv54u32
4253 xgrp91_B:
4255 xgrp91_C:
4256 cpw y,[rbyt] ; 91 C3u10
4257 ldw y,[rbyt] ; 91 CEu10
4258 ldw [rbyt],y ; 91 CFu10
4260 xgrp91_D:
4261 sub a,([rbyt],y) ; 91 D0u10
4262 cp a,([rbyt],y) ; 91 D1u10
4263 sbc a,([rbyt],y) ; 91 D2u10
4264 cpw x,([rbyt],y) ; 91 D3u10
4265 and a,([rbyt],y) ; 91 D4u10
4266 bcp a,([rbyt],y) ; 91 D5u10
4267 ld a,([rbyt],y) ; 91 D6u10
4268 ld ([rbyt],y),a ; 91 D7u10
4269 xor a,([rbyt],y) ; 91 D8u10
4270 adc a,([rbyt],y) ; 91 D9u10
4271 or a,([rbyt],y) ; 91 DAu10
4272 add a,([rbyt],y) ; 91 DBu10
4273 jp ([rbyt],y) ; 91 DCu10
4274 call ([rbyt],y) ; 91 DDu10
4275 ldw y,([rbyt],y) ; 91 DEu10
4276 ldw ([rbyt],y),x ; 91 DFu10
4278 xgrp91_E:
4280 xgrp91_F:
4282 .page
4283 .sbttl Page 92 STM8 Instructions External 1-Byte Promotion to 2-Byte
4285 xgrp92_0:
4287 xgrp92_1:
4289 xgrp92_2:
4291 xgrp92_3:
4292 neg [rbyt] ; 72 30v00u10
4293 ; 92 31
4294 ; 92 32
4295 cpl [rbyt] ; 72 33v00u10
4296 srl [rbyt] ; 72 34v00u10
4297 ; 92 35
4298 rrc [rbyt] ; 72 36v00u10
4299 sra [rbyt] ; 72 37v00u10
4300 sla [rbyt] ; 72 38v00u10
4301 rlc [rbyt] ; 72 39v00u10
4302 dec [rbyt] ; 72 3Av00u10
4303 ; 92 3B
4304 inc [rbyt] ; 72 3Cv00u10
4305 tnz [rbyt] ; 72 3Dv00u10
4306 swap [rbyt] ; 72 3Ev00u10
4307 clr [rbyt] ; 72 3Fv00u10
4309 xgrp92_4:
4311 xgrp92_5:
4313 xgrp92_6:
4314 neg ([rbyt],x) ; 72 60v00u10
4315 ; 92 61
4316 ; 92 62
4317 cpl ([rbyt],x) ; 72 63v00u10
4318 srl ([rbyt],x) ; 72 64v00u10
4319 ; 92 65
4320 rrc ([rbyt],x) ; 72 66v00u10
4321 sra ([rbyt],x) ; 72 67v00u10
4322 sla ([rbyt],x) ; 72 68v00u10
4323 rlc ([rbyt],x) ; 72 69v00u10
4324 dec ([rbyt],x) ; 72 6Av00u10
4325 ; 92 6B
4326 inc ([rbyt],x) ; 72 6Cv00u10
4327 tnz ([rbyt],x) ; 72 6Dv00u10
4328 swap ([rbyt],x) ; 72 6Ev00u10
4329 clr ([rbyt],x) ; 72 6Fv00u10
4331 xgrp92_7:
4333 .page
4335 xgrp92_8:
4336 callf [rwrd] ; 92 8Dv54u32
4338 xgrp92_9:
4340 xgrp92_A:
4341 ldf ([rwrd],x),a ; 92 A7v54u32
4342 jpf [rwrd] ; 92 ACv54u32
4343 ldf a,([rwrd],x) ; 92 AFv54u32
4345 xgrp92_B:
4346 ldf a,[rwrd] ; 92 BCv54u32
4347 ldf [rwrd],a ; 92 BDv54u32
4349 xgrp92_C:
4350 sub a,[rbyt] ; 72 C0v00u10
4351 cp a,[rbyt] ; 72 C1v00u10
4352 sbc a,[rbyt] ; 72 C2v00u10
4353 cpw x,[rbyt] ; 72 C3v00u10
4354 and a,[rbyt] ; 72 C4v00u10
4355 bcp a,[rbyt] ; 72 C5v00u10
4356 ld a,[rbyt] ; 72 C6v00u10
4357 ld [rbyt],a ; 72 C7v00u10
4358 xor a,[rbyt] ; 72 C8v00u10
4359 adc a,[rbyt] ; 72 C9v00u10
4360 or a,[rbyt] ; 72 CAv00u10
4361 add a,[rbyt] ; 72 CBv00u10
4362 jp [rbyt] ; 72 CCv00u10
4363 call [rbyt] ; 72 CDv00u10
4364 ldw x,[rbyt] ; 72 CEv00u10
4365 ldw [rbyt],x ; 72 CFv00u10
4367 xgrp92_D:
4368 sub a,([rbyt],x) ; 72 D0v00u10
4369 cp a,([rbyt],x) ; 72 D1v00u10
4370 sbc a,([rbyt],x) ; 72 D2v00u10
4371 cpw y,([rbyt],x) ; 72 D3v00u10
4372 and a,([rbyt],x) ; 72 D4v00u10
4373 bcp a,([rbyt],x) ; 72 D5v00u10
4374 ld a,([rbyt],x) ; 72 D6v00u10
4375 ld ([rbyt],x),a ; 72 D7v00u10
4376 xor a,([rbyt],x) ; 72 D8v00u10
4377 adc a,([rbyt],x) ; 72 D9v00u10
4378 or a,([rbyt],x) ; 72 DAv00u10
4379 add a,([rbyt],x) ; 72 DBv00u10
4380 jp ([rbyt],x) ; 72 DCv00u10
4381 call ([rbyt],x) ; 72 DDv00u10
4382 ldw x,([rbyt],x) ; 72 DEv00u10
4383 ldw ([rbyt],x),y ; 72 DFv00u10
4385 xgrp92_E:
4387 xgrp92_F:
4389 .undefine rbyt
4390 .undefine rwrd
4391 .undefine rexa
4394 .end