	.text
	.org 0

	adc a,(hl)
	adc a,(ix+9)
	adc a,(iy+9)
	adc a,3
	adc a,a
	adc a,b
	adc a,c
	adc a,d
	adc a,e
	adc a,h
	adc a,l
	adc hl,bc
	adc hl,de
	adc hl,hl
	adc hl,sp
	add a,(hl)
	add a,(ix+9)
	add a,(iy+9)
	add a,3
	add a,a
	add a,b
	add a,c
	add a,d
	add a,e
	add a,h
	add a,l
	add hl,bc
	add hl,de
	add hl,hl
	add hl,sp
	add ix,bc
	add ix,de
	add ix,ix
	add ix,sp
	add iy,bc
	add iy,de
	add iy,iy
	add iy,sp
	and (hl)
	and (ix+9)
	and (iy+9)
	and 3
	and a
	and b
	and c
	and d
	and e
	and h
	and l
	bit 0,(hl)
	bit 0,(ix+9)
	bit 0,(iy+9)
	bit 0,a
	bit 0,b
	bit 0,c
	bit 0,d
	bit 0,e
	bit 0,h
	bit 0,l
	bit 1,(hl)
	bit 1,(ix+9)
	bit 1,(iy+9)
	bit 1,a
	bit 1,b
	bit 1,c
	bit 1,d
	bit 1,e
	bit 1,h
	bit 1,l
	bit 2,(hl)
	bit 2,(ix+9)
	bit 2,(iy+9)
	bit 2,a
	bit 2,b
	bit 2,c
	bit 2,d
	bit 2,e
	bit 2,h
	bit 2,l
	bit 3,(hl)
	bit 3,(ix+9)
	bit 3,(iy+9)
	bit 3,a
	bit 3,b
	bit 3,c
	bit 3,d
	bit 3,e
	bit 3,h
	bit 3,l
	bit 4,(hl)
	bit 4,(ix+9)
	bit 4,(iy+9)
	bit 4,a
	bit 4,b
	bit 4,c
	bit 4,d
	bit 4,e
	bit 4,h
	bit 4,l
	bit 5,(hl)
	bit 5,(ix+9)
	bit 5,(iy+9)
	bit 5,a
	bit 5,b
	bit 5,c
	bit 5,d
	bit 5,e
	bit 5,h
	bit 5,l
	bit 6,(hl)
	bit 6,(ix+9)
	bit 6,(iy+9)
	bit 6,a
	bit 6,b
	bit 6,c
	bit 6,d
	bit 6,e
	bit 6,h
	bit 6,l
	bit 7,(hl)
	bit 7,(ix+9)
	bit 7,(iy+9)
	bit 7,a
	bit 7,b
	bit 7,c
	bit 7,d
	bit 7,e
	bit 7,h
	bit 7,l
	call 0x1234
	call c,0x1234
	call m,0x1234
	call nc,0x1234
	call nz,0x1234
	call p,0x1234
	call pe,0x1234
	call po,0x1234
	call z,0x1234
	ccf
	cp (hl)
	cp (ix+9)
	cp (iy+9)
	cp 03
	cp a
	cp b
	cp c
	cp d
	cp e
	cp h
	cp l
	cpd
	cpdr
	cpi
	cpir
	cpl
	daa
	dec (hl)
	dec (ix+9)
	dec (iy+9)
	dec a
	dec b
	dec bc
	dec c
	dec d
	dec de
	dec e
	dec h
	dec hl
	dec ix
	dec iy
	dec l
	dec sp
	di
	djnz .+7
	ei
	ex (sp),hl
	ex (sp),ix
	ex (sp),iy
	ex af,af'
	ex de,hl
	exx
	halt
	im 0
	im 1
	im 2
	in a,(c)
	in a,(3)
	in b,(c)
	in c,(c)
	in d,(c)
	in e,(c)
	in h,(c)
	in l,(c)
	inc (hl)
	inc (ix+9)
	inc (iy+9)
	inc a
	inc b
	inc bc
	inc c
	inc d
	inc de
	inc e
	inc h
	inc hl
	inc ix
	inc iy
	inc l
	inc sp
	ind
	indr
	ini
	inir
	jp (hl)
	jp (ix)
	jp (iy)
	jp 0x1234
	jp c,0x1234
	jp m,0x1234
	jp nc,0x1234
	jp nz,0x1234
	jp p,0x1234
	jp pe,0x1234
	jp po,0x1234
	jp z,0x1234
	jr .+7
	jr c,.+7
	jr nc,.+7
	jr nz,.+7
	jr z,.+7
	ld (0x1234),a
	ld (0x1234),bc
	ld (0x1234),de
	ld (0x1234),hl
	ld (0x1234),ix
	ld (0x1234),iy
	ld (0x1234),sp
	ld (bc),a
	ld (de),a
	ld (hl),3
	ld (hl),a
	ld (hl),b
	ld (hl),c
	ld (hl),d
	ld (hl),e
	ld (hl),h
	ld (hl),l
	ld (ix+9),3
	ld (ix+9),a
	ld (ix+9),b
	ld (ix+9),c
	ld (ix+9),d
	ld (ix+9),e
	ld (ix+9),h
	ld (ix+9),l
	ld (iy+9),3
	ld (iy+9),a
	ld (iy+9),b
	ld (iy+9),c
	ld (iy+9),d
	ld (iy+9),e
	ld (iy+9),h
	ld (iy+9),l
	ld a,(0x1234)
	ld a,(bc)
	ld a,(de)
	ld a,(hl)
	ld a,(ix+9)
	ld a,(iy+9)
	ld a,3
	ld a,a
	ld a,b
	ld a,c
	ld a,d
	ld a,e
	ld a,h
	ld a,i
	ld a,l
	ld a,r
	ld b,(hl)
	ld b,(ix+9)
	ld b,(iy+9)
	ld b,3
	ld b,a
	ld b,b
	ld b,c
	ld b,d
	ld b,e
	ld b,h
	ld b,l
	ld bc,(0x1234)
	ld bc,0x1234
	ld c,(hl)
	ld c,(ix+9)
	ld c,(iy+9)
	ld c,3
	ld c,a
	ld c,b
	ld c,c
	ld c,d
	ld c,e
	ld c,h
	ld c,l
	ld d,(hl)
	ld d,(ix+9)
	ld d,(iy+9)
	ld d,3
	ld d,a
	ld d,b
	ld d,c
	ld d,d
	ld d,e
	ld d,h
	ld d,l
	ld de,(0x1234)
	ld de,0x1234
	ld e,(hl)
	ld e,(ix+9)
	ld e,(iy+9)
	ld e,3
	ld e,a
	ld e,b
	ld e,c
	ld e,d
	ld e,e
	ld e,h
	ld e,l
	ld h,(hl)
	ld h,(ix+9)
	ld h,(iy+9)
	ld h,3
	ld h,a
	ld h,b
	ld h,c
	ld h,d
	ld h,e
	ld h,h
	ld h,l
	ld hl,(0x1234)
	ld hl,0x1234
	ld i,a
	ld ix,(0x1234)
	ld ix,0x1234
	ld iy,(0x1234)
	ld iy,0x1234
	ld l,(hl)
	ld l,(ix+9)
	ld l,(iy+9)
	ld l,3
	ld l,a
	ld l,b
	ld l,c
	ld l,d
	ld l,e
	ld l,h
	ld l,l
	ld r,a
	ld sp,(0x1234)
	ld sp,0x1234
	ld sp,hl
	ld sp,ix
	ld sp,iy
	ldd
	lddr
	ldi
	ldir
	neg
	nop
	or (hl)
	or (ix+9)
	or (iy+9)
	or 3
	or a
	or b
	or c
	or d
	or e
	or h
	or l
	otdr
	otir
	out (c),a
	out (c),b
	out (c),c
	out (c),d
	out (c),e
	out (c),h
	out (c),l
	out (3),a
	outd
	outi
	pop af
	pop bc
	pop de
	pop hl
	pop ix
	pop iy
	push af
	push bc
	push de
	push hl
	push ix
	push iy
	res 0,(hl)
	res 0,(ix+9)
	res 0,(iy+9)
	res 0,a
	res 0,b
	res 0,c
	res 0,d
	res 0,e
	res 0,h
	res 0,l
	res 1,(hl)
	res 1,(ix+9)
	res 1,(iy+9)
	res 1,a
	res 1,b
	res 1,c
	res 1,d
	res 1,e
	res 1,h
	res 1,l
	res 2,(hl)
	res 2,(ix+9)
	res 2,(iy+9)
	res 2,a
	res 2,b
	res 2,c
	res 2,d
	res 2,e
	res 2,h
	res 2,l
	res 3,(hl)
	res 3,(ix+9)
	res 3,(iy+9)
	res 3,a
	res 3,b
	res 3,c
	res 3,d
	res 3,e
	res 3,h
	res 3,l
	res 4,(hl)
	res 4,(ix+9)
	res 4,(iy+9)
	res 4,a
	res 4,b
	res 4,c
	res 4,d
	res 4,e
	res 4,h
	res 4,l
	res 5,(hl)
	res 5,(ix+9)
	res 5,(iy+9)
	res 5,a
	res 5,b
	res 5,c
	res 5,d
	res 5,e
	res 5,h
	res 5,l
	res 6,(hl)
	res 6,(ix+9)
	res 6,(iy+9)
	res 6,a
	res 6,b
	res 6,c
	res 6,d
	res 6,e
	res 6,h
	res 6,l
	res 7,(hl)
	res 7,(ix+9)
	res 7,(iy+9)
	res 7,a
	res 7,b
	res 7,c
	res 7,d
	res 7,e
	res 7,h
	res 7,l
	ret
	ret c
	ret m
	ret nc
	ret nz
	ret p
	ret pe
	ret po
	ret z
	reti
	retn
	rl (hl)
	rl (ix+9)
	rl (iy+9)
	rl a
	rl b
	rl c
	rl d
	rl e
	rl h
	rl l
	rla
	rlc (hl)
	rlc (ix+9)
	rlc (iy+9)
	rlc a
	rlc b
	rlc c
	rlc d
	rlc e
	rlc h
	rlc l
	rlca
	rld
	rr (hl)
	rr (ix+9)
	rr (iy+9)
	rr a
	rr b
	rr c
	rr d
	rr e
	rr h
	rr l
	rra
	rrc (hl)
	rrc (ix+9)
	rrc (iy+9)
	rrc a
	rrc b
	rrc c
	rrc d
	rrc e
	rrc h
	rrc l
	rrca
	rrd
	rst 0x00
	rst 0x08
	rst 0x10
	rst 0x18
	rst 0x20
	rst 0x28
	rst 0x30
	rst 0x38
	sbc a,(hl)
	sbc a,(ix+9)
	sbc a,(iy+9)
	sbc a,3
	sbc a,a
	sbc a,b
	sbc a,c
	sbc a,d
	sbc a,e
	sbc a,h
	sbc a,l
	sbc hl,bc
	sbc hl,de
	sbc hl,hl
	sbc hl,sp
	scf
	set 0,(hl)
	set 0,(ix+9)
	set 0,(iy+9)
	set 0,a
	set 0,b
	set 0,c
	set 0,d
	set 0,e
	set 0,h
	set 0,l
	set 1,(hl)
	set 1,(ix+9)
	set 1,(iy+9)
	set 1,a
	set 1,b
	set 1,c
	set 1,d
	set 1,e
	set 1,h
	set 1,l
	set 2,(hl)
	set 2,(ix+9)
	set 2,(iy+9)
	set 2,a
	set 2,b
	set 2,c
	set 2,d
	set 2,e
	set 2,h
	set 2,l
	set 3,(hl)
	set 3,(ix+9)
	set 3,(iy+9)
	set 3,a
	set 3,b
	set 3,c
	set 3,d
	set 3,e
	set 3,h
	set 3,l
	set 4,(hl)
	set 4,(ix+9)
	set 4,(iy+9)
	set 4,a
	set 4,b
	set 4,c
	set 4,d
	set 4,e
	set 4,h
	set 4,l
	set 5,(hl)
	set 5,(ix+9)
	set 5,(iy+9)
	set 5,a
	set 5,b
	set 5,c
	set 5,d
	set 5,e
	set 5,h
	set 5,l
	set 6,(hl)
	set 6,(ix+9)
	set 6,(iy+9)
	set 6,a
	set 6,b
	set 6,c
	set 6,d
	set 6,e
	set 6,h
	set 6,l
	set 7,(hl)
	set 7,(ix+9)
	set 7,(iy+9)
	set 7,a
	set 7,b
	set 7,c
	set 7,d
	set 7,e
	set 7,h
	set 7,l
	sla (hl)
	sla (ix+9)
	sla (iy+9)
	sla a
	sla b
	sla c
	sla d
	sla e
	sla h
	sla l
	sra (hl)
	sra (ix+9)
	sra (iy+9)
	sra a
	sra b
	sra c
	sra d
	sra e
	sra h
	sra l
	srl (hl)
	srl (ix+9)
	srl (iy+9)
	srl a
	srl b
	srl c
	srl d
	srl e
	srl h
	srl l
	sub (hl)
	sub (ix+9)
	sub (iy+9)
	sub 3
	sub a
	sub b
	sub c
	sub d
	sub e
	sub h
	sub l
	xor (hl)
	xor (ix+9)
	xor (iy+9)
	xor 3
	xor a
	xor b
	xor c
	xor d
	xor e
	xor h
	xor l
