1	.text
2	.org 0
3	;; eZ80 instructions
4
5; AND A,x group
6	and	a,a
7	and	a,b
8	and	a,c
9	and	a,d
10	and	a,e
11	and	a,h
12	and	a,l
13	and	a,(hl)
14	and	a,0xaa
15	and	a,(ix+5)
16	and	a,(iy-5)
17; CP A,x group
18	cp	a,a
19	cp	a,b
20	cp	a,c
21	cp	a,d
22	cp	a,e
23	cp	a,h
24	cp	a,l
25	cp	a,(hl)
26	cp	a,0xaa
27	cp	a,(ix+5)
28	cp	a,(iy-5)
29
30; OR A,x group
31	or	a,a
32	or	a,b
33	or	a,c
34	or	a,d
35	or	a,e
36	or	a,h
37	or	a,l
38	or	a,(hl)
39	or	a,0xaa
40	or	a,(ix+5)
41	or	a,(iy-5)
42
43; SUB A,x group
44	sub	a,a
45	sub	a,b
46	sub	a,c
47	sub	a,d
48	sub	a,e
49	sub	a,h
50	sub	a,l
51	sub	a,(hl)
52	sub	a,0xaa
53	sub	a,(ix+5)
54	sub	a,(iy-5)
55
56; TST A,x group
57	tst	a,a
58	tst	a,b
59	tst	a,c
60	tst	a,d
61	tst	a,e
62	tst	a,h
63	tst	a,l
64	tst	a,(hl)
65	tst	a,0x0f
66
67; XOR A,x group
68	xor	a,a
69	xor	a,b
70	xor	a,c
71	xor	a,d
72	xor	a,e
73	xor	a,h
74	xor	a,l
75	xor	a,(hl)
76	xor	a,0xaa
77	xor	a,(ix+5)
78	xor	a,(iy-5)
79
80; IN r,(BC) group (new naming)
81	in a,(bc)
82	in b,(bc)
83	in c,(bc)
84	in d,(bc)
85	in e,(bc)
86	in h,(bc)
87	in l,(bc)
88
89; OUT (BC),r group (new naming)
90	out (bc),a
91	out (bc),b
92	out (bc),c
93	out (bc),d
94	out (bc),e
95	out (bc),h
96	out (bc),l
97
98; LD rr,(ii+d) group
99	ld	bc,(ix-7)
100	ld	de,(ix-7)
101	ld	hl,(ix-7)
102	ld	ix,(ix-7)
103	ld	iy,(ix-7)
104
105	ld	bc,(iy+38)
106	ld	de,(iy+38)
107	ld	hl,(iy+38)
108	ld	ix,(iy+38)
109	ld	iy,(iy+38)
110
111; LD (ii+d),rr group
112	ld	(ix+126),bc
113	ld	(ix+126),de
114	ld	(ix+126),hl
115	ld	(ix+126),ix
116	ld	(ix+126),iy
117	ld	(iy-98),bc
118	ld	(iy-98),de
119	ld	(iy-98),hl
120	ld	(iy-98),ix
121	ld	(iy-98),iy
122
123; LEA rr,ii+d group
124	lea	bc,ix-27
125	lea	de,ix-27
126	lea	hl,ix-27
127	lea	ix,ix-27
128	lea	iy,ix-27
129	lea	bc,iy+12
130	lea	de,iy+12
131	lea	hl,iy+12
132	lea	ix,iy+12
133	lea	iy,iy+12
134
135; PEA ii+d group
136	pea	ix+127
137	pea	iy-128
138
139; IN0 group
140	in0 a,(0x5)
141	in0 b,(0x5)
142	in0 c,(0x5)
143	in0 d,(0x5)
144	in0 e,(0x5)
145	in0 h,(0x5)
146	in0 l,(0x5)
147
148; OUT0 group
149	out0 (0x5),a
150	out0 (0x5),b
151	out0 (0x5),c
152	out0 (0x5),d
153	out0 (0x5),e
154	out0 (0x5),h
155	out0 (0x5),l
156
157; MLT group
158	mlt bc
159	mlt de
160	mlt hl
161	mlt sp
162
163; TSTIO instruction
164	tstio 0f0h
165
166; SLP instruction
167	slp
168
169; ADLMIX flag manipulation instructions
170	stmix
171	rsmix
172
173; Additional block I/O instructions
174	inim
175	otim
176	ini2
177	indm
178	otdm
179	ind2
180	inimr
181	otimr
182	ini2r
183	indmr
184	otdmr
185	ind2r
186	outi2
187	outd2
188	oti2r
189	otd2r
190	inirx
191	otirx
192	indrx
193	otdrx
194
195; Index registers halves
196	ld a,ixh
197	ld b,ixh
198	ld c,ixh
199	ld d,ixh
200	ld e,ixh
201	ld ixh,ixh
202	ld ixl,ixh
203	ld a,ixl
204	ld b,ixl
205	ld c,ixl
206	ld d,ixl
207	ld e,ixl
208	ld ixh,ixl
209	ld ixl,ixl
210	ld a,iyh
211	ld b,iyh
212	ld c,iyh
213	ld d,iyh
214	ld e,iyh
215	ld iyh,iyh
216	ld iyl,iyh
217	ld a,iyl
218	ld b,iyl
219	ld c,iyl
220	ld d,iyl
221	ld e,iyl
222	ld iyh,iyl
223	ld iyl,iyl
224	ld ixh,a
225	ld ixh,b
226	ld ixh,c
227	ld ixh,d
228	ld ixh,e
229	ld ixh,ixh
230	ld ixh,ixl
231	ld ixh,25
232	ld ixl,a
233	ld ixl,b
234	ld ixl,c
235	ld ixl,d
236	ld ixl,e
237	ld ixl,ixh
238	ld ixl,ixl
239	ld ixl,25
240	ld iyh,a
241	ld iyh,b
242	ld iyh,c
243	ld iyh,d
244	ld iyh,e
245	ld iyh,iyh
246	ld iyh,iyl
247	ld iyh,25
248	ld iyl,a
249	ld iyl,b
250	ld iyl,c
251	ld iyl,d
252	ld iyl,e
253	ld iyl,iyh
254	ld iyl,iyl
255	ld iyl,25
256	add a,ixh
257	add a,ixl
258	add a,iyh
259	add a,iyl
260	adc a,ixh
261	adc a,ixl
262	adc a,iyh
263	adc a,iyl
264	cp a,ixh
265	cp a,ixl
266	cp a,iyh
267	cp a,iyl
268	dec ixh
269	dec ixl
270	dec iyh
271	dec iyl
272	inc ixh
273	inc ixl
274	inc iyh
275	inc iyl
276	sbc a,ixh
277	sbc a,ixl
278	sbc a,iyh
279	sbc a,iyl
280	sub a,ixh
281	sub a,ixl
282	sub a,iyh
283	sub a,iyl
284	and a,ixh
285	and a,ixl
286	and a,iyh
287	and a,iyl
288	or a,ixh
289	or a,ixl
290	or a,iyh
291	or a,iyl
292	xor a,ixh
293	xor a,ixl
294	xor a,iyh
295	xor a,iyl
296
297; Special ADL mode only instructions
298	ld i,hl
299	ld hl,i
300	ld mb,a
301	ld a,mb
302
303; Standard Z80 instructions
304
305	adc a,(hl)
306	adc a,(ix+9)
307	adc a,(iy+9)
308	adc a,3
309	adc a,a
310	adc a,b
311	adc a,c
312	adc a,d
313	adc a,e
314	adc a,h
315	adc a,l
316	adc hl,bc
317	adc hl,de
318	adc hl,hl
319	adc hl,sp
320	add a,(hl)
321	add a,(ix+9)
322	add a,(iy+9)
323	add a,3
324	add a,a
325	add a,b
326	add a,c
327	add a,d
328	add a,e
329	add a,h
330	add a,l
331	add hl,bc
332	add hl,de
333	add hl,hl
334	add hl,sp
335	add ix,bc
336	add ix,de
337	add ix,ix
338	add ix,sp
339	add iy,bc
340	add iy,de
341	add iy,iy
342	add iy,sp
343	and (hl)
344	and (ix+9)
345	and (iy+9)
346	and 3
347	and a
348	and b
349	and c
350	and d
351	and e
352	and h
353	and l
354	bit 0,(hl)
355	bit 0,(ix+9)
356	bit 0,(iy+9)
357	bit 0,a
358	bit 0,b
359	bit 0,c
360	bit 0,d
361	bit 0,e
362	bit 0,h
363	bit 0,l
364	bit 1,(hl)
365	bit 1,(ix+9)
366	bit 1,(iy+9)
367	bit 1,a
368	bit 1,b
369	bit 1,c
370	bit 1,d
371	bit 1,e
372	bit 1,h
373	bit 1,l
374	bit 2,(hl)
375	bit 2,(ix+9)
376	bit 2,(iy+9)
377	bit 2,a
378	bit 2,b
379	bit 2,c
380	bit 2,d
381	bit 2,e
382	bit 2,h
383	bit 2,l
384	bit 3,(hl)
385	bit 3,(ix+9)
386	bit 3,(iy+9)
387	bit 3,a
388	bit 3,b
389	bit 3,c
390	bit 3,d
391	bit 3,e
392	bit 3,h
393	bit 3,l
394	bit 4,(hl)
395	bit 4,(ix+9)
396	bit 4,(iy+9)
397	bit 4,a
398	bit 4,b
399	bit 4,c
400	bit 4,d
401	bit 4,e
402	bit 4,h
403	bit 4,l
404	bit 5,(hl)
405	bit 5,(ix+9)
406	bit 5,(iy+9)
407	bit 5,a
408	bit 5,b
409	bit 5,c
410	bit 5,d
411	bit 5,e
412	bit 5,h
413	bit 5,l
414	bit 6,(hl)
415	bit 6,(ix+9)
416	bit 6,(iy+9)
417	bit 6,a
418	bit 6,b
419	bit 6,c
420	bit 6,d
421	bit 6,e
422	bit 6,h
423	bit 6,l
424	bit 7,(hl)
425	bit 7,(ix+9)
426	bit 7,(iy+9)
427	bit 7,a
428	bit 7,b
429	bit 7,c
430	bit 7,d
431	bit 7,e
432	bit 7,h
433	bit 7,l
434	call 0x123456
435	call c,0x123456
436	call m,0x123456
437	call nc,0x123456
438	call nz,0x123456
439	call p,0x123456
440	call pe,0x123456
441	call po,0x123456
442	call z,0x123456
443	ccf
444	cp (hl)
445	cp (ix+9)
446	cp (iy+9)
447	cp 03
448	cp a
449	cp b
450	cp c
451	cp d
452	cp e
453	cp h
454	cp l
455	cpd
456	cpdr
457	cpi
458	cpir
459	cpl
460	daa
461	dec (hl)
462	dec (ix+9)
463	dec (iy+9)
464	dec a
465	dec b
466	dec bc
467	dec c
468	dec d
469	dec de
470	dec e
471	dec h
472	dec hl
473	dec ix
474	dec iy
475	dec l
476	dec sp
477	di
478	djnz .+7
479	ei
480	ex (sp),hl
481	ex (sp),ix
482	ex (sp),iy
483	ex af,af'	;'
484	ex de,hl
485	exx
486	halt
487	im 0
488	im 1
489	im 2
490	in a,(c)
491	in a,(3)
492	in b,(c)
493	in c,(c)
494	in d,(c)
495	in e,(c)
496	in h,(c)
497	in l,(c)
498	inc (hl)
499	inc (ix+9)
500	inc (iy+9)
501	inc a
502	inc b
503	inc bc
504	inc c
505	inc d
506	inc de
507	inc e
508	inc h
509	inc hl
510	inc ix
511	inc iy
512	inc l
513	inc sp
514	ind
515	indr
516	ini
517	inir
518	jp (hl)
519	jp (ix)
520	jp (iy)
521	jp 0x123456
522	jp c,0x123456
523	jp m,0x123456
524	jp nc,0x123456
525	jp nz,0x123456
526	jp p,0x123456
527	jp pe,0x123456
528	jp po,0x123456
529	jp z,0x123456
530	jr .+7
531	jr c,.+7
532	jr nc,.+7
533	jr nz,.+7
534	jr z,.+7
535	ld (0x123456),a
536	ld (0x123456),bc
537	ld (0x123456),de
538	ld (0x123456),hl
539	ld (0x123456),ix
540	ld (0x123456),iy
541	ld (0x123456),sp
542	ld (bc),a
543	ld (de),a
544	ld (hl),3
545	ld (hl),a
546	ld (hl),b
547	ld (hl),c
548	ld (hl),d
549	ld (hl),e
550	ld (hl),h
551	ld (hl),l
552	ld (ix+9),3
553	ld (ix+9),a
554	ld (ix+9),b
555	ld (ix+9),c
556	ld (ix+9),d
557	ld (ix+9),e
558	ld (ix+9),h
559	ld (ix+9),l
560	ld (iy+9),3
561	ld (iy+9),a
562	ld (iy+9),b
563	ld (iy+9),c
564	ld (iy+9),d
565	ld (iy+9),e
566	ld (iy+9),h
567	ld (iy+9),l
568	ld a,(0x123456)
569	ld a,(bc)
570	ld a,(de)
571	ld a,(hl)
572	ld a,(ix+9)
573	ld a,(iy+9)
574	ld a,3
575	ld a,a
576	ld a,b
577	ld a,c
578	ld a,d
579	ld a,e
580	ld a,h
581	ld a,i
582	ld a,l
583	ld a,r
584	ld b,(hl)
585	ld b,(ix+9)
586	ld b,(iy+9)
587	ld b,3
588	ld b,a
589	nop ;ld b,b
590	ld b,c
591	ld b,d
592	ld b,e
593	ld b,h
594	ld b,l
595	ld bc,(0x123456)
596	ld bc,0x123456
597	ld c,(hl)
598	ld c,(ix+9)
599	ld c,(iy+9)
600	ld c,3
601	ld c,a
602	ld c,b
603	nop ;ld c,c
604	ld c,d
605	ld c,e
606	ld c,h
607	ld c,l
608	ld d,(hl)
609	ld d,(ix+9)
610	ld d,(iy+9)
611	ld d,3
612	ld d,a
613	ld d,b
614	ld d,c
615	nop ;ld d,d
616	ld d,e
617	ld d,h
618	ld d,l
619	ld de,(0x123456)
620	ld de,0x123456
621	ld e,(hl)
622	ld e,(ix+9)
623	ld e,(iy+9)
624	ld e,3
625	ld e,a
626	ld e,b
627	ld e,c
628	ld e,d
629	nop ;ld e,e
630	ld e,h
631	ld e,l
632	ld h,(hl)
633	ld h,(ix+9)
634	ld h,(iy+9)
635	ld h,3
636	ld h,a
637	ld h,b
638	ld h,c
639	ld h,d
640	ld h,e
641	ld h,h
642	ld h,l
643	ld hl,(0x123456)
644	ld hl,0x123456
645	ld i,a
646	ld ix,(0x123456)
647	ld ix,0x123456
648	ld iy,(0x123456)
649	ld iy,0x123456
650	ld l,(hl)
651	ld l,(ix+9)
652	ld l,(iy+9)
653	ld l,3
654	ld l,a
655	ld l,b
656	ld l,c
657	ld l,d
658	ld l,e
659	ld l,h
660	ld l,l
661	ld r,a
662	ld sp,(0x123456)
663	ld sp,0x123456
664	ld sp,hl
665	ld sp,ix
666	ld sp,iy
667	ldd
668	lddr
669	ldi
670	ldir
671	neg
672	nop
673	or (hl)
674	or (ix+9)
675	or (iy+9)
676	or 3
677	or a
678	or b
679	or c
680	or d
681	or e
682	or h
683	or l
684	otdr
685	otir
686	out (c),a
687	out (c),b
688	out (c),c
689	out (c),d
690	out (c),e
691	out (c),h
692	out (c),l
693	out (3),a
694	outd
695	outi
696	pop af
697	pop bc
698	pop de
699	pop hl
700	pop ix
701	pop iy
702	push af
703	push bc
704	push de
705	push hl
706	push ix
707	push iy
708	res 0,(hl)
709	res 0,(ix+9)
710	res 0,(iy+9)
711	res 0,a
712	res 0,b
713	res 0,c
714	res 0,d
715	res 0,e
716	res 0,h
717	res 0,l
718	res 1,(hl)
719	res 1,(ix+9)
720	res 1,(iy+9)
721	res 1,a
722	res 1,b
723	res 1,c
724	res 1,d
725	res 1,e
726	res 1,h
727	res 1,l
728	res 2,(hl)
729	res 2,(ix+9)
730	res 2,(iy+9)
731	res 2,a
732	res 2,b
733	res 2,c
734	res 2,d
735	res 2,e
736	res 2,h
737	res 2,l
738	res 3,(hl)
739	res 3,(ix+9)
740	res 3,(iy+9)
741	res 3,a
742	res 3,b
743	res 3,c
744	res 3,d
745	res 3,e
746	res 3,h
747	res 3,l
748	res 4,(hl)
749	res 4,(ix+9)
750	res 4,(iy+9)
751	res 4,a
752	res 4,b
753	res 4,c
754	res 4,d
755	res 4,e
756	res 4,h
757	res 4,l
758	res 5,(hl)
759	res 5,(ix+9)
760	res 5,(iy+9)
761	res 5,a
762	res 5,b
763	res 5,c
764	res 5,d
765	res 5,e
766	res 5,h
767	res 5,l
768	res 6,(hl)
769	res 6,(ix+9)
770	res 6,(iy+9)
771	res 6,a
772	res 6,b
773	res 6,c
774	res 6,d
775	res 6,e
776	res 6,h
777	res 6,l
778	res 7,(hl)
779	res 7,(ix+9)
780	res 7,(iy+9)
781	res 7,a
782	res 7,b
783	res 7,c
784	res 7,d
785	res 7,e
786	res 7,h
787	res 7,l
788	ret
789	ret c
790	ret m
791	ret nc
792	ret nz
793	ret p
794	ret pe
795	ret po
796	ret z
797	reti
798	retn
799	rl (hl)
800	rl (ix+9)
801	rl (iy+9)
802	rl a
803	rl b
804	rl c
805	rl d
806	rl e
807	rl h
808	rl l
809	rla
810	rlc (hl)
811	rlc (ix+9)
812	rlc (iy+9)
813	rlc a
814	rlc b
815	rlc c
816	rlc d
817	rlc e
818	rlc h
819	rlc l
820	rlca
821	rld
822	rr (hl)
823	rr (ix+9)
824	rr (iy+9)
825	rr a
826	rr b
827	rr c
828	rr d
829	rr e
830	rr h
831	rr l
832	rra
833	rrc (hl)
834	rrc (ix+9)
835	rrc (iy+9)
836	rrc a
837	rrc b
838	rrc c
839	rrc d
840	rrc e
841	rrc h
842	rrc l
843	rrca
844	rrd
845	rst 0x00
846	rst 0x08
847	rst 0x10
848	rst 0x18
849	rst 0x20
850	rst 0x28
851	rst 0x30
852	rst 0x38
853	sbc a,(hl)
854	sbc a,(ix+9)
855	sbc a,(iy+9)
856	sbc a,3
857	sbc a,a
858	sbc a,b
859	sbc a,c
860	sbc a,d
861	sbc a,e
862	sbc a,h
863	sbc a,l
864	sbc hl,bc
865	sbc hl,de
866	sbc hl,hl
867	sbc hl,sp
868	scf
869	set 0,(hl)
870	set 0,(ix+9)
871	set 0,(iy+9)
872	set 0,a
873	set 0,b
874	set 0,c
875	set 0,d
876	set 0,e
877	set 0,h
878	set 0,l
879	set 1,(hl)
880	set 1,(ix+9)
881	set 1,(iy+9)
882	set 1,a
883	set 1,b
884	set 1,c
885	set 1,d
886	set 1,e
887	set 1,h
888	set 1,l
889	set 2,(hl)
890	set 2,(ix+9)
891	set 2,(iy+9)
892	set 2,a
893	set 2,b
894	set 2,c
895	set 2,d
896	set 2,e
897	set 2,h
898	set 2,l
899	set 3,(hl)
900	set 3,(ix+9)
901	set 3,(iy+9)
902	set 3,a
903	set 3,b
904	set 3,c
905	set 3,d
906	set 3,e
907	set 3,h
908	set 3,l
909	set 4,(hl)
910	set 4,(ix+9)
911	set 4,(iy+9)
912	set 4,a
913	set 4,b
914	set 4,c
915	set 4,d
916	set 4,e
917	set 4,h
918	set 4,l
919	set 5,(hl)
920	set 5,(ix+9)
921	set 5,(iy+9)
922	set 5,a
923	set 5,b
924	set 5,c
925	set 5,d
926	set 5,e
927	set 5,h
928	set 5,l
929	set 6,(hl)
930	set 6,(ix+9)
931	set 6,(iy+9)
932	set 6,a
933	set 6,b
934	set 6,c
935	set 6,d
936	set 6,e
937	set 6,h
938	set 6,l
939	set 7,(hl)
940	set 7,(ix+9)
941	set 7,(iy+9)
942	set 7,a
943	set 7,b
944	set 7,c
945	set 7,d
946	set 7,e
947	set 7,h
948	set 7,l
949	sla (hl)
950	sla (ix+9)
951	sla (iy+9)
952	sla a
953	sla b
954	sla c
955	sla d
956	sla e
957	sla h
958	sla l
959	sra (hl)
960	sra (ix+9)
961	sra (iy+9)
962	sra a
963	sra b
964	sra c
965	sra d
966	sra e
967	sra h
968	sra l
969	srl (hl)
970	srl (ix+9)
971	srl (iy+9)
972	srl a
973	srl b
974	srl c
975	srl d
976	srl e
977	srl h
978	srl l
979	sub (hl)
980	sub (ix+9)
981	sub (iy+9)
982	sub 3
983	sub a
984	sub b
985	sub c
986	sub d
987	sub e
988	sub h
989	sub l
990	xor (hl)
991	xor (ix+9)
992	xor (iy+9)
993	xor 3
994	xor a
995	xor b
996	xor c
997	xor d
998	xor e
999	xor h
1000	xor l
1001	ld	bc,(hl)
1002	ld	de,(hl)
1003	ld	hl,(hl)
1004	ld	ix,(hl)
1005	ld	iy,(hl)
1006	ld	(hl),bc
1007	ld	(hl),de
1008	ld	(hl),hl
1009	ld	(hl),ix
1010	ld	(hl),iy
1011