1 .
title stm8 Sequential
Test
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
16 .sbttl Base STM8 Instructions
in Numerical Order
(Absolute
)
33 swap
(abyt
,sp) ; 0E 10
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
80 mov awrd
,#abyt
; 35 10 54 32
100 mov abyt
,abyt
+0x11 ; 45 21 10
118 mov awrd
,awrd
+0x1111; 55 65 43 54 32
144 ld
(abyt
,sp),a
; 6B 10
147 swap
(abyt
,x
) ; 6E 10
162 ld a
,(abyt
,sp) ; 7B 10
184 callf aexa
; 8D BA 98 76
212 cpw x
,#awrd
; A3 54 32
216 ldf
(aexa
,x
),a
; A7 BA 98 76
221 jpf aexa
; AC BA 98 76
223 ldw x
,#awrd
; AE 54 32
224 ldf a
,(aexa
,x
) ; AF BA 98 76
239 ldf a
,aexa
; BC BA 98 76
240 ldf aexa
,a
; BD BA 98 76
247 sub a
,awrd
; C0 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
255 xor a
,awrd
; C8 54 32
256 adc a
,awrd
; C9 54 32
258 add a
,awrd
; CB 54 32
261 ldw x
,awrd
; CE 54 32
262 ldw awrd
,x
; CF 54 32
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
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
298 call (abyt
,x
) ; ED 10
299 ldw x
,(abyt
,x
) ; EE 10
300 ldw
(abyt
,x
),y
; EF 10
322 .sbttl
Page 72 STM8 Instructions
in Numerical Order
(Absolute
)
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
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
365 neg [awrd
] ; 72 30 54 32
368 cpl
[awrd
] ; 72 33 54 32
369 srl
[awrd
] ; 72 34 54 32
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
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
383 neg (awrd
,x
) ; 72 40 54 32
386 cpl
(awrd
,x
) ; 72 43 54 32
387 srl
(awrd
,x
) ; 72 44 54 32
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
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
403 neg awrd
; 72 50 54 32
406 cpl awrd
; 72 53 54 32
407 srl awrd
; 72 54 54 32
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
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
421 neg ([awrd
],x
) ; 72 60 54 32
424 cpl
([awrd
],x
) ; 72 63 54 32
425 srl
([awrd
],x
) ; 72 64 54 32
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
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
448 subw y
,#awrd
; 72 A2 54 32
449 addw y
,#awrd
; 72 A9 54 32
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
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
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
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
505 .sbttl
Page 90 STM8 Instructions
in Numerical Order
(Absolute
)
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
535 1$
: jrih
1$
; 90 2F FD
542 neg (awrd
,y
) ; 90 40 54 32
545 cpl
(awrd
,y
) ; 90 43 54 32
546 srl
(awrd
,y
) ; 90 44 54 32
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
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
580 neg (abyt
,y
) ; 90 60 10
583 cpl
(abyt
,y
) ; 90 63 10
584 srl
(abyt
,y
) ; 90 64 10
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
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
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
637 cpw y
,abyt
; 90 B3 10
638 ldw y
,abyt
; 90 BE 10
639 ldw abyt
,y
; 90 BF 10
642 cpw y
,awrd
; 90 C3 54 32
643 ldw y
,awrd
; 90 CE 54 32
644 ldw awrd
,y
; 90 CF 54 32
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
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
704 .sbttl
Page 91 STM8 Instructions
in Numerical Order
(Absolute
)
719 neg ([abyt
],y
) ; 91 60 10
722 cpl
([abyt
],y
) ; 91 63 10
723 srl
([abyt
],y
) ; 91 64 10
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
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
745 ldf
([awrd
],y
),a
; 91 A7 54 32
746 ldf a
,([awrd
],y
) ; 91 AF 54 32
751 cpw y
,[abyt
] ; 91 C3 10
752 ldw y
,[abyt
] ; 91 CE 10
753 ldw
[abyt
],y
; 91 CF 10
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
778 .sbttl
Page 92 STM8 Instructions
in Numerical Order
(Absolute
)
787 neg [abyt
] ; 92 30 10
790 cpl
[abyt
] ; 92 33 10
791 srl
[abyt
] ; 92 34 10
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
799 inc [abyt
] ; 92 3C 10
800 tnz
[abyt
] ; 92 3D 10
801 swap
[abyt
] ; 92 3E 10
802 clr
[abyt
] ; 92 3F 10
809 neg ([abyt
],x
) ; 92 60 10
812 cpl
([abyt
],x
) ; 92 63 10
813 srl
([abyt
],x
) ; 92 64 10
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
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
831 callf
[awrd
] ; 92 8D 54 32
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
841 ldf a
,[awrd
] ; 92 BC 54 32
842 ldf
[awrd
],a
; 92 BD 54 32
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
858 call [abyt
] ; 92 CD 10
859 ldw x
,[abyt
] ; 92 CE 10
860 ldw
[abyt
],x
; 92 CF 10
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
886 .sbttl Base STM8 Instructions
in Numerical Order
(Relocatable
)
889 neg (*rbyt
,sp) ; 00u10
892 cpl
(*rbyt
,sp) ; 03u10
893 srl
(*rbyt
,sp) ; 04u10
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
901 inc (*rbyt
,sp) ; 0Cu10
902 tnz
(*rbyt
,sp) ; 0Du10
903 swap
(*rbyt
,sp) ; 0Eu10
904 clr
(*rbyt
,sp) ; 0Fu10
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
946 exg a
,rwrd
; 31v54u32
950 mov rwrd
,#rbyt
; 35r10v54u32
970 mov *rbyt
,*rbyt
+0x11; 45u21u10
988 mov rwrd
,rwrd
+0x1111; 55v65u43v54u32
1003 neg (*rbyt
,x
) ; 60u10
1006 cpl
(*rbyt
,x
) ; 63u10
1007 srl
(*rbyt
,x
) ; 64u10
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
1032 ld a
,(*rbyt
,sp) ; 7Bu10
1054 callf rexa
; 8DRBAs98r76
1082 cpw x
,#rwrd
; A3s54r32
1086 ldf
(rexa
,x
),a
; A7RBAs98r76
1091 jpf rexa
; ACRBAs98r76
1092 1$
: callr
1$
; AD FE
1093 ldw x
,#rwrd
; AEs54r32
1094 ldf a
,(rexa
,x
) ; AFRBAs98r76
1109 ldf a
,rexa
; BCRBAs98r76
1110 ldf rexa
,a
; BDRBAs98r76
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
1130 call rwrd
; CDs54r32
1131 ldw x
,rwrd
; CEv54u32
1132 ldw rwrd
,x
; CFv54u32
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
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
1192 .sbttl
Page 72 STM8 Instructions
in Numerical Order
(Relocatable
)
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
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
1235 neg [rwrd
] ; 72 30v54u32
1238 cpl
[rwrd
] ; 72 33v54u32
1239 srl
[rwrd
] ; 72 34v54u32
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
1247 inc [rwrd
] ; 72 3Cv54u32
1248 tnz
[rwrd
] ; 72 3Dv54u32
1249 swap
[rwrd
] ; 72 3Ev54u32
1250 clr
[rwrd
] ; 72 3Fv54u32
1253 neg (rwrd
,x
) ; 72 40v54u32
1256 cpl
(rwrd
,x
) ; 72 43v54u32
1257 srl
(rwrd
,x
) ; 72 44v54u32
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
1265 inc (rwrd
,x
) ; 72 4Cv54u32
1266 tnz
(rwrd
,x
) ; 72 4Dv54u32
1267 swap
(rwrd
,x
) ; 72 4Ev54u32
1268 clr
(rwrd
,x
) ; 72 4Fv54u32
1273 neg rwrd
; 72 50v54u32
1276 cpl rwrd
; 72 53v54u32
1277 srl rwrd
; 72 54v54u32
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
1285 inc rwrd
; 72 5Cv54u32
1286 tnz rwrd
; 72 5Dv54u32
1287 swap rwrd
; 72 5Ev54u32
1288 clr rwrd
; 72 5Fv54u32
1291 neg ([rwrd
],x
) ; 72 60v54u32
1294 cpl
([rwrd
],x
) ; 72 63v54u32
1295 srl
([rwrd
],x
) ; 72 64v54u32
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
1303 inc ([rwrd
],x
) ; 72 6Cv54u32
1304 tnz
([rwrd
],x
) ; 72 6Dv54u32
1305 swap
([rwrd
],x
) ; 72 6Ev54u32
1306 clr
([rwrd
],x
) ; 72 6Fv54u32
1318 subw y
,#rwrd
; 72 A2s54r32
1319 addw y
,#rwrd
; 72 A9s54r32
1322 subw x
,*rbyt
; 72 B0u10
1323 subw y
,*rbyt
; 72 B2u10
1324 addw y
,*rbyt
; 72 B9u10
1325 addw x
,*rbyt
; 72 BBu10
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
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
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
1375 .sbttl
Page 90 STM8 Instructions
in Numerical Order
(Relocatable
)
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
1405 1$
: jrih
1$
; 90 2F FD
1412 neg (rwrd
,y
) ; 90 40v54u32
1415 cpl
(rwrd
,y
) ; 90 43v54u32
1416 srl
(rwrd
,y
) ; 90 44v54u32
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
1424 inc (rwrd
,y
) ; 90 4Cv54u32
1425 tnz
(rwrd
,y
) ; 90 4Dv54u32
1426 swap
(rwrd
,y
) ; 90 4Ev54u32
1427 clr
(rwrd
,y
) ; 90 4Fv54u32
1450 neg (*rbyt
,y
) ; 90 60u10
1453 cpl
(*rbyt
,y
) ; 90 63u10
1454 srl
(*rbyt
,y
) ; 90 64u10
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
1462 inc (*rbyt
,y
) ; 90 6Cu10
1463 tnz
(*rbyt
,y
) ; 90 6Du10
1464 swap
(*rbyt
,y
) ; 90 6Eu10
1465 clr
(*rbyt
,y
) ; 90 6Fu10
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
1507 cpw y
,*rbyt
; 90 B3u10
1508 ldw y
,*rbyt
; 90 BEu10
1509 ldw
*rbyt
,y
; 90 BFu10
1512 cpw y
,rwrd
; 90 C3v54u32
1513 ldw y
,rwrd
; 90 CEv54u32
1514 ldw rwrd
,y
; 90 CFv54u32
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
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
1574 .sbttl
Page 91 STM8 Instructions
in Numerical Order
(Relocatable
)
1589 neg ([*rbyt
],y
) ; 91 60u10
1592 cpl
([*rbyt
],y
) ; 91 63u10
1593 srl
([*rbyt
],y
) ; 91 64u10
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
1601 inc ([*rbyt
],y
) ; 91 6Cu10
1602 tnz
([*rbyt
],y
) ; 91 6Du10
1603 swap
([*rbyt
],y
) ; 91 6Eu10
1604 clr
([*rbyt
],y
) ; 91 6Fu10
1615 ldf
([rwrd
],y
),a
; 91 A7v54u32
1616 ldf a
,([rwrd
],y
) ; 91 AFv54u32
1621 cpw y
,[*rbyt
] ; 91 C3u10
1622 ldw y
,[*rbyt
] ; 91 CEu10
1623 ldw
[*rbyt
],y
; 91 CFu10
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
1648 .sbttl
Page 92 STM8 Instructions
in Numerical Order
(Relocatable
)
1657 neg [*rbyt
] ; 92 30u10
1660 cpl
[*rbyt
] ; 92 33u10
1661 srl
[*rbyt
] ; 92 34u10
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
1669 inc [*rbyt
] ; 92 3Cu10
1670 tnz
[*rbyt
] ; 92 3Du10
1671 swap
[*rbyt
] ; 92 3Eu10
1672 clr
[*rbyt
] ; 92 3Fu10
1679 neg ([*rbyt
],x
) ; 92 60u10
1682 cpl
([*rbyt
],x
) ; 92 63u10
1683 srl
([*rbyt
],x
) ; 92 64u10
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
1691 inc ([*rbyt
],x
) ; 92 6Cu10
1692 tnz
([*rbyt
],x
) ; 92 6Du10
1693 swap
([*rbyt
],x
) ; 92 6Eu10
1694 clr
([*rbyt
],x
) ; 92 6Fu10
1701 callf
[rwrd
] ; 92 8Dv54u32
1706 ldf
([rwrd
],x
),a
; 92 A7v54u32
1707 jpf
[rwrd
] ; 92 ACv54u32
1708 ldf a
,([rwrd
],x
) ; 92 AFv54u32
1711 ldf a
,[rwrd
] ; 92 BCv54u32
1712 ldf
[rwrd
],a
; 92 BDv54u32
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
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
1756 .sbttl Base STM8 Instructions
in Numerical Order
(Alternate
)
1758 ; Alternate 1-Byte Designation
1761 neg (rbyt
,sp).b
; 00u10
1764 cpl
(rbyt
,sp).b
; 03u10
1765 srl
(rbyt
,sp).b
; 04u10
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
1773 inc (rbyt
,sp).b
; 0Cu10
1774 tnz
(rbyt
,sp).b
; 0Du10
1775 swap
(rbyt
,sp).b
; 0Eu10
1776 clr
(rbyt
,sp).b
; 0Fu10
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
1818 exg a
,rwrd
; 31v54u32
1822 mov rwrd
,#rbyt
; 35r10v54u32
1828 push rwrd
; 3Bv54u32
1842 mov *rbyt
,*rbyt
+0x11; 45u21u10
1857 sub sp,#rbyt
; 52u10
1860 mov rwrd
,rwrd
+0x1111; 55v65u43v54u32
1866 add sp,#rbyt
; 5Bu10
1875 neg (rbyt
,x
).b
; 60u10
1878 cpl
(rbyt
,x
).b
; 63u10
1879 srl
(rbyt
,x
).b
; 64u10
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
1904 ld a
,(rbyt
,sp).b
; 7Bu10
1926 callf rexa
; 8DRBAs98r76
1954 cpw x
,#rwrd
; A3s54r32
1958 ldf
(rexa
,x
),a
; A7RBAs98r76
1963 jpf rexa
; ACRBAs98r76
1964 1$
: callr
1$
; AD FE
1965 ldw x
,#rwrd
; AEs54r32
1966 ldf a
,(rexa
,x
) ; AFRBAs98r76
1981 ldf a
,rexa
; BCRBAs98r76
1982 ldf rexa
,a
; BDRBAs98r76
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
2002 call rwrd
; CDs54r32
2003 ldw x
,rwrd
; CEv54u32
2004 ldw rwrd
,x
; CFv54u32
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
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
2064 .sbttl
Page 72 STM8 Instructions
in Numerical Order
(Alternate
)
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
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
2107 neg [rwrd
] ; 72 30v54u32
2110 cpl
[rwrd
] ; 72 33v54u32
2111 srl
[rwrd
] ; 72 34v54u32
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
2119 inc [rwrd
] ; 72 3Cv54u32
2120 tnz
[rwrd
] ; 72 3Dv54u32
2121 swap
[rwrd
] ; 72 3Ev54u32
2122 clr
[rwrd
] ; 72 3Fv54u32
2125 neg (rwrd
,x
) ; 72 40v54u32
2128 cpl
(rwrd
,x
) ; 72 43v54u32
2129 srl
(rwrd
,x
) ; 72 44v54u32
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
2137 inc (rwrd
,x
) ; 72 4Cv54u32
2138 tnz
(rwrd
,x
) ; 72 4Dv54u32
2139 swap
(rwrd
,x
) ; 72 4Ev54u32
2140 clr
(rwrd
,x
) ; 72 4Fv54u32
2145 neg rwrd
; 72 50v54u32
2148 cpl rwrd
; 72 53v54u32
2149 srl rwrd
; 72 54v54u32
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
2157 inc rwrd
; 72 5Cv54u32
2158 tnz rwrd
; 72 5Dv54u32
2159 swap rwrd
; 72 5Ev54u32
2160 clr rwrd
; 72 5Fv54u32
2163 neg ([rwrd
],x
) ; 72 60v54u32
2166 cpl
([rwrd
],x
) ; 72 63v54u32
2167 srl
([rwrd
],x
) ; 72 64v54u32
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
2175 inc ([rwrd
],x
) ; 72 6Cv54u32
2176 tnz
([rwrd
],x
) ; 72 6Dv54u32
2177 swap
([rwrd
],x
) ; 72 6Ev54u32
2178 clr
([rwrd
],x
) ; 72 6Fv54u32
2190 subw y
,#rwrd
; 72 A2s54r32
2191 addw y
,#rwrd
; 72 A9s54r32
2194 subw x
,*rbyt
; 72 B0u10
2195 subw y
,*rbyt
; 72 B2u10
2196 addw y
,*rbyt
; 72 B9u10
2197 addw x
,*rbyt
; 72 BBu10
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
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
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
2247 .sbttl
Page 90 STM8 Instructions
in Numerical Order
(Alternate
)
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
2277 1$
: jrih
1$
; 90 2F FD
2284 neg (rwrd
,y
) ; 90 40v54u32
2287 cpl
(rwrd
,y
) ; 90 43v54u32
2288 srl
(rwrd
,y
) ; 90 44v54u32
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
2296 inc (rwrd
,y
) ; 90 4Cv54u32
2297 tnz
(rwrd
,y
) ; 90 4Dv54u32
2298 swap
(rwrd
,y
) ; 90 4Ev54u32
2299 clr
(rwrd
,y
) ; 90 4Fv54u32
2322 neg (rbyt
,y
).b
; 90 60u10
2325 cpl
(rbyt
,y
).b
; 90 63u10
2326 srl
(rbyt
,y
).b
; 90 64u10
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
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
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
2379 cpw y
,*rbyt
; 90 B3u10
2380 ldw y
,*rbyt
; 90 BEu10
2381 ldw
*rbyt
,y
; 90 BFu10
2384 cpw y
,rwrd
; 90 C3v54u32
2385 ldw y
,rwrd
; 90 CEv54u32
2386 ldw rwrd
,y
; 90 CFv54u32
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
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
2446 .sbttl
Page 91 STM8 Instructions
in Numerical Order
(Alternate
)
2461 neg ([rbyt
],y
).b
; 91 60u10
2464 cpl
([rbyt
],y
).b
; 91 63u10
2465 srl
([rbyt
],y
).b
; 91 64u10
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
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
2487 ldf
([rwrd
],y
),a
; 91 A7v54u32
2488 ldf a
,([rwrd
],y
) ; 91 AFv54u32
2493 cpw y
,[rbyt
].b
; 91 C3u10
2494 ldw y
,[rbyt
].b
; 91 CEu10
2495 ldw
[rbyt
].b
,y
; 91 CFu10
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
2520 .sbttl
Page 92 STM8 Instructions
in Numerical Order
(Alternate
)
2529 neg [rbyt
].b
; 92 30u10
2532 cpl
[rbyt
].b
; 92 33u10
2533 srl
[rbyt
].b
; 92 34u10
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
2541 inc [rbyt
].b
; 92 3Cu10
2542 tnz
[rbyt
].b
; 92 3Du10
2543 swap
[rbyt
].b
; 92 3Eu10
2544 clr
[rbyt
].b
; 92 3Fu10
2551 neg ([rbyt
],x
).b
; 92 60u10
2554 cpl
([rbyt
],x
).b
; 92 63u10
2555 srl
([rbyt
],x
).b
; 92 64u10
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
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
2573 callf
[rwrd
] ; 92 8Dv54u32
2578 ldf
([rwrd
],x
),a
; 92 A7v54u32
2579 jpf
[rwrd
] ; 92 ACv54u32
2580 ldf a
,([rwrd
],x
) ; 92 AFv54u32
2583 ldf a
,[rwrd
] ; 92 BCv54u32
2584 ldf
[rwrd
],a
; 92 BDv54u32
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
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
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/
2636 neg (*rbyt
,sp) ; 00u10
2639 cpl
(*rbyt
,sp) ; 03u10
2640 srl
(*rbyt
,sp) ; 04u10
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
2648 inc (*rbyt
,sp) ; 0Cu10
2649 tnz
(*rbyt
,sp) ; 0Du10
2650 swap
(*rbyt
,sp) ; 0Eu10
2651 clr
(*rbyt
,sp) ; 0Fu10
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
2693 exg a
,rwrd
; 31v54u32
2697 mov rwrd
,#rbyt
; 35r10v54u32
2703 push rwrd
; 3Bv54u32
2717 mov *rbyt
,*rbyt
+0x11; 45u21u10
2732 sub sp,#rbyt
; 52u10
2735 mov rwrd
,rwrd
+0x1111; 55v65u43v54u32
2741 add sp,#rbyt
; 5Bu10
2750 neg (*rbyt
,x
) ; 60u10
2753 cpl
(*rbyt
,x
) ; 63u10
2754 srl
(*rbyt
,x
) ; 64u10
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
2779 ld a
,(*rbyt
,sp) ; 7Bu10
2801 callf rexa
; 8DRBAs98r76
2829 cpw x
,#rwrd
; A3s54r32
2833 ldf
(rexa
,x
),a
; A7RBAs98r76
2838 jpf rexa
; ACRBAs98r76
2839 1$
: callr
1$
; AD FE
2840 ldw x
,#rwrd
; AEs54r32
2841 ldf a
,(rexa
,x
) ; AFRBAs98r76
2856 ldf a
,rexa
; BCRBAs98r76
2857 ldf rexa
,a
; BDRBAs98r76
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
2877 call rwrd
; CDs54r32
2878 ldw x
,rwrd
; CEv54u32
2879 ldw rwrd
,x
; CFv54u32
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
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
2939 .sbttl
Page 72 STM8 Instructions with External symbols
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
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
2982 neg [rwrd
] ; 72 30v54u32
2985 cpl
[rwrd
] ; 72 33v54u32
2986 srl
[rwrd
] ; 72 34v54u32
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
2994 inc [rwrd
] ; 72 3Cv54u32
2995 tnz
[rwrd
] ; 72 3Dv54u32
2996 swap
[rwrd
] ; 72 3Ev54u32
2997 clr
[rwrd
] ; 72 3Fv54u32
3000 neg (rwrd
,x
) ; 72 40v54u32
3003 cpl
(rwrd
,x
) ; 72 43v54u32
3004 srl
(rwrd
,x
) ; 72 44v54u32
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
3012 inc (rwrd
,x
) ; 72 4Cv54u32
3013 tnz
(rwrd
,x
) ; 72 4Dv54u32
3014 swap
(rwrd
,x
) ; 72 4Ev54u32
3015 clr
(rwrd
,x
) ; 72 4Fv54u32
3020 neg rwrd
; 72 50v54u32
3023 cpl rwrd
; 72 53v54u32
3024 srl rwrd
; 72 54v54u32
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
3032 inc rwrd
; 72 5Cv54u32
3033 tnz rwrd
; 72 5Dv54u32
3034 swap rwrd
; 72 5Ev54u32
3035 clr rwrd
; 72 5Fv54u32
3038 neg ([rwrd
],x
) ; 72 60v54u32
3041 cpl
([rwrd
],x
) ; 72 63v54u32
3042 srl
([rwrd
],x
) ; 72 64v54u32
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
3050 inc ([rwrd
],x
) ; 72 6Cv54u32
3051 tnz
([rwrd
],x
) ; 72 6Dv54u32
3052 swap
([rwrd
],x
) ; 72 6Ev54u32
3053 clr
([rwrd
],x
) ; 72 6Fv54u32
3065 subw y
,#rwrd
; 72 A2s54r32
3066 addw y
,#rwrd
; 72 A9s54r32
3069 subw x
,*rbyt
; 72 B0u10
3070 subw y
,*rbyt
; 72 B2u10
3071 addw y
,*rbyt
; 72 B9u10
3072 addw x
,*rbyt
; 72 BBu10
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
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
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
3122 .sbttl
Page 90 STM8 Instructions with External symbols
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
3152 1$
: jrih
1$
; 90 2F FD
3159 neg (rwrd
,y
) ; 90 40v54u32
3162 cpl
(rwrd
,y
) ; 90 43v54u32
3163 srl
(rwrd
,y
) ; 90 44v54u32
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
3171 inc (rwrd
,y
) ; 90 4Cv54u32
3172 tnz
(rwrd
,y
) ; 90 4Dv54u32
3173 swap
(rwrd
,y
) ; 90 4Ev54u32
3174 clr
(rwrd
,y
) ; 90 4Fv54u32
3197 neg (*rbyt
,y
) ; 90 60u10
3200 cpl
(*rbyt
,y
) ; 90 63u10
3201 srl
(*rbyt
,y
) ; 90 64u10
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
3209 inc (*rbyt
,y
) ; 90 6Cu10
3210 tnz
(*rbyt
,y
) ; 90 6Du10
3211 swap
(*rbyt
,y
) ; 90 6Eu10
3212 clr
(*rbyt
,y
) ; 90 6Fu10
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
3254 cpw y
,*rbyt
; 90 B3u10
3255 ldw y
,*rbyt
; 90 BEu10
3256 ldw
*rbyt
,y
; 90 BFu10
3259 cpw y
,rwrd
; 90 C3v54u32
3260 ldw y
,rwrd
; 90 CEv54u32
3261 ldw rwrd
,y
; 90 CFv54u32
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
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
3321 .sbttl
Page 91 STM8 Instructions with External symbols
3336 neg ([*rbyt
],y
) ; 91 60u10
3339 cpl
([*rbyt
],y
) ; 91 63u10
3340 srl
([*rbyt
],y
) ; 91 64u10
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
3348 inc ([*rbyt
],y
) ; 91 6Cu10
3349 tnz
([*rbyt
],y
) ; 91 6Du10
3350 swap
([*rbyt
],y
) ; 91 6Eu10
3351 clr
([*rbyt
],y
) ; 91 6Fu10
3362 ldf
([rwrd
],y
),a
; 91 A7v54u32
3363 ldf a
,([rwrd
],y
) ; 91 AFv54u32
3368 cpw y
,[*rbyt
] ; 91 C3u10
3369 ldw y
,[*rbyt
] ; 91 CEu10
3370 ldw
[*rbyt
],y
; 91 CFu10
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
3395 .sbttl
Page 92 STM8 Instructions with External symbols
3404 neg [*rbyt
] ; 92 30u10
3407 cpl
[*rbyt
] ; 92 33u10
3408 srl
[*rbyt
] ; 92 34u10
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
3416 inc [*rbyt
] ; 92 3Cu10
3417 tnz
[*rbyt
] ; 92 3Du10
3418 swap
[*rbyt
] ; 92 3Eu10
3419 clr
[*rbyt
] ; 92 3Fu10
3426 neg ([*rbyt
],x
) ; 92 60u10
3429 cpl
([*rbyt
],x
) ; 92 63u10
3430 srl
([*rbyt
],x
) ; 92 64u10
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
3438 inc ([*rbyt
],x
) ; 92 6Cu10
3439 tnz
([*rbyt
],x
) ; 92 6Du10
3440 swap
([*rbyt
],x
) ; 92 6Eu10
3441 clr
([*rbyt
],x
) ; 92 6Fu10
3448 callf
[rwrd
] ; 92 8Dv54u32
3453 ldf
([rwrd
],x
),a
; 92 A7v54u32
3454 jpf
[rwrd
] ; 92 ACv54u32
3455 ldf a
,([rwrd
],x
) ; 92 AFv54u32
3458 ldf a
,[rwrd
] ; 92 BCv54u32
3459 ldf
[rwrd
],a
; 92 BDv54u32
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
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
3501 ;; ljm TODO: undefine not implemented
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
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
3519 .define rbyt
, /xbyt
+0x10/
3520 .define rwrd
, /xwrd
+0x5432/
3521 .define rexa
, /xexa
+0xBA9876/
3524 neg (rbyt
,sp) ; 00u10
3527 cpl
(rbyt
,sp) ; 03u10
3528 srl
(rbyt
,sp) ; 04u10
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
3536 inc (rbyt
,sp) ; 0Cu10
3537 tnz
(rbyt
,sp) ; 0Du10
3538 swap
(rbyt
,sp) ; 0Eu10
3539 clr
(rbyt
,sp) ; 0Fu10
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
3580 neg rbyt
; 72 50v00u10
3581 exg a
,rwrd
; 31v54u32
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
3605 mov rbyt
,rbyt
+0x11 ; 55v00u21v00u10
3620 sub sp,#rbyt
; 52u10
3623 mov rwrd
,rwrd
+0x1111; 55v65u43v54u32
3629 add sp,#rbyt
; 5Bu10
3638 neg (rbyt
,x
) ; 72 40v00u10
3641 cpl
(rbyt
,x
) ; 72 43v00u10
3642 srl
(rbyt
,x
) ; 72 44v00u10
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
3667 ld a
,(rbyt
,sp) ; 7Bu10
3689 callf rexa
; 8DRBAs98r76
3717 cpw x
,#rwrd
; A3s54r32
3721 ldf
(rexa
,x
),a
; A7RBAs98r76
3726 jpf rexa
; ACRBAs98r76
3727 1$
: callr
1$
; AD FE
3728 ldw x
,#rwrd
; AEs54r32
3729 ldf a
,(rexa
,x
) ; AFRBAs98r76
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
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
3765 call rwrd
; CDs54r32
3766 ldw x
,rwrd
; CEv54u32
3767 ldw rwrd
,x
; CFv54u32
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
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
3827 .sbttl
Page 72 STM8 Instructions External
1-Byte Promotion to
2-Byte
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
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
3870 neg [rwrd
] ; 72 30v54u32
3873 cpl
[rwrd
] ; 72 33v54u32
3874 srl
[rwrd
] ; 72 34v54u32
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
3882 inc [rwrd
] ; 72 3Cv54u32
3883 tnz
[rwrd
] ; 72 3Dv54u32
3884 swap
[rwrd
] ; 72 3Ev54u32
3885 clr
[rwrd
] ; 72 3Fv54u32
3888 neg (rwrd
,x
) ; 72 40v54u32
3891 cpl
(rwrd
,x
) ; 72 43v54u32
3892 srl
(rwrd
,x
) ; 72 44v54u32
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
3900 inc (rwrd
,x
) ; 72 4Cv54u32
3901 tnz
(rwrd
,x
) ; 72 4Dv54u32
3902 swap
(rwrd
,x
) ; 72 4Ev54u32
3903 clr
(rwrd
,x
) ; 72 4Fv54u32
3908 neg rwrd
; 72 50v54u32
3911 cpl rwrd
; 72 53v54u32
3912 srl rwrd
; 72 54v54u32
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
3920 inc rwrd
; 72 5Cv54u32
3921 tnz rwrd
; 72 5Dv54u32
3922 swap rwrd
; 72 5Ev54u32
3923 clr rwrd
; 72 5Fv54u32
3926 neg ([rwrd
],x
) ; 72 60v54u32
3929 cpl
([rwrd
],x
) ; 72 63v54u32
3930 srl
([rwrd
],x
) ; 72 64v54u32
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
3938 inc ([rwrd
],x
) ; 72 6Cv54u32
3939 tnz
([rwrd
],x
) ; 72 6Dv54u32
3940 swap
([rwrd
],x
) ; 72 6Ev54u32
3941 clr
([rwrd
],x
) ; 72 6Fv54u32
3953 subw y
,#rwrd
; 72 A2s54r32
3954 addw y
,#rwrd
; 72 A9s54r32
3957 subw x
,rbyt
; 72 B0u10
3958 subw y
,rbyt
; 72 B2u10
3959 addw y
,rbyt
; 72 B9u10
3960 addw x
,rbyt
; 72 BBu10
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
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
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
4010 .sbttl
Page 90 STM8 Instructions External
1-Byte Promotion to
2-Byte
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
4040 1$
: jrih
1$
; 90 2F FD
4047 neg (rwrd
,y
) ; 90 40v54u32
4050 cpl
(rwrd
,y
) ; 90 43v54u32
4051 srl
(rwrd
,y
) ; 90 44v54u32
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
4059 inc (rwrd
,y
) ; 90 4Cv54u32
4060 tnz
(rwrd
,y
) ; 90 4Dv54u32
4061 swap
(rwrd
,y
) ; 90 4Ev54u32
4062 clr
(rwrd
,y
) ; 90 4Fv54u32
4085 neg (rbyt
,y
) ; 90 40v00u10
4088 cpl
(rbyt
,y
) ; 90 43v00u10
4089 srl
(rbyt
,y
) ; 90 44v00u10
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
4097 inc (rbyt
,y
) ; 90 4Cv00u10
4098 tnz
(rbyt
,y
) ; 90 4Dv00u10
4099 swap
(rbyt
,y
) ; 90 4Ev00u10
4100 clr
(rbyt
,y
) ; 90 4Fv00u10
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
4142 cpw y
,rbyt
; 90 C3v00u10
4143 ldw y
,rbyt
; 90 CEv00u10
4144 ldw rbyt
,y
; 90 CFv00u10
4147 cpw y
,rwrd
; 90 C3v54u32
4148 ldw y
,rwrd
; 90 CEv54u32
4149 ldw rwrd
,y
; 90 CFv54u32
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
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
4209 .sbttl
Page 91 STM8 Instructions External
1-Byte Promotion to
2-Byte
4224 neg ([rbyt
],y
) ; 91 60u10
4227 cpl
([rbyt
],y
) ; 91 63u10
4228 srl
([rbyt
],y
) ; 91 64u10
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
4236 inc ([rbyt
],y
) ; 91 6Cu10
4237 tnz
([rbyt
],y
) ; 91 6Du10
4238 swap
([rbyt
],y
) ; 91 6Eu10
4239 clr
([rbyt
],y
) ; 91 6Fu10
4250 ldf
([rwrd
],y
),a
; 91 A7v54u32
4251 ldf a
,([rwrd
],y
) ; 91 AFv54u32
4256 cpw y
,[rbyt
] ; 91 C3u10
4257 ldw y
,[rbyt
] ; 91 CEu10
4258 ldw
[rbyt
],y
; 91 CFu10
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
4283 .sbttl
Page 92 STM8 Instructions External
1-Byte Promotion to
2-Byte
4292 neg [rbyt
] ; 72 30v00u10
4295 cpl
[rbyt
] ; 72 33v00u10
4296 srl
[rbyt
] ; 72 34v00u10
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
4304 inc [rbyt
] ; 72 3Cv00u10
4305 tnz
[rbyt
] ; 72 3Dv00u10
4306 swap
[rbyt
] ; 72 3Ev00u10
4307 clr
[rbyt
] ; 72 3Fv00u10
4314 neg ([rbyt
],x
) ; 72 60v00u10
4317 cpl
([rbyt
],x
) ; 72 63v00u10
4318 srl
([rbyt
],x
) ; 72 64v00u10
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
4326 inc ([rbyt
],x
) ; 72 6Cv00u10
4327 tnz
([rbyt
],x
) ; 72 6Dv00u10
4328 swap
([rbyt
],x
) ; 72 6Ev00u10
4329 clr
([rbyt
],x
) ; 72 6Fv00u10
4336 callf
[rwrd
] ; 92 8Dv54u32
4341 ldf
([rwrd
],x
),a
; 92 A7v54u32
4342 jpf
[rwrd
] ; 92 ACv54u32
4343 ldf a
,([rwrd
],x
) ; 92 AFv54u32
4346 ldf a
,[rwrd
] ; 92 BCv54u32
4347 ldf
[rwrd
],a
; 92 BDv54u32
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
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