.title stm8 Sequential Test .area Prog(rel,con) abyt = 0x0010 ; Absolute 1-Byte Value awrd = 0x5432 ; Absolute 2-Byte Value aexa = 0xBA9876 ; Absolute 3-Byte Value rbyt = . + 0x0010 ; Relocatable 1-Byte Value rwrd = . + 0x5432 ; Relocatable 2-Byte Value rexa = . + 0xBA9876 ; Relocatable 3-Byte Value .page .sbttl Base STM8 Instructions in Numerical Order (Absolute) agrp0: neg (abyt,sp) ; 00 10 rrwa x,a ; 01 rlwa x,a ; 02 cpl (abyt,sp) ; 03 10 srl (abyt,sp) ; 04 10 ; 05 rrc (abyt,sp) ; 06 10 sra (abyt,sp) ; 07 10 sla (abyt,sp) ; 08 10 rlc (abyt,sp) ; 09 10 dec (abyt,sp) ; 0A 10 ; 0B 10 inc (abyt,sp) ; 0C 10 tnz (abyt,sp) ; 0D 10 swap (abyt,sp) ; 0E 10 clr (abyt,sp) ; 0F 10 agrp1: sub a,(abyt,sp) ; 10 10 cp a,(abyt,sp) ; 11 10 sbc a,(abyt,sp) ; 12 10 cpw x,(abyt,sp) ; 13 10 and a,(abyt,sp) ; 14 10 bcp a,(abyt,sp) ; 15 10 ldw y,(abyt,sp) ; 16 10 ldw (abyt,sp),y ; 17 10 xor a,(abyt,sp) ; 18 10 adc a,(abyt,sp) ; 19 10 or a,(abyt,sp) ; 1A 10 add a,(abyt,sp) ; 1B 10 addw x,#awrd ; 1C 54 32 subw x,#awrd ; 1D 54 32 ldw x,(abyt,sp) ; 1E 10 ldw (abyt,sp),x ; 1F 10 .page agrp2: jra 1$ ; 20 0E jrf 1$ ; 21 0C jrugt 1$ ; 22 0A jrule 1$ ; 23 08 jrnc 1$ ; 24 06 jrc 1$ ; 25 04 jrne 1$ ; 26 02 jreq 1$ ; 27 00 1$: jrnv 1$ ; 28 FE jrv 1$ ; 29 FC jrpl 1$ ; 2A FA jrmi 1$ ; 2B F8 jrsgt 1$ ; 2C F6 jrsle 1$ ; 2D F4 jrsge 1$ ; 2E F2 jrslt 1$ ; 2F F0 agrp3: neg abyt ; 30 10 exg a,awrd ; 31 54 32 pop awrd ; 32 54 32 cpl abyt ; 33 10 srl abyt ; 34 10 mov awrd,#abyt ; 35 10 54 32 rrc abyt ; 36 10 sra abyt ; 37 10 sla abyt ; 38 10 rlc abyt ; 39 10 dec abyt ; 3A 10 push awrd ; 3B 54 32 inc abyt ; 3C 10 tnz abyt ; 3D 10 swap abyt ; 3E 10 clr abyt ; 3F 10 .page agrp4: neg a ; 40 exg a,xl ; 41 mul x,a ; 42 cpl a ; 43 srl a ; 44 mov abyt,abyt+0x11 ; 45 21 10 rrc a ; 46 sra a ; 47 sla a ; 48 rlc a ; 49 dec a ; 4A push #abyt ; 4B 10 inc a ; 4C tnz a ; 4D swap a ; 4E clr a ; 4F agrp5: negw x ; 50 exgw x,y ; 51 sub sp,#abyt ; 52 10 cplw x ; 53 srlw x ; 54 mov awrd,awrd+0x1111; 55 65 43 54 32 rrcw x ; 56 sraw x ; 57 slaw x ; 58 rlcw x ; 59 decw x ; 5A add sp,#abyt ; 5B 10 incw x ; 5C tnzw x ; 5D swapw x ; 5E clrw x ; 5F .page agrp6: neg (abyt,x) ; 60 10 exg a,yl ; 61 div x,a ; 62 cpl (abyt,x) ; 63 10 srl (abyt,x) ; 64 10 divw x,y ; 65 rrc (abyt,x) ; 66 10 sra (abyt,x) ; 67 10 sla (abyt,x) ; 68 10 rlc (abyt,x) ; 69 10 dec (abyt,x) ; 6A 10 ld (abyt,sp),a ; 6B 10 inc (abyt,x) ; 6C 10 tnz (abyt,x) ; 6D 10 swap (abyt,x) ; 6E 10 clr (abyt,x) ; 6F 10 agrp7: neg (x) ; 70 ; 71 ; 72 cpl (x) ; 73 srl (x) ; 74 ; 75 rrc (x) ; 76 sra (x) ; 77 sla (x) ; 78 rlc (x) ; 79 dec (x) ; 7A ld a,(abyt,sp) ; 7B 10 inc (x) ; 7C tnz (x) ; 7D swap (x) ; 7E clr (x) ; 7F .page agrp8: iret ; 80 ret ; 81 ; 82 trap ; 83 pop a ; 84 popw x ; 85 pop cc ; 86 retf ; 87 push a ; 88 pushw x ; 89 push cc ; 8A ; 8B ccf ; 8C callf aexa ; 8D BA 98 76 halt ; 8E wfi ; 8F agrp9: ; 90 ; 91 ; 92 ldw x,y ; 93 ldw sp,x ; 94 ld xh,a ; 95 ldw x,sp ; 96 ld xl,a ; 97 rcf ; 98 scf ; 99 rim ; 9A sim ; 9B rvf ; 9C nop ; 9D ld a,xh ; 9E ld a,xl ; 9F .page agrpA: sub a,#abyt ; A0 10 cp a,#abyt ; A1 10 sbc a,#abyt ; A2 10 cpw x,#awrd ; A3 54 32 and a,#abyt ; A4 10 bcp a,#abyt ; A5 10 ld a,#abyt ; A6 10 ldf (aexa,x),a ; A7 BA 98 76 xor a,#abyt ; A8 10 adc a,#abyt ; A9 10 or a,#abyt ; AA 10 add a,#abyt ; AB 10 jpf aexa ; AC BA 98 76 1$: callr 1$ ; AD FE ldw x,#awrd ; AE 54 32 ldf a,(aexa,x) ; AF BA 98 76 agrpB: sub a,abyt ; B0 10 cp a,abyt ; B1 10 sbc a,abyt ; B2 10 cpw x,abyt ; B3 10 and a,abyt ; B4 10 bcp a,abyt ; B5 10 ld a,abyt ; B6 10 ld abyt,a ; B7 10 xor a,abyt ; B8 10 adc a,abyt ; B9 10 or a,abyt ; BA 10 add a,abyt ; BB 10 ldf a,aexa ; BC BA 98 76 ldf aexa,a ; BD BA 98 76 ldw x,abyt ; BE 10 ldw abyt,x ; BF 10 .page agrpC: sub a,awrd ; C0 54 32 cp a,awrd ; C1 54 32 sbc a,awrd ; C2 54 32 cpw x,awrd ; C3 54 32 and a,awrd ; C4 54 32 bcp a,awrd ; C5 54 32 ld a,awrd ; C6 54 32 ld awrd,a ; C7 54 32 xor a,awrd ; C8 54 32 adc a,awrd ; C9 54 32 or a,awrd ; CA 54 32 add a,awrd ; CB 54 32 jp awrd ; CC 54 32 call awrd ; CD 54 32 ldw x,awrd ; CE 54 32 ldw awrd,x ; CF 54 32 agrpD: sub a,(awrd,x) ; D0 54 32 cp a,(awrd,x) ; D1 54 32 sbc a,(awrd,x) ; D2 54 32 cpw y,(awrd,x) ; D3 54 32 and a,(awrd,x) ; D4 54 32 bcp a,(awrd,x) ; D5 54 32 ld a,(awrd,x) ; D6 54 32 ld (awrd,x),a ; D7 54 32 xor a,(awrd,x) ; D8 54 32 adc a,(awrd,x) ; D9 54 32 or a,(awrd,x) ; DA 54 32 add a,(awrd,x) ; DB 54 32 jp (awrd,x) ; DC 54 32 call (awrd,x) ; DD 54 32 ldw x,(awrd,x) ; DE 54 32 ldw (awrd,x),y ; DF 54 32 .page agrpE: sub a,(abyt,x) ; E0 10 cp a,(abyt,x) ; E1 10 sbc a,(abyt,x) ; E2 10 cpw y,(abyt,x) ; E3 10 and a,(abyt,x) ; E4 10 bcp a,(abyt,x) ; E5 10 ld a,(abyt,x) ; E6 10 ld (abyt,x),a ; E7 10 xor a,(abyt,x) ; E8 10 adc a,(abyt,x) ; E9 10 or a,(abyt,x) ; EA 10 add a,(abyt,x) ; EB 10 jp (abyt,x) ; EC 10 call (abyt,x) ; ED 10 ldw x,(abyt,x) ; EE 10 ldw (abyt,x),y ; EF 10 agrpF: sub a,(x) ; F0 cp a,(x) ; F1 sbc a,(x) ; F2 cpw y,(x) ; F3 and a,(x) ; F4 bcp a,(x) ; F5 ld a,(x) ; F6 ld (x),a ; F7 xor a,(x) ; F8 adc a,(x) ; F9 or a,(x) ; FA add a,(x) ; FB jp (x) ; FC call (x) ; FD ldw x,(x) ; FE ldw (x),y ; FF .page .sbttl Page 72 STM8 Instructions in Numerical Order (Absolute) agrp72_0: btjt awrd,#0,1$ ; 72 00 54 32 23 btjf awrd,#0,1$ ; 72 01 54 32 1E btjt awrd,#1,1$ ; 72 02 54 32 19 btjf awrd,#1,1$ ; 72 03 54 32 14 btjt awrd,#2,1$ ; 72 04 54 32 0F btjf awrd,#2,1$ ; 72 05 54 32 0A btjt awrd,#3,1$ ; 72 06 54 32 05 btjf awrd,#3,1$ ; 72 07 54 32 00 1$: btjt awrd,#4,1$ ; 72 08 54 32 FB btjf awrd,#4,1$ ; 72 09 54 32 F6 btjt awrd,#5,1$ ; 72 0A 54 32 F1 btjf awrd,#5,1$ ; 72 0B 54 32 EC btjt awrd,#6,1$ ; 72 0C 54 32 E7 btjf awrd,#6,1$ ; 72 0D 54 32 E2 btjt awrd,#7,1$ ; 72 0E 54 32 DD btjf awrd,#7,1$ ; 72 0F 54 32 D8 agrp72_1: bset awrd,#0 ; 72 10 54 32 bres awrd,#0 ; 72 11 54 32 bset awrd,#1 ; 72 12 54 32 bres awrd,#1 ; 72 13 54 32 bset awrd,#2 ; 72 14 54 32 bres awrd,#2 ; 72 15 54 32 bset awrd,#3 ; 72 16 54 32 bres awrd,#3 ; 72 17 54 32 bset awrd,#4 ; 72 18 54 32 bres awrd,#4 ; 72 19 54 32 bset awrd,#5 ; 72 1A 54 32 bres awrd,#5 ; 72 1B 54 32 bset awrd,#6 ; 72 1C 54 32 bres awrd,#6 ; 72 1D 54 32 bset awrd,#7 ; 72 1E 54 32 bres awrd,#7 ; 72 1F 54 32 agrp72_2: .page agrp72_3: neg [awrd] ; 72 30 54 32 ; 72 31 ; 72 32 cpl [awrd] ; 72 33 54 32 srl [awrd] ; 72 34 54 32 ; 72 35 rrc [awrd] ; 72 36 54 32 sra [awrd] ; 72 37 54 32 sla [awrd] ; 72 38 54 32 rlc [awrd] ; 72 39 54 32 dec [awrd] ; 72 3A 54 32 ; 72 3B inc [awrd] ; 72 3C 54 32 tnz [awrd] ; 72 3D 54 32 swap [awrd] ; 72 3E 54 32 clr [awrd] ; 72 3F 54 32 agrp72_4: neg (awrd,x) ; 72 40 54 32 ; 72 41 ; 72 42 cpl (awrd,x) ; 72 43 54 32 srl (awrd,x) ; 72 44 54 32 ; 72 45 rrc (awrd,x) ; 72 46 54 32 sra (awrd,x) ; 72 47 54 32 sla (awrd,x) ; 72 48 54 32 rlc (awrd,x) ; 72 49 54 32 dec (awrd,x) ; 72 4A 54 32 ; 72 4B inc (awrd,x) ; 72 4C 54 32 tnz (awrd,x) ; 72 4D 54 32 swap (awrd,x) ; 72 4E 54 32 clr (awrd,x) ; 72 4F 54 32 .page agrp72_5: neg awrd ; 72 50 54 32 ; 72 51 ; 72 52 cpl awrd ; 72 53 54 32 srl awrd ; 72 54 54 32 ; 72 55 rrc awrd ; 72 56 54 32 sra awrd ; 72 57 54 32 sla awrd ; 72 58 54 32 rlc awrd ; 72 59 54 32 dec awrd ; 72 5A 54 32 ; 72 5B inc awrd ; 72 5C 54 32 tnz awrd ; 72 5D 54 32 swap awrd ; 72 5E 54 32 clr awrd ; 72 5F 54 32 agrp72_6: neg ([awrd],x) ; 72 60 54 32 ; 72 61 ; 72 62 cpl ([awrd],x) ; 72 63 54 32 srl ([awrd],x) ; 72 64 54 32 ; 72 65 rrc ([awrd],x) ; 72 66 54 32 sra ([awrd],x) ; 72 67 54 32 sla ([awrd],x) ; 72 68 54 32 rlc ([awrd],x) ; 72 69 54 32 dec ([awrd],x) ; 72 6A 54 32 ; 72 6B inc ([awrd],x) ; 72 6C 54 32 tnz ([awrd],x) ; 72 6D 54 32 swap ([awrd],x) ; 72 6E 54 32 clr ([awrd],x) ; 72 6F 54 32 .page agrp72_7: agrp72_8: wfe ; 72 8F agrp72_9: agrp72_A: subw y,#awrd ; 72 A2 54 32 addw y,#awrd ; 72 A9 54 32 agrp72_B: subw x,abyt ; 72 B0 10 subw y,abyt ; 72 B2 10 addw y,abyt ; 72 B9 10 addw x,abyt ; 72 BB 10 .page agrp72_C: sub a,[awrd] ; 72 C0 54 32 cp a,[awrd] ; 72 C1 54 32 sbc a,[awrd] ; 72 C2 54 32 cpw x,[awrd] ; 72 C3 54 32 and a,[awrd] ; 72 C4 54 32 bcp a,[awrd] ; 72 C5 54 32 ld a,[awrd] ; 72 C6 54 32 ld [awrd],a ; 72 C7 54 32 xor a,[awrd] ; 72 C8 54 32 adc a,[awrd] ; 72 C9 54 32 or a,[awrd] ; 72 CA 54 32 add a,[awrd] ; 72 CB 54 32 jp [awrd] ; 72 CC 54 32 call [awrd] ; 72 CD 54 32 ldw x,[awrd] ; 72 CE 54 32 ldw [awrd],x ; 72 CF 54 32 agrp72_D: sub a,([awrd],x) ; 72 D0 54 32 cp a,([awrd],x) ; 72 D1 54 32 sbc a,([awrd],x) ; 72 D2 54 32 cpw y,([awrd],x) ; 72 D3 54 32 and a,([awrd],x) ; 72 D4 54 32 bcp a,([awrd],x) ; 72 D5 54 32 ld a,([awrd],x) ; 72 D6 54 32 ld ([awrd],x),a ; 72 D7 54 32 xor a,([awrd],x) ; 72 D8 54 32 adc a,([awrd],x) ; 72 D9 54 32 or a,([awrd],x) ; 72 DA 54 32 add a,([awrd],x) ; 72 DB 54 32 jp ([awrd],x) ; 72 DC 54 32 call ([awrd],x) ; 72 DD 54 32 ldw x,([awrd],x) ; 72 DE 54 32 ldw ([awrd],x),y ; 72 DF 54 32 agrp72_E: agrp72_F: subw x,(abyt,sp) ; 72 F0 10 subw y,(abyt,sp) ; 72 F2 10 addw y,(abyt,sp) ; 72 F9 10 addw x,(abyt,sp) ; 72 FB 10 .page .sbttl Page 90 STM8 Instructions in Numerical Order (Absolute) agrp90_0: rrwa y,a ; 90 01 rlwa y,a ; 90 02 agrp90_1: bcpl awrd,#0 ; 90 10 54 32 bccm awrd,#0 ; 90 11 54 32 bcpl awrd,#1 ; 90 12 54 32 bccm awrd,#1 ; 90 13 54 32 bcpl awrd,#2 ; 90 14 54 32 bccm awrd,#2 ; 90 15 54 32 bcpl awrd,#3 ; 90 16 54 32 bccm awrd,#3 ; 90 17 54 32 bcpl awrd,#4 ; 90 18 54 32 bccm awrd,#4 ; 90 19 54 32 bcpl awrd,#5 ; 90 1A 54 32 bccm awrd,#5 ; 90 1B 54 32 bcpl awrd,#6 ; 90 1C 54 32 bccm awrd,#6 ; 90 1D 54 32 bcpl awrd,#7 ; 90 1E 54 32 bccm awrd,#7 ; 90 1F 54 32 agrp90_2: jrnh 1$ ; 90 28 0C jrh 1$ ; 90 29 09 jrnm 1$ ; 90 2C 06 jrm 1$ ; 90 2D 03 jril 1$ ; 90 2E 00 1$: jrih 1$ ; 90 2F FD agrp90_3: .page agrp90_4: neg (awrd,y) ; 90 40 54 32 ; 90 41 mul y,a ; 90 42 cpl (awrd,y) ; 90 43 54 32 srl (awrd,y) ; 90 44 54 32 ; 90 45 rrc (awrd,y) ; 90 46 54 32 sra (awrd,y) ; 90 47 54 32 sla (awrd,y) ; 90 48 54 32 rlc (awrd,y) ; 90 49 54 32 dec (awrd,y) ; 90 4A 54 32 ; 90 4B inc (awrd,y) ; 90 4C 54 32 tnz (awrd,y) ; 90 4D 54 32 swap (awrd,y) ; 90 4E 54 32 clr (awrd,y) ; 90 4F 54 32 agrp90_5: negw y ; 90 50 ; 90 51 ; 90 52 cplw y ; 90 53 srlw y ; 90 54 ; 90 55 rrcw y ; 90 56 sraw y ; 90 57 slaw y ; 90 58 rlcw y ; 90 59 decw y ; 90 5A ; 90 5B incw y ; 90 5C tnzw y ; 90 5D swapw y ; 90 5E clrw y ; 90 5F .page agrp90_6: neg (abyt,y) ; 90 60 10 ; 90 61 div y,a ; 90 62 cpl (abyt,y) ; 90 63 10 srl (abyt,y) ; 90 64 10 ; 90 65 rrc (abyt,y) ; 90 66 10 sra (abyt,y) ; 90 67 10 sla (abyt,y) ; 90 68 10 rlc (abyt,y) ; 90 69 10 dec (abyt,y) ; 90 6A 10 ; 90 6B inc (abyt,y) ; 90 6C 10 tnz (abyt,y) ; 90 6D 10 swap (abyt,y) ; 90 6E 10 clr (abyt,y) ; 90 6F 10 agrp90_7: neg (y) ; 90 70 ; 90 71 ; 90 72 cpl (y) ; 90 73 srl (y) ; 90 74 ; 90 75 rrc (y) ; 90 76 sra (y) ; 90 77 sla (y) ; 90 78 rlc (y) ; 90 79 dec (y) ; 90 7A ; 90 7B inc (y) ; 90 7C tnz (y) ; 90 7D swap (y) ; 90 7E clr (y) ; 90 7F .page agrp90_8: popw y ; 90 85 pushw y ; 90 89 agrp90_9: ldw y,x ; 90 93 ldw sp,y ; 90 94 ld yh,a ; 90 95 ldw y,sp ; 90 96 ld yl,a ; 90 97 ld a,yh ; 90 9E ld a,yl ; 90 9F agrp90_A: cpw y,#awrd ; 90 A3 54 32 ldf (aexa,y),a ; 90 A7 BA 98 76 ldw y,#awrd ; 90 AE 54 32 ldf a,(aexa,y) ; 90 AF BA 98 76 agrp90_B: cpw y,abyt ; 90 B3 10 ldw y,abyt ; 90 BE 10 ldw abyt,y ; 90 BF 10 agrp90_C: cpw y,awrd ; 90 C3 54 32 ldw y,awrd ; 90 CE 54 32 ldw awrd,y ; 90 CF 54 32 agrp90_D: sub a,(awrd,y) ; 90 D0 54 32 cp a,(awrd,y) ; 90 D1 54 32 sbc a,(awrd,y) ; 90 D2 54 32 cpw x,(awrd,y) ; 90 D3 54 32 and a,(awrd,y) ; 90 D4 54 32 bcp a,(awrd,y) ; 90 D5 54 32 ld a,(awrd,y) ; 90 D6 54 32 ld (awrd,y),a ; 90 D7 54 32 xor a,(awrd,y) ; 90 D8 54 32 adc a,(awrd,y) ; 90 D9 54 32 or a,(awrd,y) ; 90 DA 54 32 add a,(awrd,y) ; 90 DB 54 32 jp (awrd,y) ; 90 DC 54 32 call (awrd,y) ; 90 DD 54 32 ldw y,(awrd,y) ; 90 DE 54 32 ldw (awrd,y),x ; 90 DF 54 32 .page agrp90_E: sub a,(abyt,y) ; 90 E0 10 cp a,(abyt,y) ; 90 E1 10 sbc a,(abyt,y) ; 90 E2 10 cpw x,(abyt,y) ; 90 E3 10 and a,(abyt,y) ; 90 E4 10 bcp a,(abyt,y) ; 90 E5 10 ld a,(abyt,y) ; 90 E6 10 ld (abyt,y),a ; 90 E7 10 xor a,(abyt,y) ; 90 E8 10 adc a,(abyt,y) ; 90 E9 10 or a,(abyt,y) ; 90 EA 10 add a,(abyt,y) ; 90 EB 10 jp (abyt,y) ; 90 EC 10 call (abyt,y) ; 90 ED 10 ldw y,(abyt,y) ; 90 EE 10 ldw (abyt,y),x ; 90 EF 10 agrp90_F: sub a,(y) ; 90 F0 cp a,(y) ; 90 F1 sbc a,(y) ; 90 F2 cpw x,(y) ; 90 F3 and a,(y) ; 90 F4 bcp a,(y) ; 90 F5 ld a,(y) ; 90 F6 ld (y),a ; 90 F7 xor a,(y) ; 90 F8 adc a,(y) ; 90 F9 or a,(y) ; 90 FA add a,(y) ; 90 FB jp (y) ; 90 FC call (y) ; 90 FD ldw y,(y) ; 90 FE ldw (y),x ; 90 FF .page .sbttl Page 91 STM8 Instructions in Numerical Order (Absolute) agrp91_0: agrp91_1: agrp91_2: agrp91_3: agrp91_4: agrp91_5: agrp91_6: neg ([abyt],y) ; 91 60 10 ; 91 61 ; 91 62 cpl ([abyt],y) ; 91 63 10 srl ([abyt],y) ; 91 64 10 ; 91 65 rrc ([abyt],y) ; 91 66 10 sra ([abyt],y) ; 91 67 10 sla ([abyt],y) ; 91 68 10 rlc ([abyt],y) ; 91 69 10 dec ([abyt],y) ; 91 6A 10 ; 91 6B inc ([abyt],y) ; 91 6C 10 tnz ([abyt],y) ; 91 6D 10 swap ([abyt],y) ; 91 6E 10 clr ([abyt],y) ; 91 6F 10 agrp91_7: .page agrp91_8: agrp91_9: agrp91_A: ldf ([awrd],y),a ; 91 A7 54 32 ldf a,([awrd],y) ; 91 AF 54 32 agrp91_B: agrp91_C: cpw y,[abyt] ; 91 C3 10 ldw y,[abyt] ; 91 CE 10 ldw [abyt],y ; 91 CF 10 agrp91_D: sub a,([abyt],y) ; 91 D0 10 cp a,([abyt],y) ; 91 D1 10 sbc a,([abyt],y) ; 91 D2 10 cpw x,([abyt],y) ; 91 D3 10 and a,([abyt],y) ; 91 D4 10 bcp a,([abyt],y) ; 91 D5 10 ld a,([abyt],y) ; 91 D6 10 ld ([abyt],y),a ; 91 D7 10 xor a,([abyt],y) ; 91 D8 10 adc a,([abyt],y) ; 91 D9 10 or a,([abyt],y) ; 91 DA 10 add a,([abyt],y) ; 91 DB 10 jp ([abyt],y) ; 91 DC 10 call ([abyt],y) ; 91 DD 10 ldw y,([abyt],y) ; 91 DE 10 ldw ([abyt],y),x ; 91 DF 10 agrp91_E: agrp91_F: .page .sbttl Page 92 STM8 Instructions in Numerical Order (Absolute) agrp92_0: agrp92_1: agrp92_2: agrp92_3: neg [abyt] ; 92 30 10 ; 92 31 ; 92 32 cpl [abyt] ; 92 33 10 srl [abyt] ; 92 34 10 ; 92 35 rrc [abyt] ; 92 36 10 sra [abyt] ; 92 37 10 sla [abyt] ; 92 38 10 rlc [abyt] ; 92 39 10 dec [abyt] ; 92 3A 10 ; 92 3B inc [abyt] ; 92 3C 10 tnz [abyt] ; 92 3D 10 swap [abyt] ; 92 3E 10 clr [abyt] ; 92 3F 10 agrp92_4: agrp92_5: agrp92_6: neg ([abyt],x) ; 92 60 10 ; 92 61 ; 92 62 cpl ([abyt],x) ; 92 63 10 srl ([abyt],x) ; 92 64 10 ; 92 65 rrc ([abyt],x) ; 92 66 10 sra ([abyt],x) ; 92 67 10 sla ([abyt],x) ; 92 68 10 rlc ([abyt],x) ; 92 69 10 dec ([abyt],x) ; 92 6A 10 ; 92 6B inc ([abyt],x) ; 92 6C 10 tnz ([abyt],x) ; 92 6D 10 swap ([abyt],x) ; 92 6E 10 clr ([abyt],x) ; 92 6F 10 agrp92_7: .page agrp92_8: callf [awrd] ; 92 8D 54 32 agrp92_9: agrp92_A: ldf ([awrd],x),a ; 92 A7 54 32 jpf [awrd] ; 92 AC 54 32 ldf a,([awrd],x) ; 92 AF 54 32 agrp92_B: ldf a,[awrd] ; 92 BC 54 32 ldf [awrd],a ; 92 BD 54 32 agrp92_C: sub a,[abyt] ; 92 C0 10 cp a,[abyt] ; 92 C1 10 sbc a,[abyt] ; 92 C2 10 cpw x,[abyt] ; 92 C3 10 and a,[abyt] ; 92 C4 10 bcp a,[abyt] ; 92 C5 10 ld a,[abyt] ; 92 C6 10 ld [abyt],a ; 92 C7 10 xor a,[abyt] ; 92 C8 10 adc a,[abyt] ; 92 C9 10 or a,[abyt] ; 92 CA 10 add a,[abyt] ; 92 CB 10 jp [abyt] ; 92 CC 10 call [abyt] ; 92 CD 10 ldw x,[abyt] ; 92 CE 10 ldw [abyt],x ; 92 CF 10 agrp92_D: sub a,([abyt],x) ; 92 D0 10 cp a,([abyt],x) ; 92 D1 10 sbc a,([abyt],x) ; 92 D2 10 cpw y,([abyt],x) ; 92 D3 10 and a,([abyt],x) ; 92 D4 10 bcp a,([abyt],x) ; 92 D5 10 ld a,([abyt],x) ; 92 D6 10 ld ([abyt],x),a ; 92 D7 10 xor a,([abyt],x) ; 92 D8 10 adc a,([abyt],x) ; 92 D9 10 or a,([abyt],x) ; 92 DA 10 add a,([abyt],x) ; 92 DB 10 jp ([abyt],x) ; 92 DC 10 call ([abyt],x) ; 92 DD 10 ldw x,([abyt],x) ; 92 DE 10 ldw ([abyt],x),y ; 92 DF 10 agrp92_E: agrp92_F: .page .sbttl Base STM8 Instructions in Numerical Order (Relocatable) rgrp0: neg (*rbyt,sp) ; 00u10 rrwa x,a ; 01 rlwa x,a ; 02 cpl (*rbyt,sp) ; 03u10 srl (*rbyt,sp) ; 04u10 ; 05 rrc (*rbyt,sp) ; 06u10 sra (*rbyt,sp) ; 07u10 sla (*rbyt,sp) ; 08u10 rlc (*rbyt,sp) ; 09u10 dec (*rbyt,sp) ; 0Au10 ; 0B inc (*rbyt,sp) ; 0Cu10 tnz (*rbyt,sp) ; 0Du10 swap (*rbyt,sp) ; 0Eu10 clr (*rbyt,sp) ; 0Fu10 rgrp1: sub a,(*rbyt,sp) ; 10u10 cp a,(*rbyt,sp) ; 11u10 sbc a,(*rbyt,sp) ; 12u10 cpw x,(*rbyt,sp) ; 13u10 and a,(*rbyt,sp) ; 14u10 bcp a,(*rbyt,sp) ; 15u10 ldw y,(*rbyt,sp) ; 16u10 ldw (*rbyt,sp),y ; 17u10 xor a,(*rbyt,sp) ; 18u10 adc a,(*rbyt,sp) ; 19u10 or a,(*rbyt,sp) ; 1Au10 add a,(*rbyt,sp) ; 1Bu10 addw x,#rwrd ; 1Cs54r32 subw x,#rwrd ; 1Ds54r32 ldw x,(*rbyt,sp) ; 1Eu10 ldw (*rbyt,sp),x ; 1Fu10 .page rgrp2: jra 1$ ; 20 0E jrf 1$ ; 21 0C jrugt 1$ ; 22 0A jrule 1$ ; 23 08 jrnc 1$ ; 24 06 jrc 1$ ; 25 04 jrne 1$ ; 26 02 jreq 1$ ; 27 00 1$: jrnv 1$ ; 28 FE jrv 1$ ; 29 FC jrpl 1$ ; 2A FA jrmi 1$ ; 2B F8 jrsgt 1$ ; 2C F6 jrsle 1$ ; 2D F4 jrsge 1$ ; 2E F2 jrslt 1$ ; 2F F0 rgrp3: neg *rbyt ; 30u10 exg a,rwrd ; 31v54u32 pop rwrd ; 32v54u32 cpl *rbyt ; 33u10 srl *rbyt ; 34u10 mov rwrd,#rbyt ; 35r10v54u32 rrc *rbyt ; 36u10 sra *rbyt ; 37u10 sla *rbyt ; 38u10 rlc *rbyt ; 39u10 dec *rbyt ; 3Au10 push rwrd ; 3Bv54u32 inc *rbyt ; 3Cu10 tnz *rbyt ; 3Du10 swap *rbyt ; 3Eu10 clr *rbyt ; 3Fu10 .page rgrp4: neg a ; 40 exg a,xl ; 41 mul x,a ; 42 cpl a ; 43 srl a ; 44 mov *rbyt,*rbyt+0x11; 45u21u10 rrc a ; 46 sra a ; 47 sla a ; 48 rlc a ; 49 dec a ; 4A push #rbyt ; 4Br10 inc a ; 4C tnz a ; 4D swap a ; 4E clr a ; 4F rgrp5: negw x ; 50 exgw x,y ; 51 sub sp,#rbyt ; 52u10 cplw x ; 53 srlw x ; 54 mov rwrd,rwrd+0x1111; 55v65u43v54u32 rrcw x ; 56 sraw x ; 57 slaw x ; 58 rlcw x ; 59 decw x ; 5A add sp,#rbyt ; 5Bu10 incw x ; 5C tnzw x ; 5D swapw x ; 5E clrw x ; 5F .page rgrp6: neg (*rbyt,x) ; 60u10 exg a,yl ; 61 div x,a ; 62 cpl (*rbyt,x) ; 63u10 srl (*rbyt,x) ; 64u10 divw x,y ; 65 rrc (*rbyt,x) ; 66u10 sra (*rbyt,x) ; 67u10 sla (*rbyt,x) ; 68u10 rlc (*rbyt,x) ; 69u10 dec (*rbyt,x) ; 6Au10 ld (*rbyt,sp),a ; 6Bu10 inc (*rbyt,x) ; 6Cu10 tnz (*rbyt,x) ; 6Du10 swap (*rbyt,x) ; 6Eu10 clr (*rbyt,x) ; 6Fu10 rgrp7: neg (x) ; 70 ; 71 ; 72 cpl (x) ; 73 srl (x) ; 74 ; 75 rrc (x) ; 76 sra (x) ; 77 sla (x) ; 78 rlc (x) ; 79 dec (x) ; 7A ld a,(*rbyt,sp) ; 7Bu10 inc (x) ; 7C tnz (x) ; 7D swap (x) ; 7E clr (x) ; 7F .page rgrp8: iret ; 80 ret ; 81 ; 82 trap ; 83 pop a ; 84 popw x ; 85 pop cc ; 86 retf ; 87 push a ; 88 pushw x ; 89 push cc ; 8A ; 8B ccf ; 8C callf rexa ; 8DRBAs98r76 halt ; 8E wfi ; 8F rgrp9: ; 90 ; 91 ; 92 ldw x,y ; 93 ldw sp,x ; 94 ld xh,a ; 95 ldw x,sp ; 96 ld xl,a ; 97 rcf ; 98 scf ; 99 rim ; 9A sim ; 9B rvf ; 9C nop ; 9D ld a,xh ; 9E ld a,xl ; 9F .page rgrpA: sub a,#rbyt ; A0r10 cp a,#rbyt ; A1r10 sbc a,#rbyt ; A2r10 cpw x,#rwrd ; A3s54r32 and a,#rbyt ; A4r10 bcp a,#rbyt ; A5r10 ld a,#rbyt ; A6r10 ldf (rexa,x),a ; A7RBAs98r76 xor a,#rbyt ; A8r10 adc a,#rbyt ; A9r10 or a,#rbyt ; AAr10 add a,#rbyt ; ABr10 jpf rexa ; ACRBAs98r76 1$: callr 1$ ; AD FE ldw x,#rwrd ; AEs54r32 ldf a,(rexa,x) ; AFRBAs98r76 rgrpB: sub a,*rbyt ; B0u10 cp a,*rbyt ; B1u10 sbc a,*rbyt ; B2u10 cpw x,*rbyt ; B3u10 and a,*rbyt ; B4u10 bcp a,*rbyt ; B5u10 ld a,*rbyt ; B6u10 ld *rbyt,a ; B7u10 xor a,*rbyt ; B8u10 adc a,*rbyt ; B9u10 or a,*rbyt ; BAu10 add a,*rbyt ; BBu10 ldf a,rexa ; BCRBAs98r76 ldf rexa,a ; BDRBAs98r76 ldw x,*rbyt ; BEu10 ldw *rbyt,x ; BFu10 .page rgrpC: sub a,rwrd ; C0v54u32 cp a,rwrd ; C1v54u32 sbc a,rwrd ; C2v54u32 cpw x,rwrd ; C3v54u32 and a,rwrd ; C4v54u32 bcp a,rwrd ; C5v54u32 ld a,rwrd ; C6v54u32 ld rwrd,a ; C7v54u32 xor a,rwrd ; C8v54u32 adc a,rwrd ; C9v54u32 or a,rwrd ; CAv54u32 add a,rwrd ; CBv54u32 jp rwrd ; CCs54r32 call rwrd ; CDs54r32 ldw x,rwrd ; CEv54u32 ldw rwrd,x ; CFv54u32 rgrpD: sub a,(rwrd,x) ; D0v54u32 cp a,(rwrd,x) ; D1v54u32 sbc a,(rwrd,x) ; D2v54u32 cpw y,(rwrd,x) ; D3v54u32 and a,(rwrd,x) ; D4v54u32 bcp a,(rwrd,x) ; D5v54u32 ld a,(rwrd,x) ; D6v54u32 ld (rwrd,x),a ; D7v54u32 xor a,(rwrd,x) ; D8v54u32 adc a,(rwrd,x) ; D9v54u32 or a,(rwrd,x) ; DAv54u32 add a,(rwrd,x) ; DBv54u32 jp (rwrd,x) ; DCv54u32 call (rwrd,x) ; DDv54u32 ldw x,(rwrd,x) ; DEv54u32 ldw (rwrd,x),y ; DFv54u32 .page rgrpE: sub a,(*rbyt,x) ; E0u10 cp a,(*rbyt,x) ; E1u10 sbc a,(*rbyt,x) ; E2u10 cpw y,(*rbyt,x) ; E3u10 and a,(*rbyt,x) ; E4u10 bcp a,(*rbyt,x) ; E5u10 ld a,(*rbyt,x) ; E6u10 ld (*rbyt,x),a ; E7u10 xor a,(*rbyt,x) ; E8u10 adc a,(*rbyt,x) ; E9u10 or a,(*rbyt,x) ; EAu10 add a,(*rbyt,x) ; EBu10 jp (*rbyt,x) ; ECu10 call (*rbyt,x) ; EDu10 ldw x,(*rbyt,x) ; EEu10 ldw (*rbyt,x),y ; EFu10 rgrpF: sub a,(x) ; F0 cp a,(x) ; F1 sbc a,(x) ; F2 cpw y,(x) ; F3 and a,(x) ; F4 bcp a,(x) ; F5 ld a,(x) ; F6 ld (x),a ; F7 xor a,(x) ; F8 adc a,(x) ; F9 or a,(x) ; FA add a,(x) ; FB jp (x) ; FC call (x) ; FD ldw x,(x) ; FE ldw (x),y ; FF .page .sbttl Page 72 STM8 Instructions in Numerical Order (Relocatable) rgrp72_0: btjt rwrd,#0,1$ ; 72 00v54u32 23 btjf rwrd,#0,1$ ; 72 01v54u32 1E btjt rwrd,#1,1$ ; 72 02v54u32 19 btjf rwrd,#1,1$ ; 72 03v54u32 14 btjt rwrd,#2,1$ ; 72 04v54u32 0F btjf rwrd,#2,1$ ; 72 05v54u32 0A btjt rwrd,#3,1$ ; 72 06v54u32 05 btjf rwrd,#3,1$ ; 72 07v54u32 00 1$: btjt rwrd,#4,1$ ; 72 08v54u32 FB btjf rwrd,#4,1$ ; 72 09v54u32 F6 btjt rwrd,#5,1$ ; 72 0Av54u32 F1 btjf rwrd,#5,1$ ; 72 0Bv54u32 EC btjt rwrd,#6,1$ ; 72 0Cv54u32 E7 btjf rwrd,#6,1$ ; 72 0Dv54u32 E2 btjt rwrd,#7,1$ ; 72 0Ev54u32 DD btjf rwrd,#7,1$ ; 72 0Fv54u32 D8 rgrp72_1: bset rwrd,#0 ; 72 10v54u32 bres rwrd,#0 ; 72 11v54u32 bset rwrd,#1 ; 72 12v54u32 bres rwrd,#1 ; 72 13v54u32 bset rwrd,#2 ; 72 14v54u32 bres rwrd,#2 ; 72 15v54u32 bset rwrd,#3 ; 72 16v54u32 bres rwrd,#3 ; 72 17v54u32 bset rwrd,#4 ; 72 18v54u32 bres rwrd,#4 ; 72 19v54u32 bset rwrd,#5 ; 72 1Av54u32 bres rwrd,#5 ; 72 1Bv54u32 bset rwrd,#6 ; 72 1Cv54u32 bres rwrd,#6 ; 72 1Dv54u32 bset rwrd,#7 ; 72 1Ev54u32 bres rwrd,#7 ; 72 1Fv54u32 rgrp72_2: .page rgrp72_3: neg [rwrd] ; 72 30v54u32 ; 72 31 ; 72 32 cpl [rwrd] ; 72 33v54u32 srl [rwrd] ; 72 34v54u32 ; 72 35 rrc [rwrd] ; 72 36v54u32 sra [rwrd] ; 72 37v54u32 sla [rwrd] ; 72 38v54u32 rlc [rwrd] ; 72 39v54u32 dec [rwrd] ; 72 3Av54u32 ; 72 3B inc [rwrd] ; 72 3Cv54u32 tnz [rwrd] ; 72 3Dv54u32 swap [rwrd] ; 72 3Ev54u32 clr [rwrd] ; 72 3Fv54u32 rgrp72_4: neg (rwrd,x) ; 72 40v54u32 ; 72 41 ; 72 42 cpl (rwrd,x) ; 72 43v54u32 srl (rwrd,x) ; 72 44v54u32 ; 72 45 rrc (rwrd,x) ; 72 46v54u32 sra (rwrd,x) ; 72 47v54u32 sla (rwrd,x) ; 72 48v54u32 rlc (rwrd,x) ; 72 49v54u32 dec (rwrd,x) ; 72 4Av54u32 ; 72 4B inc (rwrd,x) ; 72 4Cv54u32 tnz (rwrd,x) ; 72 4Dv54u32 swap (rwrd,x) ; 72 4Ev54u32 clr (rwrd,x) ; 72 4Fv54u32 .page rgrp72_5: neg rwrd ; 72 50v54u32 ; 72 51 ; 72 52 cpl rwrd ; 72 53v54u32 srl rwrd ; 72 54v54u32 ; 72 55 rrc rwrd ; 72 56v54u32 sra rwrd ; 72 57v54u32 sla rwrd ; 72 58v54u32 rlc rwrd ; 72 59v54u32 dec rwrd ; 72 5Av54u32 ; 72 5B inc rwrd ; 72 5Cv54u32 tnz rwrd ; 72 5Dv54u32 swap rwrd ; 72 5Ev54u32 clr rwrd ; 72 5Fv54u32 rgrp72_6: neg ([rwrd],x) ; 72 60v54u32 ; 72 61 ; 72 62 cpl ([rwrd],x) ; 72 63v54u32 srl ([rwrd],x) ; 72 64v54u32 ; 72 65 rrc ([rwrd],x) ; 72 66v54u32 sra ([rwrd],x) ; 72 67v54u32 sla ([rwrd],x) ; 72 68v54u32 rlc ([rwrd],x) ; 72 69v54u32 dec ([rwrd],x) ; 72 6Av54u32 ; 72 6B inc ([rwrd],x) ; 72 6Cv54u32 tnz ([rwrd],x) ; 72 6Dv54u32 swap ([rwrd],x) ; 72 6Ev54u32 clr ([rwrd],x) ; 72 6Fv54u32 .page rgrp72_7: rgrp72_8: wfe ; 72 8F rgrp72_9: rgrp72_A: subw y,#rwrd ; 72 A2s54r32 addw y,#rwrd ; 72 A9s54r32 rgrp72_B: subw x,*rbyt ; 72 B0u10 subw y,*rbyt ; 72 B2u10 addw y,*rbyt ; 72 B9u10 addw x,*rbyt ; 72 BBu10 .page rgrp72_C: sub a,[rwrd] ; 72 C0v54u32 cp a,[rwrd] ; 72 C1v54u32 sbc a,[rwrd] ; 72 C2v54u32 cpw x,[rwrd] ; 72 C3v54u32 and a,[rwrd] ; 72 C4v54u32 bcp a,[rwrd] ; 72 C5v54u32 ld a,[rwrd] ; 72 C6v54u32 ld [rwrd],a ; 72 C7v54u32 xor a,[rwrd] ; 72 C8v54u32 adc a,[rwrd] ; 72 C9v54u32 or a,[rwrd] ; 72 CAv54u32 add a,[rwrd] ; 72 CBv54u32 jp [rwrd] ; 72 CCv54u32 call [rwrd] ; 72 CDv54u32 ldw x,[rwrd] ; 72 CEv54u32 ldw [rwrd],x ; 72 CFv54u32 rgrp72_D: sub a,([rwrd],x) ; 72 D0v54u32 cp a,([rwrd],x) ; 72 D1v54u32 sbc a,([rwrd],x) ; 72 D2v54u32 cpw y,([rwrd],x) ; 72 D3v54u32 and a,([rwrd],x) ; 72 D4v54u32 bcp a,([rwrd],x) ; 72 D5v54u32 ld a,([rwrd],x) ; 72 D6v54u32 ld ([rwrd],x),a ; 72 D7v54u32 xor a,([rwrd],x) ; 72 D8v54u32 adc a,([rwrd],x) ; 72 D9v54u32 or a,([rwrd],x) ; 72 DAv54u32 add a,([rwrd],x) ; 72 DBv54u32 jp ([rwrd],x) ; 72 DCv54u32 call ([rwrd],x) ; 72 DDv54u32 ldw x,([rwrd],x) ; 72 DEv54u32 ldw ([rwrd],x),y ; 72 DFv54u32 rgrp72_E: rgrp72_F: subw x,(*rbyt,sp) ; 72 F0u10 subw y,(*rbyt,sp) ; 72 F2u10 addw y,(*rbyt,sp) ; 72 F9u10 addw x,(*rbyt,sp) ; 72 FBu10 .page .sbttl Page 90 STM8 Instructions in Numerical Order (Relocatable) rgrp90_0: rrwa y,a ; 90 01 rlwa y,a ; 90 02 rgrp90_1: bcpl rwrd,#0 ; 90 10v54u32 bccm rwrd,#0 ; 90 11v54u32 bcpl rwrd,#1 ; 90 12v54u32 bccm rwrd,#1 ; 90 13v54u32 bcpl rwrd,#2 ; 90 14v54u32 bccm rwrd,#2 ; 90 15v54u32 bcpl rwrd,#3 ; 90 16v54u32 bccm rwrd,#3 ; 90 17v54u32 bcpl rwrd,#4 ; 90 18v54u32 bccm rwrd,#4 ; 90 19v54u32 bcpl rwrd,#5 ; 90 1Av54u32 bccm rwrd,#5 ; 90 1Bv54u32 bcpl rwrd,#6 ; 90 1Cv54u32 bccm rwrd,#6 ; 90 1Dv54u32 bcpl rwrd,#7 ; 90 1Ev54u32 bccm rwrd,#7 ; 90 1Fv54u32 rgrp90_2: jrnh 1$ ; 90 28 0C jrh 1$ ; 90 29 09 jrnm 1$ ; 90 2C 06 jrm 1$ ; 90 2D 03 jril 1$ ; 90 2E 00 1$: jrih 1$ ; 90 2F FD rgrp90_3: .page rgrp90_4: neg (rwrd,y) ; 90 40v54u32 ; 90 41 mul y,a ; 90 42 cpl (rwrd,y) ; 90 43v54u32 srl (rwrd,y) ; 90 44v54u32 ; 90 45 rrc (rwrd,y) ; 90 46v54u32 sra (rwrd,y) ; 90 47v54u32 sla (rwrd,y) ; 90 48v54u32 rlc (rwrd,y) ; 90 49v54u32 dec (rwrd,y) ; 90 4Av54u32 ; 90 4B inc (rwrd,y) ; 90 4Cv54u32 tnz (rwrd,y) ; 90 4Dv54u32 swap (rwrd,y) ; 90 4Ev54u32 clr (rwrd,y) ; 90 4Fv54u32 rgrp90_5: negw y ; 90 50 ; 90 51 ; 90 52 cplw y ; 90 53 srlw y ; 90 54 ; 90 55 rrcw y ; 90 56 sraw y ; 90 57 slaw y ; 90 58 rlcw y ; 90 59 decw y ; 90 5A ; 90 5B incw y ; 90 5C tnzw y ; 90 5D swapw y ; 90 5E clrw y ; 90 5F .page rgrp90_6: neg (*rbyt,y) ; 90 60u10 ; 90 61 div y,a ; 90 62 cpl (*rbyt,y) ; 90 63u10 srl (*rbyt,y) ; 90 64u10 ; 90 65 rrc (*rbyt,y) ; 90 66u10 sra (*rbyt,y) ; 90 67u10 sla (*rbyt,y) ; 90 68u10 rlc (*rbyt,y) ; 90 69u10 dec (*rbyt,y) ; 90 6Au10 ; 90 6B inc (*rbyt,y) ; 90 6Cu10 tnz (*rbyt,y) ; 90 6Du10 swap (*rbyt,y) ; 90 6Eu10 clr (*rbyt,y) ; 90 6Fu10 rgrp90_7: neg (y) ; 90 70 ; 90 71 ; 90 72 cpl (y) ; 90 73 srl (y) ; 90 74 ; 90 75 rrc (y) ; 90 76 sra (y) ; 90 77 sla (y) ; 90 78 rlc (y) ; 90 79 dec (y) ; 90 7A ; 90 7B inc (y) ; 90 7C tnz (y) ; 90 7D swap (y) ; 90 7E clr (y) ; 90 7F .page rgrp90_8: popw y ; 90 85 pushw y ; 90 89 rgrp90_9: ldw y,x ; 90 93 ldw sp,y ; 90 94 ld yh,a ; 90 95 ldw y,sp ; 90 96 ld yl,a ; 90 97 ld a,yh ; 90 9E ld a,yl ; 90 9F rgrp90_A: cpw y,#rwrd ; 90 A3s54r32 ldf (rexa,y),a ; 90 A7RBAs98r76 ldw y,#rwrd ; 90 AEs54r32 ldf a,(rexa,y) ; 90 AFRBAs98r76 rgrp90_B: cpw y,*rbyt ; 90 B3u10 ldw y,*rbyt ; 90 BEu10 ldw *rbyt,y ; 90 BFu10 rgrp90_C: cpw y,rwrd ; 90 C3v54u32 ldw y,rwrd ; 90 CEv54u32 ldw rwrd,y ; 90 CFv54u32 rgrp90_D: sub a,(rwrd,y) ; 90 D0v54u32 cp a,(rwrd,y) ; 90 D1v54u32 sbc a,(rwrd,y) ; 90 D2v54u32 cpw x,(rwrd,y) ; 90 D3v54u32 and a,(rwrd,y) ; 90 D4v54u32 bcp a,(rwrd,y) ; 90 D5v54u32 ld a,(rwrd,y) ; 90 D6v54u32 ld (rwrd,y),a ; 90 D7v54u32 xor a,(rwrd,y) ; 90 D8v54u32 adc a,(rwrd,y) ; 90 D9v54u32 or a,(rwrd,y) ; 90 DAv54u32 add a,(rwrd,y) ; 90 DBv54u32 jp (rwrd,y) ; 90 DCv54u32 call (rwrd,y) ; 90 DDv54u32 ldw y,(rwrd,y) ; 90 DEv54u32 ldw (rwrd,y),x ; 90 DFv54u32 .page rgrp90_E: sub a,(*rbyt,y) ; 90 E0u10 cp a,(*rbyt,y) ; 90 E1u10 sbc a,(*rbyt,y) ; 90 E2u10 cpw x,(*rbyt,y) ; 90 E3u10 and a,(*rbyt,y) ; 90 E4u10 bcp a,(*rbyt,y) ; 90 E5u10 ld a,(*rbyt,y) ; 90 E6u10 ld (*rbyt,y),a ; 90 E7u10 xor a,(*rbyt,y) ; 90 E8u10 adc a,(*rbyt,y) ; 90 E9u10 or a,(*rbyt,y) ; 90 EAu10 add a,(*rbyt,y) ; 90 EBu10 jp (*rbyt,y) ; 90 ECu10 call (*rbyt,y) ; 90 EDu10 ldw y,(*rbyt,y) ; 90 EEu10 ldw (*rbyt,y),x ; 90 EFu10 rgrp90_F: sub a,(y) ; 90 F0 cp a,(y) ; 90 F1 sbc a,(y) ; 90 F2 cpw x,(y) ; 90 F3 and a,(y) ; 90 F4 bcp a,(y) ; 90 F5 ld a,(y) ; 90 F6 ld (y),a ; 90 F7 xor a,(y) ; 90 F8 adc a,(y) ; 90 F9 or a,(y) ; 90 FA add a,(y) ; 90 FB jp (y) ; 90 FC call (y) ; 90 FD ldw y,(y) ; 90 FE ldw (y),x ; 90 FF .page .sbttl Page 91 STM8 Instructions in Numerical Order (Relocatable) rgrp91_0: rgrp91_1: rgrp91_2: rgrp91_3: rgrp91_4: rgrp91_5: rgrp91_6: neg ([*rbyt],y) ; 91 60u10 ; 91 61 ; 91 62 cpl ([*rbyt],y) ; 91 63u10 srl ([*rbyt],y) ; 91 64u10 ; 91 65 rrc ([*rbyt],y) ; 91 66u10 sra ([*rbyt],y) ; 91 67u10 sla ([*rbyt],y) ; 91 68u10 rlc ([*rbyt],y) ; 91 69u10 dec ([*rbyt],y) ; 91 6Au10 ; 91 6B inc ([*rbyt],y) ; 91 6Cu10 tnz ([*rbyt],y) ; 91 6Du10 swap ([*rbyt],y) ; 91 6Eu10 clr ([*rbyt],y) ; 91 6Fu10 rgrp91_7: .page rgrp91_8: rgrp91_9: rgrp91_A: ldf ([rwrd],y),a ; 91 A7v54u32 ldf a,([rwrd],y) ; 91 AFv54u32 rgrp91_B: rgrp91_C: cpw y,[*rbyt] ; 91 C3u10 ldw y,[*rbyt] ; 91 CEu10 ldw [*rbyt],y ; 91 CFu10 rgrp91_D: sub a,([*rbyt],y) ; 91 D0u10 cp a,([*rbyt],y) ; 91 D1u10 sbc a,([*rbyt],y) ; 91 D2u10 cpw x,([*rbyt],y) ; 91 D3u10 and a,([*rbyt],y) ; 91 D4u10 bcp a,([*rbyt],y) ; 91 D5u10 ld a,([*rbyt],y) ; 91 D6u10 ld ([*rbyt],y),a ; 91 D7u10 xor a,([*rbyt],y) ; 91 D8u10 adc a,([*rbyt],y) ; 91 D9u10 or a,([*rbyt],y) ; 91 DAu10 add a,([*rbyt],y) ; 91 DBu10 jp ([*rbyt],y) ; 91 DCu10 call ([*rbyt],y) ; 91 DDu10 ldw y,([*rbyt],y) ; 91 DEu10 ldw ([*rbyt],y),x ; 91 DFu10 rgrp91_E: rgrp91_F: .page .sbttl Page 92 STM8 Instructions in Numerical Order (Relocatable) rgrp92_0: rgrp92_1: rgrp92_2: rgrp92_3: neg [*rbyt] ; 92 30u10 ; 92 31 ; 92 32 cpl [*rbyt] ; 92 33u10 srl [*rbyt] ; 92 34u10 ; 92 35 rrc [*rbyt] ; 92 36u10 sra [*rbyt] ; 92 37u10 sla [*rbyt] ; 92 38u10 rlc [*rbyt] ; 92 39u10 dec [*rbyt] ; 92 3Au10 ; 92 3B inc [*rbyt] ; 92 3Cu10 tnz [*rbyt] ; 92 3Du10 swap [*rbyt] ; 92 3Eu10 clr [*rbyt] ; 92 3Fu10 rgrp92_4: rgrp92_5: rgrp92_6: neg ([*rbyt],x) ; 92 60u10 ; 92 61 ; 92 62 cpl ([*rbyt],x) ; 92 63u10 srl ([*rbyt],x) ; 92 64u10 ; 92 65 rrc ([*rbyt],x) ; 92 66u10 sra ([*rbyt],x) ; 92 67u10 sla ([*rbyt],x) ; 92 68u10 rlc ([*rbyt],x) ; 92 69u10 dec ([*rbyt],x) ; 92 6Au10 ; 92 6B inc ([*rbyt],x) ; 92 6Cu10 tnz ([*rbyt],x) ; 92 6Du10 swap ([*rbyt],x) ; 92 6Eu10 clr ([*rbyt],x) ; 92 6Fu10 rgrp92_7: .page rgrp92_8: callf [rwrd] ; 92 8Dv54u32 rgrp92_9: rgrp92_A: ldf ([rwrd],x),a ; 92 A7v54u32 jpf [rwrd] ; 92 ACv54u32 ldf a,([rwrd],x) ; 92 AFv54u32 rgrp92_B: ldf a,[rwrd] ; 92 BCv54u32 ldf [rwrd],a ; 92 BDv54u32 rgrp92_C: sub a,[*rbyt] ; 92 C0u10 cp a,[*rbyt] ; 92 C1u10 sbc a,[*rbyt] ; 92 C2u10 cpw x,[*rbyt] ; 92 C3u10 and a,[*rbyt] ; 92 C4u10 bcp a,[*rbyt] ; 92 C5u10 ld a,[*rbyt] ; 92 C6u10 ld [*rbyt],a ; 92 C7u10 xor a,[*rbyt] ; 92 C8u10 adc a,[*rbyt] ; 92 C9u10 or a,[*rbyt] ; 92 CAu10 add a,[*rbyt] ; 92 CBu10 jp [*rbyt] ; 92 CCu10 call [*rbyt] ; 92 CDu10 ldw x,[*rbyt] ; 92 CEu10 ldw [*rbyt],x ; 92 CFu10 rgrp92_D: sub a,([*rbyt],x) ; 92 D0u10 cp a,([*rbyt],x) ; 92 D1u10 sbc a,([*rbyt],x) ; 92 D2u10 cpw y,([*rbyt],x) ; 92 D3u10 and a,([*rbyt],x) ; 92 D4u10 bcp a,([*rbyt],x) ; 92 D5u10 ld a,([*rbyt],x) ; 92 D6u10 ld ([*rbyt],x),a ; 92 D7u10 xor a,([*rbyt],x) ; 92 D8u10 adc a,([*rbyt],x) ; 92 D9u10 or a,([*rbyt],x) ; 92 DAu10 add a,([*rbyt],x) ; 92 DBu10 jp ([*rbyt],x) ; 92 DCu10 call ([*rbyt],x) ; 92 DDu10 ldw x,([*rbyt],x) ; 92 DEu10 ldw ([*rbyt],x),y ; 92 DFu10 rgrp92_E: rgrp92_F: .page .sbttl Base STM8 Instructions in Numerical Order (Alternate) ; Alternate 1-Byte Designation mgrp0: neg (rbyt,sp).b ; 00u10 rrwa x,a ; 01 rlwa x,a ; 02 cpl (rbyt,sp).b ; 03u10 srl (rbyt,sp).b ; 04u10 ; 05 rrc (rbyt,sp).b ; 06u10 sra (rbyt,sp).b ; 07u10 sla (rbyt,sp).b ; 08u10 rlc (rbyt,sp).b ; 09u10 dec (rbyt,sp).b ; 0Au10 ; 0B inc (rbyt,sp).b ; 0Cu10 tnz (rbyt,sp).b ; 0Du10 swap (rbyt,sp).b ; 0Eu10 clr (rbyt,sp).b ; 0Fu10 mgrp1: sub a,(rbyt,sp).b ; 10u10 cp a,(rbyt,sp).b ; 11u10 sbc a,(rbyt,sp).b ; 12u10 cpw x,(rbyt,sp).b ; 13u10 and a,(rbyt,sp).b ; 14u10 bcp a,(rbyt,sp).b ; 15u10 ldw y,(rbyt,sp).b ; 16u10 ldw (rbyt,sp).b,y ; 17u10 xor a,(rbyt,sp).b ; 18u10 adc a,(rbyt,sp).b ; 19u10 or a,(rbyt,sp).b ; 1Au10 add a,(rbyt,sp).b ; 1Bu10 addw x,#rwrd ; 1Cs54r32 subw x,#rwrd ; 1Ds54r32 ldw x,(rbyt,sp).b ; 1Eu10 ldw (rbyt,sp).b,x ; 1Fu10 .page mgrp2: jra 1$ ; 20 0E jrf 1$ ; 21 0C jrugt 1$ ; 22 0A jrule 1$ ; 23 08 jrnc 1$ ; 24 06 jrc 1$ ; 25 04 jrne 1$ ; 26 02 jreq 1$ ; 27 00 1$: jrnv 1$ ; 28 FE jrv 1$ ; 29 FC jrpl 1$ ; 2A FA jrmi 1$ ; 2B F8 jrsgt 1$ ; 2C F6 jrsle 1$ ; 2D F4 jrsge 1$ ; 2E F2 jrslt 1$ ; 2F F0 mgrp3: neg *rbyt ; 30u10 exg a,rwrd ; 31v54u32 pop rwrd ; 32v54u32 cpl *rbyt ; 33u10 srl *rbyt ; 34u10 mov rwrd,#rbyt ; 35r10v54u32 rrc *rbyt ; 36u10 sra *rbyt ; 37u10 sla *rbyt ; 38u10 rlc *rbyt ; 39u10 dec *rbyt ; 3Au10 push rwrd ; 3Bv54u32 inc *rbyt ; 3Cu10 tnz *rbyt ; 3Du10 swap *rbyt ; 3Eu10 clr *rbyt ; 3Fu10 .page mgrp4: neg a ; 40 exg a,xl ; 41 mul x,a ; 42 cpl a ; 43 srl a ; 44 mov *rbyt,*rbyt+0x11; 45u21u10 rrc a ; 46 sra a ; 47 sla a ; 48 rlc a ; 49 dec a ; 4A push #rbyt ; 4Br10 inc a ; 4C tnz a ; 4D swap a ; 4E clr a ; 4F mgrp5: negw x ; 50 exgw x,y ; 51 sub sp,#rbyt ; 52u10 cplw x ; 53 srlw x ; 54 mov rwrd,rwrd+0x1111; 55v65u43v54u32 rrcw x ; 56 sraw x ; 57 slaw x ; 58 rlcw x ; 59 decw x ; 5A add sp,#rbyt ; 5Bu10 incw x ; 5C tnzw x ; 5D swapw x ; 5E clrw x ; 5F .page mgrp6: neg (rbyt,x).b ; 60u10 exg a,yl ; 61 div x,a ; 62 cpl (rbyt,x).b ; 63u10 srl (rbyt,x).b ; 64u10 divw x,y ; 65 rrc (rbyt,x).b ; 66u10 sra (rbyt,x).b ; 67u10 sla (rbyt,x).b ; 68u10 rlc (rbyt,x).b ; 69u10 dec (rbyt,x).b ; 6Au10 ld (rbyt,sp).b,a ; 6Bu10 inc (rbyt,x).b ; 6Cu10 tnz (rbyt,x).b ; 6Du10 swap (rbyt,x).b ; 6Eu10 clr (rbyt,x).b ; 6Fu10 mgrp7: neg (x) ; 70 ; 71 ; 72 cpl (x) ; 73 srl (x) ; 74 ; 75 rrc (x) ; 76 sra (x) ; 77 sla (x) ; 78 rlc (x) ; 79 dec (x) ; 7A ld a,(rbyt,sp).b ; 7Bu10 inc (x) ; 7C tnz (x) ; 7D swap (x) ; 7E clr (x) ; 7F .page mgrp8: iret ; 80 ret ; 81 ; 82 trap ; 83 pop a ; 84 popw x ; 85 pop cc ; 86 retf ; 87 push a ; 88 pushw x ; 89 push cc ; 8A ; 8B ccf ; 8C callf rexa ; 8DRBAs98r76 halt ; 8E wfi ; 8F mgrp9: ; 90 ; 91 ; 92 ldw x,y ; 93 ldw sp,x ; 94 ld xh,a ; 95 ldw x,sp ; 96 ld xl,a ; 97 rcf ; 98 scf ; 99 rim ; 9A sim ; 9B rvf ; 9C nop ; 9D ld a,xh ; 9E ld a,xl ; 9F .page mgrpA: sub a,#rbyt ; A0r10 cp a,#rbyt ; A1r10 sbc a,#rbyt ; A2r10 cpw x,#rwrd ; A3s54r32 and a,#rbyt ; A4r10 bcp a,#rbyt ; A5r10 ld a,#rbyt ; A6r10 ldf (rexa,x),a ; A7RBAs98r76 xor a,#rbyt ; A8r10 adc a,#rbyt ; A9r10 or a,#rbyt ; AAr10 add a,#rbyt ; ABr10 jpf rexa ; ACRBAs98r76 1$: callr 1$ ; AD FE ldw x,#rwrd ; AEs54r32 ldf a,(rexa,x) ; AFRBAs98r76 mgrpB: sub a,*rbyt ; B0u10 cp a,*rbyt ; B1u10 sbc a,*rbyt ; B2u10 cpw x,*rbyt ; B3u10 and a,*rbyt ; B4u10 bcp a,*rbyt ; B5u10 ld a,*rbyt ; B6u10 ld *rbyt,a ; B7u10 xor a,*rbyt ; B8u10 adc a,*rbyt ; B9u10 or a,*rbyt ; BAu10 add a,*rbyt ; BBu10 ldf a,rexa ; BCRBAs98r76 ldf rexa,a ; BDRBAs98r76 ldw x,*rbyt ; BEu10 ldw *rbyt,x ; BFu10 .page mgrpC: sub a,rwrd ; C0v54u32 cp a,rwrd ; C1v54u32 sbc a,rwrd ; C2v54u32 cpw x,rwrd ; C3v54u32 and a,rwrd ; C4v54u32 bcp a,rwrd ; C5v54u32 ld a,rwrd ; C6v54u32 ld rwrd,a ; C7v54u32 xor a,rwrd ; C8v54u32 adc a,rwrd ; C9v54u32 or a,rwrd ; CAv54u32 add a,rwrd ; CBv54u32 jp rwrd ; CCs54r32 call rwrd ; CDs54r32 ldw x,rwrd ; CEv54u32 ldw rwrd,x ; CFv54u32 mgrpD: sub a,(rwrd,x) ; D0v54u32 cp a,(rwrd,x) ; D1v54u32 sbc a,(rwrd,x) ; D2v54u32 cpw y,(rwrd,x) ; D3v54u32 and a,(rwrd,x) ; D4v54u32 bcp a,(rwrd,x) ; D5v54u32 ld a,(rwrd,x) ; D6v54u32 ld (rwrd,x),a ; D7v54u32 xor a,(rwrd,x) ; D8v54u32 adc a,(rwrd,x) ; D9v54u32 or a,(rwrd,x) ; DAv54u32 add a,(rwrd,x) ; DBv54u32 jp (rwrd,x) ; DCv54u32 call (rwrd,x) ; DDv54u32 ldw x,(rwrd,x) ; DEv54u32 ldw (rwrd,x),y ; DFv54u32 .page mgrpE: sub a,(rbyt,x).b ; E0u10 cp a,(rbyt,x).b ; E1u10 sbc a,(rbyt,x).b ; E2u10 cpw y,(rbyt,x).b ; E3u10 and a,(rbyt,x).b ; E4u10 bcp a,(rbyt,x).b ; E5u10 ld a,(rbyt,x).b ; E6u10 ld (rbyt,x).b,a ; E7u10 xor a,(rbyt,x).b ; E8u10 adc a,(rbyt,x).b ; E9u10 or a,(rbyt,x).b ; EAu10 add a,(rbyt,x).b ; EBu10 jp (rbyt,x).b ; ECu10 call (rbyt,x).b ; EDu10 ldw x,(rbyt,x).b ; EEu10 ldw (rbyt,x).b,y ; EFu10 mgrpF: sub a,(x) ; F0 cp a,(x) ; F1 sbc a,(x) ; F2 cpw y,(x) ; F3 and a,(x) ; F4 bcp a,(x) ; F5 ld a,(x) ; F6 ld (x),a ; F7 xor a,(x) ; F8 adc a,(x) ; F9 or a,(x) ; FA add a,(x) ; FB jp (x) ; FC call (x) ; FD ldw x,(x) ; FE ldw (x),y ; FF .page .sbttl Page 72 STM8 Instructions in Numerical Order (Alternate) mgrp72_0: btjt rwrd,#0,1$ ; 72 00v54u32 23 btjf rwrd,#0,1$ ; 72 01v54u32 1E btjt rwrd,#1,1$ ; 72 02v54u32 19 btjf rwrd,#1,1$ ; 72 03v54u32 14 btjt rwrd,#2,1$ ; 72 04v54u32 0F btjf rwrd,#2,1$ ; 72 05v54u32 0A btjt rwrd,#3,1$ ; 72 06v54u32 05 btjf rwrd,#3,1$ ; 72 07v54u32 00 1$: btjt rwrd,#4,1$ ; 72 08v54u32 FB btjf rwrd,#4,1$ ; 72 09v54u32 F6 btjt rwrd,#5,1$ ; 72 0Av54u32 F1 btjf rwrd,#5,1$ ; 72 0Bv54u32 EC btjt rwrd,#6,1$ ; 72 0Cv54u32 E7 btjf rwrd,#6,1$ ; 72 0Dv54u32 E2 btjt rwrd,#7,1$ ; 72 0Ev54u32 DD btjf rwrd,#7,1$ ; 72 0Fv54u32 D8 mgrp72_1: bset rwrd,#0 ; 72 10v54u32 bres rwrd,#0 ; 72 11v54u32 bset rwrd,#1 ; 72 12v54u32 bres rwrd,#1 ; 72 13v54u32 bset rwrd,#2 ; 72 14v54u32 bres rwrd,#2 ; 72 15v54u32 bset rwrd,#3 ; 72 16v54u32 bres rwrd,#3 ; 72 17v54u32 bset rwrd,#4 ; 72 18v54u32 bres rwrd,#4 ; 72 19v54u32 bset rwrd,#5 ; 72 1Av54u32 bres rwrd,#5 ; 72 1Bv54u32 bset rwrd,#6 ; 72 1Cv54u32 bres rwrd,#6 ; 72 1Dv54u32 bset rwrd,#7 ; 72 1Ev54u32 bres rwrd,#7 ; 72 1Fv54u32 mgrp72_2: .page mgrp72_3: neg [rwrd] ; 72 30v54u32 ; 72 31 ; 72 32 cpl [rwrd] ; 72 33v54u32 srl [rwrd] ; 72 34v54u32 ; 72 35 rrc [rwrd] ; 72 36v54u32 sra [rwrd] ; 72 37v54u32 sla [rwrd] ; 72 38v54u32 rlc [rwrd] ; 72 39v54u32 dec [rwrd] ; 72 3Av54u32 ; 72 3B inc [rwrd] ; 72 3Cv54u32 tnz [rwrd] ; 72 3Dv54u32 swap [rwrd] ; 72 3Ev54u32 clr [rwrd] ; 72 3Fv54u32 mgrp72_4: neg (rwrd,x) ; 72 40v54u32 ; 72 41 ; 72 42 cpl (rwrd,x) ; 72 43v54u32 srl (rwrd,x) ; 72 44v54u32 ; 72 45 rrc (rwrd,x) ; 72 46v54u32 sra (rwrd,x) ; 72 47v54u32 sla (rwrd,x) ; 72 48v54u32 rlc (rwrd,x) ; 72 49v54u32 dec (rwrd,x) ; 72 4Av54u32 ; 72 4B inc (rwrd,x) ; 72 4Cv54u32 tnz (rwrd,x) ; 72 4Dv54u32 swap (rwrd,x) ; 72 4Ev54u32 clr (rwrd,x) ; 72 4Fv54u32 .page mgrp72_5: neg rwrd ; 72 50v54u32 ; 72 51 ; 72 52 cpl rwrd ; 72 53v54u32 srl rwrd ; 72 54v54u32 ; 72 55 rrc rwrd ; 72 56v54u32 sra rwrd ; 72 57v54u32 sla rwrd ; 72 58v54u32 rlc rwrd ; 72 59v54u32 dec rwrd ; 72 5Av54u32 ; 72 5B inc rwrd ; 72 5Cv54u32 tnz rwrd ; 72 5Dv54u32 swap rwrd ; 72 5Ev54u32 clr rwrd ; 72 5Fv54u32 mgrp72_6: neg ([rwrd],x) ; 72 60v54u32 ; 72 61 ; 72 62 cpl ([rwrd],x) ; 72 63v54u32 srl ([rwrd],x) ; 72 64v54u32 ; 72 65 rrc ([rwrd],x) ; 72 66v54u32 sra ([rwrd],x) ; 72 67v54u32 sla ([rwrd],x) ; 72 68v54u32 rlc ([rwrd],x) ; 72 69v54u32 dec ([rwrd],x) ; 72 6Av54u32 ; 72 6B inc ([rwrd],x) ; 72 6Cv54u32 tnz ([rwrd],x) ; 72 6Dv54u32 swap ([rwrd],x) ; 72 6Ev54u32 clr ([rwrd],x) ; 72 6Fv54u32 .page mgrp72_7: mgrp72_8: wfe ; 72 8F mgrp72_9: mgrp72_A: subw y,#rwrd ; 72 A2s54r32 addw y,#rwrd ; 72 A9s54r32 mgrp72_B: subw x,*rbyt ; 72 B0u10 subw y,*rbyt ; 72 B2u10 addw y,*rbyt ; 72 B9u10 addw x,*rbyt ; 72 BBu10 .page mgrp72_C: sub a,[rwrd] ; 72 C0v54u32 cp a,[rwrd] ; 72 C1v54u32 sbc a,[rwrd] ; 72 C2v54u32 cpw x,[rwrd] ; 72 C3v54u32 and a,[rwrd] ; 72 C4v54u32 bcp a,[rwrd] ; 72 C5v54u32 ld a,[rwrd] ; 72 C6v54u32 ld [rwrd],a ; 72 C7v54u32 xor a,[rwrd] ; 72 C8v54u32 adc a,[rwrd] ; 72 C9v54u32 or a,[rwrd] ; 72 CAv54u32 add a,[rwrd] ; 72 CBv54u32 jp [rwrd] ; 72 CCv54u32 call [rwrd] ; 72 CDv54u32 ldw x,[rwrd] ; 72 CEv54u32 ldw [rwrd],x ; 72 CFv54u32 mgrp72_D: sub a,([rwrd],x) ; 72 D0v54u32 cp a,([rwrd],x) ; 72 D1v54u32 sbc a,([rwrd],x) ; 72 D2v54u32 cpw y,([rwrd],x) ; 72 D3v54u32 and a,([rwrd],x) ; 72 D4v54u32 bcp a,([rwrd],x) ; 72 D5v54u32 ld a,([rwrd],x) ; 72 D6v54u32 ld ([rwrd],x),a ; 72 D7v54u32 xor a,([rwrd],x) ; 72 D8v54u32 adc a,([rwrd],x) ; 72 D9v54u32 or a,([rwrd],x) ; 72 DAv54u32 add a,([rwrd],x) ; 72 DBv54u32 jp ([rwrd],x) ; 72 DCv54u32 call ([rwrd],x) ; 72 DDv54u32 ldw x,([rwrd],x) ; 72 DEv54u32 ldw ([rwrd],x),y ; 72 DFv54u32 mgrp72_E: mgrp72_F: subw x,(rbyt,sp).b ; 72 F0u10 subw y,(rbyt,sp).b ; 72 F2u10 addw y,(rbyt,sp).b ; 72 F9u10 addw x,(rbyt,sp).b ; 72 FBu10 .page .sbttl Page 90 STM8 Instructions in Numerical Order (Alternate) mgrp90_0: rrwa y,a ; 90 01 rlwa y,a ; 90 02 mgrp90_1: bcpl rwrd,#0 ; 90 10v54u32 bccm rwrd,#0 ; 90 11v54u32 bcpl rwrd,#1 ; 90 12v54u32 bccm rwrd,#1 ; 90 13v54u32 bcpl rwrd,#2 ; 90 14v54u32 bccm rwrd,#2 ; 90 15v54u32 bcpl rwrd,#3 ; 90 16v54u32 bccm rwrd,#3 ; 90 17v54u32 bcpl rwrd,#4 ; 90 18v54u32 bccm rwrd,#4 ; 90 19v54u32 bcpl rwrd,#5 ; 90 1Av54u32 bccm rwrd,#5 ; 90 1Bv54u32 bcpl rwrd,#6 ; 90 1Cv54u32 bccm rwrd,#6 ; 90 1Dv54u32 bcpl rwrd,#7 ; 90 1Ev54u32 bccm rwrd,#7 ; 90 1Fv54u32 mgrp90_2: jrnh 1$ ; 90 28 0C jrh 1$ ; 90 29 09 jrnm 1$ ; 90 2C 06 jrm 1$ ; 90 2D 03 jril 1$ ; 90 2E 00 1$: jrih 1$ ; 90 2F FD mgrp90_3: .page mgrp90_4: neg (rwrd,y) ; 90 40v54u32 ; 90 41 mul y,a ; 90 42 cpl (rwrd,y) ; 90 43v54u32 srl (rwrd,y) ; 90 44v54u32 ; 90 45 rrc (rwrd,y) ; 90 46v54u32 sra (rwrd,y) ; 90 47v54u32 sla (rwrd,y) ; 90 48v54u32 rlc (rwrd,y) ; 90 49v54u32 dec (rwrd,y) ; 90 4Av54u32 ; 90 4B inc (rwrd,y) ; 90 4Cv54u32 tnz (rwrd,y) ; 90 4Dv54u32 swap (rwrd,y) ; 90 4Ev54u32 clr (rwrd,y) ; 90 4Fv54u32 mgrp90_5: negw y ; 90 50 ; 90 51 ; 90 52 cplw y ; 90 53 srlw y ; 90 54 ; 90 55 rrcw y ; 90 56 sraw y ; 90 57 slaw y ; 90 58 rlcw y ; 90 59 decw y ; 90 5A ; 90 5B incw y ; 90 5C tnzw y ; 90 5D swapw y ; 90 5E clrw y ; 90 5F .page mgrp90_6: neg (rbyt,y).b ; 90 60u10 ; 90 61 div y,a ; 90 62 cpl (rbyt,y).b ; 90 63u10 srl (rbyt,y).b ; 90 64u10 ; 90 65 rrc (rbyt,y).b ; 90 66u10 sra (rbyt,y).b ; 90 67u10 sla (rbyt,y).b ; 90 68u10 rlc (rbyt,y).b ; 90 69u10 dec (rbyt,y).b ; 90 6Au10 ; 90 6B inc (rbyt,y).b ; 90 6Cu10 tnz (rbyt,y).b ; 90 6Du10 swap (rbyt,y).b ; 90 6Eu10 clr (rbyt,y).b ; 90 6Fu10 mgrp90_7: neg (y) ; 90 70 ; 90 71 ; 90 72 cpl (y) ; 90 73 srl (y) ; 90 74 ; 90 75 rrc (y) ; 90 76 sra (y) ; 90 77 sla (y) ; 90 78 rlc (y) ; 90 79 dec (y) ; 90 7A ; 90 7B inc (y) ; 90 7C tnz (y) ; 90 7D swap (y) ; 90 7E clr (y) ; 90 7F .page mgrp90_8: popw y ; 90 85 pushw y ; 90 89 mgrp90_9: ldw y,x ; 90 93 ldw sp,y ; 90 94 ld yh,a ; 90 95 ldw y,sp ; 90 96 ld yl,a ; 90 97 ld a,yh ; 90 9E ld a,yl ; 90 9F mgrp90_A: cpw y,#rwrd ; 90 A3s54r32 ldf (rexa,y),a ; 90 A7RBAs98r76 ldw y,#rwrd ; 90 AEs54r32 ldf a,(rexa,y) ; 90 AFRBAs98r76 mgrp90_B: cpw y,*rbyt ; 90 B3u10 ldw y,*rbyt ; 90 BEu10 ldw *rbyt,y ; 90 BFu10 mgrp90_C: cpw y,rwrd ; 90 C3v54u32 ldw y,rwrd ; 90 CEv54u32 ldw rwrd,y ; 90 CFv54u32 mgrp90_D: sub a,(rwrd,y) ; 90 D0v54u32 cp a,(rwrd,y) ; 90 D1v54u32 sbc a,(rwrd,y) ; 90 D2v54u32 cpw x,(rwrd,y) ; 90 D3v54u32 and a,(rwrd,y) ; 90 D4v54u32 bcp a,(rwrd,y) ; 90 D5v54u32 ld a,(rwrd,y) ; 90 D6v54u32 ld (rwrd,y),a ; 90 D7v54u32 xor a,(rwrd,y) ; 90 D8v54u32 adc a,(rwrd,y) ; 90 D9v54u32 or a,(rwrd,y) ; 90 DAv54u32 add a,(rwrd,y) ; 90 DBv54u32 jp (rwrd,y) ; 90 DCv54u32 call (rwrd,y) ; 90 DDv54u32 ldw y,(rwrd,y) ; 90 DEv54u32 ldw (rwrd,y),x ; 90 DFv54u32 .page mgrp90_E: sub a,(rbyt,y).b ; 90 E0u10 cp a,(rbyt,y).b ; 90 E1u10 sbc a,(rbyt,y).b ; 90 E2u10 cpw x,(rbyt,y).b ; 90 E3u10 and a,(rbyt,y).b ; 90 E4u10 bcp a,(rbyt,y).b ; 90 E5u10 ld a,(rbyt,y).b ; 90 E6u10 ld (rbyt,y).b,a ; 90 E7u10 xor a,(rbyt,y).b ; 90 E8u10 adc a,(rbyt,y).b ; 90 E9u10 or a,(rbyt,y).b ; 90 EAu10 add a,(rbyt,y).b ; 90 EBu10 jp (rbyt,y).b ; 90 ECu10 call (rbyt,y).b ; 90 EDu10 ldw y,(rbyt,y).b ; 90 EEu10 ldw (rbyt,y).b,x ; 90 EFu10 mgrp90_F: sub a,(y) ; 90 F0 cp a,(y) ; 90 F1 sbc a,(y) ; 90 F2 cpw x,(y) ; 90 F3 and a,(y) ; 90 F4 bcp a,(y) ; 90 F5 ld a,(y) ; 90 F6 ld (y),a ; 90 F7 xor a,(y) ; 90 F8 adc a,(y) ; 90 F9 or a,(y) ; 90 FA add a,(y) ; 90 FB jp (y) ; 90 FC call (y) ; 90 FD ldw y,(y) ; 90 FE ldw (y),x ; 90 FF .page .sbttl Page 91 STM8 Instructions in Numerical Order (Alternate) mgrp91_0: mgrp91_1: mgrp91_2: mgrp91_3: mgrp91_4: mgrp91_5: mgrp91_6: neg ([rbyt],y).b ; 91 60u10 ; 91 61 ; 91 62 cpl ([rbyt],y).b ; 91 63u10 srl ([rbyt],y).b ; 91 64u10 ; 91 65 rrc ([rbyt],y).b ; 91 66u10 sra ([rbyt],y).b ; 91 67u10 sla ([rbyt],y).b ; 91 68u10 rlc ([rbyt],y).b ; 91 69u10 dec ([rbyt],y).b ; 91 6Au10 ; 91 6B inc ([rbyt],y).b ; 91 6Cu10 tnz ([rbyt],y).b ; 91 6Du10 swap ([rbyt],y).b ; 91 6Eu10 clr ([rbyt],y).b ; 91 6Fu10 mgrp91_7: .page mgrp91_8: mgrp91_9: mgrp91_A: ldf ([rwrd],y),a ; 91 A7v54u32 ldf a,([rwrd],y) ; 91 AFv54u32 mgrp91_B: mgrp91_C: cpw y,[rbyt].b ; 91 C3u10 ldw y,[rbyt].b ; 91 CEu10 ldw [rbyt].b,y ; 91 CFu10 mgrp91_D: sub a,([rbyt],y).b ; 91 D0u10 cp a,([rbyt],y).b ; 91 D1u10 sbc a,([rbyt],y).b ; 91 D2u10 cpw x,([rbyt],y).b ; 91 D3u10 and a,([rbyt],y).b ; 91 D4u10 bcp a,([rbyt],y).b ; 91 D5u10 ld a,([rbyt],y).b ; 91 D6u10 ld ([rbyt],y).b,a ; 91 D7u10 xor a,([rbyt],y).b ; 91 D8u10 adc a,([rbyt],y).b ; 91 D9u10 or a,([rbyt],y).b ; 91 DAu10 add a,([rbyt],y).b ; 91 DBu10 jp ([rbyt],y).b ; 91 DCu10 call ([rbyt],y).b ; 91 DDu10 ldw y,([rbyt],y).b ; 91 DEu10 ldw ([rbyt],y).b,x ; 91 DFu10 mgrp91_E: mgrp91_F: .page .sbttl Page 92 STM8 Instructions in Numerical Order (Alternate) mgrp92_0: mgrp92_1: mgrp92_2: mgrp92_3: neg [rbyt].b ; 92 30u10 ; 92 31 ; 92 32 cpl [rbyt].b ; 92 33u10 srl [rbyt].b ; 92 34u10 ; 92 35 rrc [rbyt].b ; 92 36u10 sra [rbyt].b ; 92 37u10 sla [rbyt].b ; 92 38u10 rlc [rbyt].b ; 92 39u10 dec [rbyt].b ; 92 3Au10 ; 92 3B inc [rbyt].b ; 92 3Cu10 tnz [rbyt].b ; 92 3Du10 swap [rbyt].b ; 92 3Eu10 clr [rbyt].b ; 92 3Fu10 mgrp92_4: mgrp92_5: mgrp92_6: neg ([rbyt],x).b ; 92 60u10 ; 92 61 ; 92 62 cpl ([rbyt],x).b ; 92 63u10 srl ([rbyt],x).b ; 92 64u10 ; 92 65 rrc ([rbyt],x).b ; 92 66u10 sra ([rbyt],x).b ; 92 67u10 sla ([rbyt],x).b ; 92 68u10 rlc ([rbyt],x).b ; 92 69u10 dec ([rbyt],x).b ; 92 6Au10 ; 92 6B inc ([rbyt],x).b ; 92 6Cu10 tnz ([rbyt],x).b ; 92 6Du10 swap ([rbyt],x).b ; 92 6Eu10 clr ([rbyt],x).b ; 92 6Fu10 mgrp92_7: .page mgrp92_8: callf [rwrd] ; 92 8Dv54u32 mgrp92_9: mgrp92_A: ldf ([rwrd],x),a ; 92 A7v54u32 jpf [rwrd] ; 92 ACv54u32 ldf a,([rwrd],x) ; 92 AFv54u32 mgrp92_B: ldf a,[rwrd] ; 92 BCv54u32 ldf [rwrd],a ; 92 BDv54u32 mgrp92_C: sub a,[rbyt].b ; 92 C0u10 cp a,[rbyt].b ; 92 C1u10 sbc a,[rbyt].b ; 92 C2u10 cpw x,[rbyt].b ; 92 C3u10 and a,[rbyt].b ; 92 C4u10 bcp a,[rbyt].b ; 92 C5u10 ld a,[rbyt].b ; 92 C6u10 ld [rbyt].b,a ; 92 C7u10 xor a,[rbyt].b ; 92 C8u10 adc a,[rbyt].b ; 92 C9u10 or a,[rbyt].b ; 92 CAu10 add a,[rbyt].b ; 92 CBu10 jp [rbyt].b ; 92 CCu10 call [rbyt].b ; 92 CDu10 ldw x,[rbyt].b ; 92 CEu10 ldw [rbyt].b,x ; 92 CFu10 mgrp92_D: sub a,([rbyt],x).b ; 92 D0u10 cp a,([rbyt],x).b ; 92 D1u10 sbc a,([rbyt],x).b ; 92 D2u10 cpw y,([rbyt],x).b ; 92 D3u10 and a,([rbyt],x).b ; 92 D4u10 bcp a,([rbyt],x).b ; 92 D5u10 ld a,([rbyt],x).b ; 92 D6u10 ld ([rbyt],x).b,a ; 92 D7u10 xor a,([rbyt],x).b ; 92 D8u10 adc a,([rbyt],x).b ; 92 D9u10 or a,([rbyt],x).b ; 92 DAu10 add a,([rbyt],x).b ; 92 DBu10 jp ([rbyt],x).b ; 92 DCu10 call ([rbyt],x).b ; 92 DDu10 ldw x,([rbyt],x).b ; 92 DEu10 ldw ([rbyt],x).b,y ; 92 DFu10 mgrp92_E: mgrp92_F: .page .sbttl Base STM8 Instructions with External symbols ;ljm TODO: define not implemented ; .define rbyt, /xbyt+0x10/ ; .define rwrd, /xwrd+0x5432/ ; .define rexa, /xexa+0xBA9876/ ngrp0: neg (*rbyt,sp) ; 00u10 rrwa x,a ; 01 rlwa x,a ; 02 cpl (*rbyt,sp) ; 03u10 srl (*rbyt,sp) ; 04u10 ; 05 rrc (*rbyt,sp) ; 06u10 sra (*rbyt,sp) ; 07u10 sla (*rbyt,sp) ; 08u10 rlc (*rbyt,sp) ; 09u10 dec (*rbyt,sp) ; 0Au10 ; 0B inc (*rbyt,sp) ; 0Cu10 tnz (*rbyt,sp) ; 0Du10 swap (*rbyt,sp) ; 0Eu10 clr (*rbyt,sp) ; 0Fu10 ngrp1: sub a,(*rbyt,sp) ; 10u10 cp a,(*rbyt,sp) ; 11u10 sbc a,(*rbyt,sp) ; 12u10 cpw x,(*rbyt,sp) ; 13u10 and a,(*rbyt,sp) ; 14u10 bcp a,(*rbyt,sp) ; 15u10 ldw y,(*rbyt,sp) ; 16u10 ldw (*rbyt,sp),y ; 17u10 xor a,(*rbyt,sp) ; 18u10 adc a,(*rbyt,sp) ; 19u10 or a,(*rbyt,sp) ; 1Au10 add a,(*rbyt,sp) ; 1Bu10 addw x,#rwrd ; 1Cs54r32 subw x,#rwrd ; 1Ds54r32 ldw x,(*rbyt,sp) ; 1Eu10 ldw (*rbyt,sp),x ; 1Fu10 .page ngrp2: jra 1$ ; 20 0E jrf 1$ ; 21 0C jrugt 1$ ; 22 0A jrule 1$ ; 23 08 jrnc 1$ ; 24 06 jrc 1$ ; 25 04 jrne 1$ ; 26 02 jreq 1$ ; 27 00 1$: jrnv 1$ ; 28 FE jrv 1$ ; 29 FC jrpl 1$ ; 2A FA jrmi 1$ ; 2B F8 jrsgt 1$ ; 2C F6 jrsle 1$ ; 2D F4 jrsge 1$ ; 2E F2 jrslt 1$ ; 2F F0 ngrp3: neg *rbyt ; 30u10 exg a,rwrd ; 31v54u32 pop rwrd ; 32v54u32 cpl *rbyt ; 33u10 srl *rbyt ; 34u10 mov rwrd,#rbyt ; 35r10v54u32 rrc *rbyt ; 36u10 sra *rbyt ; 37u10 sla *rbyt ; 38u10 rlc *rbyt ; 39u10 dec *rbyt ; 3Au10 push rwrd ; 3Bv54u32 inc *rbyt ; 3Cu10 tnz *rbyt ; 3Du10 swap *rbyt ; 3Eu10 clr *rbyt ; 3Fu10 .page ngrp4: neg a ; 40 exg a,xl ; 41 mul x,a ; 42 cpl a ; 43 srl a ; 44 mov *rbyt,*rbyt+0x11; 45u21u10 rrc a ; 46 sra a ; 47 sla a ; 48 rlc a ; 49 dec a ; 4A push #rbyt ; 4Br10 inc a ; 4C tnz a ; 4D swap a ; 4E clr a ; 4F ngrp5: negw x ; 50 exgw x,y ; 51 sub sp,#rbyt ; 52u10 cplw x ; 53 srlw x ; 54 mov rwrd,rwrd+0x1111; 55v65u43v54u32 rrcw x ; 56 sraw x ; 57 slaw x ; 58 rlcw x ; 59 decw x ; 5A add sp,#rbyt ; 5Bu10 incw x ; 5C tnzw x ; 5D swapw x ; 5E clrw x ; 5F .page ngrp6: neg (*rbyt,x) ; 60u10 exg a,yl ; 61 div x,a ; 62 cpl (*rbyt,x) ; 63u10 srl (*rbyt,x) ; 64u10 divw x,y ; 65 rrc (*rbyt,x) ; 66u10 sra (*rbyt,x) ; 67u10 sla (*rbyt,x) ; 68u10 rlc (*rbyt,x) ; 69u10 dec (*rbyt,x) ; 6Au10 ld (*rbyt,sp),a ; 6Bu10 inc (*rbyt,x) ; 6Cu10 tnz (*rbyt,x) ; 6Du10 swap (*rbyt,x) ; 6Eu10 clr (*rbyt,x) ; 6Fu10 ngrp7: neg (x) ; 70 ; 71 ; 72 cpl (x) ; 73 srl (x) ; 74 ; 75 rrc (x) ; 76 sra (x) ; 77 sla (x) ; 78 rlc (x) ; 79 dec (x) ; 7A ld a,(*rbyt,sp) ; 7Bu10 inc (x) ; 7C tnz (x) ; 7D swap (x) ; 7E clr (x) ; 7F .page ngrp8: iret ; 80 ret ; 81 ; 82 trap ; 83 pop a ; 84 popw x ; 85 pop cc ; 86 retf ; 87 push a ; 88 pushw x ; 89 push cc ; 8A ; 8B ccf ; 8C callf rexa ; 8DRBAs98r76 halt ; 8E wfi ; 8F ngrp9: ; 90 ; 91 ; 92 ldw x,y ; 93 ldw sp,x ; 94 ld xh,a ; 95 ldw x,sp ; 96 ld xl,a ; 97 rcf ; 98 scf ; 99 rim ; 9A sim ; 9B rvf ; 9C nop ; 9D ld a,xh ; 9E ld a,xl ; 9F .page ngrpA: sub a,#rbyt ; A0r10 cp a,#rbyt ; A1r10 sbc a,#rbyt ; A2r10 cpw x,#rwrd ; A3s54r32 and a,#rbyt ; A4r10 bcp a,#rbyt ; A5r10 ld a,#rbyt ; A6r10 ldf (rexa,x),a ; A7RBAs98r76 xor a,#rbyt ; A8r10 adc a,#rbyt ; A9r10 or a,#rbyt ; AAr10 add a,#rbyt ; ABr10 jpf rexa ; ACRBAs98r76 1$: callr 1$ ; AD FE ldw x,#rwrd ; AEs54r32 ldf a,(rexa,x) ; AFRBAs98r76 ngrpB: sub a,*rbyt ; B0u10 cp a,*rbyt ; B1u10 sbc a,*rbyt ; B2u10 cpw x,*rbyt ; B3u10 and a,*rbyt ; B4u10 bcp a,*rbyt ; B5u10 ld a,*rbyt ; B6u10 ld *rbyt,a ; B7u10 xor a,*rbyt ; B8u10 adc a,*rbyt ; B9u10 or a,*rbyt ; BAu10 add a,*rbyt ; BBu10 ldf a,rexa ; BCRBAs98r76 ldf rexa,a ; BDRBAs98r76 ldw x,*rbyt ; BEu10 ldw *rbyt,x ; BFu10 .page ngrpC: sub a,rwrd ; C0v54u32 cp a,rwrd ; C1v54u32 sbc a,rwrd ; C2v54u32 cpw x,rwrd ; C3v54u32 and a,rwrd ; C4v54u32 bcp a,rwrd ; C5v54u32 ld a,rwrd ; C6v54u32 ld rwrd,a ; C7v54u32 xor a,rwrd ; C8v54u32 adc a,rwrd ; C9v54u32 or a,rwrd ; CAv54u32 add a,rwrd ; CBv54u32 jp rwrd ; CCs54r32 call rwrd ; CDs54r32 ldw x,rwrd ; CEv54u32 ldw rwrd,x ; CFv54u32 ngrpD: sub a,(rwrd,x) ; D0v54u32 cp a,(rwrd,x) ; D1v54u32 sbc a,(rwrd,x) ; D2v54u32 cpw y,(rwrd,x) ; D3v54u32 and a,(rwrd,x) ; D4v54u32 bcp a,(rwrd,x) ; D5v54u32 ld a,(rwrd,x) ; D6v54u32 ld (rwrd,x),a ; D7v54u32 xor a,(rwrd,x) ; D8v54u32 adc a,(rwrd,x) ; D9v54u32 or a,(rwrd,x) ; DAv54u32 add a,(rwrd,x) ; DBv54u32 jp (rwrd,x) ; DCv54u32 call (rwrd,x) ; DDv54u32 ldw x,(rwrd,x) ; DEv54u32 ldw (rwrd,x),y ; DFv54u32 .page ngrpE: sub a,(*rbyt,x) ; E0u10 cp a,(*rbyt,x) ; E1u10 sbc a,(*rbyt,x) ; E2u10 cpw y,(*rbyt,x) ; E3u10 and a,(*rbyt,x) ; E4u10 bcp a,(*rbyt,x) ; E5u10 ld a,(*rbyt,x) ; E6u10 ld (*rbyt,x),a ; E7u10 xor a,(*rbyt,x) ; E8u10 adc a,(*rbyt,x) ; E9u10 or a,(*rbyt,x) ; EAu10 add a,(*rbyt,x) ; EBu10 jp (*rbyt,x) ; ECu10 call (*rbyt,x) ; EDu10 ldw x,(*rbyt,x) ; EEu10 ldw (*rbyt,x),y ; EFu10 ngrpF: sub a,(x) ; F0 cp a,(x) ; F1 sbc a,(x) ; F2 cpw y,(x) ; F3 and a,(x) ; F4 bcp a,(x) ; F5 ld a,(x) ; F6 ld (x),a ; F7 xor a,(x) ; F8 adc a,(x) ; F9 or a,(x) ; FA add a,(x) ; FB jp (x) ; FC call (x) ; FD ldw x,(x) ; FE ldw (x),y ; FF .page .sbttl Page 72 STM8 Instructions with External symbols ngrp72_0: btjt rwrd,#0,1$ ; 72 00v54u32 23 btjf rwrd,#0,1$ ; 72 01v54u32 1E btjt rwrd,#1,1$ ; 72 02v54u32 19 btjf rwrd,#1,1$ ; 72 03v54u32 14 btjt rwrd,#2,1$ ; 72 04v54u32 0F btjf rwrd,#2,1$ ; 72 05v54u32 0A btjt rwrd,#3,1$ ; 72 06v54u32 05 btjf rwrd,#3,1$ ; 72 07v54u32 00 1$: btjt rwrd,#4,1$ ; 72 08v54u32 FB btjf rwrd,#4,1$ ; 72 09v54u32 F6 btjt rwrd,#5,1$ ; 72 0Av54u32 F1 btjf rwrd,#5,1$ ; 72 0Bv54u32 EC btjt rwrd,#6,1$ ; 72 0Cv54u32 E7 btjf rwrd,#6,1$ ; 72 0Dv54u32 E2 btjt rwrd,#7,1$ ; 72 0Ev54u32 DD btjf rwrd,#7,1$ ; 72 0Fv54u32 D8 ngrp72_1: bset rwrd,#0 ; 72 10v54u32 bres rwrd,#0 ; 72 11v54u32 bset rwrd,#1 ; 72 12v54u32 bres rwrd,#1 ; 72 13v54u32 bset rwrd,#2 ; 72 14v54u32 bres rwrd,#2 ; 72 15v54u32 bset rwrd,#3 ; 72 16v54u32 bres rwrd,#3 ; 72 17v54u32 bset rwrd,#4 ; 72 18v54u32 bres rwrd,#4 ; 72 19v54u32 bset rwrd,#5 ; 72 1Av54u32 bres rwrd,#5 ; 72 1Bv54u32 bset rwrd,#6 ; 72 1Cv54u32 bres rwrd,#6 ; 72 1Dv54u32 bset rwrd,#7 ; 72 1Ev54u32 bres rwrd,#7 ; 72 1Fv54u32 ngrp72_2: .page ngrp72_3: neg [rwrd] ; 72 30v54u32 ; 72 31 ; 72 32 cpl [rwrd] ; 72 33v54u32 srl [rwrd] ; 72 34v54u32 ; 72 35 rrc [rwrd] ; 72 36v54u32 sra [rwrd] ; 72 37v54u32 sla [rwrd] ; 72 38v54u32 rlc [rwrd] ; 72 39v54u32 dec [rwrd] ; 72 3Av54u32 ; 72 3B inc [rwrd] ; 72 3Cv54u32 tnz [rwrd] ; 72 3Dv54u32 swap [rwrd] ; 72 3Ev54u32 clr [rwrd] ; 72 3Fv54u32 ngrp72_4: neg (rwrd,x) ; 72 40v54u32 ; 72 41 ; 72 42 cpl (rwrd,x) ; 72 43v54u32 srl (rwrd,x) ; 72 44v54u32 ; 72 45 rrc (rwrd,x) ; 72 46v54u32 sra (rwrd,x) ; 72 47v54u32 sla (rwrd,x) ; 72 48v54u32 rlc (rwrd,x) ; 72 49v54u32 dec (rwrd,x) ; 72 4Av54u32 ; 72 4B inc (rwrd,x) ; 72 4Cv54u32 tnz (rwrd,x) ; 72 4Dv54u32 swap (rwrd,x) ; 72 4Ev54u32 clr (rwrd,x) ; 72 4Fv54u32 .page ngrp72_5: neg rwrd ; 72 50v54u32 ; 72 51 ; 72 52 cpl rwrd ; 72 53v54u32 srl rwrd ; 72 54v54u32 ; 72 55 rrc rwrd ; 72 56v54u32 sra rwrd ; 72 57v54u32 sla rwrd ; 72 58v54u32 rlc rwrd ; 72 59v54u32 dec rwrd ; 72 5Av54u32 ; 72 5B inc rwrd ; 72 5Cv54u32 tnz rwrd ; 72 5Dv54u32 swap rwrd ; 72 5Ev54u32 clr rwrd ; 72 5Fv54u32 ngrp72_6: neg ([rwrd],x) ; 72 60v54u32 ; 72 61 ; 72 62 cpl ([rwrd],x) ; 72 63v54u32 srl ([rwrd],x) ; 72 64v54u32 ; 72 65 rrc ([rwrd],x) ; 72 66v54u32 sra ([rwrd],x) ; 72 67v54u32 sla ([rwrd],x) ; 72 68v54u32 rlc ([rwrd],x) ; 72 69v54u32 dec ([rwrd],x) ; 72 6Av54u32 ; 72 6B inc ([rwrd],x) ; 72 6Cv54u32 tnz ([rwrd],x) ; 72 6Dv54u32 swap ([rwrd],x) ; 72 6Ev54u32 clr ([rwrd],x) ; 72 6Fv54u32 .page ngrp72_7: ngrp72_8: wfe ; 72 8F ngrp72_9: ngrp72_A: subw y,#rwrd ; 72 A2s54r32 addw y,#rwrd ; 72 A9s54r32 ngrp72_B: subw x,*rbyt ; 72 B0u10 subw y,*rbyt ; 72 B2u10 addw y,*rbyt ; 72 B9u10 addw x,*rbyt ; 72 BBu10 .page ngrp72_C: sub a,[rwrd] ; 72 C0v54u32 cp a,[rwrd] ; 72 C1v54u32 sbc a,[rwrd] ; 72 C2v54u32 cpw x,[rwrd] ; 72 C3v54u32 and a,[rwrd] ; 72 C4v54u32 bcp a,[rwrd] ; 72 C5v54u32 ld a,[rwrd] ; 72 C6v54u32 ld [rwrd],a ; 72 C7v54u32 xor a,[rwrd] ; 72 C8v54u32 adc a,[rwrd] ; 72 C9v54u32 or a,[rwrd] ; 72 CAv54u32 add a,[rwrd] ; 72 CBv54u32 jp [rwrd] ; 72 CCv54u32 call [rwrd] ; 72 CDv54u32 ldw x,[rwrd] ; 72 CEv54u32 ldw [rwrd],x ; 72 CFv54u32 ngrp72_D: sub a,([rwrd],x) ; 72 D0v54u32 cp a,([rwrd],x) ; 72 D1v54u32 sbc a,([rwrd],x) ; 72 D2v54u32 cpw y,([rwrd],x) ; 72 D3v54u32 and a,([rwrd],x) ; 72 D4v54u32 bcp a,([rwrd],x) ; 72 D5v54u32 ld a,([rwrd],x) ; 72 D6v54u32 ld ([rwrd],x),a ; 72 D7v54u32 xor a,([rwrd],x) ; 72 D8v54u32 adc a,([rwrd],x) ; 72 D9v54u32 or a,([rwrd],x) ; 72 DAv54u32 add a,([rwrd],x) ; 72 DBv54u32 jp ([rwrd],x) ; 72 DCv54u32 call ([rwrd],x) ; 72 DDv54u32 ldw x,([rwrd],x) ; 72 DEv54u32 ldw ([rwrd],x),y ; 72 DFv54u32 ngrp72_E: ngrp72_F: subw x,(*rbyt,sp) ; 72 F0u10 subw y,(*rbyt,sp) ; 72 F2u10 addw y,(*rbyt,sp) ; 72 F9u10 addw x,(*rbyt,sp) ; 72 FBu10 .page .sbttl Page 90 STM8 Instructions with External symbols ngrp90_0: rrwa y,a ; 90 01 rlwa y,a ; 90 02 ngrp90_1: bcpl rwrd,#0 ; 90 10v54u32 bccm rwrd,#0 ; 90 11v54u32 bcpl rwrd,#1 ; 90 12v54u32 bccm rwrd,#1 ; 90 13v54u32 bcpl rwrd,#2 ; 90 14v54u32 bccm rwrd,#2 ; 90 15v54u32 bcpl rwrd,#3 ; 90 16v54u32 bccm rwrd,#3 ; 90 17v54u32 bcpl rwrd,#4 ; 90 18v54u32 bccm rwrd,#4 ; 90 19v54u32 bcpl rwrd,#5 ; 90 1Av54u32 bccm rwrd,#5 ; 90 1Bv54u32 bcpl rwrd,#6 ; 90 1Cv54u32 bccm rwrd,#6 ; 90 1Dv54u32 bcpl rwrd,#7 ; 90 1Ev54u32 bccm rwrd,#7 ; 90 1Fv54u32 ngrp90_2: jrnh 1$ ; 90 28 0C jrh 1$ ; 90 29 09 jrnm 1$ ; 90 2C 06 jrm 1$ ; 90 2D 03 jril 1$ ; 90 2E 00 1$: jrih 1$ ; 90 2F FD ngrp90_3: .page ngrp90_4: neg (rwrd,y) ; 90 40v54u32 ; 90 41 mul y,a ; 90 42 cpl (rwrd,y) ; 90 43v54u32 srl (rwrd,y) ; 90 44v54u32 ; 90 45 rrc (rwrd,y) ; 90 46v54u32 sra (rwrd,y) ; 90 47v54u32 sla (rwrd,y) ; 90 48v54u32 rlc (rwrd,y) ; 90 49v54u32 dec (rwrd,y) ; 90 4Av54u32 ; 90 4B inc (rwrd,y) ; 90 4Cv54u32 tnz (rwrd,y) ; 90 4Dv54u32 swap (rwrd,y) ; 90 4Ev54u32 clr (rwrd,y) ; 90 4Fv54u32 ngrp90_5: negw y ; 90 50 ; 90 51 ; 90 52 cplw y ; 90 53 srlw y ; 90 54 ; 90 55 rrcw y ; 90 56 sraw y ; 90 57 slaw y ; 90 58 rlcw y ; 90 59 decw y ; 90 5A ; 90 5B incw y ; 90 5C tnzw y ; 90 5D swapw y ; 90 5E clrw y ; 90 5F .page ngrp90_6: neg (*rbyt,y) ; 90 60u10 ; 90 61 div y,a ; 90 62 cpl (*rbyt,y) ; 90 63u10 srl (*rbyt,y) ; 90 64u10 ; 90 65 rrc (*rbyt,y) ; 90 66u10 sra (*rbyt,y) ; 90 67u10 sla (*rbyt,y) ; 90 68u10 rlc (*rbyt,y) ; 90 69u10 dec (*rbyt,y) ; 90 6Au10 ; 90 6B inc (*rbyt,y) ; 90 6Cu10 tnz (*rbyt,y) ; 90 6Du10 swap (*rbyt,y) ; 90 6Eu10 clr (*rbyt,y) ; 90 6Fu10 ngrp90_7: neg (y) ; 90 70 ; 90 71 ; 90 72 cpl (y) ; 90 73 srl (y) ; 90 74 ; 90 75 rrc (y) ; 90 76 sra (y) ; 90 77 sla (y) ; 90 78 rlc (y) ; 90 79 dec (y) ; 90 7A ; 90 7B inc (y) ; 90 7C tnz (y) ; 90 7D swap (y) ; 90 7E clr (y) ; 90 7F .page ngrp90_8: popw y ; 90 85 pushw y ; 90 89 ngrp90_9: ldw y,x ; 90 93 ldw sp,y ; 90 94 ld yh,a ; 90 95 ldw y,sp ; 90 96 ld yl,a ; 90 97 ld a,yh ; 90 9E ld a,yl ; 90 9F ngrp90_A: cpw y,#rwrd ; 90 A3s54r32 ldf (rexa,y),a ; 90 A7RBAs98r76 ldw y,#rwrd ; 90 AEs54r32 ldf a,(rexa,y) ; 90 AFRBAs98r76 ngrp90_B: cpw y,*rbyt ; 90 B3u10 ldw y,*rbyt ; 90 BEu10 ldw *rbyt,y ; 90 BFu10 ngrp90_C: cpw y,rwrd ; 90 C3v54u32 ldw y,rwrd ; 90 CEv54u32 ldw rwrd,y ; 90 CFv54u32 ngrp90_D: sub a,(rwrd,y) ; 90 D0v54u32 cp a,(rwrd,y) ; 90 D1v54u32 sbc a,(rwrd,y) ; 90 D2v54u32 cpw x,(rwrd,y) ; 90 D3v54u32 and a,(rwrd,y) ; 90 D4v54u32 bcp a,(rwrd,y) ; 90 D5v54u32 ld a,(rwrd,y) ; 90 D6v54u32 ld (rwrd,y),a ; 90 D7v54u32 xor a,(rwrd,y) ; 90 D8v54u32 adc a,(rwrd,y) ; 90 D9v54u32 or a,(rwrd,y) ; 90 DAv54u32 add a,(rwrd,y) ; 90 DBv54u32 jp (rwrd,y) ; 90 DCv54u32 call (rwrd,y) ; 90 DDv54u32 ldw y,(rwrd,y) ; 90 DEv54u32 ldw (rwrd,y),x ; 90 DFv54u32 .page ngrp90_E: sub a,(*rbyt,y) ; 90 E0u10 cp a,(*rbyt,y) ; 90 E1u10 sbc a,(*rbyt,y) ; 90 E2u10 cpw x,(*rbyt,y) ; 90 E3u10 and a,(*rbyt,y) ; 90 E4u10 bcp a,(*rbyt,y) ; 90 E5u10 ld a,(*rbyt,y) ; 90 E6u10 ld (*rbyt,y),a ; 90 E7u10 xor a,(*rbyt,y) ; 90 E8u10 adc a,(*rbyt,y) ; 90 E9u10 or a,(*rbyt,y) ; 90 EAu10 add a,(*rbyt,y) ; 90 EBu10 jp (*rbyt,y) ; 90 ECu10 call (*rbyt,y) ; 90 EDu10 ldw y,(*rbyt,y) ; 90 EEu10 ldw (*rbyt,y),x ; 90 EFu10 ngrp90_F: sub a,(y) ; 90 F0 cp a,(y) ; 90 F1 sbc a,(y) ; 90 F2 cpw x,(y) ; 90 F3 and a,(y) ; 90 F4 bcp a,(y) ; 90 F5 ld a,(y) ; 90 F6 ld (y),a ; 90 F7 xor a,(y) ; 90 F8 adc a,(y) ; 90 F9 or a,(y) ; 90 FA add a,(y) ; 90 FB jp (y) ; 90 FC call (y) ; 90 FD ldw y,(y) ; 90 FE ldw (y),x ; 90 FF .page .sbttl Page 91 STM8 Instructions with External symbols ngrp91_0: ngrp91_1: ngrp91_2: ngrp91_3: ngrp91_4: ngrp91_5: ngrp91_6: neg ([*rbyt],y) ; 91 60u10 ; 91 61 ; 91 62 cpl ([*rbyt],y) ; 91 63u10 srl ([*rbyt],y) ; 91 64u10 ; 91 65 rrc ([*rbyt],y) ; 91 66u10 sra ([*rbyt],y) ; 91 67u10 sla ([*rbyt],y) ; 91 68u10 rlc ([*rbyt],y) ; 91 69u10 dec ([*rbyt],y) ; 91 6Au10 ; 91 6B inc ([*rbyt],y) ; 91 6Cu10 tnz ([*rbyt],y) ; 91 6Du10 swap ([*rbyt],y) ; 91 6Eu10 clr ([*rbyt],y) ; 91 6Fu10 ngrp91_7: .page ngrp91_8: ngrp91_9: ngrp91_A: ldf ([rwrd],y),a ; 91 A7v54u32 ldf a,([rwrd],y) ; 91 AFv54u32 ngrp91_B: ngrp91_C: cpw y,[*rbyt] ; 91 C3u10 ldw y,[*rbyt] ; 91 CEu10 ldw [*rbyt],y ; 91 CFu10 ngrp91_D: sub a,([*rbyt],y) ; 91 D0u10 cp a,([*rbyt],y) ; 91 D1u10 sbc a,([*rbyt],y) ; 91 D2u10 cpw x,([*rbyt],y) ; 91 D3u10 and a,([*rbyt],y) ; 91 D4u10 bcp a,([*rbyt],y) ; 91 D5u10 ld a,([*rbyt],y) ; 91 D6u10 ld ([*rbyt],y),a ; 91 D7u10 xor a,([*rbyt],y) ; 91 D8u10 adc a,([*rbyt],y) ; 91 D9u10 or a,([*rbyt],y) ; 91 DAu10 add a,([*rbyt],y) ; 91 DBu10 jp ([*rbyt],y) ; 91 DCu10 call ([*rbyt],y) ; 91 DDu10 ldw y,([*rbyt],y) ; 91 DEu10 ldw ([*rbyt],y),x ; 91 DFu10 ngrp91_E: ngrp91_F: .page .sbttl Page 92 STM8 Instructions with External symbols ngrp92_0: ngrp92_1: ngrp92_2: ngrp92_3: neg [*rbyt] ; 92 30u10 ; 92 31 ; 92 32 cpl [*rbyt] ; 92 33u10 srl [*rbyt] ; 92 34u10 ; 92 35 rrc [*rbyt] ; 92 36u10 sra [*rbyt] ; 92 37u10 sla [*rbyt] ; 92 38u10 rlc [*rbyt] ; 92 39u10 dec [*rbyt] ; 92 3Au10 ; 92 3B inc [*rbyt] ; 92 3Cu10 tnz [*rbyt] ; 92 3Du10 swap [*rbyt] ; 92 3Eu10 clr [*rbyt] ; 92 3Fu10 ngrp92_4: ngrp92_5: ngrp92_6: neg ([*rbyt],x) ; 92 60u10 ; 92 61 ; 92 62 cpl ([*rbyt],x) ; 92 63u10 srl ([*rbyt],x) ; 92 64u10 ; 92 65 rrc ([*rbyt],x) ; 92 66u10 sra ([*rbyt],x) ; 92 67u10 sla ([*rbyt],x) ; 92 68u10 rlc ([*rbyt],x) ; 92 69u10 dec ([*rbyt],x) ; 92 6Au10 ; 92 6B inc ([*rbyt],x) ; 92 6Cu10 tnz ([*rbyt],x) ; 92 6Du10 swap ([*rbyt],x) ; 92 6Eu10 clr ([*rbyt],x) ; 92 6Fu10 ngrp92_7: .page ngrp92_8: callf [rwrd] ; 92 8Dv54u32 ngrp92_9: ngrp92_A: ldf ([rwrd],x),a ; 92 A7v54u32 jpf [rwrd] ; 92 ACv54u32 ldf a,([rwrd],x) ; 92 AFv54u32 ngrp92_B: ldf a,[rwrd] ; 92 BCv54u32 ldf [rwrd],a ; 92 BDv54u32 ngrp92_C: sub a,[*rbyt] ; 92 C0u10 cp a,[*rbyt] ; 92 C1u10 sbc a,[*rbyt] ; 92 C2u10 cpw x,[*rbyt] ; 92 C3u10 and a,[*rbyt] ; 92 C4u10 bcp a,[*rbyt] ; 92 C5u10 ld a,[*rbyt] ; 92 C6u10 ld [*rbyt],a ; 92 C7u10 xor a,[*rbyt] ; 92 C8u10 adc a,[*rbyt] ; 92 C9u10 or a,[*rbyt] ; 92 CAu10 add a,[*rbyt] ; 92 CBu10 jp [*rbyt] ; 92 CCu10 call [*rbyt] ; 92 CDu10 ldw x,[*rbyt] ; 92 CEu10 ldw [*rbyt],x ; 92 CFu10 ngrp92_D: sub a,([*rbyt],x) ; 92 D0u10 cp a,([*rbyt],x) ; 92 D1u10 sbc a,([*rbyt],x) ; 92 D2u10 cpw y,([*rbyt],x) ; 92 D3u10 and a,([*rbyt],x) ; 92 D4u10 bcp a,([*rbyt],x) ; 92 D5u10 ld a,([*rbyt],x) ; 92 D6u10 ld ([*rbyt],x),a ; 92 D7u10 xor a,([*rbyt],x) ; 92 D8u10 adc a,([*rbyt],x) ; 92 D9u10 or a,([*rbyt],x) ; 92 DAu10 add a,([*rbyt],x) ; 92 DBu10 jp ([*rbyt],x) ; 92 DCu10 call ([*rbyt],x) ; 92 DDu10 ldw x,([*rbyt],x) ; 92 DEu10 ldw ([*rbyt],x),y ; 92 DFu10 ngrp92_E: ngrp92_F: ;; ljm TODO: undefine not implemented ; .undefine rbyt ; .undefine rwrd ; .undefine rexa .page .sbttl Base STM8 Instructions External 1-Byte Promotion to 2-Byte ; Note: 1-Byte external references are promoted to ; 2-Byte references if the 2-Byte addressing ; mode is allowed. ; ; If the 1-Byte does not promote to the 2-Byte ; mode and the external reference is not within ; the range 0x00 - 0xFF the linker will report ; an error. .define rbyt, /xbyt+0x10/ .define rwrd, /xwrd+0x5432/ .define rexa, /xexa+0xBA9876/ xgrp0: neg (rbyt,sp) ; 00u10 rrwa x,a ; 01 rlwa x,a ; 02 cpl (rbyt,sp) ; 03u10 srl (rbyt,sp) ; 04u10 ; 05 rrc (rbyt,sp) ; 06u10 sra (rbyt,sp) ; 07u10 sla (rbyt,sp) ; 08u10 rlc (rbyt,sp) ; 09u10 dec (rbyt,sp) ; 0Au10 ; 0B inc (rbyt,sp) ; 0Cu10 tnz (rbyt,sp) ; 0Du10 swap (rbyt,sp) ; 0Eu10 clr (rbyt,sp) ; 0Fu10 xgrp1: sub a,(rbyt,sp) ; 10u10 cp a,(rbyt,sp) ; 11u10 sbc a,(rbyt,sp) ; 12u10 cpw x,(rbyt,sp) ; 13u10 and a,(rbyt,sp) ; 14u10 bcp a,(rbyt,sp) ; 15u10 ldw y,(rbyt,sp) ; 16u10 ldw (rbyt,sp),y ; 17u10 xor a,(rbyt,sp) ; 18u10 adc a,(rbyt,sp) ; 19u10 or a,(rbyt,sp) ; 1Au10 add a,(rbyt,sp) ; 1Bu10 addw x,#rwrd ; 1Cs54r32 subw x,#rwrd ; 1Ds54r32 ldw x,(rbyt,sp) ; 1Eu10 ldw (rbyt,sp),x ; 1Fu10 .page xgrp2: jra 1$ ; 20 0E jrf 1$ ; 21 0C jrugt 1$ ; 22 0A jrule 1$ ; 23 08 jrnc 1$ ; 24 06 jrc 1$ ; 25 04 jrne 1$ ; 26 02 jreq 1$ ; 27 00 1$: jrnv 1$ ; 28 FE jrv 1$ ; 29 FC jrpl 1$ ; 2A FA jrmi 1$ ; 2B F8 jrsgt 1$ ; 2C F6 jrsle 1$ ; 2D F4 jrsge 1$ ; 2E F2 jrslt 1$ ; 2F F0 xgrp3: neg rbyt ; 72 50v00u10 exg a,rwrd ; 31v54u32 pop rwrd ; 32v54u32 cpl rbyt ; 72 53v00u10 srl rbyt ; 72 54v00u10 mov rwrd,#rbyt ; 35r10v54u32 rrc rbyt ; 72 56v00u10 sra rbyt ; 72 57v00u10 sla rbyt ; 72 58v00u10 rlc rbyt ; 72 59v00u10 dec rbyt ; 72 5Av00u10 push rwrd ; 3Bv54u32 inc rbyt ; 72 5Cv00u10 tnz rbyt ; 72 5Dv00u10 swap rbyt ; 72 5Ev00u10 clr rbyt ; 72 5Fv00u10 .page xgrp4: neg a ; 40 exg a,xl ; 41 mul x,a ; 42 cpl a ; 43 srl a ; 44 mov rbyt,rbyt+0x11 ; 55v00u21v00u10 rrc a ; 46 sra a ; 47 sla a ; 48 rlc a ; 49 dec a ; 4A push #rbyt ; 4Br10 inc a ; 4C tnz a ; 4D swap a ; 4E clr a ; 4F xgrp5: negw x ; 50 exgw x,y ; 51 sub sp,#rbyt ; 52u10 cplw x ; 53 srlw x ; 54 mov rwrd,rwrd+0x1111; 55v65u43v54u32 rrcw x ; 56 sraw x ; 57 slaw x ; 58 rlcw x ; 59 decw x ; 5A add sp,#rbyt ; 5Bu10 incw x ; 5C tnzw x ; 5D swapw x ; 5E clrw x ; 5F .page xgrp6: neg (rbyt,x) ; 72 40v00u10 exg a,yl ; 61 div x,a ; 62 cpl (rbyt,x) ; 72 43v00u10 srl (rbyt,x) ; 72 44v00u10 divw x,y ; 65 rrc (rbyt,x) ; 72 46v00u10 sra (rbyt,x) ; 72 47v00u10 sla (rbyt,x) ; 72 48v00u10 rlc (rbyt,x) ; 72 49v00u10 dec (rbyt,x) ; 72 4Av00u10 ld (rbyt,sp),a ; 6Bu10 inc (rbyt,x) ; 72 4Cv00u10 tnz (rbyt,x) ; 72 4Dv00u10 swap (rbyt,x) ; 72 4Ev00u10 clr (rbyt,x) ; 72 4Fv00u10 xgrp7: neg (x) ; 70 ; 71 ; 72 cpl (x) ; 73 srl (x) ; 74 ; 75 rrc (x) ; 76 sra (x) ; 77 sla (x) ; 78 rlc (x) ; 79 dec (x) ; 7A ld a,(rbyt,sp) ; 7Bu10 inc (x) ; 7C tnz (x) ; 7D swap (x) ; 7E clr (x) ; 7F .page xgrp8: iret ; 80 ret ; 81 ; 82 trap ; 83 pop a ; 84 popw x ; 85 pop cc ; 86 retf ; 87 push a ; 88 pushw x ; 89 push cc ; 8A ; 8B ccf ; 8C callf rexa ; 8DRBAs98r76 halt ; 8E wfi ; 8F xgrp9: ; 90 ; 91 ; 92 ldw x,y ; 93 ldw sp,x ; 94 ld xh,a ; 95 ldw x,sp ; 96 ld xl,a ; 97 rcf ; 98 scf ; 99 rim ; 9A sim ; 9B rvf ; 9C nop ; 9D ld a,xh ; 9E ld a,xl ; 9F .page xgrpA: sub a,#rbyt ; A0r10 cp a,#rbyt ; A1r10 sbc a,#rbyt ; A2r10 cpw x,#rwrd ; A3s54r32 and a,#rbyt ; A4r10 bcp a,#rbyt ; A5r10 ld a,#rbyt ; A6r10 ldf (rexa,x),a ; A7RBAs98r76 xor a,#rbyt ; A8r10 adc a,#rbyt ; A9r10 or a,#rbyt ; AAr10 add a,#rbyt ; ABr10 jpf rexa ; ACRBAs98r76 1$: callr 1$ ; AD FE ldw x,#rwrd ; AEs54r32 ldf a,(rexa,x) ; AFRBAs98r76 xgrpB: sub a,rbyt ; C0v00u10 cp a,rbyt ; C1v00u10 sbc a,rbyt ; C2v00u10 cpw x,rbyt ; C3v00u10 and a,rbyt ; C4v00u10 bcp a,rbyt ; C5v00u10 ld a,rbyt ; C6v00u10 ld rbyt,a ; C7v00u10 xor a,rbyt ; C8v00u10 adc a,rbyt ; C9v00u10 or a,rbyt ; CAv00u10 add a,rbyt ; CBv00u10 ldf a,rexa ; BCRBAs98r76 ldf rexa,a ; BDRBAs98r76 ldw x,rbyt ; CEv00u10 ldw rbyt,x ; CFv00u10 .page xgrpC: sub a,rwrd ; C0v54u32 cp a,rwrd ; C1v54u32 sbc a,rwrd ; C2v54u32 cpw x,rwrd ; C3v54u32 and a,rwrd ; C4v54u32 bcp a,rwrd ; C5v54u32 ld a,rwrd ; C6v54u32 ld rwrd,a ; C7v54u32 xor a,rwrd ; C8v54u32 adc a,rwrd ; C9v54u32 or a,rwrd ; CAv54u32 add a,rwrd ; CBv54u32 jp rwrd ; CCs54r32 call rwrd ; CDs54r32 ldw x,rwrd ; CEv54u32 ldw rwrd,x ; CFv54u32 xgrpD: sub a,(rwrd,x) ; D0v54u32 cp a,(rwrd,x) ; D1v54u32 sbc a,(rwrd,x) ; D2v54u32 cpw y,(rwrd,x) ; D3v54u32 and a,(rwrd,x) ; D4v54u32 bcp a,(rwrd,x) ; D5v54u32 ld a,(rwrd,x) ; D6v54u32 ld (rwrd,x),a ; D7v54u32 xor a,(rwrd,x) ; D8v54u32 adc a,(rwrd,x) ; D9v54u32 or a,(rwrd,x) ; DAv54u32 add a,(rwrd,x) ; DBv54u32 jp (rwrd,x) ; DCv54u32 call (rwrd,x) ; DDv54u32 ldw x,(rwrd,x) ; DEv54u32 ldw (rwrd,x),y ; DFv54u32 .page xgrpE: sub a,(rbyt,x) ; D0v00u10 cp a,(rbyt,x) ; D1v00u10 sbc a,(rbyt,x) ; D2v00u10 cpw y,(rbyt,x) ; D3v00u10 and a,(rbyt,x) ; D4v00u10 bcp a,(rbyt,x) ; D5v00u10 ld a,(rbyt,x) ; D6v00u10 ld (rbyt,x),a ; D7v00u10 xor a,(rbyt,x) ; D8v00u10 adc a,(rbyt,x) ; D9v00u10 or a,(rbyt,x) ; DAv00u10 add a,(rbyt,x) ; DBv00u10 jp (rbyt,x) ; DCv00u10 call (rbyt,x) ; DDv00u10 ldw x,(rbyt,x) ; DEv00u10 ldw (rbyt,x),y ; DFv00u10 xgrpF: sub a,(x) ; F0 cp a,(x) ; F1 sbc a,(x) ; F2 cpw y,(x) ; F3 and a,(x) ; F4 bcp a,(x) ; F5 ld a,(x) ; F6 ld (x),a ; F7 xor a,(x) ; F8 adc a,(x) ; F9 or a,(x) ; FA add a,(x) ; FB jp (x) ; FC call (x) ; FD ldw x,(x) ; FE ldw (x),y ; FF .page .sbttl Page 72 STM8 Instructions External 1-Byte Promotion to 2-Byte xgrp72_0: btjt rwrd,#0,1$ ; 72 00v54u32 23 btjf rwrd,#0,1$ ; 72 01v54u32 1E btjt rwrd,#1,1$ ; 72 02v54u32 19 btjf rwrd,#1,1$ ; 72 03v54u32 14 btjt rwrd,#2,1$ ; 72 04v54u32 0F btjf rwrd,#2,1$ ; 72 05v54u32 0A btjt rwrd,#3,1$ ; 72 06v54u32 05 btjf rwrd,#3,1$ ; 72 07v54u32 00 1$: btjt rwrd,#4,1$ ; 72 08v54u32 FB btjf rwrd,#4,1$ ; 72 09v54u32 F6 btjt rwrd,#5,1$ ; 72 0Av54u32 F1 btjf rwrd,#5,1$ ; 72 0Bv54u32 EC btjt rwrd,#6,1$ ; 72 0Cv54u32 E7 btjf rwrd,#6,1$ ; 72 0Dv54u32 E2 btjt rwrd,#7,1$ ; 72 0Ev54u32 DD btjf rwrd,#7,1$ ; 72 0Fv54u32 D8 xgrp72_1: bset rwrd,#0 ; 72 10v54u32 bres rwrd,#0 ; 72 11v54u32 bset rwrd,#1 ; 72 12v54u32 bres rwrd,#1 ; 72 13v54u32 bset rwrd,#2 ; 72 14v54u32 bres rwrd,#2 ; 72 15v54u32 bset rwrd,#3 ; 72 16v54u32 bres rwrd,#3 ; 72 17v54u32 bset rwrd,#4 ; 72 18v54u32 bres rwrd,#4 ; 72 19v54u32 bset rwrd,#5 ; 72 1Av54u32 bres rwrd,#5 ; 72 1Bv54u32 bset rwrd,#6 ; 72 1Cv54u32 bres rwrd,#6 ; 72 1Dv54u32 bset rwrd,#7 ; 72 1Ev54u32 bres rwrd,#7 ; 72 1Fv54u32 xgrp72_2: .page xgrp72_3: neg [rwrd] ; 72 30v54u32 ; 72 31 ; 72 32 cpl [rwrd] ; 72 33v54u32 srl [rwrd] ; 72 34v54u32 ; 72 35 rrc [rwrd] ; 72 36v54u32 sra [rwrd] ; 72 37v54u32 sla [rwrd] ; 72 38v54u32 rlc [rwrd] ; 72 39v54u32 dec [rwrd] ; 72 3Av54u32 ; 72 3B inc [rwrd] ; 72 3Cv54u32 tnz [rwrd] ; 72 3Dv54u32 swap [rwrd] ; 72 3Ev54u32 clr [rwrd] ; 72 3Fv54u32 xgrp72_4: neg (rwrd,x) ; 72 40v54u32 ; 72 41 ; 72 42 cpl (rwrd,x) ; 72 43v54u32 srl (rwrd,x) ; 72 44v54u32 ; 72 45 rrc (rwrd,x) ; 72 46v54u32 sra (rwrd,x) ; 72 47v54u32 sla (rwrd,x) ; 72 48v54u32 rlc (rwrd,x) ; 72 49v54u32 dec (rwrd,x) ; 72 4Av54u32 ; 72 4B inc (rwrd,x) ; 72 4Cv54u32 tnz (rwrd,x) ; 72 4Dv54u32 swap (rwrd,x) ; 72 4Ev54u32 clr (rwrd,x) ; 72 4Fv54u32 .page xgrp72_5: neg rwrd ; 72 50v54u32 ; 72 51 ; 72 52 cpl rwrd ; 72 53v54u32 srl rwrd ; 72 54v54u32 ; 72 55 rrc rwrd ; 72 56v54u32 sra rwrd ; 72 57v54u32 sla rwrd ; 72 58v54u32 rlc rwrd ; 72 59v54u32 dec rwrd ; 72 5Av54u32 ; 72 5B inc rwrd ; 72 5Cv54u32 tnz rwrd ; 72 5Dv54u32 swap rwrd ; 72 5Ev54u32 clr rwrd ; 72 5Fv54u32 xgrp72_6: neg ([rwrd],x) ; 72 60v54u32 ; 72 61 ; 72 62 cpl ([rwrd],x) ; 72 63v54u32 srl ([rwrd],x) ; 72 64v54u32 ; 72 65 rrc ([rwrd],x) ; 72 66v54u32 sra ([rwrd],x) ; 72 67v54u32 sla ([rwrd],x) ; 72 68v54u32 rlc ([rwrd],x) ; 72 69v54u32 dec ([rwrd],x) ; 72 6Av54u32 ; 72 6B inc ([rwrd],x) ; 72 6Cv54u32 tnz ([rwrd],x) ; 72 6Dv54u32 swap ([rwrd],x) ; 72 6Ev54u32 clr ([rwrd],x) ; 72 6Fv54u32 .page xgrp72_7: xgrp72_8: wfe ; 72 8F xgrp72_9: xgrp72_A: subw y,#rwrd ; 72 A2s54r32 addw y,#rwrd ; 72 A9s54r32 xgrp72_B: subw x,rbyt ; 72 B0u10 subw y,rbyt ; 72 B2u10 addw y,rbyt ; 72 B9u10 addw x,rbyt ; 72 BBu10 .page xgrp72_C: sub a,[rwrd] ; 72 C0v54u32 cp a,[rwrd] ; 72 C1v54u32 sbc a,[rwrd] ; 72 C2v54u32 cpw x,[rwrd] ; 72 C3v54u32 and a,[rwrd] ; 72 C4v54u32 bcp a,[rwrd] ; 72 C5v54u32 ld a,[rwrd] ; 72 C6v54u32 ld [rwrd],a ; 72 C7v54u32 xor a,[rwrd] ; 72 C8v54u32 adc a,[rwrd] ; 72 C9v54u32 or a,[rwrd] ; 72 CAv54u32 add a,[rwrd] ; 72 CBv54u32 jp [rwrd] ; 72 CCv54u32 call [rwrd] ; 72 CDv54u32 ldw x,[rwrd] ; 72 CEv54u32 ldw [rwrd],x ; 72 CFv54u32 xgrp72_D: sub a,([rwrd],x) ; 72 D0v54u32 cp a,([rwrd],x) ; 72 D1v54u32 sbc a,([rwrd],x) ; 72 D2v54u32 cpw y,([rwrd],x) ; 72 D3v54u32 and a,([rwrd],x) ; 72 D4v54u32 bcp a,([rwrd],x) ; 72 D5v54u32 ld a,([rwrd],x) ; 72 D6v54u32 ld ([rwrd],x),a ; 72 D7v54u32 xor a,([rwrd],x) ; 72 D8v54u32 adc a,([rwrd],x) ; 72 D9v54u32 or a,([rwrd],x) ; 72 DAv54u32 add a,([rwrd],x) ; 72 DBv54u32 jp ([rwrd],x) ; 72 DCv54u32 call ([rwrd],x) ; 72 DDv54u32 ldw x,([rwrd],x) ; 72 DEv54u32 ldw ([rwrd],x),y ; 72 DFv54u32 xgrp72_E: xgrp72_F: subw x,(rbyt,sp) ; 72 F0u10 subw y,(rbyt,sp) ; 72 F2u10 addw y,(rbyt,sp) ; 72 F9u10 addw x,(rbyt,sp) ; 72 FBu10 .page .sbttl Page 90 STM8 Instructions External 1-Byte Promotion to 2-Byte xgrp90_0: rrwa y,a ; 90 01 rlwa y,a ; 90 02 xgrp90_1: bcpl rwrd,#0 ; 90 10v54u32 bccm rwrd,#0 ; 90 11v54u32 bcpl rwrd,#1 ; 90 12v54u32 bccm rwrd,#1 ; 90 13v54u32 bcpl rwrd,#2 ; 90 14v54u32 bccm rwrd,#2 ; 90 15v54u32 bcpl rwrd,#3 ; 90 16v54u32 bccm rwrd,#3 ; 90 17v54u32 bcpl rwrd,#4 ; 90 18v54u32 bccm rwrd,#4 ; 90 19v54u32 bcpl rwrd,#5 ; 90 1Av54u32 bccm rwrd,#5 ; 90 1Bv54u32 bcpl rwrd,#6 ; 90 1Cv54u32 bccm rwrd,#6 ; 90 1Dv54u32 bcpl rwrd,#7 ; 90 1Ev54u32 bccm rwrd,#7 ; 90 1Fv54u32 xgrp90_2: jrnh 1$ ; 90 28 0C jrh 1$ ; 90 29 09 jrnm 1$ ; 90 2C 06 jrm 1$ ; 90 2D 03 jril 1$ ; 90 2E 00 1$: jrih 1$ ; 90 2F FD xgrp90_3: .page xgrp90_4: neg (rwrd,y) ; 90 40v54u32 ; 90 41 mul y,a ; 90 42 cpl (rwrd,y) ; 90 43v54u32 srl (rwrd,y) ; 90 44v54u32 ; 90 45 rrc (rwrd,y) ; 90 46v54u32 sra (rwrd,y) ; 90 47v54u32 sla (rwrd,y) ; 90 48v54u32 rlc (rwrd,y) ; 90 49v54u32 dec (rwrd,y) ; 90 4Av54u32 ; 90 4B inc (rwrd,y) ; 90 4Cv54u32 tnz (rwrd,y) ; 90 4Dv54u32 swap (rwrd,y) ; 90 4Ev54u32 clr (rwrd,y) ; 90 4Fv54u32 xgrp90_5: negw y ; 90 50 ; 90 51 ; 90 52 cplw y ; 90 53 srlw y ; 90 54 ; 90 55 rrcw y ; 90 56 sraw y ; 90 57 slaw y ; 90 58 rlcw y ; 90 59 decw y ; 90 5A ; 90 5B incw y ; 90 5C tnzw y ; 90 5D swapw y ; 90 5E clrw y ; 90 5F .page xgrp90_6: neg (rbyt,y) ; 90 40v00u10 ; 90 61 div y,a ; 90 62 cpl (rbyt,y) ; 90 43v00u10 srl (rbyt,y) ; 90 44v00u10 ; 90 65 rrc (rbyt,y) ; 90 46v00u10 sra (rbyt,y) ; 90 47v00u10 sla (rbyt,y) ; 90 48v00u10 rlc (rbyt,y) ; 90 49v00u10 dec (rbyt,y) ; 90 4Av00u10 ; 90 6B inc (rbyt,y) ; 90 4Cv00u10 tnz (rbyt,y) ; 90 4Dv00u10 swap (rbyt,y) ; 90 4Ev00u10 clr (rbyt,y) ; 90 4Fv00u10 xgrp90_7: neg (y) ; 90 70 ; 90 71 ; 90 72 cpl (y) ; 90 73 srl (y) ; 90 74 ; 90 75 rrc (y) ; 90 76 sra (y) ; 90 77 sla (y) ; 90 78 rlc (y) ; 90 79 dec (y) ; 90 7A ; 90 7B inc (y) ; 90 7C tnz (y) ; 90 7D swap (y) ; 90 7E clr (y) ; 90 7F .page xgrp90_8: popw y ; 90 85 pushw y ; 90 89 xgrp90_9: ldw y,x ; 90 93 ldw sp,y ; 90 94 ld yh,a ; 90 95 ldw y,sp ; 90 96 ld yl,a ; 90 97 ld a,yh ; 90 9E ld a,yl ; 90 9F xgrp90_A: cpw y,#rwrd ; 90 A3s54r32 ldf (rexa,y),a ; 90 A7RBAs98r76 ldw y,#rwrd ; 90 AEs54r32 ldf a,(rexa,y) ; 90 AFRBAs98r76 xgrp90_B: cpw y,rbyt ; 90 C3v00u10 ldw y,rbyt ; 90 CEv00u10 ldw rbyt,y ; 90 CFv00u10 xgrp90_C: cpw y,rwrd ; 90 C3v54u32 ldw y,rwrd ; 90 CEv54u32 ldw rwrd,y ; 90 CFv54u32 xgrp90_D: sub a,(rwrd,y) ; 90 D0v54u32 cp a,(rwrd,y) ; 90 D1v54u32 sbc a,(rwrd,y) ; 90 D2v54u32 cpw x,(rwrd,y) ; 90 D3v54u32 and a,(rwrd,y) ; 90 D4v54u32 bcp a,(rwrd,y) ; 90 D5v54u32 ld a,(rwrd,y) ; 90 D6v54u32 ld (rwrd,y),a ; 90 D7v54u32 xor a,(rwrd,y) ; 90 D8v54u32 adc a,(rwrd,y) ; 90 D9v54u32 or a,(rwrd,y) ; 90 DAv54u32 add a,(rwrd,y) ; 90 DBv54u32 jp (rwrd,y) ; 90 DCv54u32 call (rwrd,y) ; 90 DDv54u32 ldw y,(rwrd,y) ; 90 DEv54u32 ldw (rwrd,y),x ; 90 DFv54u32 .page xgrp90_E: sub a,(rbyt,y) ; 90 D0v00u10 cp a,(rbyt,y) ; 90 D1v00u10 sbc a,(rbyt,y) ; 90 D2v00u10 cpw x,(rbyt,y) ; 90 D3v00u10 and a,(rbyt,y) ; 90 D4v00u10 bcp a,(rbyt,y) ; 90 D5v00u10 ld a,(rbyt,y) ; 90 D6v00u10 ld (rbyt,y),a ; 90 D7v00u10 xor a,(rbyt,y) ; 90 D8v00u10 adc a,(rbyt,y) ; 90 D9v00u10 or a,(rbyt,y) ; 90 DAv00u10 add a,(rbyt,y) ; 90 DBv00u10 jp (rbyt,y) ; 90 DCv00u10 call (rbyt,y) ; 90 DDv00u10 ldw y,(rbyt,y) ; 90 DEv00u10 ldw (rbyt,y),x ; 90 DFv00u10 xgrp90_F: sub a,(y) ; 90 F0 cp a,(y) ; 90 F1 sbc a,(y) ; 90 F2 cpw x,(y) ; 90 F3 and a,(y) ; 90 F4 bcp a,(y) ; 90 F5 ld a,(y) ; 90 F6 ld (y),a ; 90 F7 xor a,(y) ; 90 F8 adc a,(y) ; 90 F9 or a,(y) ; 90 FA add a,(y) ; 90 FB jp (y) ; 90 FC call (y) ; 90 FD ldw y,(y) ; 90 FE ldw (y),x ; 90 FF .page .sbttl Page 91 STM8 Instructions External 1-Byte Promotion to 2-Byte xgrp91_0: xgrp91_1: xgrp91_2: xgrp91_3: xgrp91_4: xgrp91_5: xgrp91_6: neg ([rbyt],y) ; 91 60u10 ; 91 61 ; 91 62 cpl ([rbyt],y) ; 91 63u10 srl ([rbyt],y) ; 91 64u10 ; 91 65 rrc ([rbyt],y) ; 91 66u10 sra ([rbyt],y) ; 91 67u10 sla ([rbyt],y) ; 91 68u10 rlc ([rbyt],y) ; 91 69u10 dec ([rbyt],y) ; 91 6Au10 ; 91 6B inc ([rbyt],y) ; 91 6Cu10 tnz ([rbyt],y) ; 91 6Du10 swap ([rbyt],y) ; 91 6Eu10 clr ([rbyt],y) ; 91 6Fu10 xgrp91_7: .page xgrp91_8: xgrp91_9: xgrp91_A: ldf ([rwrd],y),a ; 91 A7v54u32 ldf a,([rwrd],y) ; 91 AFv54u32 xgrp91_B: xgrp91_C: cpw y,[rbyt] ; 91 C3u10 ldw y,[rbyt] ; 91 CEu10 ldw [rbyt],y ; 91 CFu10 xgrp91_D: sub a,([rbyt],y) ; 91 D0u10 cp a,([rbyt],y) ; 91 D1u10 sbc a,([rbyt],y) ; 91 D2u10 cpw x,([rbyt],y) ; 91 D3u10 and a,([rbyt],y) ; 91 D4u10 bcp a,([rbyt],y) ; 91 D5u10 ld a,([rbyt],y) ; 91 D6u10 ld ([rbyt],y),a ; 91 D7u10 xor a,([rbyt],y) ; 91 D8u10 adc a,([rbyt],y) ; 91 D9u10 or a,([rbyt],y) ; 91 DAu10 add a,([rbyt],y) ; 91 DBu10 jp ([rbyt],y) ; 91 DCu10 call ([rbyt],y) ; 91 DDu10 ldw y,([rbyt],y) ; 91 DEu10 ldw ([rbyt],y),x ; 91 DFu10 xgrp91_E: xgrp91_F: .page .sbttl Page 92 STM8 Instructions External 1-Byte Promotion to 2-Byte xgrp92_0: xgrp92_1: xgrp92_2: xgrp92_3: neg [rbyt] ; 72 30v00u10 ; 92 31 ; 92 32 cpl [rbyt] ; 72 33v00u10 srl [rbyt] ; 72 34v00u10 ; 92 35 rrc [rbyt] ; 72 36v00u10 sra [rbyt] ; 72 37v00u10 sla [rbyt] ; 72 38v00u10 rlc [rbyt] ; 72 39v00u10 dec [rbyt] ; 72 3Av00u10 ; 92 3B inc [rbyt] ; 72 3Cv00u10 tnz [rbyt] ; 72 3Dv00u10 swap [rbyt] ; 72 3Ev00u10 clr [rbyt] ; 72 3Fv00u10 xgrp92_4: xgrp92_5: xgrp92_6: neg ([rbyt],x) ; 72 60v00u10 ; 92 61 ; 92 62 cpl ([rbyt],x) ; 72 63v00u10 srl ([rbyt],x) ; 72 64v00u10 ; 92 65 rrc ([rbyt],x) ; 72 66v00u10 sra ([rbyt],x) ; 72 67v00u10 sla ([rbyt],x) ; 72 68v00u10 rlc ([rbyt],x) ; 72 69v00u10 dec ([rbyt],x) ; 72 6Av00u10 ; 92 6B inc ([rbyt],x) ; 72 6Cv00u10 tnz ([rbyt],x) ; 72 6Dv00u10 swap ([rbyt],x) ; 72 6Ev00u10 clr ([rbyt],x) ; 72 6Fv00u10 xgrp92_7: .page xgrp92_8: callf [rwrd] ; 92 8Dv54u32 xgrp92_9: xgrp92_A: ldf ([rwrd],x),a ; 92 A7v54u32 jpf [rwrd] ; 92 ACv54u32 ldf a,([rwrd],x) ; 92 AFv54u32 xgrp92_B: ldf a,[rwrd] ; 92 BCv54u32 ldf [rwrd],a ; 92 BDv54u32 xgrp92_C: sub a,[rbyt] ; 72 C0v00u10 cp a,[rbyt] ; 72 C1v00u10 sbc a,[rbyt] ; 72 C2v00u10 cpw x,[rbyt] ; 72 C3v00u10 and a,[rbyt] ; 72 C4v00u10 bcp a,[rbyt] ; 72 C5v00u10 ld a,[rbyt] ; 72 C6v00u10 ld [rbyt],a ; 72 C7v00u10 xor a,[rbyt] ; 72 C8v00u10 adc a,[rbyt] ; 72 C9v00u10 or a,[rbyt] ; 72 CAv00u10 add a,[rbyt] ; 72 CBv00u10 jp [rbyt] ; 72 CCv00u10 call [rbyt] ; 72 CDv00u10 ldw x,[rbyt] ; 72 CEv00u10 ldw [rbyt],x ; 72 CFv00u10 xgrp92_D: sub a,([rbyt],x) ; 72 D0v00u10 cp a,([rbyt],x) ; 72 D1v00u10 sbc a,([rbyt],x) ; 72 D2v00u10 cpw y,([rbyt],x) ; 72 D3v00u10 and a,([rbyt],x) ; 72 D4v00u10 bcp a,([rbyt],x) ; 72 D5v00u10 ld a,([rbyt],x) ; 72 D6v00u10 ld ([rbyt],x),a ; 72 D7v00u10 xor a,([rbyt],x) ; 72 D8v00u10 adc a,([rbyt],x) ; 72 D9v00u10 or a,([rbyt],x) ; 72 DAv00u10 add a,([rbyt],x) ; 72 DBv00u10 jp ([rbyt],x) ; 72 DCv00u10 call ([rbyt],x) ; 72 DDv00u10 ldw x,([rbyt],x) ; 72 DEv00u10 ldw ([rbyt],x),y ; 72 DFv00u10 xgrp92_E: xgrp92_F: .undefine rbyt .undefine rwrd .undefine rexa .end