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