Add support for the GBZ80, Z180, and eZ80 variants of the Z80 architecure. Add an ELF based target for these as well.

PR 25224
bfd	* Makefile.am: Add z80-elf target support.
	* configure.ac: Likewise.
	* targets.c: Likewise.
	* config.bfd: Add z80-elf target support and new arches: ez80 and z180.
	* elf32-z80.c: New file.
	* archures.c: Add new z80 architectures: eZ80 and Z180.
	* coffcode.h: Likewise.
	* cpu-z80.c: Likewise.
	* bfd-in2.h: Likewise plus additional Z80 relocations.
	* coff-z80.c: Add new relocations for Z80 target and local label check.

gas	* config/tc-z80.c: Add new architectures: Z180 and eZ80. Add support
	for assembler code generated by SDCC. Add new relocation types. Add
	z80-elf target support.
	* config/tc-z80.h: Add z80-elf target support. Enable dollar local
	labels. Local labels starts from ".L".
	* testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
	* testsuite/gas/all/fwdexp.s: Likewise.
	* testsuite/gas/z80/suffix.d: Fix failure on ELF target.
	* testsuite/gas/z80/z80.exp: Add new tests
	* testsuite/gas/z80/dollar.d: New file.
	* testsuite/gas/z80/dollar.s: New file.
	* testsuite/gas/z80/ez80_adl_all.d: New file.
	* testsuite/gas/z80/ez80_adl_all.s: New file.
	* testsuite/gas/z80/ez80_adl_suf.d: New file.
	* testsuite/gas/z80/ez80_isuf.s: New file.
	* testsuite/gas/z80/ez80_z80_all.d: New file.
	* testsuite/gas/z80/ez80_z80_all.s: New file.
	* testsuite/gas/z80/ez80_z80_suf.d: New file.
	* testsuite/gas/z80/r800_extra.d: New file.
	* testsuite/gas/z80/r800_extra.s: New file.
	* testsuite/gas/z80/r800_ii8.d: New file.
	* testsuite/gas/z80/r800_z80_doc.d: New file.
	* testsuite/gas/z80/z180.d: New file.
	* testsuite/gas/z80/z180.s: New file.
	* testsuite/gas/z80/z180_z80_doc.d: New file.
	* testsuite/gas/z80/z80_doc.d: New file.
	* testsuite/gas/z80/z80_doc.s: New file.
	* testsuite/gas/z80/z80_ii8.d: New file.
	* testsuite/gas/z80/z80_ii8.s: New file.
	* testsuite/gas/z80/z80_in_f_c.d: New file.
	* testsuite/gas/z80/z80_in_f_c.s: New file.
	* testsuite/gas/z80/z80_op_ii_ld.d: New file.
	* testsuite/gas/z80/z80_op_ii_ld.s: New file.
	* testsuite/gas/z80/z80_out_c_0.d: New file.
	* testsuite/gas/z80/z80_out_c_0.s: New file.
	* testsuite/gas/z80/z80_reloc.d: New file.
	* testsuite/gas/z80/z80_reloc.s: New file.
	* testsuite/gas/z80/z80_sli.d: New file.
	* testsuite/gas/z80/z80_sli.s: New file.

ld	* Makefile.am: Add new target z80-elf
	* configure.tgt: Likewise.
	* emultempl/z80.em: Add support for eZ80 and Z180 architectures.
	* emulparams/elf32z80.sh: New file.
	* emultempl/z80elf.em: Likewise.
	* testsuite/ld-z80/arch_ez80_adl.d: Likewise.
	* testsuite/ld-z80/arch_ez80_z80.d: Likewise.
	* testsuite/ld-z80/arch_r800.d: Likewise.
	* testsuite/ld-z80/arch_z180.d: Likewise.
	* testsuite/ld-z80/arch_z80.d: Likewise.
	* testsuite/ld-z80/comb_arch_ez80_z80.d: Likewise.
	* testsuite/ld-z80/comb_arch_z180.d: Likewise.
	* testsuite/ld-z80/labels.s: Likewise.
	* testsuite/ld-z80/relocs.s: Likewise.
	* testsuite/ld-z80/relocs_b_ez80.d: Likewise.
	* testsuite/ld-z80/relocs_b_z80.d: Likewise.
	* testsuite/ld-z80/relocs_f_z80.d: Likewise.
	* testsuite/ld-z80/z80.exp: Likewise.

opcodes	* z80-dis.c: Add support for eZ80 and Z80 instructions.
This commit is contained in:
Sergey Belyashov 2020-01-02 14:10:40 +00:00 committed by Nick Clifton
parent 0db131fb83
commit 6655dba246
132 changed files with 24686 additions and 11686 deletions

View file

@ -1,3 +1,22 @@
2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
* Makefile.am: Add z80-elf target support.
* configure.ac: Likewise.
* targets.c: Likewise.
* Makefile.in: Regenerate.
* configure: Regenerate.
* config.bfd: Add z80-elf target support and new arches: ez80 and
z180.
* elf32-z80.c: New file.
* archures.c: Add new z80 architectures: eZ80 and Z180.
* coffcode.h: Likewise.
* cpu-z80.c: Likewise.
* coff-z80.c: Add new relocations for Z80 target and local label
check.
* reloc.c: Add new relocs.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
2020-01-02 Tamar Christina <tamar.christina@arm.com>
PR 25210

View file

@ -354,6 +354,7 @@ BFD32_BACKENDS = \
elf32-xgate.lo \
elf32-xstormy16.lo \
elf32-xtensa.lo \
elf32-z80.lo \
elf32.lo \
elflink.lo \
elfxx-sparc.lo \
@ -489,6 +490,7 @@ BFD32_BACKENDS_CFILES = \
elf32-xgate.c \
elf32-xstormy16.c \
elf32-xtensa.c \
elf32-z80.c \
elf32.c \
elflink.c \
elfxx-sparc.c \

View file

@ -779,6 +779,7 @@ BFD32_BACKENDS = \
elf32-xgate.lo \
elf32-xstormy16.lo \
elf32-xtensa.lo \
elf32-z80.lo \
elf32.lo \
elflink.lo \
elfxx-sparc.lo \
@ -914,6 +915,7 @@ BFD32_BACKENDS_CFILES = \
elf32-xgate.c \
elf32-xstormy16.c \
elf32-xtensa.c \
elf32-z80.c \
elf32.c \
elflink.c \
elfxx-sparc.c \
@ -1490,6 +1492,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-xgate.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-xstormy16.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-xtensa.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-z80.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-aarch64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-alpha.Plo@am__quote@

View file

@ -505,9 +505,13 @@ DESCRIPTION
. bfd_arch_xtensa, {* Tensilica's Xtensa cores. *}
.#define bfd_mach_xtensa 1
. bfd_arch_z80,
.#define bfd_mach_z80strict 1 {* No undocumented opcodes. *}
.#define bfd_mach_z80 3 {* With ixl, ixh, iyl, and iyh. *}
.#define bfd_mach_z80full 7 {* All undocumented instructions. *}
.#define bfd_mach_gbz80 0 {* GameBoy Z80 (reduced instruction set) *}
.#define bfd_mach_z80strict 1 {* Z80 without undocumented opcodes. *}
.#define bfd_mach_z180 2 {* Z180: successor with additional instructions, but without halves of ix and iy *}
.#define bfd_mach_z80 3 {* Z80 with ixl, ixh, iyl, and iyh. *}
.#define bfd_mach_ez80_z80 4 {* eZ80 (successor of Z80 & Z180) in Z80 (16-bit address) mode *}
.#define bfd_mach_ez80_adl 5 {* eZ80 (successor of Z80 & Z180) in ADL (24-bit address) mode *}
.#define bfd_mach_z80full 7 {* Z80 with all undocumented instructions. *}
.#define bfd_mach_r800 11 {* R800: successor with multiplication. *}
. bfd_arch_lm32, {* Lattice Mico32. *}
.#define bfd_mach_lm32 1

View file

@ -1888,9 +1888,13 @@ enum bfd_architecture
bfd_arch_xtensa, /* Tensilica's Xtensa cores. */
#define bfd_mach_xtensa 1
bfd_arch_z80,
#define bfd_mach_z80strict 1 /* No undocumented opcodes. */
#define bfd_mach_z80 3 /* With ixl, ixh, iyl, and iyh. */
#define bfd_mach_z80full 7 /* All undocumented instructions. */
#define bfd_mach_gbz80 0 /* GameBoy Z80 (reduced instruction set) */
#define bfd_mach_z80strict 1 /* Z80 without undocumented opcodes. */
#define bfd_mach_z180 2 /* Z180: successor with additional instructions, but without halves of ix and iy */
#define bfd_mach_z80 3 /* Z80 with ixl, ixh, iyl, and iyh. */
#define bfd_mach_ez80_z80 4 /* eZ80 (successor of Z80 & Z180) in Z80 (16-bit address) mode */
#define bfd_mach_ez80_adl 5 /* eZ80 (successor of Z80 & Z180) in ADL (24-bit address) mode */
#define bfd_mach_z80full 7 /* Z80 with all undocumented instructions. */
#define bfd_mach_r800 11 /* R800: successor with multiplication. */
bfd_arch_lm32, /* Lattice Mico32. */
#define bfd_mach_lm32 1
@ -5270,6 +5274,24 @@ BFD_RELOC_XTENSA_ASM_EXPAND. */
/* 8 bit signed offset in (ix+d) or (iy+d). */
BFD_RELOC_Z80_DISP8,
/* First 8 bits of multibyte (32, 24 or 16 bit) value. */
BFD_RELOC_Z80_BYTE0,
/* Second 8 bits of multibyte (32, 24 or 16 bit) value. */
BFD_RELOC_Z80_BYTE1,
/* Third 8 bits of multibyte (32 or 24 bit) value. */
BFD_RELOC_Z80_BYTE2,
/* Fourth 8 bits of multibyte (32 bit) value. */
BFD_RELOC_Z80_BYTE3,
/* Lowest 16 bits of multibyte (32 or 24 bit) value. */
BFD_RELOC_Z80_WORD0,
/* Highest 16 bits of multibyte (32 or 24 bit) value. */
BFD_RELOC_Z80_WORD1,
/* DJNZ offset. */
BFD_RELOC_Z8K_DISP7,

View file

@ -26,39 +26,204 @@
#include "coff/z80.h"
#include "coff/internal.h"
#include "libcoff.h"
#include "libiberty.h"
#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER 0
static reloc_howto_type r_imm32 =
HOWTO (R_IMM32, 0, 2, 32, FALSE, 0,
complain_overflow_dont, 0, "r_imm32", TRUE, 0xffffffff, 0xffffffff,
FALSE);
typedef struct {
bfd_reloc_code_real_type r_type;
reloc_howto_type howto;
} bfd_howto_type;
static reloc_howto_type r_imm24 =
HOWTO (R_IMM24, 0, 1, 24, FALSE, 0,
complain_overflow_dont, 0, "r_imm24", TRUE, 0x00ffffff, 0x00ffffff,
FALSE);
#define BFD_EMPTY_HOWTO(rt,x) {rt, EMPTY_HOWTO(x)}
#define BFD_HOWTO(rt,a,b,c,d,e,f,g,h,i,j,k,l,m) {rt, HOWTO(a,b,c,d,e,f,g,h,i,j,k,l,m)}
static reloc_howto_type r_imm16 =
HOWTO (R_IMM16, 0, 1, 16, FALSE, 0,
complain_overflow_dont, 0, "r_imm16", TRUE, 0x0000ffff, 0x0000ffff,
FALSE);
static bfd_howto_type howto_table[] =
{
BFD_EMPTY_HOWTO (BFD_RELOC_NONE, 0),
static reloc_howto_type r_imm8 =
HOWTO (R_IMM8, 0, 0, 8, FALSE, 0,
complain_overflow_bitfield, 0, "r_imm8", TRUE, 0x000000ff, 0x000000ff,
FALSE);
BFD_HOWTO (BFD_RELOC_32,
R_IMM32, /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
0, /* special_function */
"r_imm32", /* name */
FALSE, /* partial_inplace */
0xffffffff, /* src_mask */
0xffffffff, /* dst_mask */
FALSE), /* pcrel_offset */
static reloc_howto_type r_jr =
HOWTO (R_JR, 0, 0, 8, TRUE, 0,
complain_overflow_signed, 0, "r_jr", FALSE, 0, 0xFF,
FALSE);
BFD_HOWTO (BFD_RELOC_24,
R_IMM24, /* type */
0, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
24, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
0, /* special_function */
"r_imm24", /* name */
FALSE, /* partial_inplace */
0x00ffffff, /* src_mask */
0x00ffffff, /* dst_mask */
FALSE), /* pcrel_offset */
static reloc_howto_type r_off8 =
HOWTO (R_OFF8, 0, 0, 8, FALSE, 0,
complain_overflow_signed, 0,"r_off8", FALSE, 0, 0xff,
FALSE);
BFD_HOWTO (BFD_RELOC_16,
R_IMM16, /* type */
0, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
0, /* special_function */
"r_imm16", /* name */
FALSE, /* partial_inplace */
0x0000ffff, /* src_mask */
0x0000ffff, /* dst_mask */
FALSE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_8,
R_IMM8, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
0, /* special_function */
"r_imm8", /* name */
FALSE, /* partial_inplace */
0x000000ff, /* src_mask */
0x000000ff, /* dst_mask */
FALSE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_8_PCREL,
R_JR, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
0, /* special_function */
"r_jr", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xFF, /* dst_mask */
TRUE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_Z80_DISP8,
R_OFF8, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
0, /* special_function */
"r_off8", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_Z80_BYTE0,
R_BYTE0, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
0, /* special_function */
"r_byte0", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_Z80_BYTE1,
R_BYTE1, /* type */
8, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
0, /* special_function */
"r_byte1", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_Z80_BYTE2,
R_BYTE2, /* type */
16, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
0, /* special_function */
"r_byte2", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_Z80_BYTE3,
R_BYTE3, /* type */
24, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
0, /* special_function */
"r_byte3", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_Z80_WORD0,
R_WORD0, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
0, /* special_function */
"r_word0", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xffff, /* dst_mask */
FALSE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_Z80_WORD1,
R_WORD1, /* type */
16, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
0, /* special_function */
"r_word1", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xffff, /* dst_mask */
FALSE), /* pcrel_offset */
};
#define NUM_HOWTOS ARRAY_SIZE (howto_table)
#define BADMAG(x) Z80BADMAG(x)
#define Z80 1 /* Customize coffcode.h. */
@ -74,34 +239,19 @@ HOWTO (R_OFF8, 0, 0, 8, FALSE, 0,
dst->r_stuff[1] = 'C';
/* Code to turn a r_type into a howto ptr, uses the above howto table. */
static void
rtype2howto (arelent *internal, struct internal_reloc *dst)
{
switch (dst->r_type)
unsigned i;
for (i = 0; i < NUM_HOWTOS; i++)
{
default:
internal->howto = NULL;
break;
case R_IMM8:
internal->howto = &r_imm8;
break;
case R_IMM16:
internal->howto = &r_imm16;
break;
case R_IMM24:
internal->howto = &r_imm24;
break;
case R_IMM32:
internal->howto = &r_imm32;
break;
case R_JR:
internal->howto = &r_jr;
break;
case R_OFF8:
internal->howto = &r_off8;
break;
if (howto_table[i].howto.type == dst->r_type)
{
internal->howto = &howto_table[i].howto;
return;
}
}
internal->howto = NULL;
}
#define RTYPE2HOWTO(internal, relocentry) rtype2howto (internal, relocentry)
@ -110,35 +260,23 @@ static reloc_howto_type *
coff_z80_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
bfd_reloc_code_real_type code)
{
switch (code)
{
case BFD_RELOC_8: return & r_imm8;
case BFD_RELOC_16: return & r_imm16;
case BFD_RELOC_24: return & r_imm24;
case BFD_RELOC_32: return & r_imm32;
case BFD_RELOC_8_PCREL: return & r_jr;
case BFD_RELOC_Z80_DISP8: return & r_off8;
default: BFD_FAIL ();
return NULL;
}
unsigned i;
for (i = 0; i < NUM_HOWTOS; i++)
if (howto_table[i].r_type == code)
return &howto_table[i].howto;
BFD_FAIL ();
return NULL;
}
static reloc_howto_type *
coff_z80_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
const char *r_name)
{
if (strcasecmp (r_imm8.name, r_name) == 0)
return &r_imm8;
if (strcasecmp (r_imm16.name, r_name) == 0)
return &r_imm16;
if (strcasecmp (r_imm24.name, r_name) == 0)
return &r_imm24;
if (strcasecmp (r_imm32.name, r_name) == 0)
return &r_imm32;
if (strcasecmp (r_jr.name, r_name) == 0)
return &r_jr;
if (strcasecmp (r_off8.name, r_name) == 0)
return &r_off8;
unsigned i;
for (i = 0; i < NUM_HOWTOS; i++)
if (strcasecmp(howto_table[i].howto.name, r_name) == 0)
return &howto_table[i].howto;
return NULL;
}
@ -180,14 +318,15 @@ extra_case (bfd *in_abfd,
unsigned int *dst_ptr)
{
asection * input_section = link_order->u.indirect.section;
int val;
int val = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
switch (reloc->howto->type)
{
case R_OFF8:
val = bfd_coff_reloc16_get_value (reloc, link_info,
input_section);
if (val>127 || val<-128) /* Test for overflow. */
if (reloc->howto->partial_inplace)
val += (signed char)(bfd_get_8 ( in_abfd, data+*src_ptr)
& reloc->howto->src_mask);
if (val>127 || val<-128) /* Test for overflow. */
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
reloc->howto->name, reloc->addend, input_section->owner,
@ -198,26 +337,55 @@ extra_case (bfd *in_abfd,
(*src_ptr) += 1;
break;
case R_BYTE3:
bfd_put_8 (in_abfd, val >> 24, data + *dst_ptr);
(*dst_ptr) += 1;
(*src_ptr) += 1;
break;
case R_BYTE2:
bfd_put_8 (in_abfd, val >> 16, data + *dst_ptr);
(*dst_ptr) += 1;
(*src_ptr) += 1;
break;
case R_BYTE1:
bfd_put_8 (in_abfd, val >> 8, data + *dst_ptr);
(*dst_ptr) += 1;
(*src_ptr) += 1;
break;
case R_IMM8:
val = bfd_get_8 ( in_abfd, data+*src_ptr)
+ bfd_coff_reloc16_get_value (reloc, link_info, input_section);
if (reloc->howto->partial_inplace)
val += bfd_get_8 ( in_abfd, data+*src_ptr) & reloc->howto->src_mask;
//fallthrough
case R_BYTE0:
bfd_put_8 (in_abfd, val, data + *dst_ptr);
(*dst_ptr) += 1;
(*src_ptr) += 1;
break;
case R_WORD1:
bfd_put_16 (in_abfd, val >> 16, data + *dst_ptr);
(*dst_ptr) += 2;
(*src_ptr) += 2;
break;
case R_IMM16:
val = bfd_get_16 ( in_abfd, data+*src_ptr)
+ bfd_coff_reloc16_get_value (reloc, link_info, input_section);
if (reloc->howto->partial_inplace)
val += bfd_get_16 ( in_abfd, data+*src_ptr) & reloc->howto->src_mask;
//fallthrough
case R_WORD0:
bfd_put_16 (in_abfd, val, data + *dst_ptr);
(*dst_ptr) += 2;
(*src_ptr) += 2;
break;
case R_IMM24:
val = bfd_get_16 ( in_abfd, data+*src_ptr)
+ (bfd_get_8 ( in_abfd, data+*src_ptr+2) << 16)
+ bfd_coff_reloc16_get_value (reloc, link_info, input_section);
if (reloc->howto->partial_inplace)
val += (bfd_get_16 ( in_abfd, data+*src_ptr)
+ (bfd_get_8 ( in_abfd, data+*src_ptr+2) << 16))
& reloc->howto->src_mask;
bfd_put_16 (in_abfd, val, data + *dst_ptr);
bfd_put_8 (in_abfd, val >> 16, data + *dst_ptr+2);
(*dst_ptr) += 3;
@ -225,8 +393,8 @@ extra_case (bfd *in_abfd,
break;
case R_IMM32:
val = bfd_get_32 ( in_abfd, data+*src_ptr)
+ bfd_coff_reloc16_get_value (reloc, link_info, input_section);
if (reloc->howto->partial_inplace)
val += bfd_get_32 ( in_abfd, data+*src_ptr) & reloc->howto->src_mask;
bfd_put_32 (in_abfd, val, data + *dst_ptr);
(*dst_ptr) += 4;
(*src_ptr) += 4;
@ -234,15 +402,13 @@ extra_case (bfd *in_abfd,
case R_JR:
{
bfd_vma dst = bfd_coff_reloc16_get_value (reloc, link_info,
input_section);
if (reloc->howto->partial_inplace)
val += (signed char)(bfd_get_8 ( in_abfd, data+*src_ptr)
& reloc->howto->src_mask);
bfd_vma dot = (*dst_ptr
+ input_section->output_offset
+ input_section->output_section->vma);
int gap = dst - dot - 1; /* -1, Since the offset is relative
to the value of PC after reading
the offset. */
int gap = val - dot;
if (gap >= 128 || gap < -128)
(*link_info->callbacks->reloc_overflow)
(link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
@ -260,6 +426,16 @@ extra_case (bfd *in_abfd,
}
}
static int
z80_is_local_label_name (bfd * abfd ATTRIBUTE_UNUSED,
const char * name)
{
return (name[0] == '.' && name[1] == 'L') ||
_bfd_coff_is_local_label_name (abfd, name);
}
#define coff_bfd_is_local_label_name z80_is_local_label_name
#define coff_reloc16_extra_cases extra_case
#define coff_bfd_reloc_type_lookup coff_z80_reloc_type_lookup
#define coff_bfd_reloc_name_lookup coff_z80_reloc_name_lookup

View file

@ -2161,11 +2161,14 @@ coff_set_arch_mach_hook (bfd *abfd, void * filehdr)
arch = bfd_arch_z80;
switch (internal_f->f_flags & F_MACHMASK)
{
case 0:
case bfd_mach_z80strict << 12:
case bfd_mach_z80 << 12:
case bfd_mach_z80full << 12:
case bfd_mach_r800 << 12:
case bfd_mach_gbz80 << 12:
case bfd_mach_z180 << 12:
case bfd_mach_ez80_z80 << 12:
case bfd_mach_ez80_adl << 12:
machine = ((unsigned)internal_f->f_flags & F_MACHMASK) >> 12;
break;
default:
@ -2650,11 +2653,14 @@ coff_set_flags (bfd * abfd,
*magicp = Z80MAGIC;
switch (bfd_get_mach (abfd))
{
case 0:
case bfd_mach_z80strict:
case bfd_mach_z80:
case bfd_mach_z80full:
case bfd_mach_r800:
case bfd_mach_gbz80:
case bfd_mach_z180:
case bfd_mach_ez80_z80:
case bfd_mach_ez80_adl:
*flagsp = bfd_get_mach (abfd) << 12;
break;
default:

View file

@ -207,7 +207,7 @@ wasm32) targ_archs=bfd_wasm32_arch ;;
x86_64*) targ_archs=bfd_i386_arch ;;
xtensa*) targ_archs=bfd_xtensa_arch ;;
xgate) targ_archs=bfd_xgate_arch ;;
z80|r800) targ_archs=bfd_z80_arch ;;
z80*|r800|z180|gbz80|ez80*) targ_archs=bfd_z80_arch ;;
z8k*) targ_archs=bfd_z8k_arch ;;
*) targ_archs=bfd_${targ_cpu}_arch ;;
esac
@ -1404,11 +1404,16 @@ case "${targ}" in
targ_defvec=xc16x_elf32_vec
;;
z80-*-*)
z80-*-coff)
targ_defvec=z80_coff_vec
targ_underscore=no
;;
z80-*-elf)
targ_defvec=z80_elf32_vec
targ_underscore=no
;;
z8k*-*-*)
targ_defvec=z8k_coff_vec
targ_underscore=yes

1
bfd/configure vendored
View file

@ -14955,6 +14955,7 @@ do
xtensa_elf32_be_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
xtensa_elf32_le_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
z80_coff_vec) tb="$tb coff-z80.lo reloc16.lo $coffgen" ;;
z80_elf32_vec) tb="$tb elf32-z80.lo elf32.lo $elf" ;;
z8k_coff_vec) tb="$tb coff-z8k.lo reloc16.lo $coff" ;;
# These appear out of order in targets.c

View file

@ -691,6 +691,7 @@ do
xtensa_elf32_be_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
xtensa_elf32_le_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
z80_coff_vec) tb="$tb coff-z80.lo reloc16.lo $coffgen" ;;
z80_elf32_vec) tb="$tb elf32-z80.lo elf32.lo $elf" ;;
z8k_coff_vec) tb="$tb coff-z8k.lo reloc16.lo $coff" ;;
# These appear out of order in targets.c

View file

@ -40,18 +40,23 @@ compatible (const bfd_arch_info_type *a, const bfd_arch_info_type *b)
return (a->arch == bfd_arch_z80) ? & bfd_z80_arch : NULL;
}
#define N(name,print,default,next) \
{ 16, 16, 8, bfd_arch_z80, name, "z80", print, 0, default, \
#define N(name,print,bits,default,next) \
{ 16, bits, 8, bfd_arch_z80, name, "z80", print, 0, default, \
compatible, bfd_default_scan, bfd_arch_default_fill, next, 0 }
#define M(n) &arch_info_struct[n]
static const bfd_arch_info_type arch_info_struct[] =
{
N (bfd_mach_z80strict, "z80-strict", FALSE, M(1)),
N (bfd_mach_z80, "z80", FALSE, M(2)),
N (bfd_mach_z80full, "z80-full", FALSE, M(3)),
N (bfd_mach_r800, "r800", FALSE, NULL)
N (bfd_mach_z80full, "z80-full", 16, FALSE, M(1)),
N (bfd_mach_z80strict, "z80-strict", 16, FALSE, M(2)),
N (bfd_mach_z80, "z80", 16, FALSE, M(3)),
N (bfd_mach_r800, "r800", 16, FALSE, M(4)),
N (bfd_mach_gbz80, "gbz80", 16, FALSE, M(5)),
N (bfd_mach_z180, "z180", 16, FALSE, M(6)),
N (bfd_mach_ez80_z80, "ez80-z80", 16, FALSE, M(7)),
N (bfd_mach_ez80_adl, "ez80-adl", 24, FALSE, NULL)
};
const bfd_arch_info_type bfd_z80_arch = N (0, "z80-any", TRUE, M(0));
const bfd_arch_info_type bfd_z80_arch =
N (bfd_mach_z80full, "z80-full", 16, TRUE, M(1));

380
bfd/elf32-z80.c Normal file
View file

@ -0,0 +1,380 @@
/* Zilog (e)Z80-specific support for 32-bit ELF
Copyright (C) 1999-2019 Free Software Foundation, Inc.
(Heavily copied from the S12Z port by Sergey Belyashov (sergey.belyashov@gmail.com))
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
#include "sysdep.h"
#include "bfd.h"
#include "bfdlink.h"
#include "libbfd.h"
#include "elf-bfd.h"
#include "elf/z80.h"
/* All users of this file have bfd_octets_per_byte (abfd, sec) == 1. */
#define OCTETS_PER_BYTE(ABFD, SEC) 1
/* Relocation functions. */
static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
(bfd *, bfd_reloc_code_real_type);
static bfd_boolean z80_info_to_howto_rel
(bfd *, arelent *, Elf_Internal_Rela *);
typedef struct {
bfd_reloc_code_real_type r_type;
reloc_howto_type howto;
} bfd_howto_type;
#define BFD_EMPTY_HOWTO(rt,x) {rt, EMPTY_HOWTO(x)}
#define BFD_HOWTO(rt,a,b,c,d,e,f,g,h,i,j,k,l,m) {rt, HOWTO(a,b,c,d,e,f,g,h,i,j,k,l,m)}
static const
bfd_howto_type elf_z80_howto_table[] =
{
/* This reloc does nothing. */
BFD_HOWTO (BFD_RELOC_NONE,
R_Z80_NONE, /* type */
0, /* rightshift */
3, /* size (0 = byte, 1 = short, 2 = long) */
0, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_NONE", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0, /* dst_mask */
FALSE), /* pcrel_offset */
/* A 8 bit relocation */
BFD_HOWTO (BFD_RELOC_8,
R_Z80_8, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_imm8", /* name */
FALSE, /* partial_inplace */
0x00, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
/* A 8 bit index register displacement relocation */
BFD_HOWTO (BFD_RELOC_Z80_DISP8,
R_Z80_8_DIS, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_off", /* name */
FALSE, /* partial_inplace */
0x00, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
/* A 8 bit PC-rel relocation */
BFD_HOWTO (BFD_RELOC_8_PCREL,
R_Z80_8_PCREL, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_jr", /* name */
FALSE, /* partial_inplace */
0x00, /* src_mask */
0xff, /* dst_mask */
TRUE), /* pcrel_offset */
/* An 16 bit absolute relocation */
BFD_HOWTO (BFD_RELOC_16,
R_Z80_16, /* type */
0, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_imm16", /* name */
FALSE, /* partial_inplace */
0x00000000, /* src_mask */
0x0000ffff, /* dst_mask */
FALSE), /* pcrel_offset */
/* A 24 bit absolute relocation emitted by ADL mode operands */
BFD_HOWTO (BFD_RELOC_24,
R_Z80_24, /* type */
0, /* rightshift */
5, /* size (0 = byte, 1 = short, 2 = long) */
24, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_imm24", /* name */
FALSE, /* partial_inplace */
0x00000000, /* src_mask */
0x00ffffff, /* dst_mask */
FALSE), /* pcrel_offset */
BFD_HOWTO (BFD_RELOC_32,
R_Z80_32, /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_imm32", /* name */
FALSE, /* partial_inplace */
0x00000000, /* src_mask */
0xffffffff, /* dst_mask */
FALSE), /* pcrel_offset */
/* First (lowest) 8 bits of multibyte relocation */
BFD_HOWTO (BFD_RELOC_Z80_BYTE0,
R_Z80_BYTE0, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_byte0", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
/* Second 8 bits of multibyte relocation */
BFD_HOWTO (BFD_RELOC_Z80_BYTE1,
R_Z80_BYTE1, /* type */
8, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_byte1", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
/* Third 8 bits of multibyte relocation */
BFD_HOWTO (BFD_RELOC_Z80_BYTE2,
R_Z80_BYTE2, /* type */
16, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_byte2", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
/* Fourth (highest) 8 bits of multibyte relocation */
BFD_HOWTO (BFD_RELOC_Z80_BYTE3,
R_Z80_BYTE3, /* type */
24, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_byte3", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xff, /* dst_mask */
FALSE), /* pcrel_offset */
/* An 16 bit absolute relocation of lower word of multibyte value */
BFD_HOWTO (BFD_RELOC_Z80_WORD0,
R_Z80_WORD0, /* type */
0, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_word0", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xffff, /* dst_mask */
FALSE), /* pcrel_offset */
/* An 16 bit absolute relocation of higher word of multibyte value */
BFD_HOWTO (BFD_RELOC_Z80_WORD1,
R_Z80_WORD1, /* type */
16, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"r_word1", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xffff, /* dst_mask */
FALSE), /* pcrel_offset */
};
static reloc_howto_type *
bfd_elf32_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
bfd_reloc_code_real_type code)
{
enum
{
table_size = sizeof (elf_z80_howto_table) / sizeof (elf_z80_howto_table[0])
};
unsigned int i;
for (i = 0; i < table_size; i++)
{
if (elf_z80_howto_table[i].r_type == code)
return &elf_z80_howto_table[i].howto;
}
printf ("%s:%d Not found type %d\n", __FILE__, __LINE__, code);
return NULL;
}
static reloc_howto_type *
bfd_elf32_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, const char *r_name)
{
enum
{
table_size = sizeof (elf_z80_howto_table) / sizeof (elf_z80_howto_table[0])
};
unsigned int i;
for (i = 0; i < table_size; i++)
{
if (elf_z80_howto_table[i].howto.name != NULL
&& strcasecmp (elf_z80_howto_table[i].howto.name, r_name) == 0)
return &elf_z80_howto_table[i].howto;
}
return NULL;
}
/* Set the howto pointer for an z80 ELF reloc. */
static bfd_boolean
z80_info_to_howto_rel (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
{
enum
{
table_size = sizeof (elf_z80_howto_table) / sizeof (elf_z80_howto_table[0])
};
unsigned int i;
unsigned int r_type = ELF32_R_TYPE (dst->r_info);
for (i = 0; i < table_size; i++)
{
if (elf_z80_howto_table[i].howto.type == r_type)
{
cache_ptr->howto = &elf_z80_howto_table[i].howto;
return TRUE;
}
}
/* xgettext:c-format */
_bfd_error_handler (_("%pB: unsupported relocation type %#x"),
abfd, r_type);
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
static bfd_boolean
z80_elf_set_mach_from_flags (bfd *abfd)
{
int mach;
switch (elf_elfheader (abfd)->e_flags)
{
case EF_Z80_MACH_GBZ80:
mach = bfd_mach_gbz80;
break;
case EF_Z80_MACH_Z80:
mach = bfd_mach_z80;
break;
case EF_Z80_MACH_Z180:
mach = bfd_mach_z180;
break;
case EF_Z80_MACH_EZ80_Z80:
mach = bfd_mach_ez80_z80;
break;
case EF_Z80_MACH_EZ80_ADL:
mach = bfd_mach_ez80_adl;
break;
case EF_Z80_MACH_R800:
mach = bfd_mach_r800;
break;
default:
mach = bfd_mach_z80;
break;
}
bfd_default_set_arch_mach (abfd, bfd_arch_z80, mach);
return TRUE;
}
static int
z80_is_local_label_name (bfd * abfd ATTRIBUTE_UNUSED,
const char * name)
{
return (name[0] == '.' && name[1] == 'L') ||
_bfd_elf_is_local_label_name (abfd, name);
}
#define ELF_ARCH bfd_arch_z80
#define ELF_MACHINE_CODE EM_Z80
#define ELF_MAXPAGESIZE 0x10000
#define TARGET_LITTLE_SYM z80_elf32_vec
#define TARGET_LITTLE_NAME "elf32-z80"
#define elf_info_to_howto NULL
#define elf_info_to_howto_rel z80_info_to_howto_rel
#define elf_backend_object_p z80_elf_set_mach_from_flags
#define bfd_elf32_bfd_is_local_label_name z80_is_local_label_name
#include "elf32-target.h"

View file

@ -2869,6 +2869,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_XTENSA_TLS_ARG",
"BFD_RELOC_XTENSA_TLS_CALL",
"BFD_RELOC_Z80_DISP8",
"BFD_RELOC_Z80_BYTE0",
"BFD_RELOC_Z80_BYTE1",
"BFD_RELOC_Z80_BYTE2",
"BFD_RELOC_Z80_BYTE3",
"BFD_RELOC_Z80_WORD0",
"BFD_RELOC_Z80_WORD1",
"BFD_RELOC_Z8K_DISP7",
"BFD_RELOC_Z8K_CALLR",
"BFD_RELOC_Z8K_IMM4L",

View file

@ -236,6 +236,7 @@ elf32-xc16x.c
elf32-xgate.c
elf32-xstormy16.c
elf32-xtensa.c
elf32-z80.c
elf32.c
elf64-alpha.c
elf64-bpf.c

File diff suppressed because it is too large Load diff

View file

@ -6673,6 +6673,30 @@ ENUM
BFD_RELOC_Z80_DISP8
ENUMDOC
8 bit signed offset in (ix+d) or (iy+d).
ENUM
BFD_RELOC_Z80_BYTE0
ENUMDOC
First 8 bits of multibyte (32, 24 or 16 bit) value.
ENUM
BFD_RELOC_Z80_BYTE1
ENUMDOC
Second 8 bits of multibyte (32, 24 or 16 bit) value.
ENUM
BFD_RELOC_Z80_BYTE2
ENUMDOC
Third 8 bits of multibyte (32 or 24 bit) value.
ENUM
BFD_RELOC_Z80_BYTE3
ENUMDOC
Fourth 8 bits of multibyte (32 bit) value.
ENUM
BFD_RELOC_Z80_WORD0
ENUMDOC
Lowest 16 bits of multibyte (32 or 24 bit) value.
ENUM
BFD_RELOC_Z80_WORD1
ENUMDOC
Highest 16 bits of multibyte (32 or 24 bit) value.
ENUM
BFD_RELOC_Z8K_DISP7

View file

@ -931,6 +931,7 @@ extern const bfd_target xstormy16_elf32_vec;
extern const bfd_target xtensa_elf32_be_vec;
extern const bfd_target xtensa_elf32_le_vec;
extern const bfd_target z80_coff_vec;
extern const bfd_target z80_elf32_vec;
extern const bfd_target z8k_coff_vec;
/* These are always included. */
@ -1353,6 +1354,7 @@ static const bfd_target * const _bfd_target_vector[] =
&xtensa_elf32_le_vec,
&z80_coff_vec,
&z80_elf32_vec,
&z8k_coff_vec,
#endif /* not SELECT_VECS */

View file

@ -1,3 +1,8 @@
2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
* readelf.c: Add support for new Z*) relocations and machine
types.
2020-01-01 Alan Modra <amodra@gmail.com>
Update year range in copyright notice of all files.

File diff suppressed because it is too large Load diff

View file

@ -162,6 +162,7 @@
#include "elf/xgate.h"
#include "elf/xstormy16.h"
#include "elf/xtensa.h"
#include "elf/z80.h"
#include "getopt.h"
#include "libiberty.h"
@ -1586,6 +1587,10 @@ dump_relocations (Filedata * filedata,
else
rtype = elf_nfp_reloc_type (type);
break;
case EM_Z80:
rtype = elf_z80_reloc_type (type);
break;
}
if (rtype == NULL)
@ -3751,6 +3756,21 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine)
if (e_flags & ~ EF_MSP430_MACH)
strcat (buf, _(": unknown extra flag bits also present"));
break;
case EM_Z80:
switch (e_flags & EF_Z80_MACH_MSK)
{
case EF_Z80_MACH_Z80: strcat (buf, ", Z80"); break;
case EF_Z80_MACH_Z180: strcat (buf, ", Z180"); break;
case EF_Z80_MACH_R800: strcat (buf, ", R800"); break;
case EF_Z80_MACH_EZ80_Z80: strcat (buf, ", EZ80"); break;
case EF_Z80_MACH_EZ80_ADL: strcat (buf, ", EZ80, ADL"); break;
case EF_Z80_MACH_GBZ80: strcat (buf, ", GBZ80"); break;
default:
strcat (buf, _(", unknown")); break;
}
break;
}
}
@ -12722,6 +12742,8 @@ is_32bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
case EM_XTENSA_OLD:
case EM_XTENSA:
return reloc_type == 1; /* R_XTENSA_32. */
case EM_Z80:
return reloc_type == 6; /* R_Z80_32. */
default:
{
static unsigned int prev_warn = 0;
@ -12904,6 +12926,8 @@ is_24bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
return reloc_type == 4; /* R_MN10200_24. */
case EM_FT32:
return reloc_type == 5; /* R_FT32_20. */
case EM_Z80:
return reloc_type == 5; /* R_Z80_24. */
default:
return FALSE;
}
@ -12975,6 +12999,8 @@ is_16bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
return reloc_type == 2; /* R_XC16C_ABS_16. */
case EM_XGATE:
return reloc_type == 3; /* R_XGATE_16. */
case EM_Z80:
return reloc_type == 4; /* R_Z80_16. */
default:
return FALSE;
}
@ -12990,6 +13016,8 @@ is_8bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
{
case EM_RISCV:
return reloc_type == 54; /* R_RISCV_SET8. */
case EM_Z80:
return reloc_type == 1; /* R_Z80_8. */
default:
return FALSE;
}
@ -13197,6 +13225,7 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type)
case EM_TI_C6000:/* R_C6000_NONE. */
case EM_X86_64: /* R_X86_64_NONE. */
case EM_XC16X:
case EM_Z80: /* R_Z80_NONE. */
case EM_WEBASSEMBLY: /* R_WASM32_NONE. */
return reloc_type == 0;

View file

@ -1,3 +1,62 @@
2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
* config/tc-z80.c: Add new architectures: Z180 and eZ80. Add
support for assembler code generated by SDCC. Add new relocation
types. Add z80-elf target support.
* config/tc-z80.h: Add z80-elf target support. Enable dollar local
labels. Local labels starts from ".L".
* NEWS: Mention the new support.
* testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
* testsuite/gas/all/fwdexp.s: Likewise.
* testsuite/gas/all/cond.l: Likewise.
* testsuite/gas/all/cond.s: Likewise.
* testsuite/gas/all/fwdexp.d: Likewise.
* testsuite/gas/all/fwdexp.s: Likewise.
* testsuite/gas/elf/section2.e-mips: Likewise.
* testsuite/gas/elf/section2.l: Likewise.
* testsuite/gas/elf/section2.s: Likewise.
* testsuite/gas/macros/app1.d: Likewise.
* testsuite/gas/macros/app1.s: Likewise.
* testsuite/gas/macros/app2.d: Likewise.
* testsuite/gas/macros/app2.s: Likewise.
* testsuite/gas/macros/app3.d: Likewise.
* testsuite/gas/macros/app3.s: Likewise.
* testsuite/gas/macros/app4.d: Likewise.
* testsuite/gas/macros/app4.s: Likewise.
* testsuite/gas/macros/app4b.s: Likewise.
* testsuite/gas/z80/suffix.d: Fix failure on ELF target.
* testsuite/gas/z80/z80.exp: Add new tests
* testsuite/gas/z80/dollar.d: New file.
* testsuite/gas/z80/dollar.s: New file.
* testsuite/gas/z80/ez80_adl_all.d: New file.
* testsuite/gas/z80/ez80_adl_all.s: New file.
* testsuite/gas/z80/ez80_adl_suf.d: New file.
* testsuite/gas/z80/ez80_isuf.s: New file.
* testsuite/gas/z80/ez80_z80_all.d: New file.
* testsuite/gas/z80/ez80_z80_all.s: New file.
* testsuite/gas/z80/ez80_z80_suf.d: New file.
* testsuite/gas/z80/r800_extra.d: New file.
* testsuite/gas/z80/r800_extra.s: New file.
* testsuite/gas/z80/r800_ii8.d: New file.
* testsuite/gas/z80/r800_z80_doc.d: New file.
* testsuite/gas/z80/z180.d: New file.
* testsuite/gas/z80/z180.s: New file.
* testsuite/gas/z80/z180_z80_doc.d: New file.
* testsuite/gas/z80/z80_doc.d: New file.
* testsuite/gas/z80/z80_doc.s: New file.
* testsuite/gas/z80/z80_ii8.d: New file.
* testsuite/gas/z80/z80_ii8.s: New file.
* testsuite/gas/z80/z80_in_f_c.d: New file.
* testsuite/gas/z80/z80_in_f_c.s: New file.
* testsuite/gas/z80/z80_op_ii_ld.d: New file.
* testsuite/gas/z80/z80_op_ii_ld.s: New file.
* testsuite/gas/z80/z80_out_c_0.d: New file.
* testsuite/gas/z80/z80_out_c_0.s: New file.
* testsuite/gas/z80/z80_reloc.d: New file.
* testsuite/gas/z80/z80_reloc.s: New file.
* testsuite/gas/z80/z80_sli.d: New file.
* testsuite/gas/z80/z80_sli.s: New file.
2020-01-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
* config/tc-arm.c (parse_reg_list): Use REG_TYPE_RN instead of

View file

@ -1,5 +1,15 @@
-*- text -*-
* Add support for Zilog eZ80 and Zilog Z180 CPUs.
* Add support for z80-elf target.
* Add support for relocation of each byte or word of multibyte value to Z80
targets (just use right shift to 0, 8, 16, or 24 bits or AND operation
with 0xff/0xffff mask): ld a, label >> 16 \ ld hl, label & 0xffff
* Add SDCC support for Z80 targets.
Changes in 2.33:
* Add support for the Arm Scalable Vector Extension version 2 (SVE2)

File diff suppressed because it is too large Load diff

View file

@ -24,6 +24,9 @@
#define TC_Z80
#define TARGET_ARCH bfd_arch_z80
#ifndef OBJ_COFF
#define TARGET_FORMAT "elf32-z80"
#endif
#define BFD_ARCH TARGET_ARCH
#define COFF_MAGIC 0x5A80
#define TARGET_MACH 0
@ -76,7 +79,7 @@ extern void z80_cons_fix_new (fragS *, int, int, expressionS *);
/* Values passed to md_apply_fix3 don't include the symbol value. */
#define MD_APPLY_SYM_VALUE(FIX) 0
#define LISTING_WORD_SIZE 2
#define LISTING_WORD_SIZE 1
/* A single '=' is accepted as a comparison operator. */
#define O_SINGLE_EQ O_eq
@ -84,14 +87,15 @@ extern void z80_cons_fix_new (fragS *, int, int, expressionS *);
/* A '$' is used to refer to the current location or as a hex. prefix. */
#define DOLLAR_DOT
#define DOLLAR_AMBIGU 1
#define LOCAL_LABEL_PREFIX '.'
#define LOCAL_LABELS_FB 1
#define LOCAL_LABELS_DOLLAR 1
#define LITERAL_PREFIXPERCENT_BIN
#define NUMBERS_WITH_SUFFIX 1
#define NO_PSEUDO_DOT 1
/* We allow single quotes to delimit character constants as
well, but it is cleaner to handle that in tc-z80.c. */
#define SINGLE_QUOTE_STRINGS
#define NO_STRING_ESCAPES
/* An `.lcomm' directive with no explicit alignment parameter will
use this macro to set P2VAR to the alignment that a request for
@ -106,4 +110,10 @@ extern void z80_cons_fix_new (fragS *, int, int, expressionS *);
we use to identify registers. */
#define md_register_arithmetic 0
#define TC_LABEL_IS_LOCAL z80_tc_label_is_local
extern int z80_tc_label_is_local (const char *name);
#define elf_tc_final_processing z80_elf_final_processing
extern void z80_elf_final_processing (void);
#endif

View file

@ -630,7 +630,10 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
@ifset Z80
@emph{Target Z80 options:}
[@b{-z80}] [@b{-r800}]
[@b{-z80}]|[@b{-z180}]|[@b{-r800}]|[@b{-ez80}]|[@b{-ez80-adl}]
[@b{-strict}]|[@b{-full}]
[@b{-with-inst=@var{INST}[,...]}] [@b{-Wnins @var{INST}[,...]}]
[@b{-without-inst=@var{INST}[,...]}] [@b{-Fins @var{INST}[,...]}]
[@b{ -ignore-undocumented-instructions}] [@b{-Wnud}]
[@b{ -ignore-unportable-instructions}] [@b{-Wnup}]
[@b{ -warn-undocumented-instructions}] [@b{-Wud}]
@ -1943,10 +1946,34 @@ Xtensa processor.
The following options are available when @value{AS} is configured for
a Z80 family processor.
@table @gcctabopt
@item -z80
Assemble for Z80 processor.
@item -r800
Assemble for R800 processor.
@item -z180
Assemble for Z180 processor.
@item -ez80
Assemble for eZ80 processor in Z80 memory mode by default.
@item -ez80-adl
Assemble for eZ80 processor in ADL memory mode by default.
@item @code{-colonless}
Accept colonless labels. All names at line begin are treated as labels.
@item @code{-sdcc}
Accept assembler code produces by SDCC.
@item @code{-strict}
Accept documented instructions only.
@item @code{-full}
Accept all known Z80 instructions.
@item @code{-with-inst=INST[,...]}
@itemx @code{-Wnins INST[,...]}
Enable specified undocumented instruction(s).
@item @code{-without-inst=INST[,...]}
@itemx @code{-Fins INST[,...]}
Disable specified undocumented instruction(s).
@item -ignore-undocumented-instructions
@itemx -Wnud
Assemble undocumented Z80 instructions that also work on R800 without warning.
@ -1966,6 +1993,22 @@ Treat all undocumented instructions as errors.
@itemx -Fup
Treat undocumented Z80 instructions that do not work on R800 as errors.
@end table
Folowing undocumented instructions may be enabled/disabled by
@code{-with-inst}/@code{-without-inst}:
@table @gcctabopt
@item @code{idx-reg-halves}
All operations with halves of index registers (IXL, IXH, IYL, IYH).
@item @code{sli}
SLI or SLL instruction.
@item @code{op-ii-ld}
Istructions like @code{<op> (<ii>+<d>),<r>}, where @code{<op>}
is shift or bit manipulation instruction (RLC, SLA, SET, RES...).
@item @code{in-f-c}
Instruction @code{IN F,(C)}.
@item @code{out-c-0}
Instruction @code{OUT (C),0}
@end table
@end ifset
@c man end
@ -6770,7 +6813,7 @@ If you @code{.set} a global symbol, the value stored in the object
file is the last value stored into it.
@ifset Z80
On Z80 @code{set} is a real instruction, use
On Z80 @code{set} is a real instruction, use @code{.set} or
@samp{@var{symbol} defl @var{expression}} instead.
@end ifset

View file

@ -27,41 +27,90 @@
@section Options
@cindex Z80 options
@cindex options for Z80
The Zilog Z80 and Ascii R800 version of @code{@value{AS}} have a few machine
dependent options.
@table @option
@cindex @code{-z80} command-line option, Z80
@item -z80
Produce code for the Z80 processor. There are additional options to
request warnings and error messages for undocumented instructions.
@item -ignore-undocumented-instructions
@itemx -Wnud
Produce code for the Z80 processor. By default accepted undocumented
operations with halves of index registers (IXL, IXH, IYL, IYH) and
instuction IN F,(C). Other useful undocumented instructions produces
warnings. Undocumented instructions may not work on some CPUs, use
them on your own risk.
@cindex @code{-r800} command-line option, R800
@item -r800
Produce code for the R800 processor.
@cindex @code{-z180} command-line option, Z180
@item -z180
Produce code for the Z180 processor.
@cindex @code{-ez80} command-line option, eZ80
@item -ez80
Produce code for the eZ80 processor in Z80 memory mode by default.
@cindex @code{-ez80-adl} command-line option, eZ80
@item -ez80-adl
Produce code for the eZ80 processor in ADL memory mode by default.
@cindex Compatibility options
@item @code{-colonless}
Accept colonless labels. All names at line begin are treated as labels.
@item @code{-sdcc}
Accept assembler code produces by SDCC.
@cindex Undocumented instruction control
@item @code{-strict}
Accept documented instructions only.
@item @code{-full}
Accept all known Z80 instructions.
@item @code{-with-inst=INST[,...]}
@itemx @code{-Wnins INST[,...]}
Enable specified undocumented instruction(s).
@item @code{-without-inst=INST[,...]}
@itemx @code{-Fins INST[,...]}
Disable specified undocumented instruction(s).
@cindex Obsolete options
@item @code{-ignore-undocumented-instructions}
@itemx @code{-Wnud}
Silently assemble undocumented Z80-instructions that have been adopted
as documented R800-instructions.
@item -ignore-unportable-instructions
@itemx -Wnup
as documented R800-instructions .
@item @code{-ignore-unportable-instructions}
@itemx @code{-Wnup}
Silently assemble all undocumented Z80-instructions.
@item -warn-undocumented-instructions
@itemx -Wud
@item @code{-warn-undocumented-instructions}
@itemx @code{-Wud}
Issue warnings for undocumented Z80-instructions that work on R800, do
not assemble other undocumented instructions without warning.
@item -warn-unportable-instructions
@itemx -Wup
@item @code{-warn-unportable-instructions}
@itemx @code{-Wup}
Issue warnings for other undocumented Z80-instructions, do not treat any
undocumented instructions as errors.
@item -forbid-undocumented-instructions
@itemx -Fud
@item @code{-forbid-undocumented-instructions}
@itemx @code{-Fud}
Treat all undocumented z80-instructions as errors.
@item -forbid-unportable-instructions
@itemx -Fup
@itemx @code{-Fup}
Treat undocumented z80-instructions that do not work on R800 as errors.
@end table
@cindex @code{-r800} command-line option, Z80
@item -r800
Produce code for the R800 processor. The assembler does not support
undocumented instructions for the R800.
In line with common practice, @code{@value{AS}} uses Z80 instruction names
for the R800 processor, as far as they exist.
Known undocumented instructions.
@table @option
@cindex Known undocumented instructions
@item @code{idx-reg-halves}
All operations with halves of index registers (IXL, IXH, IYL, IYH).
@item @code{sli}
SLI or SLL instruction. Same as @code{SLA r; INC r}.
@item @code{op-ii-ld}
Istructions like @code{<op> (<ii>+<d>),<r>}. For example: @code{RL (IX+5),C}
@item @code{in-f-c}
Instruction @code{IN F,(C)}.
@item @code{out-c-0}
Instruction @code{OUT (C),0}
@end table
@cindex Z80 Syntax
@ -158,6 +207,11 @@ compatibility with other assemblers.
These are the additional directives in @code{@value{AS}} for the Z80:
@table @code
@item assume @var{ADL}@samp{=}@var{expression}
Set ADL status for eZ80. Non-null value enable compilation ADL mode else
used Z80 mode. ADL and Z80 mode produces incompatible object code. Mixing
both of them within one binary may lead problems with disassembler.
@item db @var{expression}|@var{string}[,@var{expression}|@var{string}...]
@itemx defb @var{expression}|@var{string}[,@var{expression}|@var{string}...]
For each @var{string} the characters are copied to the object file, for
@ -192,9 +246,6 @@ These directives set the value of @var{symbol} to @var{expression}. If
@code{equ} is used, it is an error if @var{symbol} is already defined.
Symbols defined with @code{equ} are not protected from redefinition.
@item set
This is a normal instruction on Z80, and not an assembler directive.
@item psect @var{name}
A synonym for @xref{Section}, no second argument should be given.
@ignore
@ -223,18 +274,19 @@ The section is marked as read only.
@node Z80 Opcodes
@section Opcodes
In line with common practice, Z80 mnemonics are used for both the Z80 and
the R800.
In line with common practice, Z80 mnemonics are used for the Z80,
the Z180, eZ80 and the R800.
In many instructions it is possible to use one of the half index
registers (@samp{ixl},@samp{ixh},@samp{iyl},@samp{iyh}) in stead of an
8-bit general purpose register. This yields instructions that are
documented on the R800 and undocumented on the Z80.
Similarly @code{in f,(c)} is documented on the R800 and undocumented on
the Z80.
documented on the eZ80 and the R800, undocumented on the Z80 and
unsupported on the Z180.
Similarly @code{in f,(c)} is documented on the R800, undocumented on
the Z80 and unsupported on the Z180 and the eZ80.
The assembler also supports the following undocumented Z80-instructions,
that have not been adopted in the R800 instruction set:
that have not been adopted in any other instruction set:
@table @code
@item out (c),0
Sends zero to the port pointed to by register c.
@ -266,3 +318,6 @@ As above, but with @samp{iy} instead of @samp{ix}.
The web site at @uref{http://www.z80.info} is a good starting place to
find more information on programming the Z80.
You may enable or disable any of these instructions for any target CPU
even this instruction is not supported by any real CPU of this type.
Useful for custom CPU cores.

File diff suppressed because it is too large Load diff

View file

@ -24,8 +24,8 @@
29[ ]+.else
31[ ]+.endif
[ ]*[1-9][0-9]*[ ]+
[ ]*[1-9][0-9]*[ ]+\.comm[ ]+c,[ ]*1[ ]*
[ ]*[1-9][0-9]*[ ]+\.ifndef[ ]+c[ ]*
[ ]*[1-9][0-9]*[ ]+\.comm[ ]+v_c,[ ]*1[ ]*
[ ]*[1-9][0-9]*[ ]+\.ifndef[ ]+v_c[ ]*
[ ]*[1-9][0-9]*[ ]+\.endif[ ]*
[ ]*[1-9][0-9]*[ ]*
[ ]*[1-9][0-9]*[ ]+\.if[ ]+x[ ]*<>[ ]*x[ ]*
@ -39,15 +39,15 @@
[ ]*[1-9][0-9]*[ ]+\.if[ ]+y[ ]*<>[ ]*z[ ]*
[ ]*[1-9][0-9]*[ ]+\.endif[ ]*
[ ]*[1-9][0-9]*[ ]*
[ ]*[1-9][0-9]*[ ]+\.equiv[ ]+a,[ ]*y[ ]*\+[ ]*1[ ]*
[ ]*[1-9][0-9]*[ ]+\.equiv[ ]+b,[ ]*z[ ]*-[ ]*1[ ]*
[ ]*[1-9][0-9]*[ ]+\.if[ ]+a[ ]*==[ ]*x[ ]*
[ ]*[1-9][0-9]*[ ]+\.equiv[ ]+v_a,[ ]*y[ ]*\+[ ]*1[ ]*
[ ]*[1-9][0-9]*[ ]+\.equiv[ ]+v_b,[ ]*z[ ]*-[ ]*1[ ]*
[ ]*[1-9][0-9]*[ ]+\.if[ ]+v_a[ ]*==[ ]*x[ ]*
[ ]*[1-9][0-9]*[ ]+\.endif[ ]*
[ ]*[1-9][0-9]*[ ]+\.if[ ]+a[ ]*-[ ]*1[ ]*<>[ ]*x[ ]*
[ ]*[1-9][0-9]*[ ]+\.if[ ]+v_a[ ]*-[ ]*1[ ]*<>[ ]*x[ ]*
[ ]*[1-9][0-9]*[ ]+\.endif[ ]*
[ ]*[1-9][0-9]*[ ]+\.if[ ]+a[ ]*<>[ ]*b[ ]*\+[ ]*2[ ]*
[ ]*[1-9][0-9]*[ ]+\.if[ ]+v_a[ ]*<>[ ]*v_b[ ]*\+[ ]*2[ ]*
[ ]*[1-9][0-9]*[ ]+\.endif[ ]*
[ ]*[1-9][0-9]*[ ]+\.if[ ]+a[ ]*-[ ]*b[ ]*<>[ ]*2[ ]*
[ ]*[1-9][0-9]*[ ]+\.if[ ]+v_a[ ]*-[ ]*v_b[ ]*<>[ ]*2[ ]*
[ ]*[1-9][0-9]*[ ]+\.endif[ ]*
[ ]*[1-9][0-9]*[ ]*
[ ]*[1-9][0-9]*[ ]+\.equiv[ ]+x,[ ]*0[ ]*

View file

@ -30,8 +30,8 @@
.long 9
.endif
.comm c, 1
.ifndef c
.comm v_c, 1
.ifndef v_c
.err
.endif
@ -50,18 +50,18 @@
.err
.endif
.equiv a, y + 1
.equiv b, z - 1
.if a == x
.equiv v_a, y + 1
.equiv v_b, z - 1
.if v_a == x
.err
.endif
.if a - 1 <> x
.if v_a - 1 <> x
.err
.endif
.if a <> b + 2
.if v_a <> v_b + 2
.err
.endif
.if a - b <> 2
.if v_a - v_b <> 2
.err
.endif

View file

@ -5,7 +5,7 @@
RELOCATION RECORDS FOR .*
OFFSET +TYPE +VALUE
0+ .*(\.data|i)(|\+0xf+e|\+0xf+c|\+0xf+8|-0x0*2|-0x0*4|-0x0*8)
0+ .*(\.data|label_i)(|\+0xf+e|\+0xf+c|\+0xf+8|-0x0*2|-0x0*4|-0x0*8)
Contents of section .*
0+ (0+|feff|fffe|fcffffff|fffffffc|f8ffffff|f8ffffff ffffffff|ffffffff fffffff8|0+4) .*

View file

@ -1,6 +1,6 @@
.data
i:
label_i:
.text
.dc.a i + (. - .L1)
.dc.a label_i + (. - .L1)
.L1:

View file

@ -5,7 +5,7 @@ Symbol table '.symtab' contains 9 entries:
+1: 0+0 +0 +SECTION +LOCAL +DEFAULT +1 (|\.text)
+2: 0+0 +0 +SECTION +LOCAL +DEFAULT +2 (|\.data)
+3: 0+0 +0 +SECTION +LOCAL +DEFAULT +3 (|\.bss)
+4: 0+0 +0 +SECTION +LOCAL +DEFAULT +7 (|A)
+4: 0+0 +0 +SECTION +LOCAL +DEFAULT +7 (|AAA)
+5: 0+0 +0 +SECTION +LOCAL +DEFAULT +4 (|\.reginfo)
+6: 0+0 +0 +SECTION +LOCAL +DEFAULT +5 (|\.MIPS\.abiflags)
+7: 0+0 +0 +SECTION +LOCAL +DEFAULT +6 (|\.pdr)

View file

@ -3,6 +3,6 @@
.*GAS.*
[ ]+1[ ]+.section A
[ ]+2[ ]+.global A
[ ]+1[ ]+.section AAA
[ ]+2[ ]+.global AAA
[ ]+3 0000 31[ ]+.byte 49

View file

@ -1,3 +1,3 @@
.section A
.global A
.section AAA
.global AAA
.byte 49

View file

@ -1,7 +1,7 @@
#nm: -n
#name: APP with macro without NO_APP
#...
0+ T a
0+ T label_a
#...
0+[1-f] T b
0+[1-f] T label_b
#pass

View file

@ -1,12 +1,12 @@
#NO_APP
.text
.macro foo
.globl a
a:
.globl label_a
label_a:
.long 42
.endm
#APP
foo
.globl b
b:
.globl label_b
label_b:
.long 56

View file

@ -1,7 +1,7 @@
#nm: -n
#name: APP with macro then NO_APP
#...
0+ T a
0+ T label_a
#...
0+[1-f] T b
0+[1-f] T label_b
#pass

View file

@ -1,13 +1,13 @@
#NO_APP
.text
.macro foo
.globl a
a:
.globl label_a
label_a:
.long 42
.endm
#APP
foo
.globl b
b:
.globl label_b
label_b:
.long 56
#NO_APP

View file

@ -1,9 +1,9 @@
#nm: -n
#name: APP with macro then NO_APP then more code
#...
0+ T a
0+ T label_a
#...
0+[1-f] T b
0+[1-f] T label_b
#...
0+[2-f] T c
0+[2-f] T label_c
#pass

View file

@ -1,16 +1,16 @@
#NO_APP
.text
.macro foo
.globl a
a:
.globl label_a
label_a:
.long 42
.endm
#APP
foo
.globl b
b:
.globl label_b
label_b:
.long 56
#NO_APP
.globl c
c:
.globl label_c
label_c:
.long 78

View file

@ -2,9 +2,9 @@
#nm: -n
#name: included file with .if 0 wrapped in APP/NO_APP, no final NO_APP, macro in main file
#...
0+ T d
0+ T label_d
#...
0+[1-f] T a
0+[1-f] T label_a
#...
0+[2-f] T b
0+[2-f] T label_b
#pass

View file

@ -1,11 +1,11 @@
.text
.macro foo
.globl a
a:
.globl label_a
label_a:
.long 42
.endm
.include "app4b.s"
foo
.globl b
b:
.globl label_b
label_b:
.long 56

View file

@ -1,12 +1,12 @@
#NO_APP
.globl d
d:
.globl label_d
label_d:
.long 21
#APP
.if 0
#NO_APP
.err
.globl x
x:
.globl label_x
label_x:
#APP
.endif

View file

@ -0,0 +1,21 @@
#name: colonless labels
#source: colonless.s -colonless
#objdump: -d
.*:[ ]+file format (coff)|(elf32)\-z80
Disassembly of section \.text:
00000000 <start>:
[ ]+0:[ ]+3e 00[ ]+ld a,0x00
[ ]+2:[ ]+28 0c[ ]+jr z,0x0010
[ ]+4:[ ]+3e 01[ ]+ld a,0x01
[ ]+6:[ ]+3e 02[ ]+ld a,0x02
[ ]+8:[ ]+3e 03[ ]+ld a,0x03
[ ]+a:[ ]+18 f4[ ]+jr 0x0000
[ ]+c:[ ]+18 f4[ ]+jr 0x0002
[ ]+e:[ ]+18 f6[ ]+jr 0x0006
00000010 <finish>:
[ ]+10:[ ]+c9[ ]+ret

View file

@ -0,0 +1,14 @@
.text
;; colon less labels test
start
ld a,0
.L_next
jr z,finish
ld a,1
.L_xx ld a,2
ld a,3
jr start
jr .L_next
jr .L_xx
finish ret
.end

View file

@ -0,0 +1,16 @@
#name: data definition
#objdump: -s -j .data
.*:[ ]+file format (coff)|(elf32)\-z80
Contents of section \.data:
0000 007fff80 6d657373 61676500 0000ffff.*
0010 7fffffff 00008056 34120000 0000ffff.*
0020 ff7fffff ffff0000 00807856 34120000.*
0030 00ffff7f ffffff00 00805634 12000000.*
0040 00ffffff 7fffffff ff000000 80785634.*
0050 12007fff 80746578 746d6573 73616765.*
0060 00000000 00000000 000000ff 7f0080ff.*
0070 ff008034 12000000 00000000 000000ff.*
0080 7f0080ff ff008034 12.*
#pass

View file

@ -0,0 +1,13 @@
.data
.db 0, 127, -1, 0x80, "message"
.d24 0, 8388607, -1, 0x800000, 0x123456
.d32 0, 2147483647, -1, 0x80000000, 0x12345678
def24 0, 8388607, -1, 0x800000, 0x123456
def32 0, 2147483647, -1, 0x80000000, 0x12345678
defb 0, 127, -1, 0x80
defm "text", "message", 0
defs 8
defw 0, 32767, 32768, -1, 0x8000, 0x1234
.ds 8
.dw 0, 32767, 32768, -1, 0x8000, 0x1234
.end

View file

@ -0,0 +1,8 @@
#objdump: -s -j .data
#name: dollar labels
.*:[ ]+file format (coff)|(elf32)\-z80
Contents of section .data:
0000 00000000 00000000 00000000 00000000[ ]+.*
0010 12001200 18001600 18001600 1800[ ]+.*

View file

@ -0,0 +1,17 @@
.data
.org 0x10
_label1:
.dw 100$
100$:
.dw 100$
_label2:
.dw 110$
100$:
.dw 100$
110$:
.dw 110$
.L_label3:
.dw 100$
.dw 110$
.end

View file

@ -0,0 +1,961 @@
#as: -ez80-adl
#objdump: -d
#name: All eZ80 instructions in ADL cpu mode
.*:.*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+a7\s+and a,a
\s+1:\s+a0\s+and a,b
\s+2:\s+a1\s+and a,c
\s+3:\s+a2\s+and a,d
\s+4:\s+a3\s+and a,e
\s+5:\s+a4\s+and a,h
\s+6:\s+a5\s+and a,l
\s+7:\s+a6\s+and a,\(hl\)
\s+8:\s+e6 aa\s+and a,0xaa
\s+a:\s+dd a6 05\s+and a,\(ix\+5\)
\s+d:\s+fd a6 fb\s+and a,\(iy\-5\)
\s+10:\s+bf\s+cp a,a
\s+11:\s+b8\s+cp a,b
\s+12:\s+b9\s+cp a,c
\s+13:\s+ba\s+cp a,d
\s+14:\s+bb\s+cp a,e
\s+15:\s+bc\s+cp a,h
\s+16:\s+bd\s+cp a,l
\s+17:\s+be\s+cp a,\(hl\)
\s+18:\s+fe aa\s+cp a,0xaa
\s+1a:\s+dd be 05\s+cp a,\(ix\+5\)
\s+1d:\s+fd be fb\s+cp a,\(iy\-5\)
\s+20:\s+b7\s+or a,a
\s+21:\s+b0\s+or a,b
\s+22:\s+b1\s+or a,c
\s+23:\s+b2\s+or a,d
\s+24:\s+b3\s+or a,e
\s+25:\s+b4\s+or a,h
\s+26:\s+b5\s+or a,l
\s+27:\s+b6\s+or a,\(hl\)
\s+28:\s+f6 aa\s+or a,0xaa
\s+2a:\s+dd b6 05\s+or a,\(ix\+5\)
\s+2d:\s+fd b6 fb\s+or a,\(iy\-5\)
\s+30:\s+97\s+sub a,a
\s+31:\s+90\s+sub a,b
\s+32:\s+91\s+sub a,c
\s+33:\s+92\s+sub a,d
\s+34:\s+93\s+sub a,e
\s+35:\s+94\s+sub a,h
\s+36:\s+95\s+sub a,l
\s+37:\s+96\s+sub a,\(hl\)
\s+38:\s+d6 aa\s+sub a,0xaa
\s+3a:\s+dd 96 05\s+sub a,\(ix\+5\)
\s+3d:\s+fd 96 fb\s+sub a,\(iy\-5\)
\s+40:\s+ed 3c\s+tst a,a
\s+42:\s+ed 04\s+tst a,b
\s+44:\s+ed 0c\s+tst a,c
\s+46:\s+ed 14\s+tst a,d
\s+48:\s+ed 1c\s+tst a,e
\s+4a:\s+ed 24\s+tst a,h
\s+4c:\s+ed 2c\s+tst a,l
\s+4e:\s+ed 34\s+tst a,\(hl\)
\s+50:\s+ed 64 0f\s+tst a,0x0f
\s+53:\s+af\s+xor a,a
\s+54:\s+a8\s+xor a,b
\s+55:\s+a9\s+xor a,c
\s+56:\s+aa\s+xor a,d
\s+57:\s+ab\s+xor a,e
\s+58:\s+ac\s+xor a,h
\s+59:\s+ad\s+xor a,l
\s+5a:\s+ae\s+xor a,\(hl\)
\s+5b:\s+ee aa\s+xor a,0xaa
\s+5d:\s+dd ae 05\s+xor a,\(ix\+5\)
\s+60:\s+fd ae fb\s+xor a,\(iy\-5\)
\s+63:\s+ed 78\s+in a,\(bc\)
\s+65:\s+ed 40\s+in b,\(bc\)
\s+67:\s+ed 48\s+in c,\(bc\)
\s+69:\s+ed 50\s+in d,\(bc\)
\s+6b:\s+ed 58\s+in e,\(bc\)
\s+6d:\s+ed 60\s+in h,\(bc\)
\s+6f:\s+ed 68\s+in l,\(bc\)
\s+71:\s+ed 79\s+out \(bc\),a
\s+73:\s+ed 41\s+out \(bc\),b
\s+75:\s+ed 49\s+out \(bc\),c
\s+77:\s+ed 51\s+out \(bc\),d
\s+79:\s+ed 59\s+out \(bc\),e
\s+7b:\s+ed 61\s+out \(bc\),h
\s+7d:\s+ed 69\s+out \(bc\),l
\s+7f:\s+dd 07 f9\s+ld bc,\(ix\-7\)
\s+82:\s+dd 17 f9\s+ld de,\(ix\-7\)
\s+85:\s+dd 27 f9\s+ld hl,\(ix\-7\)
\s+88:\s+dd 37 f9\s+ld ix,\(ix\-7\)
\s+8b:\s+dd 31 f9\s+ld iy,\(ix\-7\)
\s+8e:\s+fd 07 26\s+ld bc,\(iy\+38\)
\s+91:\s+fd 17 26\s+ld de,\(iy\+38\)
\s+94:\s+fd 27 26\s+ld hl,\(iy\+38\)
\s+97:\s+fd 31 26\s+ld ix,\(iy\+38\)
\s+9a:\s+fd 37 26\s+ld iy,\(iy\+38\)
\s+9d:\s+dd 0f 7e\s+ld \(ix\+126\),bc
\s+a0:\s+dd 1f 7e\s+ld \(ix\+126\),de
\s+a3:\s+dd 2f 7e\s+ld \(ix\+126\),hl
\s+a6:\s+dd 3f 7e\s+ld \(ix\+126\),ix
\s+a9:\s+dd 3e 7e\s+ld \(ix\+126\),iy
\s+ac:\s+fd 0f 9e\s+ld \(iy\-98\),bc
\s+af:\s+fd 1f 9e\s+ld \(iy\-98\),de
\s+b2:\s+fd 2f 9e\s+ld \(iy\-98\),hl
\s+b5:\s+fd 3e 9e\s+ld \(iy\-98\),ix
\s+b8:\s+fd 3f 9e\s+ld \(iy\-98\),iy
\s+bb:\s+ed 02 e5\s+lea bc,ix\-27
\s+be:\s+ed 12 e5\s+lea de,ix\-27
\s+c1:\s+ed 22 e5\s+lea hl,ix\-27
\s+c4:\s+ed 32 e5\s+lea ix,ix\-27
\s+c7:\s+ed 55 e5\s+lea iy,ix\-27
\s+ca:\s+ed 03 0c\s+lea bc,iy\+12
\s+cd:\s+ed 13 0c\s+lea de,iy\+12
\s+d0:\s+ed 23 0c\s+lea hl,iy\+12
\s+d3:\s+ed 54 0c\s+lea ix,iy\+12
\s+d6:\s+ed 33 0c\s+lea iy,iy\+12
\s+d9:\s+ed 65 7f\s+pea ix\+127
\s+dc:\s+ed 66 80\s+pea iy\-128
\s+df:\s+ed 38 05\s+in0 a,\(0x05\)
\s+e2:\s+ed 00 05\s+in0 b,\(0x05\)
\s+e5:\s+ed 08 05\s+in0 c,\(0x05\)
\s+e8:\s+ed 10 05\s+in0 d,\(0x05\)
\s+eb:\s+ed 18 05\s+in0 e,\(0x05\)
\s+ee:\s+ed 20 05\s+in0 h,\(0x05\)
\s+f1:\s+ed 28 05\s+in0 l,\(0x05\)
\s+f4:\s+ed 39 05\s+out0 \(0x05\),a
\s+f7:\s+ed 01 05\s+out0 \(0x05\),b
\s+fa:\s+ed 09 05\s+out0 \(0x05\),c
\s+fd:\s+ed 11 05\s+out0 \(0x05\),d
\s+100:\s+ed 19 05\s+out0 \(0x05\),e
\s+103:\s+ed 21 05\s+out0 \(0x05\),h
\s+106:\s+ed 29 05\s+out0 \(0x05\),l
\s+109:\s+ed 4c\s+mlt bc
\s+10b:\s+ed 5c\s+mlt de
\s+10d:\s+ed 6c\s+mlt hl
\s+10f:\s+ed 7c\s+mlt sp
\s+111:\s+ed 74 f0\s+tstio 0xf0
\s+114:\s+ed 76\s+slp
\s+116:\s+ed 7d\s+stmix
\s+118:\s+ed 7e\s+rsmix
\s+11a:\s+ed 82\s+inim
\s+11c:\s+ed 83\s+otim
\s+11e:\s+ed 84\s+ini2
\s+120:\s+ed 8a\s+indm
\s+122:\s+ed 8b\s+otdm
\s+124:\s+ed 8c\s+ind2
\s+126:\s+ed 92\s+inimr
\s+128:\s+ed 93\s+otimr
\s+12a:\s+ed 94\s+oti2r
\s+12c:\s+ed 9a\s+indmr
\s+12e:\s+ed 9b\s+otdmr
\s+130:\s+ed 9c\s+otd2r
\s+132:\s+ed a4\s+ini2
\s+134:\s+ed ac\s+ind2
\s+136:\s+ed b4\s+oti2r
\s+138:\s+ed bc\s+otd2r
\s+13a:\s+ed c2\s+inirx
\s+13c:\s+ed c3\s+otirx
\s+13e:\s+ed ca\s+indrx
\s+140:\s+ed cb\s+otdrx
\s+142:\s+dd 7c\s+ld a,ixh
\s+144:\s+dd 44\s+ld b,ixh
\s+146:\s+dd 4c\s+ld c,ixh
\s+148:\s+dd 54\s+ld d,ixh
\s+14a:\s+dd 5c\s+ld e,ixh
\s+14c:\s+dd 64\s+ld ixh,ixh
\s+14e:\s+dd 6c\s+ld ixl,ixh
\s+150:\s+dd 7d\s+ld a,ixl
\s+152:\s+dd 45\s+ld b,ixl
\s+154:\s+dd 4d\s+ld c,ixl
\s+156:\s+dd 55\s+ld d,ixl
\s+158:\s+dd 5d\s+ld e,ixl
\s+15a:\s+dd 65\s+ld ixh,ixl
\s+15c:\s+dd 6d\s+ld ixl,ixl
\s+15e:\s+fd 7c\s+ld a,iyh
\s+160:\s+fd 44\s+ld b,iyh
\s+162:\s+fd 4c\s+ld c,iyh
\s+164:\s+fd 54\s+ld d,iyh
\s+166:\s+fd 5c\s+ld e,iyh
\s+168:\s+fd 64\s+ld iyh,iyh
\s+16a:\s+fd 6c\s+ld iyl,iyh
\s+16c:\s+fd 7d\s+ld a,iyl
\s+16e:\s+fd 45\s+ld b,iyl
\s+170:\s+fd 4d\s+ld c,iyl
\s+172:\s+fd 55\s+ld d,iyl
\s+174:\s+fd 5d\s+ld e,iyl
\s+176:\s+fd 65\s+ld iyh,iyl
\s+178:\s+fd 6d\s+ld iyl,iyl
\s+17a:\s+dd 67\s+ld ixh,a
\s+17c:\s+dd 60\s+ld ixh,b
\s+17e:\s+dd 61\s+ld ixh,c
\s+180:\s+dd 62\s+ld ixh,d
\s+182:\s+dd 63\s+ld ixh,e
\s+184:\s+dd 64\s+ld ixh,ixh
\s+186:\s+dd 65\s+ld ixh,ixl
\s+188:\s+dd 26 19\s+ld ixh,0x19
\s+18b:\s+dd 6f\s+ld ixl,a
\s+18d:\s+dd 68\s+ld ixl,b
\s+18f:\s+dd 69\s+ld ixl,c
\s+191:\s+dd 6a\s+ld ixl,d
\s+193:\s+dd 6b\s+ld ixl,e
\s+195:\s+dd 6c\s+ld ixl,ixh
\s+197:\s+dd 6d\s+ld ixl,ixl
\s+199:\s+dd 2e 19\s+ld ixl,0x19
\s+19c:\s+fd 67\s+ld iyh,a
\s+19e:\s+fd 60\s+ld iyh,b
\s+1a0:\s+fd 61\s+ld iyh,c
\s+1a2:\s+fd 62\s+ld iyh,d
\s+1a4:\s+fd 63\s+ld iyh,e
\s+1a6:\s+fd 64\s+ld iyh,iyh
\s+1a8:\s+fd 65\s+ld iyh,iyl
\s+1aa:\s+fd 26 19\s+ld iyh,0x19
\s+1ad:\s+fd 6f\s+ld iyl,a
\s+1af:\s+fd 68\s+ld iyl,b
\s+1b1:\s+fd 69\s+ld iyl,c
\s+1b3:\s+fd 6a\s+ld iyl,d
\s+1b5:\s+fd 6b\s+ld iyl,e
\s+1b7:\s+fd 6c\s+ld iyl,iyh
\s+1b9:\s+fd 6d\s+ld iyl,iyl
\s+1bb:\s+fd 2e 19\s+ld iyl,0x19
\s+1be:\s+dd 84\s+add a,ixh
\s+1c0:\s+dd 85\s+add a,ixl
\s+1c2:\s+fd 84\s+add a,iyh
\s+1c4:\s+fd 85\s+add a,iyl
\s+1c6:\s+dd 8c\s+adc a,ixh
\s+1c8:\s+dd 8d\s+adc a,ixl
\s+1ca:\s+fd 8c\s+adc a,iyh
\s+1cc:\s+fd 8d\s+adc a,iyl
\s+1ce:\s+dd bc\s+cp a,ixh
\s+1d0:\s+dd bd\s+cp a,ixl
\s+1d2:\s+fd bc\s+cp a,iyh
\s+1d4:\s+fd bd\s+cp a,iyl
\s+1d6:\s+dd 25\s+dec ixh
\s+1d8:\s+dd 2d\s+dec ixl
\s+1da:\s+fd 25\s+dec iyh
\s+1dc:\s+fd 2d\s+dec iyl
\s+1de:\s+dd 24\s+inc ixh
\s+1e0:\s+dd 2c\s+inc ixl
\s+1e2:\s+fd 24\s+inc iyh
\s+1e4:\s+fd 2c\s+inc iyl
\s+1e6:\s+dd 9c\s+sbc a,ixh
\s+1e8:\s+dd 9d\s+sbc a,ixl
\s+1ea:\s+fd 9c\s+sbc a,iyh
\s+1ec:\s+fd 9d\s+sbc a,iyl
\s+1ee:\s+dd 94\s+sub a,ixh
\s+1f0:\s+dd 95\s+sub a,ixl
\s+1f2:\s+fd 94\s+sub a,iyh
\s+1f4:\s+fd 95\s+sub a,iyl
\s+1f6:\s+dd a4\s+and a,ixh
\s+1f8:\s+dd a5\s+and a,ixl
\s+1fa:\s+fd a4\s+and a,iyh
\s+1fc:\s+fd a5\s+and a,iyl
\s+1fe:\s+dd b4\s+or a,ixh
\s+200:\s+dd b5\s+or a,ixl
\s+202:\s+fd b4\s+or a,iyh
\s+204:\s+fd b5\s+or a,iyl
\s+206:\s+dd ac\s+xor a,ixh
\s+208:\s+dd ad\s+xor a,ixl
\s+20a:\s+fd ac\s+xor a,iyh
\s+20c:\s+fd ad\s+xor a,iyl
\s+20e:\s+ed c7\s+ld i,hl
\s+210:\s+ed d7\s+ld hl,i
\s+212:\s+ed 6d\s+ld mb,a
\s+214:\s+ed 6e\s+ld a,mb
\s+216:\s+8e\s+adc a,\(hl\)
\s+217:\s+dd 8e 09\s+adc a,\(ix\+9\)
\s+21a:\s+fd 8e 09\s+adc a,\(iy\+9\)
\s+21d:\s+ce 03\s+adc a,0x03
\s+21f:\s+8f\s+adc a,a
\s+220:\s+88\s+adc a,b
\s+221:\s+89\s+adc a,c
\s+222:\s+8a\s+adc a,d
\s+223:\s+8b\s+adc a,e
\s+224:\s+8c\s+adc a,h
\s+225:\s+8d\s+adc a,l
\s+226:\s+ed 4a\s+adc hl,bc
\s+228:\s+ed 5a\s+adc hl,de
\s+22a:\s+ed 6a\s+adc hl,hl
\s+22c:\s+ed 7a\s+adc hl,sp
\s+22e:\s+86\s+add a,\(hl\)
\s+22f:\s+dd 86 09\s+add a,\(ix\+9\)
\s+232:\s+fd 86 09\s+add a,\(iy\+9\)
\s+235:\s+c6 03\s+add a,0x03
\s+237:\s+87\s+add a,a
\s+238:\s+80\s+add a,b
\s+239:\s+81\s+add a,c
\s+23a:\s+82\s+add a,d
\s+23b:\s+83\s+add a,e
\s+23c:\s+84\s+add a,h
\s+23d:\s+85\s+add a,l
\s+23e:\s+09\s+add hl,bc
\s+23f:\s+19\s+add hl,de
\s+240:\s+29\s+add hl,hl
\s+241:\s+39\s+add hl,sp
\s+242:\s+dd 09\s+add ix,bc
\s+244:\s+dd 19\s+add ix,de
\s+246:\s+dd 29\s+add ix,ix
\s+248:\s+dd 39\s+add ix,sp
\s+24a:\s+fd 09\s+add iy,bc
\s+24c:\s+fd 19\s+add iy,de
\s+24e:\s+fd 29\s+add iy,iy
\s+250:\s+fd 39\s+add iy,sp
\s+252:\s+a6\s+and a,\(hl\)
\s+253:\s+dd a6 09\s+and a,\(ix\+9\)
\s+256:\s+fd a6 09\s+and a,\(iy\+9\)
\s+259:\s+e6 03\s+and a,0x03
\s+25b:\s+a7\s+and a,a
\s+25c:\s+a0\s+and a,b
\s+25d:\s+a1\s+and a,c
\s+25e:\s+a2\s+and a,d
\s+25f:\s+a3\s+and a,e
\s+260:\s+a4\s+and a,h
\s+261:\s+a5\s+and a,l
\s+262:\s+cb 46\s+bit 0,\(hl\)
\s+264:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
\s+268:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
\s+26c:\s+cb 47\s+bit 0,a
\s+26e:\s+cb 40\s+bit 0,b
\s+270:\s+cb 41\s+bit 0,c
\s+272:\s+cb 42\s+bit 0,d
\s+274:\s+cb 43\s+bit 0,e
\s+276:\s+cb 44\s+bit 0,h
\s+278:\s+cb 45\s+bit 0,l
\s+27a:\s+cb 4e\s+bit 1,\(hl\)
\s+27c:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
\s+280:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
\s+284:\s+cb 4f\s+bit 1,a
\s+286:\s+cb 48\s+bit 1,b
\s+288:\s+cb 49\s+bit 1,c
\s+28a:\s+cb 4a\s+bit 1,d
\s+28c:\s+cb 4b\s+bit 1,e
\s+28e:\s+cb 4c\s+bit 1,h
\s+290:\s+cb 4d\s+bit 1,l
\s+292:\s+cb 56\s+bit 2,\(hl\)
\s+294:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
\s+298:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
\s+29c:\s+cb 57\s+bit 2,a
\s+29e:\s+cb 50\s+bit 2,b
\s+2a0:\s+cb 51\s+bit 2,c
\s+2a2:\s+cb 52\s+bit 2,d
\s+2a4:\s+cb 53\s+bit 2,e
\s+2a6:\s+cb 54\s+bit 2,h
\s+2a8:\s+cb 55\s+bit 2,l
\s+2aa:\s+cb 5e\s+bit 3,\(hl\)
\s+2ac:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
\s+2b0:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
\s+2b4:\s+cb 5f\s+bit 3,a
\s+2b6:\s+cb 58\s+bit 3,b
\s+2b8:\s+cb 59\s+bit 3,c
\s+2ba:\s+cb 5a\s+bit 3,d
\s+2bc:\s+cb 5b\s+bit 3,e
\s+2be:\s+cb 5c\s+bit 3,h
\s+2c0:\s+cb 5d\s+bit 3,l
\s+2c2:\s+cb 66\s+bit 4,\(hl\)
\s+2c4:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
\s+2c8:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
\s+2cc:\s+cb 67\s+bit 4,a
\s+2ce:\s+cb 60\s+bit 4,b
\s+2d0:\s+cb 61\s+bit 4,c
\s+2d2:\s+cb 62\s+bit 4,d
\s+2d4:\s+cb 63\s+bit 4,e
\s+2d6:\s+cb 64\s+bit 4,h
\s+2d8:\s+cb 65\s+bit 4,l
\s+2da:\s+cb 6e\s+bit 5,\(hl\)
\s+2dc:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
\s+2e0:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
\s+2e4:\s+cb 6f\s+bit 5,a
\s+2e6:\s+cb 68\s+bit 5,b
\s+2e8:\s+cb 69\s+bit 5,c
\s+2ea:\s+cb 6a\s+bit 5,d
\s+2ec:\s+cb 6b\s+bit 5,e
\s+2ee:\s+cb 6c\s+bit 5,h
\s+2f0:\s+cb 6d\s+bit 5,l
\s+2f2:\s+cb 76\s+bit 6,\(hl\)
\s+2f4:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
\s+2f8:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
\s+2fc:\s+cb 77\s+bit 6,a
\s+2fe:\s+cb 70\s+bit 6,b
\s+300:\s+cb 71\s+bit 6,c
\s+302:\s+cb 72\s+bit 6,d
\s+304:\s+cb 73\s+bit 6,e
\s+306:\s+cb 74\s+bit 6,h
\s+308:\s+cb 75\s+bit 6,l
\s+30a:\s+cb 7e\s+bit 7,\(hl\)
\s+30c:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
\s+310:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
\s+314:\s+cb 7f\s+bit 7,a
\s+316:\s+cb 78\s+bit 7,b
\s+318:\s+cb 79\s+bit 7,c
\s+31a:\s+cb 7a\s+bit 7,d
\s+31c:\s+cb 7b\s+bit 7,e
\s+31e:\s+cb 7c\s+bit 7,h
\s+320:\s+cb 7d\s+bit 7,l
\s+322:\s+cd 56 34 12\s+call 0x123456
\s+326:\s+dc 56 34 12\s+call c,0x123456
\s+32a:\s+fc 56 34 12\s+call m,0x123456
\s+32e:\s+d4 56 34 12\s+call nc,0x123456
\s+332:\s+c4 56 34 12\s+call nz,0x123456
\s+336:\s+f4 56 34 12\s+call p,0x123456
\s+33a:\s+ec 56 34 12\s+call pe,0x123456
\s+33e:\s+e4 56 34 12\s+call po,0x123456
\s+342:\s+cc 56 34 12\s+call z,0x123456
\s+346:\s+3f\s+ccf
\s+347:\s+be\s+cp a,\(hl\)
\s+348:\s+dd be 09\s+cp a,\(ix\+9\)
\s+34b:\s+fd be 09\s+cp a,\(iy\+9\)
\s+34e:\s+fe 03\s+cp a,0x03
\s+350:\s+bf\s+cp a,a
\s+351:\s+b8\s+cp a,b
\s+352:\s+b9\s+cp a,c
\s+353:\s+ba\s+cp a,d
\s+354:\s+bb\s+cp a,e
\s+355:\s+bc\s+cp a,h
\s+356:\s+bd\s+cp a,l
\s+357:\s+ed a9\s+cpd
\s+359:\s+ed b9\s+cpdr
\s+35b:\s+ed a1\s+cpi
\s+35d:\s+ed b1\s+cpir
\s+35f:\s+2f\s+cpl
\s+360:\s+27\s+daa
\s+361:\s+35\s+dec \(hl\)
\s+362:\s+dd 35 09\s+dec \(ix\+9\)
\s+365:\s+fd 35 09\s+dec \(iy\+9\)
\s+368:\s+3d\s+dec a
\s+369:\s+05\s+dec b
\s+36a:\s+0b\s+dec bc
\s+36b:\s+0d\s+dec c
\s+36c:\s+15\s+dec d
\s+36d:\s+1b\s+dec de
\s+36e:\s+1d\s+dec e
\s+36f:\s+25\s+dec h
\s+370:\s+2b\s+dec hl
\s+371:\s+dd 2b\s+dec ix
\s+373:\s+fd 2b\s+dec iy
\s+375:\s+2d\s+dec l
\s+376:\s+3b\s+dec sp
\s+377:\s+f3\s+di
\s+378:\s+10 05\s+djnz 0x037f
\s+37a:\s+fb\s+ei
\s+37b:\s+e3\s+ex \(sp\),hl
\s+37c:\s+dd e3\s+ex \(sp\),ix
\s+37e:\s+fd e3\s+ex \(sp\),iy
\s+380:\s+08\s+ex af,af'
\s+381:\s+eb\s+ex de,hl
\s+382:\s+d9\s+exx
\s+383:\s+76\s+halt
\s+384:\s+ed 46\s+im 0
\s+386:\s+ed 56\s+im 1
\s+388:\s+ed 5e\s+im 2
\s+38a:\s+ed 78\s+in a,\(bc\)
\s+38c:\s+db 03\s+in a,\(0x03\)
\s+38e:\s+ed 40\s+in b,\(bc\)
\s+390:\s+ed 48\s+in c,\(bc\)
\s+392:\s+ed 50\s+in d,\(bc\)
\s+394:\s+ed 58\s+in e,\(bc\)
\s+396:\s+ed 60\s+in h,\(bc\)
\s+398:\s+ed 68\s+in l,\(bc\)
\s+39a:\s+34\s+inc \(hl\)
\s+39b:\s+dd 34 09\s+inc \(ix\+9\)
\s+39e:\s+fd 34 09\s+inc \(iy\+9\)
\s+3a1:\s+3c\s+inc a
\s+3a2:\s+04\s+inc b
\s+3a3:\s+03\s+inc bc
\s+3a4:\s+0c\s+inc c
\s+3a5:\s+14\s+inc d
\s+3a6:\s+13\s+inc de
\s+3a7:\s+1c\s+inc e
\s+3a8:\s+24\s+inc h
\s+3a9:\s+23\s+inc hl
\s+3aa:\s+dd 23\s+inc ix
\s+3ac:\s+fd 23\s+inc iy
\s+3ae:\s+2c\s+inc l
\s+3af:\s+33\s+inc sp
\s+3b0:\s+ed aa\s+ind
\s+3b2:\s+ed ba\s+indr
\s+3b4:\s+ed a2\s+ini
\s+3b6:\s+ed b2\s+inir
\s+3b8:\s+e9\s+jp \(hl\)
\s+3b9:\s+dd e9\s+jp \(ix\)
\s+3bb:\s+fd e9\s+jp \(iy\)
\s+3bd:\s+c3 56 34 12\s+jp 0x123456
\s+3c1:\s+da 56 34 12\s+jp c,0x123456
\s+3c5:\s+fa 56 34 12\s+jp m,0x123456
\s+3c9:\s+d2 56 34 12\s+jp nc,0x123456
\s+3cd:\s+c2 56 34 12\s+jp nz,0x123456
\s+3d1:\s+f2 56 34 12\s+jp p,0x123456
\s+3d5:\s+ea 56 34 12\s+jp pe,0x123456
\s+3d9:\s+e2 56 34 12\s+jp po,0x123456
\s+3dd:\s+ca 56 34 12\s+jp z,0x123456
\s+3e1:\s+18 05\s+jr 0x03e8
\s+3e3:\s+38 05\s+jr c,0x03ea
\s+3e5:\s+30 05\s+jr nc,0x03ec
\s+3e7:\s+20 05\s+jr nz,0x03ee
\s+3e9:\s+28 05\s+jr z,0x03f0
\s+3eb:\s+32 56 34 12\s+ld \(0x123456\),a
\s+3ef:\s+ed 43 56 34 12\s+ld \(0x123456\),bc
\s+3f4:\s+ed 53 56 34 12\s+ld \(0x123456\),de
\s+3f9:\s+22 56 34 12\s+ld \(0x123456\),hl
\s+3fd:\s+dd 22 56 34 12\s+ld \(0x123456\),ix
\s+402:\s+fd 22 56 34 12\s+ld \(0x123456\),iy
\s+407:\s+ed 73 56 34 12\s+ld \(0x123456\),sp
\s+40c:\s+02\s+ld \(bc\),a
\s+40d:\s+12\s+ld \(de\),a
\s+40e:\s+36 03\s+ld \(hl\),0x03
\s+410:\s+77\s+ld \(hl\),a
\s+411:\s+70\s+ld \(hl\),b
\s+412:\s+71\s+ld \(hl\),c
\s+413:\s+72\s+ld \(hl\),d
\s+414:\s+73\s+ld \(hl\),e
\s+415:\s+74\s+ld \(hl\),h
\s+416:\s+75\s+ld \(hl\),l
\s+417:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
\s+41b:\s+dd 77 09\s+ld \(ix\+9\),a
\s+41e:\s+dd 70 09\s+ld \(ix\+9\),b
\s+421:\s+dd 71 09\s+ld \(ix\+9\),c
\s+424:\s+dd 72 09\s+ld \(ix\+9\),d
\s+427:\s+dd 73 09\s+ld \(ix\+9\),e
\s+42a:\s+dd 74 09\s+ld \(ix\+9\),h
\s+42d:\s+dd 75 09\s+ld \(ix\+9\),l
\s+430:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
\s+434:\s+fd 77 09\s+ld \(iy\+9\),a
\s+437:\s+fd 70 09\s+ld \(iy\+9\),b
\s+43a:\s+fd 71 09\s+ld \(iy\+9\),c
\s+43d:\s+fd 72 09\s+ld \(iy\+9\),d
\s+440:\s+fd 73 09\s+ld \(iy\+9\),e
\s+443:\s+fd 74 09\s+ld \(iy\+9\),h
\s+446:\s+fd 75 09\s+ld \(iy\+9\),l
\s+449:\s+3a 56 34 12\s+ld a,\(0x123456\)
\s+44d:\s+0a\s+ld a,\(bc\)
\s+44e:\s+1a\s+ld a,\(de\)
\s+44f:\s+7e\s+ld a,\(hl\)
\s+450:\s+dd 7e 09\s+ld a,\(ix\+9\)
\s+453:\s+fd 7e 09\s+ld a,\(iy\+9\)
\s+456:\s+3e 03\s+ld a,0x03
\s+458:\s+7f\s+ld a,a
\s+459:\s+78\s+ld a,b
\s+45a:\s+79\s+ld a,c
\s+45b:\s+7a\s+ld a,d
\s+45c:\s+7b\s+ld a,e
\s+45d:\s+7c\s+ld a,h
\s+45e:\s+ed 57\s+ld a,i
\s+460:\s+7d\s+ld a,l
\s+461:\s+ed 5f\s+ld a,r
\s+463:\s+46\s+ld b,\(hl\)
\s+464:\s+dd 46 09\s+ld b,\(ix\+9\)
\s+467:\s+fd 46 09\s+ld b,\(iy\+9\)
\s+46a:\s+06 03\s+ld b,0x03
\s+46c:\s+47\s+ld b,a
\s+46d:\s+00\s+nop
\s+46e:\s+41\s+ld b,c
\s+46f:\s+42\s+ld b,d
\s+470:\s+43\s+ld b,e
\s+471:\s+44\s+ld b,h
\s+472:\s+45\s+ld b,l
\s+473:\s+ed 4b 56 34 12\s+ld bc,\(0x123456\)
\s+478:\s+01 56 34 12\s+ld bc,0x123456
\s+47c:\s+4e\s+ld c,\(hl\)
\s+47d:\s+dd 4e 09\s+ld c,\(ix\+9\)
\s+480:\s+fd 4e 09\s+ld c,\(iy\+9\)
\s+483:\s+0e 03\s+ld c,0x03
\s+485:\s+4f\s+ld c,a
\s+486:\s+48\s+ld c,b
\s+487:\s+00\s+nop
\s+488:\s+4a\s+ld c,d
\s+489:\s+4b\s+ld c,e
\s+48a:\s+4c\s+ld c,h
\s+48b:\s+4d\s+ld c,l
\s+48c:\s+56\s+ld d,\(hl\)
\s+48d:\s+dd 56 09\s+ld d,\(ix\+9\)
\s+490:\s+fd 56 09\s+ld d,\(iy\+9\)
\s+493:\s+16 03\s+ld d,0x03
\s+495:\s+57\s+ld d,a
\s+496:\s+50\s+ld d,b
\s+497:\s+51\s+ld d,c
\s+498:\s+00\s+nop
\s+499:\s+53\s+ld d,e
\s+49a:\s+54\s+ld d,h
\s+49b:\s+55\s+ld d,l
\s+49c:\s+ed 5b 56 34 12\s+ld de,\(0x123456\)
\s+4a1:\s+11 56 34 12\s+ld de,0x123456
\s+4a5:\s+5e\s+ld e,\(hl\)
\s+4a6:\s+dd 5e 09\s+ld e,\(ix\+9\)
\s+4a9:\s+fd 5e 09\s+ld e,\(iy\+9\)
\s+4ac:\s+1e 03\s+ld e,0x03
\s+4ae:\s+5f\s+ld e,a
\s+4af:\s+58\s+ld e,b
\s+4b0:\s+59\s+ld e,c
\s+4b1:\s+5a\s+ld e,d
\s+4b2:\s+00\s+nop
\s+4b3:\s+5c\s+ld e,h
\s+4b4:\s+5d\s+ld e,l
\s+4b5:\s+66\s+ld h,\(hl\)
\s+4b6:\s+dd 66 09\s+ld h,\(ix\+9\)
\s+4b9:\s+fd 66 09\s+ld h,\(iy\+9\)
\s+4bc:\s+26 03\s+ld h,0x03
\s+4be:\s+67\s+ld h,a
\s+4bf:\s+60\s+ld h,b
\s+4c0:\s+61\s+ld h,c
\s+4c1:\s+62\s+ld h,d
\s+4c2:\s+63\s+ld h,e
\s+4c3:\s+64\s+ld h,h
\s+4c4:\s+65\s+ld h,l
\s+4c5:\s+2a 56 34 12\s+ld hl,\(0x123456\)
\s+4c9:\s+21 56 34 12\s+ld hl,0x123456
\s+4cd:\s+ed 47\s+ld i,a
\s+4cf:\s+dd 2a 56 34 12\s+ld ix,\(0x123456\)
\s+4d4:\s+dd 21 56 34 12\s+ld ix,0x123456
\s+4d9:\s+fd 2a 56 34 12\s+ld iy,\(0x123456\)
\s+4de:\s+fd 21 56 34 12\s+ld iy,0x123456
\s+4e3:\s+6e\s+ld l,\(hl\)
\s+4e4:\s+dd 6e 09\s+ld l,\(ix\+9\)
\s+4e7:\s+fd 6e 09\s+ld l,\(iy\+9\)
\s+4ea:\s+2e 03\s+ld l,0x03
\s+4ec:\s+6f\s+ld l,a
\s+4ed:\s+68\s+ld l,b
\s+4ee:\s+69\s+ld l,c
\s+4ef:\s+6a\s+ld l,d
\s+4f0:\s+6b\s+ld l,e
\s+4f1:\s+6c\s+ld l,h
\s+4f2:\s+6d\s+ld l,l
\s+4f3:\s+ed 4f\s+ld r,a
\s+4f5:\s+ed 7b 56 34 12\s+ld sp,\(0x123456\)
\s+4fa:\s+31 56 34 12\s+ld sp,0x123456
\s+4fe:\s+f9\s+ld sp,hl
\s+4ff:\s+dd f9\s+ld sp,ix
\s+501:\s+fd f9\s+ld sp,iy
\s+503:\s+ed a8\s+ldd
\s+505:\s+ed b8\s+lddr
\s+507:\s+ed a0\s+ldi
\s+509:\s+ed b0\s+ldir
\s+50b:\s+ed 44\s+neg
\s+50d:\s+00\s+nop
\s+50e:\s+b6\s+or a,\(hl\)
\s+50f:\s+dd b6 09\s+or a,\(ix\+9\)
\s+512:\s+fd b6 09\s+or a,\(iy\+9\)
\s+515:\s+f6 03\s+or a,0x03
\s+517:\s+b7\s+or a,a
\s+518:\s+b0\s+or a,b
\s+519:\s+b1\s+or a,c
\s+51a:\s+b2\s+or a,d
\s+51b:\s+b3\s+or a,e
\s+51c:\s+b4\s+or a,h
\s+51d:\s+b5\s+or a,l
\s+51e:\s+ed bb\s+otdr
\s+520:\s+ed b3\s+otir
\s+522:\s+ed 79\s+out \(bc\),a
\s+524:\s+ed 41\s+out \(bc\),b
\s+526:\s+ed 49\s+out \(bc\),c
\s+528:\s+ed 51\s+out \(bc\),d
\s+52a:\s+ed 59\s+out \(bc\),e
\s+52c:\s+ed 61\s+out \(bc\),h
\s+52e:\s+ed 69\s+out \(bc\),l
\s+530:\s+d3 03\s+out \(0x03\),a
\s+532:\s+ed ab\s+outd
\s+534:\s+ed a3\s+outi
\s+536:\s+f1\s+pop af
\s+537:\s+c1\s+pop bc
\s+538:\s+d1\s+pop de
\s+539:\s+e1\s+pop hl
\s+53a:\s+dd e1\s+pop ix
\s+53c:\s+fd e1\s+pop iy
\s+53e:\s+f5\s+push af
\s+53f:\s+c5\s+push bc
\s+540:\s+d5\s+push de
\s+541:\s+e5\s+push hl
\s+542:\s+dd e5\s+push ix
\s+544:\s+fd e5\s+push iy
\s+546:\s+cb 86\s+res 0,\(hl\)
\s+548:\s+dd cb 09 86\s+res 0,\(ix\+9\)
\s+54c:\s+fd cb 09 86\s+res 0,\(iy\+9\)
\s+550:\s+cb 87\s+res 0,a
\s+552:\s+cb 80\s+res 0,b
\s+554:\s+cb 81\s+res 0,c
\s+556:\s+cb 82\s+res 0,d
\s+558:\s+cb 83\s+res 0,e
\s+55a:\s+cb 84\s+res 0,h
\s+55c:\s+cb 85\s+res 0,l
\s+55e:\s+cb 8e\s+res 1,\(hl\)
\s+560:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
\s+564:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
\s+568:\s+cb 8f\s+res 1,a
\s+56a:\s+cb 88\s+res 1,b
\s+56c:\s+cb 89\s+res 1,c
\s+56e:\s+cb 8a\s+res 1,d
\s+570:\s+cb 8b\s+res 1,e
\s+572:\s+cb 8c\s+res 1,h
\s+574:\s+cb 8d\s+res 1,l
\s+576:\s+cb 96\s+res 2,\(hl\)
\s+578:\s+dd cb 09 96\s+res 2,\(ix\+9\)
\s+57c:\s+fd cb 09 96\s+res 2,\(iy\+9\)
\s+580:\s+cb 97\s+res 2,a
\s+582:\s+cb 90\s+res 2,b
\s+584:\s+cb 91\s+res 2,c
\s+586:\s+cb 92\s+res 2,d
\s+588:\s+cb 93\s+res 2,e
\s+58a:\s+cb 94\s+res 2,h
\s+58c:\s+cb 95\s+res 2,l
\s+58e:\s+cb 9e\s+res 3,\(hl\)
\s+590:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
\s+594:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
\s+598:\s+cb 9f\s+res 3,a
\s+59a:\s+cb 98\s+res 3,b
\s+59c:\s+cb 99\s+res 3,c
\s+59e:\s+cb 9a\s+res 3,d
\s+5a0:\s+cb 9b\s+res 3,e
\s+5a2:\s+cb 9c\s+res 3,h
\s+5a4:\s+cb 9d\s+res 3,l
\s+5a6:\s+cb a6\s+res 4,\(hl\)
\s+5a8:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
\s+5ac:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
\s+5b0:\s+cb a7\s+res 4,a
\s+5b2:\s+cb a0\s+res 4,b
\s+5b4:\s+cb a1\s+res 4,c
\s+5b6:\s+cb a2\s+res 4,d
\s+5b8:\s+cb a3\s+res 4,e
\s+5ba:\s+cb a4\s+res 4,h
\s+5bc:\s+cb a5\s+res 4,l
\s+5be:\s+cb ae\s+res 5,\(hl\)
\s+5c0:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
\s+5c4:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
\s+5c8:\s+cb af\s+res 5,a
\s+5ca:\s+cb a8\s+res 5,b
\s+5cc:\s+cb a9\s+res 5,c
\s+5ce:\s+cb aa\s+res 5,d
\s+5d0:\s+cb ab\s+res 5,e
\s+5d2:\s+cb ac\s+res 5,h
\s+5d4:\s+cb ad\s+res 5,l
\s+5d6:\s+cb b6\s+res 6,\(hl\)
\s+5d8:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
\s+5dc:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
\s+5e0:\s+cb b7\s+res 6,a
\s+5e2:\s+cb b0\s+res 6,b
\s+5e4:\s+cb b1\s+res 6,c
\s+5e6:\s+cb b2\s+res 6,d
\s+5e8:\s+cb b3\s+res 6,e
\s+5ea:\s+cb b4\s+res 6,h
\s+5ec:\s+cb b5\s+res 6,l
\s+5ee:\s+cb be\s+res 7,\(hl\)
\s+5f0:\s+dd cb 09 be\s+res 7,\(ix\+9\)
\s+5f4:\s+fd cb 09 be\s+res 7,\(iy\+9\)
\s+5f8:\s+cb bf\s+res 7,a
\s+5fa:\s+cb b8\s+res 7,b
\s+5fc:\s+cb b9\s+res 7,c
\s+5fe:\s+cb ba\s+res 7,d
\s+600:\s+cb bb\s+res 7,e
\s+602:\s+cb bc\s+res 7,h
\s+604:\s+cb bd\s+res 7,l
\s+606:\s+c9\s+ret
\s+607:\s+d8\s+ret c
\s+608:\s+f8\s+ret m
\s+609:\s+d0\s+ret nc
\s+60a:\s+c0\s+ret nz
\s+60b:\s+f0\s+ret p
\s+60c:\s+e8\s+ret pe
\s+60d:\s+e0\s+ret po
\s+60e:\s+c8\s+ret z
\s+60f:\s+ed 4d\s+reti
\s+611:\s+ed 45\s+retn
\s+613:\s+cb 16\s+rl \(hl\)
\s+615:\s+dd cb 09 16\s+rl \(ix\+9\)
\s+619:\s+fd cb 09 16\s+rl \(iy\+9\)
\s+61d:\s+cb 17\s+rl a
\s+61f:\s+cb 10\s+rl b
\s+621:\s+cb 11\s+rl c
\s+623:\s+cb 12\s+rl d
\s+625:\s+cb 13\s+rl e
\s+627:\s+cb 14\s+rl h
\s+629:\s+cb 15\s+rl l
\s+62b:\s+17\s+rla
\s+62c:\s+cb 06\s+rlc \(hl\)
\s+62e:\s+dd cb 09 06\s+rlc \(ix\+9\)
\s+632:\s+fd cb 09 06\s+rlc \(iy\+9\)
\s+636:\s+cb 07\s+rlc a
\s+638:\s+cb 00\s+rlc b
\s+63a:\s+cb 01\s+rlc c
\s+63c:\s+cb 02\s+rlc d
\s+63e:\s+cb 03\s+rlc e
\s+640:\s+cb 04\s+rlc h
\s+642:\s+cb 05\s+rlc l
\s+644:\s+07\s+rlca
\s+645:\s+ed 6f\s+rld
\s+647:\s+cb 1e\s+rr \(hl\)
\s+649:\s+dd cb 09 1e\s+rr \(ix\+9\)
\s+64d:\s+fd cb 09 1e\s+rr \(iy\+9\)
\s+651:\s+cb 1f\s+rr a
\s+653:\s+cb 18\s+rr b
\s+655:\s+cb 19\s+rr c
\s+657:\s+cb 1a\s+rr d
\s+659:\s+cb 1b\s+rr e
\s+65b:\s+cb 1c\s+rr h
\s+65d:\s+cb 1d\s+rr l
\s+65f:\s+1f\s+rra
\s+660:\s+cb 0e\s+rrc \(hl\)
\s+662:\s+dd cb 09 0e\s+rrc \(ix\+9\)
\s+666:\s+fd cb 09 0e\s+rrc \(iy\+9\)
\s+66a:\s+cb 0f\s+rrc a
\s+66c:\s+cb 08\s+rrc b
\s+66e:\s+cb 09\s+rrc c
\s+670:\s+cb 0a\s+rrc d
\s+672:\s+cb 0b\s+rrc e
\s+674:\s+cb 0c\s+rrc h
\s+676:\s+cb 0d\s+rrc l
\s+678:\s+0f\s+rrca
\s+679:\s+ed 67\s+rrd
\s+67b:\s+c7\s+rst 0x00
\s+67c:\s+cf\s+rst 0x08
\s+67d:\s+d7\s+rst 0x10
\s+67e:\s+df\s+rst 0x18
\s+67f:\s+e7\s+rst 0x20
\s+680:\s+ef\s+rst 0x28
\s+681:\s+f7\s+rst 0x30
\s+682:\s+ff\s+rst 0x38
\s+683:\s+9e\s+sbc a,\(hl\)
\s+684:\s+dd 9e 09\s+sbc a,\(ix\+9\)
\s+687:\s+fd 9e 09\s+sbc a,\(iy\+9\)
\s+68a:\s+de 03\s+sbc a,0x03
\s+68c:\s+9f\s+sbc a,a
\s+68d:\s+98\s+sbc a,b
\s+68e:\s+99\s+sbc a,c
\s+68f:\s+9a\s+sbc a,d
\s+690:\s+9b\s+sbc a,e
\s+691:\s+9c\s+sbc a,h
\s+692:\s+9d\s+sbc a,l
\s+693:\s+ed 42\s+sbc hl,bc
\s+695:\s+ed 52\s+sbc hl,de
\s+697:\s+ed 62\s+sbc hl,hl
\s+699:\s+ed 72\s+sbc hl,sp
\s+69b:\s+37\s+scf
\s+69c:\s+cb c6\s+set 0,\(hl\)
\s+69e:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
\s+6a2:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
\s+6a6:\s+cb c7\s+set 0,a
\s+6a8:\s+cb c0\s+set 0,b
\s+6aa:\s+cb c1\s+set 0,c
\s+6ac:\s+cb c2\s+set 0,d
\s+6ae:\s+cb c3\s+set 0,e
\s+6b0:\s+cb c4\s+set 0,h
\s+6b2:\s+cb c5\s+set 0,l
\s+6b4:\s+cb ce\s+set 1,\(hl\)
\s+6b6:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
\s+6ba:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
\s+6be:\s+cb cf\s+set 1,a
\s+6c0:\s+cb c8\s+set 1,b
\s+6c2:\s+cb c9\s+set 1,c
\s+6c4:\s+cb ca\s+set 1,d
\s+6c6:\s+cb cb\s+set 1,e
\s+6c8:\s+cb cc\s+set 1,h
\s+6ca:\s+cb cd\s+set 1,l
\s+6cc:\s+cb d6\s+set 2,\(hl\)
\s+6ce:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
\s+6d2:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
\s+6d6:\s+cb d7\s+set 2,a
\s+6d8:\s+cb d0\s+set 2,b
\s+6da:\s+cb d1\s+set 2,c
\s+6dc:\s+cb d2\s+set 2,d
\s+6de:\s+cb d3\s+set 2,e
\s+6e0:\s+cb d4\s+set 2,h
\s+6e2:\s+cb d5\s+set 2,l
\s+6e4:\s+cb de\s+set 3,\(hl\)
\s+6e6:\s+dd cb 09 de\s+set 3,\(ix\+9\)
\s+6ea:\s+fd cb 09 de\s+set 3,\(iy\+9\)
\s+6ee:\s+cb df\s+set 3,a
\s+6f0:\s+cb d8\s+set 3,b
\s+6f2:\s+cb d9\s+set 3,c
\s+6f4:\s+cb da\s+set 3,d
\s+6f6:\s+cb db\s+set 3,e
\s+6f8:\s+cb dc\s+set 3,h
\s+6fa:\s+cb dd\s+set 3,l
\s+6fc:\s+cb e6\s+set 4,\(hl\)
\s+6fe:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
\s+702:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
\s+706:\s+cb e7\s+set 4,a
\s+708:\s+cb e0\s+set 4,b
\s+70a:\s+cb e1\s+set 4,c
\s+70c:\s+cb e2\s+set 4,d
\s+70e:\s+cb e3\s+set 4,e
\s+710:\s+cb e4\s+set 4,h
\s+712:\s+cb e5\s+set 4,l
\s+714:\s+cb ee\s+set 5,\(hl\)
\s+716:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
\s+71a:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
\s+71e:\s+cb ef\s+set 5,a
\s+720:\s+cb e8\s+set 5,b
\s+722:\s+cb e9\s+set 5,c
\s+724:\s+cb ea\s+set 5,d
\s+726:\s+cb eb\s+set 5,e
\s+728:\s+cb ec\s+set 5,h
\s+72a:\s+cb ed\s+set 5,l
\s+72c:\s+cb f6\s+set 6,\(hl\)
\s+72e:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
\s+732:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
\s+736:\s+cb f7\s+set 6,a
\s+738:\s+cb f0\s+set 6,b
\s+73a:\s+cb f1\s+set 6,c
\s+73c:\s+cb f2\s+set 6,d
\s+73e:\s+cb f3\s+set 6,e
\s+740:\s+cb f4\s+set 6,h
\s+742:\s+cb f5\s+set 6,l
\s+744:\s+cb fe\s+set 7,\(hl\)
\s+746:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
\s+74a:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
\s+74e:\s+cb ff\s+set 7,a
\s+750:\s+cb f8\s+set 7,b
\s+752:\s+cb f9\s+set 7,c
\s+754:\s+cb fa\s+set 7,d
\s+756:\s+cb fb\s+set 7,e
\s+758:\s+cb fc\s+set 7,h
\s+75a:\s+cb fd\s+set 7,l
\s+75c:\s+cb 26\s+sla \(hl\)
\s+75e:\s+dd cb 09 26\s+sla \(ix\+9\)
\s+762:\s+fd cb 09 26\s+sla \(iy\+9\)
\s+766:\s+cb 27\s+sla a
\s+768:\s+cb 20\s+sla b
\s+76a:\s+cb 21\s+sla c
\s+76c:\s+cb 22\s+sla d
\s+76e:\s+cb 23\s+sla e
\s+770:\s+cb 24\s+sla h
\s+772:\s+cb 25\s+sla l
\s+774:\s+cb 2e\s+sra \(hl\)
\s+776:\s+dd cb 09 2e\s+sra \(ix\+9\)
\s+77a:\s+fd cb 09 2e\s+sra \(iy\+9\)
\s+77e:\s+cb 2f\s+sra a
\s+780:\s+cb 28\s+sra b
\s+782:\s+cb 29\s+sra c
\s+784:\s+cb 2a\s+sra d
\s+786:\s+cb 2b\s+sra e
\s+788:\s+cb 2c\s+sra h
\s+78a:\s+cb 2d\s+sra l
\s+78c:\s+cb 3e\s+srl \(hl\)
\s+78e:\s+dd cb 09 3e\s+srl \(ix\+9\)
\s+792:\s+fd cb 09 3e\s+srl \(iy\+9\)
\s+796:\s+cb 3f\s+srl a
\s+798:\s+cb 38\s+srl b
\s+79a:\s+cb 39\s+srl c
\s+79c:\s+cb 3a\s+srl d
\s+79e:\s+cb 3b\s+srl e
\s+7a0:\s+cb 3c\s+srl h
\s+7a2:\s+cb 3d\s+srl l
\s+7a4:\s+96\s+sub a,\(hl\)
\s+7a5:\s+dd 96 09\s+sub a,\(ix\+9\)
\s+7a8:\s+fd 96 09\s+sub a,\(iy\+9\)
\s+7ab:\s+d6 03\s+sub a,0x03
\s+7ad:\s+97\s+sub a,a
\s+7ae:\s+90\s+sub a,b
\s+7af:\s+91\s+sub a,c
\s+7b0:\s+92\s+sub a,d
\s+7b1:\s+93\s+sub a,e
\s+7b2:\s+94\s+sub a,h
\s+7b3:\s+95\s+sub a,l
\s+7b4:\s+ae\s+xor a,\(hl\)
\s+7b5:\s+dd ae 09\s+xor a,\(ix\+9\)
\s+7b8:\s+fd ae 09\s+xor a,\(iy\+9\)
\s+7bb:\s+ee 03\s+xor a,0x03
\s+7bd:\s+af\s+xor a,a
\s+7be:\s+a8\s+xor a,b
\s+7bf:\s+a9\s+xor a,c
\s+7c0:\s+aa\s+xor a,d
\s+7c1:\s+ab\s+xor a,e
\s+7c2:\s+ac\s+xor a,h
\s+7c3:\s+ad\s+xor a,l

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,314 @@
#as: -ez80-adl
#objdump: -d
#name: eZ80 instructions with sufficies in ADL cpu mode
#source: ez80_isuf.s
.*:.*
Disassembly of section .text:
0+ <.text>:
\s+[0-9a-f]+:[ ]52 cd 56 34 12[ ]+call\.sil 0x123456
\s+[0-9a-f]+:[ ]52 dc 56 34 12[ ]+call\.sil c,0x123456
\s+[0-9a-f]+:[ ]52 fc 56 34 12[ ]+call\.sil m,0x123456
\s+[0-9a-f]+:[ ]52 d4 56 34 12[ ]+call\.sil nc,0x123456
\s+[0-9a-f]+:[ ]52 c4 56 34 12[ ]+call\.sil nz,0x123456
\s+[0-9a-f]+:[ ]52 f4 56 34 12[ ]+call\.sil p,0x123456
\s+[0-9a-f]+:[ ]52 ec 56 34 12[ ]+call\.sil pe,0x123456
\s+[0-9a-f]+:[ ]52 e4 56 34 12[ ]+call\.sil po,0x123456
\s+[0-9a-f]+:[ ]52 cc 56 34 12[ ]+call\.sil z,0x123456
\s+[0-9a-f]+:[ ]52 c3 56 34 12[ ]+jp\.sil 0x123456
\s+[0-9a-f]+:[ ]52 da 56 34 12[ ]+jp\.sil c,0x123456
\s+[0-9a-f]+:[ ]52 fa 56 34 12[ ]+jp\.sil m,0x123456
\s+[0-9a-f]+:[ ]52 d2 56 34 12[ ]+jp\.sil nc,0x123456
\s+[0-9a-f]+:[ ]52 c2 56 34 12[ ]+jp\.sil nz,0x123456
\s+[0-9a-f]+:[ ]52 f2 56 34 12[ ]+jp\.sil p,0x123456
\s+[0-9a-f]+:[ ]52 ea 56 34 12[ ]+jp\.sil pe,0x123456
\s+[0-9a-f]+:[ ]52 e2 56 34 12[ ]+jp\.sil po,0x123456
\s+[0-9a-f]+:[ ]52 ca 56 34 12[ ]+jp\.sil z,0x123456
\s+[0-9a-f]+:[ ]52 32 56 34 12[ ]+ld\.sil \(0x123456\),a
\s+[0-9a-f]+:[ ]52 ed 43 56 34 12[ ]+ld\.sil \(0x123456\),bc
\s+[0-9a-f]+:[ ]52 ed 53 56 34 12[ ]+ld\.sil \(0x123456\),de
\s+[0-9a-f]+:[ ]52 22 56 34 12[ ]+ld\.sil \(0x123456\),hl
\s+[0-9a-f]+:[ ]52 dd 22 56 34 12[ ]+ld\.sil \(0x123456\),ix
\s+[0-9a-f]+:[ ]52 fd 22 56 34 12[ ]+ld\.sil \(0x123456\),iy
\s+[0-9a-f]+:[ ]52 ed 73 56 34 12[ ]+ld\.sil \(0x123456\),sp
\s+[0-9a-f]+:[ ]52 3a 56 34 12[ ]+ld\.sil a,\(0x123456\)
\s+[0-9a-f]+:[ ]52 ed 4b 56 34 12[ ]+ld\.sil bc,\(0x123456\)
\s+[0-9a-f]+:[ ]52 01 56 34 12[ ]+ld\.sil bc,0x123456
\s+[0-9a-f]+:[ ]52 ed 5b 56 34 12[ ]+ld\.sil de,\(0x123456\)
\s+[0-9a-f]+:[ ]52 11 56 34 12[ ]+ld\.sil de,0x123456
\s+[0-9a-f]+:[ ]52 2a 56 34 12[ ]+ld\.sil hl,\(0x123456\)
\s+[0-9a-f]+:[ ]52 21 56 34 12[ ]+ld\.sil hl,0x123456
\s+[0-9a-f]+:[ ]52 dd 2a 56 34 12[ ]+ld\.sil ix,\(0x123456\)
\s+[0-9a-f]+:[ ]52 dd 21 56 34 12[ ]+ld\.sil ix,0x123456
\s+[0-9a-f]+:[ ]52 fd 2a 56 34 12[ ]+ld\.sil iy,\(0x123456\)
\s+[0-9a-f]+:[ ]52 fd 21 56 34 12[ ]+ld\.sil iy,0x123456
\s+[0-9a-f]+:[ ]52 ed 7b 56 34 12[ ]+ld\.sil sp,\(0x123456\)
\s+[0-9a-f]+:[ ]52 31 56 34 12[ ]+ld\.sil sp,0x123456
\s+[0-9a-f]+:[ ]5b cd 56 34 12[ ]+call\.lil 0x123456
\s+[0-9a-f]+:[ ]5b dc 56 34 12[ ]+call\.lil c,0x123456
\s+[0-9a-f]+:[ ]5b fc 56 34 12[ ]+call\.lil m,0x123456
\s+[0-9a-f]+:[ ]5b d4 56 34 12[ ]+call\.lil nc,0x123456
\s+[0-9a-f]+:[ ]5b c4 56 34 12[ ]+call\.lil nz,0x123456
\s+[0-9a-f]+:[ ]5b f4 56 34 12[ ]+call\.lil p,0x123456
\s+[0-9a-f]+:[ ]5b ec 56 34 12[ ]+call\.lil pe,0x123456
\s+[0-9a-f]+:[ ]5b e4 56 34 12[ ]+call\.lil po,0x123456
\s+[0-9a-f]+:[ ]5b cc 56 34 12[ ]+call\.lil z,0x123456
\s+[0-9a-f]+:[ ]5b c3 56 34 12[ ]+jp\.lil 0x123456
\s+[0-9a-f]+:[ ]5b da 56 34 12[ ]+jp\.lil c,0x123456
\s+[0-9a-f]+:[ ]5b fa 56 34 12[ ]+jp\.lil m,0x123456
\s+[0-9a-f]+:[ ]5b d2 56 34 12[ ]+jp\.lil nc,0x123456
\s+[0-9a-f]+:[ ]5b c2 56 34 12[ ]+jp\.lil nz,0x123456
\s+[0-9a-f]+:[ ]5b f2 56 34 12[ ]+jp\.lil p,0x123456
\s+[0-9a-f]+:[ ]5b ea 56 34 12[ ]+jp\.lil pe,0x123456
\s+[0-9a-f]+:[ ]5b e2 56 34 12[ ]+jp\.lil po,0x123456
\s+[0-9a-f]+:[ ]5b ca 56 34 12[ ]+jp\.lil z,0x123456
\s+[0-9a-f]+:[ ]5b 32 56 34 12[ ]+ld\.lil \(0x123456\),a
\s+[0-9a-f]+:[ ]5b ed 43 56 34 12[ ]+ld\.lil \(0x123456\),bc
\s+[0-9a-f]+:[ ]5b ed 53 56 34 12[ ]+ld\.lil \(0x123456\),de
\s+[0-9a-f]+:[ ]5b 22 56 34 12[ ]+ld\.lil \(0x123456\),hl
\s+[0-9a-f]+:[ ]5b dd 22 56 34 12[ ]+ld\.lil \(0x123456\),ix
\s+[0-9a-f]+:[ ]5b fd 22 56 34 12[ ]+ld\.lil \(0x123456\),iy
\s+[0-9a-f]+:[ ]5b ed 73 56 34 12[ ]+ld\.lil \(0x123456\),sp
\s+[0-9a-f]+:[ ]5b 3a 56 34 12[ ]+ld\.lil a,\(0x123456\)
\s+[0-9a-f]+:[ ]5b ed 4b 56 34 12[ ]+ld\.lil bc,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 01 56 34 12[ ]+ld\.lil bc,0x123456
\s+[0-9a-f]+:[ ]5b ed 5b 56 34 12[ ]+ld\.lil de,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 11 56 34 12[ ]+ld\.lil de,0x123456
\s+[0-9a-f]+:[ ]5b 2a 56 34 12[ ]+ld\.lil hl,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 21 56 34 12[ ]+ld\.lil hl,0x123456
\s+[0-9a-f]+:[ ]5b dd 2a 56 34 12[ ]+ld\.lil ix,\(0x123456\)
\s+[0-9a-f]+:[ ]5b dd 21 56 34 12[ ]+ld\.lil ix,0x123456
\s+[0-9a-f]+:[ ]5b fd 2a 56 34 12[ ]+ld\.lil iy,\(0x123456\)
\s+[0-9a-f]+:[ ]5b fd 21 56 34 12[ ]+ld\.lil iy,0x123456
\s+[0-9a-f]+:[ ]5b ed 7b 56 34 12[ ]+ld\.lil sp,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 31 56 34 12[ ]+ld\.lil sp,0x123456
\s+[0-9a-f]+:[ ]49 cd 56 34[ ]+call\.lis 0x3456
\s+[0-9a-f]+:[ ]49 dc 56 34[ ]+call\.lis c,0x3456
\s+[0-9a-f]+:[ ]49 fc 56 34[ ]+call\.lis m,0x3456
\s+[0-9a-f]+:[ ]49 d4 56 34[ ]+call\.lis nc,0x3456
\s+[0-9a-f]+:[ ]49 c4 56 34[ ]+call\.lis nz,0x3456
\s+[0-9a-f]+:[ ]49 f4 56 34[ ]+call\.lis p,0x3456
\s+[0-9a-f]+:[ ]49 ec 56 34[ ]+call\.lis pe,0x3456
\s+[0-9a-f]+:[ ]49 e4 56 34[ ]+call\.lis po,0x3456
\s+[0-9a-f]+:[ ]49 cc 56 34[ ]+call\.lis z,0x3456
\s+[0-9a-f]+:[ ]49 c3 56 34[ ]+jp\.lis 0x3456
\s+[0-9a-f]+:[ ]49 da 56 34[ ]+jp\.lis c,0x3456
\s+[0-9a-f]+:[ ]49 fa 56 34[ ]+jp\.lis m,0x3456
\s+[0-9a-f]+:[ ]49 d2 56 34[ ]+jp\.lis nc,0x3456
\s+[0-9a-f]+:[ ]49 c2 56 34[ ]+jp\.lis nz,0x3456
\s+[0-9a-f]+:[ ]49 f2 56 34[ ]+jp\.lis p,0x3456
\s+[0-9a-f]+:[ ]49 ea 56 34[ ]+jp\.lis pe,0x3456
\s+[0-9a-f]+:[ ]49 e2 56 34[ ]+jp\.lis po,0x3456
\s+[0-9a-f]+:[ ]49 ca 56 34[ ]+jp\.lis z,0x3456
\s+[0-9a-f]+:[ ]49 32 56 34[ ]+ld\.lis \(0x3456\),a
\s+[0-9a-f]+:[ ]49 ed 43 56 34[ ]+ld\.lis \(0x3456\),bc
\s+[0-9a-f]+:[ ]49 ed 53 56 34[ ]+ld\.lis \(0x3456\),de
\s+[0-9a-f]+:[ ]49 22 56 34[ ]+ld\.lis \(0x3456\),hl
\s+[0-9a-f]+:[ ]49 dd 22 56 34[ ]+ld\.lis \(0x3456\),ix
\s+[0-9a-f]+:[ ]49 fd 22 56 34[ ]+ld\.lis \(0x3456\),iy
\s+[0-9a-f]+:[ ]49 ed 73 56 34[ ]+ld\.lis \(0x3456\),sp
\s+[0-9a-f]+:[ ]49 3a 56 34[ ]+ld\.lis a,\(0x3456\)
\s+[0-9a-f]+:[ ]49 ed 4b 56 34[ ]+ld\.lis bc,\(0x3456\)
\s+[0-9a-f]+:[ ]49 01 56 34[ ]+ld\.lis bc,0x3456
\s+[0-9a-f]+:[ ]49 ed 5b 56 34[ ]+ld\.lis de,\(0x3456\)
\s+[0-9a-f]+:[ ]49 11 56 34[ ]+ld\.lis de,0x3456
\s+[0-9a-f]+:[ ]49 2a 56 34[ ]+ld\.lis hl,\(0x3456\)
\s+[0-9a-f]+:[ ]49 21 56 34[ ]+ld\.lis hl,0x3456
\s+[0-9a-f]+:[ ]49 dd 2a 56 34[ ]+ld\.lis ix,\(0x3456\)
\s+[0-9a-f]+:[ ]49 dd 21 56 34[ ]+ld\.lis ix,0x3456
\s+[0-9a-f]+:[ ]49 fd 2a 56 34[ ]+ld\.lis iy,\(0x3456\)
\s+[0-9a-f]+:[ ]49 fd 21 56 34[ ]+ld\.lis iy,0x3456
\s+[0-9a-f]+:[ ]49 ed 7b 56 34[ ]+ld\.lis sp,\(0x3456\)
\s+[0-9a-f]+:[ ]49 31 56 34[ ]+ld\.lis sp,0x3456
\s+[0-9a-f]+:[ ]5b cd 56 34 12[ ]+call\.lil 0x123456
\s+[0-9a-f]+:[ ]5b dc 56 34 12[ ]+call\.lil c,0x123456
\s+[0-9a-f]+:[ ]5b fc 56 34 12[ ]+call\.lil m,0x123456
\s+[0-9a-f]+:[ ]5b d4 56 34 12[ ]+call\.lil nc,0x123456
\s+[0-9a-f]+:[ ]5b c4 56 34 12[ ]+call\.lil nz,0x123456
\s+[0-9a-f]+:[ ]5b f4 56 34 12[ ]+call\.lil p,0x123456
\s+[0-9a-f]+:[ ]5b ec 56 34 12[ ]+call\.lil pe,0x123456
\s+[0-9a-f]+:[ ]5b e4 56 34 12[ ]+call\.lil po,0x123456
\s+[0-9a-f]+:[ ]5b cc 56 34 12[ ]+call\.lil z,0x123456
\s+[0-9a-f]+:[ ]5b c3 56 34 12[ ]+jp\.lil 0x123456
\s+[0-9a-f]+:[ ]5b da 56 34 12[ ]+jp\.lil c,0x123456
\s+[0-9a-f]+:[ ]5b fa 56 34 12[ ]+jp\.lil m,0x123456
\s+[0-9a-f]+:[ ]5b d2 56 34 12[ ]+jp\.lil nc,0x123456
\s+[0-9a-f]+:[ ]5b c2 56 34 12[ ]+jp\.lil nz,0x123456
\s+[0-9a-f]+:[ ]5b f2 56 34 12[ ]+jp\.lil p,0x123456
\s+[0-9a-f]+:[ ]5b ea 56 34 12[ ]+jp\.lil pe,0x123456
\s+[0-9a-f]+:[ ]5b e2 56 34 12[ ]+jp\.lil po,0x123456
\s+[0-9a-f]+:[ ]5b ca 56 34 12[ ]+jp\.lil z,0x123456
\s+[0-9a-f]+:[ ]5b 32 56 34 12[ ]+ld\.lil \(0x123456\),a
\s+[0-9a-f]+:[ ]5b ed 43 56 34 12[ ]+ld\.lil \(0x123456\),bc
\s+[0-9a-f]+:[ ]5b ed 53 56 34 12[ ]+ld\.lil \(0x123456\),de
\s+[0-9a-f]+:[ ]5b 22 56 34 12[ ]+ld\.lil \(0x123456\),hl
\s+[0-9a-f]+:[ ]5b dd 22 56 34 12[ ]+ld\.lil \(0x123456\),ix
\s+[0-9a-f]+:[ ]5b fd 22 56 34 12[ ]+ld\.lil \(0x123456\),iy
\s+[0-9a-f]+:[ ]5b ed 73 56 34 12[ ]+ld\.lil \(0x123456\),sp
\s+[0-9a-f]+:[ ]5b 3a 56 34 12[ ]+ld\.lil a,\(0x123456\)
\s+[0-9a-f]+:[ ]5b ed 4b 56 34 12[ ]+ld\.lil bc,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 01 56 34 12[ ]+ld\.lil bc,0x123456
\s+[0-9a-f]+:[ ]5b ed 5b 56 34 12[ ]+ld\.lil de,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 11 56 34 12[ ]+ld\.lil de,0x123456
\s+[0-9a-f]+:[ ]5b 2a 56 34 12[ ]+ld\.lil hl,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 21 56 34 12[ ]+ld\.lil hl,0x123456
\s+[0-9a-f]+:[ ]5b dd 2a 56 34 12[ ]+ld\.lil ix,\(0x123456\)
\s+[0-9a-f]+:[ ]5b dd 21 56 34 12[ ]+ld\.lil ix,0x123456
\s+[0-9a-f]+:[ ]5b fd 2a 56 34 12[ ]+ld\.lil iy,\(0x123456\)
\s+[0-9a-f]+:[ ]5b fd 21 56 34 12[ ]+ld\.lil iy,0x123456
\s+[0-9a-f]+:[ ]5b ed 7b 56 34 12[ ]+ld\.lil sp,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 31 56 34 12[ ]+ld\.lil sp,0x123456
\s+[0-9a-f]+:[ ]40 cd 56 34[ ]+call\.sis 0x3456
\s+[0-9a-f]+:[ ]40 dc 56 34[ ]+call\.sis c,0x3456
\s+[0-9a-f]+:[ ]40 fc 56 34[ ]+call\.sis m,0x3456
\s+[0-9a-f]+:[ ]40 d4 56 34[ ]+call\.sis nc,0x3456
\s+[0-9a-f]+:[ ]40 c4 56 34[ ]+call\.sis nz,0x3456
\s+[0-9a-f]+:[ ]40 f4 56 34[ ]+call\.sis p,0x3456
\s+[0-9a-f]+:[ ]40 ec 56 34[ ]+call\.sis pe,0x3456
\s+[0-9a-f]+:[ ]40 e4 56 34[ ]+call\.sis po,0x3456
\s+[0-9a-f]+:[ ]40 cc 56 34[ ]+call\.sis z,0x3456
\s+[0-9a-f]+:[ ]40 c3 56 34[ ]+jp\.sis 0x3456
\s+[0-9a-f]+:[ ]40 da 56 34[ ]+jp\.sis c,0x3456
\s+[0-9a-f]+:[ ]40 fa 56 34[ ]+jp\.sis m,0x3456
\s+[0-9a-f]+:[ ]40 d2 56 34[ ]+jp\.sis nc,0x3456
\s+[0-9a-f]+:[ ]40 c2 56 34[ ]+jp\.sis nz,0x3456
\s+[0-9a-f]+:[ ]40 f2 56 34[ ]+jp\.sis p,0x3456
\s+[0-9a-f]+:[ ]40 ea 56 34[ ]+jp\.sis pe,0x3456
\s+[0-9a-f]+:[ ]40 e2 56 34[ ]+jp\.sis po,0x3456
\s+[0-9a-f]+:[ ]40 ca 56 34[ ]+jp\.sis z,0x3456
\s+[0-9a-f]+:[ ]40 32 56 34[ ]+ld\.sis \(0x3456\),a
\s+[0-9a-f]+:[ ]40 ed 43 56 34[ ]+ld\.sis \(0x3456\),bc
\s+[0-9a-f]+:[ ]40 ed 53 56 34[ ]+ld\.sis \(0x3456\),de
\s+[0-9a-f]+:[ ]40 22 56 34[ ]+ld\.sis \(0x3456\),hl
\s+[0-9a-f]+:[ ]40 dd 22 56 34[ ]+ld\.sis \(0x3456\),ix
\s+[0-9a-f]+:[ ]40 fd 22 56 34[ ]+ld\.sis \(0x3456\),iy
\s+[0-9a-f]+:[ ]40 ed 73 56 34[ ]+ld\.sis \(0x3456\),sp
\s+[0-9a-f]+:[ ]40 3a 56 34[ ]+ld\.sis a,\(0x3456\)
\s+[0-9a-f]+:[ ]40 ed 4b 56 34[ ]+ld\.sis bc,\(0x3456\)
\s+[0-9a-f]+:[ ]40 01 56 34[ ]+ld\.sis bc,0x3456
\s+[0-9a-f]+:[ ]40 ed 5b 56 34[ ]+ld\.sis de,\(0x3456\)
\s+[0-9a-f]+:[ ]40 11 56 34[ ]+ld\.sis de,0x3456
\s+[0-9a-f]+:[ ]40 2a 56 34[ ]+ld\.sis hl,\(0x3456\)
\s+[0-9a-f]+:[ ]40 21 56 34[ ]+ld\.sis hl,0x3456
\s+[0-9a-f]+:[ ]40 dd 2a 56 34[ ]+ld\.sis ix,\(0x3456\)
\s+[0-9a-f]+:[ ]40 dd 21 56 34[ ]+ld\.sis ix,0x3456
\s+[0-9a-f]+:[ ]40 fd 2a 56 34[ ]+ld\.sis iy,\(0x3456\)
\s+[0-9a-f]+:[ ]40 fd 21 56 34[ ]+ld\.sis iy,0x3456
\s+[0-9a-f]+:[ ]40 ed 7b 56 34[ ]+ld\.sis sp,\(0x3456\)
\s+[0-9a-f]+:[ ]40 31 56 34[ ]+ld\.sis sp,0x3456
\s+[0-9a-f]+:[ ]49 cd 56 34[ ]+call\.lis 0x3456
\s+[0-9a-f]+:[ ]49 dc 56 34[ ]+call\.lis c,0x3456
\s+[0-9a-f]+:[ ]49 fc 56 34[ ]+call\.lis m,0x3456
\s+[0-9a-f]+:[ ]49 d4 56 34[ ]+call\.lis nc,0x3456
\s+[0-9a-f]+:[ ]49 c4 56 34[ ]+call\.lis nz,0x3456
\s+[0-9a-f]+:[ ]49 f4 56 34[ ]+call\.lis p,0x3456
\s+[0-9a-f]+:[ ]49 ec 56 34[ ]+call\.lis pe,0x3456
\s+[0-9a-f]+:[ ]49 e4 56 34[ ]+call\.lis po,0x3456
\s+[0-9a-f]+:[ ]49 cc 56 34[ ]+call\.lis z,0x3456
\s+[0-9a-f]+:[ ]49 c3 56 34[ ]+jp\.lis 0x3456
\s+[0-9a-f]+:[ ]49 da 56 34[ ]+jp\.lis c,0x3456
\s+[0-9a-f]+:[ ]49 fa 56 34[ ]+jp\.lis m,0x3456
\s+[0-9a-f]+:[ ]49 d2 56 34[ ]+jp\.lis nc,0x3456
\s+[0-9a-f]+:[ ]49 c2 56 34[ ]+jp\.lis nz,0x3456
\s+[0-9a-f]+:[ ]49 f2 56 34[ ]+jp\.lis p,0x3456
\s+[0-9a-f]+:[ ]49 ea 56 34[ ]+jp\.lis pe,0x3456
\s+[0-9a-f]+:[ ]49 e2 56 34[ ]+jp\.lis po,0x3456
\s+[0-9a-f]+:[ ]49 ca 56 34[ ]+jp\.lis z,0x3456
\s+[0-9a-f]+:[ ]49 32 56 34[ ]+ld\.lis \(0x3456\),a
\s+[0-9a-f]+:[ ]49 ed 43 56 34[ ]+ld\.lis \(0x3456\),bc
\s+[0-9a-f]+:[ ]49 ed 53 56 34[ ]+ld\.lis \(0x3456\),de
\s+[0-9a-f]+:[ ]49 22 56 34[ ]+ld\.lis \(0x3456\),hl
\s+[0-9a-f]+:[ ]49 dd 22 56 34[ ]+ld\.lis \(0x3456\),ix
\s+[0-9a-f]+:[ ]49 fd 22 56 34[ ]+ld\.lis \(0x3456\),iy
\s+[0-9a-f]+:[ ]49 ed 73 56 34[ ]+ld\.lis \(0x3456\),sp
\s+[0-9a-f]+:[ ]49 3a 56 34[ ]+ld\.lis a,\(0x3456\)
\s+[0-9a-f]+:[ ]49 ed 4b 56 34[ ]+ld\.lis bc,\(0x3456\)
\s+[0-9a-f]+:[ ]49 01 56 34[ ]+ld\.lis bc,0x3456
\s+[0-9a-f]+:[ ]49 ed 5b 56 34[ ]+ld\.lis de,\(0x3456\)
\s+[0-9a-f]+:[ ]49 11 56 34[ ]+ld\.lis de,0x3456
\s+[0-9a-f]+:[ ]49 2a 56 34[ ]+ld\.lis hl,\(0x3456\)
\s+[0-9a-f]+:[ ]49 21 56 34[ ]+ld\.lis hl,0x3456
\s+[0-9a-f]+:[ ]49 dd 2a 56 34[ ]+ld\.lis ix,\(0x3456\)
\s+[0-9a-f]+:[ ]49 dd 21 56 34[ ]+ld\.lis ix,0x3456
\s+[0-9a-f]+:[ ]49 fd 2a 56 34[ ]+ld\.lis iy,\(0x3456\)
\s+[0-9a-f]+:[ ]49 fd 21 56 34[ ]+ld\.lis iy,0x3456
\s+[0-9a-f]+:[ ]49 ed 7b 56 34[ ]+ld\.lis sp,\(0x3456\)
\s+[0-9a-f]+:[ ]49 31 56 34[ ]+ld\.lis sp,0x3456
\s+[0-9a-f]+:[ ]52 cd 56 34 12[ ]+call\.sil 0x123456
\s+[0-9a-f]+:[ ]52 dc 56 34 12[ ]+call\.sil c,0x123456
\s+[0-9a-f]+:[ ]52 fc 56 34 12[ ]+call\.sil m,0x123456
\s+[0-9a-f]+:[ ]52 d4 56 34 12[ ]+call\.sil nc,0x123456
\s+[0-9a-f]+:[ ]52 c4 56 34 12[ ]+call\.sil nz,0x123456
\s+[0-9a-f]+:[ ]52 f4 56 34 12[ ]+call\.sil p,0x123456
\s+[0-9a-f]+:[ ]52 ec 56 34 12[ ]+call\.sil pe,0x123456
\s+[0-9a-f]+:[ ]52 e4 56 34 12[ ]+call\.sil po,0x123456
\s+[0-9a-f]+:[ ]52 cc 56 34 12[ ]+call\.sil z,0x123456
\s+[0-9a-f]+:[ ]52 c3 56 34 12[ ]+jp\.sil 0x123456
\s+[0-9a-f]+:[ ]52 da 56 34 12[ ]+jp\.sil c,0x123456
\s+[0-9a-f]+:[ ]52 fa 56 34 12[ ]+jp\.sil m,0x123456
\s+[0-9a-f]+:[ ]52 d2 56 34 12[ ]+jp\.sil nc,0x123456
\s+[0-9a-f]+:[ ]52 c2 56 34 12[ ]+jp\.sil nz,0x123456
\s+[0-9a-f]+:[ ]52 f2 56 34 12[ ]+jp\.sil p,0x123456
\s+[0-9a-f]+:[ ]52 ea 56 34 12[ ]+jp\.sil pe,0x123456
\s+[0-9a-f]+:[ ]52 e2 56 34 12[ ]+jp\.sil po,0x123456
\s+[0-9a-f]+:[ ]52 ca 56 34 12[ ]+jp\.sil z,0x123456
\s+[0-9a-f]+:[ ]52 32 56 34 12[ ]+ld\.sil \(0x123456\),a
\s+[0-9a-f]+:[ ]52 ed 43 56 34 12[ ]+ld\.sil \(0x123456\),bc
\s+[0-9a-f]+:[ ]52 ed 53 56 34 12[ ]+ld\.sil \(0x123456\),de
\s+[0-9a-f]+:[ ]52 22 56 34 12[ ]+ld\.sil \(0x123456\),hl
\s+[0-9a-f]+:[ ]52 dd 22 56 34 12[ ]+ld\.sil \(0x123456\),ix
\s+[0-9a-f]+:[ ]52 fd 22 56 34 12[ ]+ld\.sil \(0x123456\),iy
\s+[0-9a-f]+:[ ]52 ed 73 56 34 12[ ]+ld\.sil \(0x123456\),sp
\s+[0-9a-f]+:[ ]52 3a 56 34 12[ ]+ld\.sil a,\(0x123456\)
\s+[0-9a-f]+:[ ]52 ed 4b 56 34 12[ ]+ld\.sil bc,\(0x123456\)
\s+[0-9a-f]+:[ ]52 01 56 34 12[ ]+ld\.sil bc,0x123456
\s+[0-9a-f]+:[ ]52 ed 5b 56 34 12[ ]+ld\.sil de,\(0x123456\)
\s+[0-9a-f]+:[ ]52 11 56 34 12[ ]+ld\.sil de,0x123456
\s+[0-9a-f]+:[ ]52 2a 56 34 12[ ]+ld\.sil hl,\(0x123456\)
\s+[0-9a-f]+:[ ]52 21 56 34 12[ ]+ld\.sil hl,0x123456
\s+[0-9a-f]+:[ ]52 dd 2a 56 34 12[ ]+ld\.sil ix,\(0x123456\)
\s+[0-9a-f]+:[ ]52 dd 21 56 34 12[ ]+ld\.sil ix,0x123456
\s+[0-9a-f]+:[ ]52 fd 2a 56 34 12[ ]+ld\.sil iy,\(0x123456\)
\s+[0-9a-f]+:[ ]52 fd 21 56 34 12[ ]+ld\.sil iy,0x123456
\s+[0-9a-f]+:[ ]52 ed 7b 56 34 12[ ]+ld\.sil sp,\(0x123456\)
\s+[0-9a-f]+:[ ]52 31 56 34 12[ ]+ld\.sil sp,0x123456
\s+[0-9a-f]+:[ ]5b cd 56 34 12[ ]+call\.lil 0x123456
\s+[0-9a-f]+:[ ]5b dc 56 34 12[ ]+call\.lil c,0x123456
\s+[0-9a-f]+:[ ]5b fc 56 34 12[ ]+call\.lil m,0x123456
\s+[0-9a-f]+:[ ]5b d4 56 34 12[ ]+call\.lil nc,0x123456
\s+[0-9a-f]+:[ ]5b c4 56 34 12[ ]+call\.lil nz,0x123456
\s+[0-9a-f]+:[ ]5b f4 56 34 12[ ]+call\.lil p,0x123456
\s+[0-9a-f]+:[ ]5b ec 56 34 12[ ]+call\.lil pe,0x123456
\s+[0-9a-f]+:[ ]5b e4 56 34 12[ ]+call\.lil po,0x123456
\s+[0-9a-f]+:[ ]5b cc 56 34 12[ ]+call\.lil z,0x123456
\s+[0-9a-f]+:[ ]5b c3 56 34 12[ ]+jp\.lil 0x123456
\s+[0-9a-f]+:[ ]5b da 56 34 12[ ]+jp\.lil c,0x123456
\s+[0-9a-f]+:[ ]5b fa 56 34 12[ ]+jp\.lil m,0x123456
\s+[0-9a-f]+:[ ]5b d2 56 34 12[ ]+jp\.lil nc,0x123456
\s+[0-9a-f]+:[ ]5b c2 56 34 12[ ]+jp\.lil nz,0x123456
\s+[0-9a-f]+:[ ]5b f2 56 34 12[ ]+jp\.lil p,0x123456
\s+[0-9a-f]+:[ ]5b ea 56 34 12[ ]+jp\.lil pe,0x123456
\s+[0-9a-f]+:[ ]5b e2 56 34 12[ ]+jp\.lil po,0x123456
\s+[0-9a-f]+:[ ]5b ca 56 34 12[ ]+jp\.lil z,0x123456
\s+[0-9a-f]+:[ ]5b 32 56 34 12[ ]+ld\.lil \(0x123456\),a
\s+[0-9a-f]+:[ ]5b ed 43 56 34 12[ ]+ld\.lil \(0x123456\),bc
\s+[0-9a-f]+:[ ]5b ed 53 56 34 12[ ]+ld\.lil \(0x123456\),de
\s+[0-9a-f]+:[ ]5b 22 56 34 12[ ]+ld\.lil \(0x123456\),hl
\s+[0-9a-f]+:[ ]5b dd 22 56 34 12[ ]+ld\.lil \(0x123456\),ix
\s+[0-9a-f]+:[ ]5b fd 22 56 34 12[ ]+ld\.lil \(0x123456\),iy
\s+[0-9a-f]+:[ ]5b ed 73 56 34 12[ ]+ld\.lil \(0x123456\),sp
\s+[0-9a-f]+:[ ]5b 3a 56 34 12[ ]+ld\.lil a,\(0x123456\)
\s+[0-9a-f]+:[ ]5b ed 4b 56 34 12[ ]+ld\.lil bc,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 01 56 34 12[ ]+ld\.lil bc,0x123456
\s+[0-9a-f]+:[ ]5b ed 5b 56 34 12[ ]+ld\.lil de,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 11 56 34 12[ ]+ld\.lil de,0x123456
\s+[0-9a-f]+:[ ]5b 2a 56 34 12[ ]+ld\.lil hl,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 21 56 34 12[ ]+ld\.lil hl,0x123456
\s+[0-9a-f]+:[ ]5b dd 2a 56 34 12[ ]+ld\.lil ix,\(0x123456\)
\s+[0-9a-f]+:[ ]5b dd 21 56 34 12[ ]+ld\.lil ix,0x123456
\s+[0-9a-f]+:[ ]5b fd 2a 56 34 12[ ]+ld\.lil iy,\(0x123456\)
\s+[0-9a-f]+:[ ]5b fd 21 56 34 12[ ]+ld\.lil iy,0x123456
\s+[0-9a-f]+:[ ]5b ed 7b 56 34 12[ ]+ld\.lil sp,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 31 56 34 12[ ]+ld\.lil sp,0x123456

View file

@ -0,0 +1,318 @@
call.s 0x123456
call.s c,0x123456
call.s m,0x123456
call.s nc,0x123456
call.s nz,0x123456
call.s p,0x123456
call.s pe,0x123456
call.s po,0x123456
call.s z,0x123456
jp.s 0x123456
jp.s c,0x123456
jp.s m,0x123456
jp.s nc,0x123456
jp.s nz,0x123456
jp.s p,0x123456
jp.s pe,0x123456
jp.s po,0x123456
jp.s z,0x123456
ld.s (0x123456),a
ld.s (0x123456),bc
ld.s (0x123456),de
ld.s (0x123456),hl
ld.s (0x123456),ix
ld.s (0x123456),iy
ld.s (0x123456),sp
ld.s a,(0x123456)
ld.s bc,(0x123456)
ld.s bc,0x123456
ld.s de,(0x123456)
ld.s de,0x123456
ld.s hl,(0x123456)
ld.s hl,0x123456
ld.s ix,(0x123456)
ld.s ix,0x123456
ld.s iy,(0x123456)
ld.s iy,0x123456
ld.s sp,(0x123456)
ld.s sp,0x123456
.page
call.l 0x123456
call.l c,0x123456
call.l m,0x123456
call.l nc,0x123456
call.l nz,0x123456
call.l p,0x123456
call.l pe,0x123456
call.l po,0x123456
call.l z,0x123456
jp.l 0x123456
jp.l c,0x123456
jp.l m,0x123456
jp.l nc,0x123456
jp.l nz,0x123456
jp.l p,0x123456
jp.l pe,0x123456
jp.l po,0x123456
jp.l z,0x123456
ld.l (0x123456),a
ld.l (0x123456),bc
ld.l (0x123456),de
ld.l (0x123456),hl
ld.l (0x123456),ix
ld.l (0x123456),iy
ld.l (0x123456),sp
ld.l a,(0x123456)
ld.l bc,(0x123456)
ld.l bc,0x123456
ld.l de,(0x123456)
ld.l de,0x123456
ld.l hl,(0x123456)
ld.l hl,0x123456
ld.l ix,(0x123456)
ld.l ix,0x123456
ld.l iy,(0x123456)
ld.l iy,0x123456
ld.l sp,(0x123456)
ld.l sp,0x123456
.page
call.is 0x123456
call.is c,0x123456
call.is m,0x123456
call.is nc,0x123456
call.is nz,0x123456
call.is p,0x123456
call.is pe,0x123456
call.is po,0x123456
call.is z,0x123456
jp.is 0x123456
jp.is c,0x123456
jp.is m,0x123456
jp.is nc,0x123456
jp.is nz,0x123456
jp.is p,0x123456
jp.is pe,0x123456
jp.is po,0x123456
jp.is z,0x123456
ld.is (0x123456),a
ld.is (0x123456),bc
ld.is (0x123456),de
ld.is (0x123456),hl
ld.is (0x123456),ix
ld.is (0x123456),iy
ld.is (0x123456),sp
ld.is a,(0x123456)
ld.is bc,(0x123456)
ld.is bc,0x123456
ld.is de,(0x123456)
ld.is de,0x123456
ld.is hl,(0x123456)
ld.is hl,0x123456
ld.is ix,(0x123456)
ld.is ix,0x123456
ld.is iy,(0x123456)
ld.is iy,0x123456
ld.is sp,(0x123456)
ld.is sp,0x123456
.page
call.il 0x123456
call.il c,0x123456
call.il m,0x123456
call.il nc,0x123456
call.il nz,0x123456
call.il p,0x123456
call.il pe,0x123456
call.il po,0x123456
call.il z,0x123456
jp.il 0x123456
jp.il c,0x123456
jp.il m,0x123456
jp.il nc,0x123456
jp.il nz,0x123456
jp.il p,0x123456
jp.il pe,0x123456
jp.il po,0x123456
jp.il z,0x123456
ld.il (0x123456),a
ld.il (0x123456),bc
ld.il (0x123456),de
ld.il (0x123456),hl
ld.il (0x123456),ix
ld.il (0x123456),iy
ld.il (0x123456),sp
ld.il a,(0x123456)
ld.il bc,(0x123456)
ld.il bc,0x123456
ld.il de,(0x123456)
ld.il de,0x123456
ld.il hl,(0x123456)
ld.il hl,0x123456
ld.il ix,(0x123456)
ld.il ix,0x123456
ld.il iy,(0x123456)
ld.il iy,0x123456
ld.il sp,(0x123456)
ld.il sp,0x123456
.page
call.sis 0x123456
call.sis c,0x123456
call.sis m,0x123456
call.sis nc,0x123456
call.sis nz,0x123456
call.sis p,0x123456
call.sis pe,0x123456
call.sis po,0x123456
call.sis z,0x123456
jp.sis 0x123456
jp.sis c,0x123456
jp.sis m,0x123456
jp.sis nc,0x123456
jp.sis nz,0x123456
jp.sis p,0x123456
jp.sis pe,0x123456
jp.sis po,0x123456
jp.sis z,0x123456
ld.sis (0x123456),a
ld.sis (0x123456),bc
ld.sis (0x123456),de
ld.sis (0x123456),hl
ld.sis (0x123456),ix
ld.sis (0x123456),iy
ld.sis (0x123456),sp
ld.sis a,(0x123456)
ld.sis bc,(0x123456)
ld.sis bc,0x123456
ld.sis de,(0x123456)
ld.sis de,0x123456
ld.sis hl,(0x123456)
ld.sis hl,0x123456
ld.sis ix,(0x123456)
ld.sis ix,0x123456
ld.sis iy,(0x123456)
ld.sis iy,0x123456
ld.sis sp,(0x123456)
ld.sis sp,0x123456
.page
call.lis 0x123456
call.lis c,0x123456
call.lis m,0x123456
call.lis nc,0x123456
call.lis nz,0x123456
call.lis p,0x123456
call.lis pe,0x123456
call.lis po,0x123456
call.lis z,0x123456
jp.lis 0x123456
jp.lis c,0x123456
jp.lis m,0x123456
jp.lis nc,0x123456
jp.lis nz,0x123456
jp.lis p,0x123456
jp.lis pe,0x123456
jp.lis po,0x123456
jp.lis z,0x123456
ld.lis (0x123456),a
ld.lis (0x123456),bc
ld.lis (0x123456),de
ld.lis (0x123456),hl
ld.lis (0x123456),ix
ld.lis (0x123456),iy
ld.lis (0x123456),sp
ld.lis a,(0x123456)
ld.lis bc,(0x123456)
ld.lis bc,0x123456
ld.lis de,(0x123456)
ld.lis de,0x123456
ld.lis hl,(0x123456)
ld.lis hl,0x123456
ld.lis ix,(0x123456)
ld.lis ix,0x123456
ld.lis iy,(0x123456)
ld.lis iy,0x123456
ld.lis sp,(0x123456)
ld.lis sp,0x123456
.page
call.sil 0x123456
call.sil c,0x123456
call.sil m,0x123456
call.sil nc,0x123456
call.sil nz,0x123456
call.sil p,0x123456
call.sil pe,0x123456
call.sil po,0x123456
call.sil z,0x123456
jp.sil 0x123456
jp.sil c,0x123456
jp.sil m,0x123456
jp.sil nc,0x123456
jp.sil nz,0x123456
jp.sil p,0x123456
jp.sil pe,0x123456
jp.sil po,0x123456
jp.sil z,0x123456
ld.sil (0x123456),a
ld.sil (0x123456),bc
ld.sil (0x123456),de
ld.sil (0x123456),hl
ld.sil (0x123456),ix
ld.sil (0x123456),iy
ld.sil (0x123456),sp
ld.sil a,(0x123456)
ld.sil bc,(0x123456)
ld.sil bc,0x123456
ld.sil de,(0x123456)
ld.sil de,0x123456
ld.sil hl,(0x123456)
ld.sil hl,0x123456
ld.sil ix,(0x123456)
ld.sil ix,0x123456
ld.sil iy,(0x123456)
ld.sil iy,0x123456
ld.sil sp,(0x123456)
ld.sil sp,0x123456
.page
call.lil 0x123456
call.lil c,0x123456
call.lil m,0x123456
call.lil nc,0x123456
call.lil nz,0x123456
call.lil p,0x123456
call.lil pe,0x123456
call.lil po,0x123456
call.lil z,0x123456
jp.lil 0x123456
jp.lil c,0x123456
jp.lil m,0x123456
jp.lil nc,0x123456
jp.lil nz,0x123456
jp.lil p,0x123456
jp.lil pe,0x123456
jp.lil po,0x123456
jp.lil z,0x123456
ld.lil (0x123456),a
ld.lil (0x123456),bc
ld.lil (0x123456),de
ld.lil (0x123456),hl
ld.lil (0x123456),ix
ld.lil (0x123456),iy
ld.lil (0x123456),sp
ld.lil a,(0x123456)
ld.lil bc,(0x123456)
ld.lil bc,0x123456
ld.lil de,(0x123456)
ld.lil de,0x123456
ld.lil hl,(0x123456)
ld.lil hl,0x123456
ld.lil ix,(0x123456)
ld.lil ix,0x123456
ld.lil iy,(0x123456)
ld.lil iy,0x123456
ld.lil sp,(0x123456)
ld.lil sp,0x123456

View file

@ -0,0 +1,957 @@
#as: -ez80
#objdump: -d
#name: All eZ80 instructions in Z80 cpu mode
.*:.*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+a7\s+and a,a
\s+1:\s+a0\s+and a,b
\s+2:\s+a1\s+and a,c
\s+3:\s+a2\s+and a,d
\s+4:\s+a3\s+and a,e
\s+5:\s+a4\s+and a,h
\s+6:\s+a5\s+and a,l
\s+7:\s+a6\s+and a,\(hl\)
\s+8:\s+e6 aa\s+and a,0xaa
\s+a:\s+dd a6 05\s+and a,\(ix\+5\)
\s+d:\s+fd a6 fb\s+and a,\(iy-5\)
\s+10:\s+bf\s+cp a,a
\s+11:\s+b8\s+cp a,b
\s+12:\s+b9\s+cp a,c
\s+13:\s+ba\s+cp a,d
\s+14:\s+bb\s+cp a,e
\s+15:\s+bc\s+cp a,h
\s+16:\s+bd\s+cp a,l
\s+17:\s+be\s+cp a,\(hl\)
\s+18:\s+fe aa\s+cp a,0xaa
\s+1a:\s+dd be 05\s+cp a,\(ix\+5\)
\s+1d:\s+fd be fb\s+cp a,\(iy-5\)
\s+20:\s+b7\s+or a,a
\s+21:\s+b0\s+or a,b
\s+22:\s+b1\s+or a,c
\s+23:\s+b2\s+or a,d
\s+24:\s+b3\s+or a,e
\s+25:\s+b4\s+or a,h
\s+26:\s+b5\s+or a,l
\s+27:\s+b6\s+or a,\(hl\)
\s+28:\s+f6 aa\s+or a,0xaa
\s+2a:\s+dd b6 05\s+or a,\(ix\+5\)
\s+2d:\s+fd b6 fb\s+or a,\(iy-5\)
\s+30:\s+97\s+sub a,a
\s+31:\s+90\s+sub a,b
\s+32:\s+91\s+sub a,c
\s+33:\s+92\s+sub a,d
\s+34:\s+93\s+sub a,e
\s+35:\s+94\s+sub a,h
\s+36:\s+95\s+sub a,l
\s+37:\s+96\s+sub a,\(hl\)
\s+38:\s+d6 aa\s+sub a,0xaa
\s+3a:\s+dd 96 05\s+sub a,\(ix\+5\)
\s+3d:\s+fd 96 fb\s+sub a,\(iy-5\)
\s+40:\s+ed 3c\s+tst a,a
\s+42:\s+ed 04\s+tst a,b
\s+44:\s+ed 0c\s+tst a,c
\s+46:\s+ed 14\s+tst a,d
\s+48:\s+ed 1c\s+tst a,e
\s+4a:\s+ed 24\s+tst a,h
\s+4c:\s+ed 2c\s+tst a,l
\s+4e:\s+ed 34\s+tst a,\(hl\)
\s+50:\s+ed 64 0f\s+tst a,0x0f
\s+53:\s+af\s+xor a,a
\s+54:\s+a8\s+xor a,b
\s+55:\s+a9\s+xor a,c
\s+56:\s+aa\s+xor a,d
\s+57:\s+ab\s+xor a,e
\s+58:\s+ac\s+xor a,h
\s+59:\s+ad\s+xor a,l
\s+5a:\s+ae\s+xor a,\(hl\)
\s+5b:\s+ee aa\s+xor a,0xaa
\s+5d:\s+dd ae 05\s+xor a,\(ix\+5\)
\s+60:\s+fd ae fb\s+xor a,\(iy-5\)
\s+63:\s+ed 78\s+in a,\(bc\)
\s+65:\s+ed 40\s+in b,\(bc\)
\s+67:\s+ed 48\s+in c,\(bc\)
\s+69:\s+ed 50\s+in d,\(bc\)
\s+6b:\s+ed 58\s+in e,\(bc\)
\s+6d:\s+ed 60\s+in h,\(bc\)
\s+6f:\s+ed 68\s+in l,\(bc\)
\s+71:\s+ed 79\s+out \(bc\),a
\s+73:\s+ed 41\s+out \(bc\),b
\s+75:\s+ed 49\s+out \(bc\),c
\s+77:\s+ed 51\s+out \(bc\),d
\s+79:\s+ed 59\s+out \(bc\),e
\s+7b:\s+ed 61\s+out \(bc\),h
\s+7d:\s+ed 69\s+out \(bc\),l
\s+7f:\s+dd 07 f9\s+ld bc,\(ix-7\)
\s+82:\s+dd 17 f9\s+ld de,\(ix-7\)
\s+85:\s+dd 27 f9\s+ld hl,\(ix-7\)
\s+88:\s+dd 37 f9\s+ld ix,\(ix-7\)
\s+8b:\s+dd 31 f9\s+ld iy,\(ix-7\)
\s+8e:\s+fd 07 26\s+ld bc,\(iy\+38\)
\s+91:\s+fd 17 26\s+ld de,\(iy\+38\)
\s+94:\s+fd 27 26\s+ld hl,\(iy\+38\)
\s+97:\s+fd 31 26\s+ld ix,\(iy\+38\)
\s+9a:\s+fd 37 26\s+ld iy,\(iy\+38\)
\s+9d:\s+dd 0f 7e\s+ld \(ix\+126\),bc
\s+a0:\s+dd 1f 7e\s+ld \(ix\+126\),de
\s+a3:\s+dd 2f 7e\s+ld \(ix\+126\),hl
\s+a6:\s+dd 3f 7e\s+ld \(ix\+126\),ix
\s+a9:\s+dd 3e 7e\s+ld \(ix\+126\),iy
\s+ac:\s+fd 0f 9e\s+ld \(iy-98\),bc
\s+af:\s+fd 1f 9e\s+ld \(iy-98\),de
\s+b2:\s+fd 2f 9e\s+ld \(iy-98\),hl
\s+b5:\s+fd 3e 9e\s+ld \(iy-98\),ix
\s+b8:\s+fd 3f 9e\s+ld \(iy-98\),iy
\s+bb:\s+ed 02 e5\s+lea bc,ix-27
\s+be:\s+ed 12 e5\s+lea de,ix-27
\s+c1:\s+ed 22 e5\s+lea hl,ix-27
\s+c4:\s+ed 32 e5\s+lea ix,ix-27
\s+c7:\s+ed 55 e5\s+lea iy,ix-27
\s+ca:\s+ed 03 0c\s+lea bc,iy\+12
\s+cd:\s+ed 13 0c\s+lea de,iy\+12
\s+d0:\s+ed 23 0c\s+lea hl,iy\+12
\s+d3:\s+ed 54 0c\s+lea ix,iy\+12
\s+d6:\s+ed 33 0c\s+lea iy,iy\+12
\s+d9:\s+ed 65 7f\s+pea ix\+127
\s+dc:\s+ed 66 80\s+pea iy-128
\s+df:\s+ed 38 05\s+in0 a,\(0x05\)
\s+e2:\s+ed 00 05\s+in0 b,\(0x05\)
\s+e5:\s+ed 08 05\s+in0 c,\(0x05\)
\s+e8:\s+ed 10 05\s+in0 d,\(0x05\)
\s+eb:\s+ed 18 05\s+in0 e,\(0x05\)
\s+ee:\s+ed 20 05\s+in0 h,\(0x05\)
\s+f1:\s+ed 28 05\s+in0 l,\(0x05\)
\s+f4:\s+ed 39 05\s+out0 \(0x05\),a
\s+f7:\s+ed 01 05\s+out0 \(0x05\),b
\s+fa:\s+ed 09 05\s+out0 \(0x05\),c
\s+fd:\s+ed 11 05\s+out0 \(0x05\),d
\s+100:\s+ed 19 05\s+out0 \(0x05\),e
\s+103:\s+ed 21 05\s+out0 \(0x05\),h
\s+106:\s+ed 29 05\s+out0 \(0x05\),l
\s+109:\s+ed 4c\s+mlt bc
\s+10b:\s+ed 5c\s+mlt de
\s+10d:\s+ed 6c\s+mlt hl
\s+10f:\s+ed 7c\s+mlt sp
\s+111:\s+ed 74 f0\s+tstio 0xf0
\s+114:\s+ed 76\s+slp
\s+116:\s+ed 7d\s+stmix
\s+118:\s+ed 7e\s+rsmix
\s+11a:\s+ed 82\s+inim
\s+11c:\s+ed 83\s+otim
\s+11e:\s+ed 84\s+ini2
\s+120:\s+ed 8a\s+indm
\s+122:\s+ed 8b\s+otdm
\s+124:\s+ed 8c\s+ind2
\s+126:\s+ed 92\s+inimr
\s+128:\s+ed 93\s+otimr
\s+12a:\s+ed 94\s+oti2r
\s+12c:\s+ed 9a\s+indmr
\s+12e:\s+ed 9b\s+otdmr
\s+130:\s+ed 9c\s+otd2r
\s+132:\s+ed a4\s+ini2
\s+134:\s+ed ac\s+ind2
\s+136:\s+ed b4\s+oti2r
\s+138:\s+ed bc\s+otd2r
\s+13a:\s+ed c2\s+inirx
\s+13c:\s+ed c3\s+otirx
\s+13e:\s+ed ca\s+indrx
\s+140:\s+ed cb\s+otdrx
\s+142:\s+dd 7c\s+ld a,ixh
\s+144:\s+dd 44\s+ld b,ixh
\s+146:\s+dd 4c\s+ld c,ixh
\s+148:\s+dd 54\s+ld d,ixh
\s+14a:\s+dd 5c\s+ld e,ixh
\s+14c:\s+dd 64\s+ld ixh,ixh
\s+14e:\s+dd 6c\s+ld ixl,ixh
\s+150:\s+dd 7d\s+ld a,ixl
\s+152:\s+dd 45\s+ld b,ixl
\s+154:\s+dd 4d\s+ld c,ixl
\s+156:\s+dd 55\s+ld d,ixl
\s+158:\s+dd 5d\s+ld e,ixl
\s+15a:\s+dd 65\s+ld ixh,ixl
\s+15c:\s+dd 6d\s+ld ixl,ixl
\s+15e:\s+fd 7c\s+ld a,iyh
\s+160:\s+fd 44\s+ld b,iyh
\s+162:\s+fd 4c\s+ld c,iyh
\s+164:\s+fd 54\s+ld d,iyh
\s+166:\s+fd 5c\s+ld e,iyh
\s+168:\s+fd 64\s+ld iyh,iyh
\s+16a:\s+fd 6c\s+ld iyl,iyh
\s+16c:\s+fd 7d\s+ld a,iyl
\s+16e:\s+fd 45\s+ld b,iyl
\s+170:\s+fd 4d\s+ld c,iyl
\s+172:\s+fd 55\s+ld d,iyl
\s+174:\s+fd 5d\s+ld e,iyl
\s+176:\s+fd 65\s+ld iyh,iyl
\s+178:\s+fd 6d\s+ld iyl,iyl
\s+17a:\s+dd 67\s+ld ixh,a
\s+17c:\s+dd 60\s+ld ixh,b
\s+17e:\s+dd 61\s+ld ixh,c
\s+180:\s+dd 62\s+ld ixh,d
\s+182:\s+dd 63\s+ld ixh,e
\s+184:\s+dd 64\s+ld ixh,ixh
\s+186:\s+dd 65\s+ld ixh,ixl
\s+188:\s+dd 26 19\s+ld ixh,0x19
\s+18b:\s+dd 6f\s+ld ixl,a
\s+18d:\s+dd 68\s+ld ixl,b
\s+18f:\s+dd 69\s+ld ixl,c
\s+191:\s+dd 6a\s+ld ixl,d
\s+193:\s+dd 6b\s+ld ixl,e
\s+195:\s+dd 6c\s+ld ixl,ixh
\s+197:\s+dd 6d\s+ld ixl,ixl
\s+199:\s+dd 2e 19\s+ld ixl,0x19
\s+19c:\s+fd 67\s+ld iyh,a
\s+19e:\s+fd 60\s+ld iyh,b
\s+1a0:\s+fd 61\s+ld iyh,c
\s+1a2:\s+fd 62\s+ld iyh,d
\s+1a4:\s+fd 63\s+ld iyh,e
\s+1a6:\s+fd 64\s+ld iyh,iyh
\s+1a8:\s+fd 65\s+ld iyh,iyl
\s+1aa:\s+fd 26 19\s+ld iyh,0x19
\s+1ad:\s+fd 6f\s+ld iyl,a
\s+1af:\s+fd 68\s+ld iyl,b
\s+1b1:\s+fd 69\s+ld iyl,c
\s+1b3:\s+fd 6a\s+ld iyl,d
\s+1b5:\s+fd 6b\s+ld iyl,e
\s+1b7:\s+fd 6c\s+ld iyl,iyh
\s+1b9:\s+fd 6d\s+ld iyl,iyl
\s+1bb:\s+fd 2e 19\s+ld iyl,0x19
\s+1be:\s+dd 84\s+add a,ixh
\s+1c0:\s+dd 85\s+add a,ixl
\s+1c2:\s+fd 84\s+add a,iyh
\s+1c4:\s+fd 85\s+add a,iyl
\s+1c6:\s+dd 8c\s+adc a,ixh
\s+1c8:\s+dd 8d\s+adc a,ixl
\s+1ca:\s+fd 8c\s+adc a,iyh
\s+1cc:\s+fd 8d\s+adc a,iyl
\s+1ce:\s+dd bc\s+cp a,ixh
\s+1d0:\s+dd bd\s+cp a,ixl
\s+1d2:\s+fd bc\s+cp a,iyh
\s+1d4:\s+fd bd\s+cp a,iyl
\s+1d6:\s+dd 25\s+dec ixh
\s+1d8:\s+dd 2d\s+dec ixl
\s+1da:\s+fd 25\s+dec iyh
\s+1dc:\s+fd 2d\s+dec iyl
\s+1de:\s+dd 24\s+inc ixh
\s+1e0:\s+dd 2c\s+inc ixl
\s+1e2:\s+fd 24\s+inc iyh
\s+1e4:\s+fd 2c\s+inc iyl
\s+1e6:\s+dd 9c\s+sbc a,ixh
\s+1e8:\s+dd 9d\s+sbc a,ixl
\s+1ea:\s+fd 9c\s+sbc a,iyh
\s+1ec:\s+fd 9d\s+sbc a,iyl
\s+1ee:\s+dd 94\s+sub a,ixh
\s+1f0:\s+dd 95\s+sub a,ixl
\s+1f2:\s+fd 94\s+sub a,iyh
\s+1f4:\s+fd 95\s+sub a,iyl
\s+1f6:\s+dd a4\s+and a,ixh
\s+1f8:\s+dd a5\s+and a,ixl
\s+1fa:\s+fd a4\s+and a,iyh
\s+1fc:\s+fd a5\s+and a,iyl
\s+1fe:\s+dd b4\s+or a,ixh
\s+200:\s+dd b5\s+or a,ixl
\s+202:\s+fd b4\s+or a,iyh
\s+204:\s+fd b5\s+or a,iyl
\s+206:\s+dd ac\s+xor a,ixh
\s+208:\s+dd ad\s+xor a,ixl
\s+20a:\s+fd ac\s+xor a,iyh
\s+20c:\s+fd ad\s+xor a,iyl
\s+20e:\s+8e\s+adc a,\(hl\)
\s+20f:\s+dd 8e 09\s+adc a,\(ix\+9\)
\s+212:\s+fd 8e 09\s+adc a,\(iy\+9\)
\s+215:\s+ce 03\s+adc a,0x03
\s+217:\s+8f\s+adc a,a
\s+218:\s+88\s+adc a,b
\s+219:\s+89\s+adc a,c
\s+21a:\s+8a\s+adc a,d
\s+21b:\s+8b\s+adc a,e
\s+21c:\s+8c\s+adc a,h
\s+21d:\s+8d\s+adc a,l
\s+21e:\s+ed 4a\s+adc hl,bc
\s+220:\s+ed 5a\s+adc hl,de
\s+222:\s+ed 6a\s+adc hl,hl
\s+224:\s+ed 7a\s+adc hl,sp
\s+226:\s+86\s+add a,\(hl\)
\s+227:\s+dd 86 09\s+add a,\(ix\+9\)
\s+22a:\s+fd 86 09\s+add a,\(iy\+9\)
\s+22d:\s+c6 03\s+add a,0x03
\s+22f:\s+87\s+add a,a
\s+230:\s+80\s+add a,b
\s+231:\s+81\s+add a,c
\s+232:\s+82\s+add a,d
\s+233:\s+83\s+add a,e
\s+234:\s+84\s+add a,h
\s+235:\s+85\s+add a,l
\s+236:\s+09\s+add hl,bc
\s+237:\s+19\s+add hl,de
\s+238:\s+29\s+add hl,hl
\s+239:\s+39\s+add hl,sp
\s+23a:\s+dd 09\s+add ix,bc
\s+23c:\s+dd 19\s+add ix,de
\s+23e:\s+dd 29\s+add ix,ix
\s+240:\s+dd 39\s+add ix,sp
\s+242:\s+fd 09\s+add iy,bc
\s+244:\s+fd 19\s+add iy,de
\s+246:\s+fd 29\s+add iy,iy
\s+248:\s+fd 39\s+add iy,sp
\s+24a:\s+a6\s+and a,\(hl\)
\s+24b:\s+dd a6 09\s+and a,\(ix\+9\)
\s+24e:\s+fd a6 09\s+and a,\(iy\+9\)
\s+251:\s+e6 03\s+and a,0x03
\s+253:\s+a7\s+and a,a
\s+254:\s+a0\s+and a,b
\s+255:\s+a1\s+and a,c
\s+256:\s+a2\s+and a,d
\s+257:\s+a3\s+and a,e
\s+258:\s+a4\s+and a,h
\s+259:\s+a5\s+and a,l
\s+25a:\s+cb 46\s+bit 0,\(hl\)
\s+25c:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
\s+260:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
\s+264:\s+cb 47\s+bit 0,a
\s+266:\s+cb 40\s+bit 0,b
\s+268:\s+cb 41\s+bit 0,c
\s+26a:\s+cb 42\s+bit 0,d
\s+26c:\s+cb 43\s+bit 0,e
\s+26e:\s+cb 44\s+bit 0,h
\s+270:\s+cb 45\s+bit 0,l
\s+272:\s+cb 4e\s+bit 1,\(hl\)
\s+274:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
\s+278:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
\s+27c:\s+cb 4f\s+bit 1,a
\s+27e:\s+cb 48\s+bit 1,b
\s+280:\s+cb 49\s+bit 1,c
\s+282:\s+cb 4a\s+bit 1,d
\s+284:\s+cb 4b\s+bit 1,e
\s+286:\s+cb 4c\s+bit 1,h
\s+288:\s+cb 4d\s+bit 1,l
\s+28a:\s+cb 56\s+bit 2,\(hl\)
\s+28c:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
\s+290:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
\s+294:\s+cb 57\s+bit 2,a
\s+296:\s+cb 50\s+bit 2,b
\s+298:\s+cb 51\s+bit 2,c
\s+29a:\s+cb 52\s+bit 2,d
\s+29c:\s+cb 53\s+bit 2,e
\s+29e:\s+cb 54\s+bit 2,h
\s+2a0:\s+cb 55\s+bit 2,l
\s+2a2:\s+cb 5e\s+bit 3,\(hl\)
\s+2a4:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
\s+2a8:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
\s+2ac:\s+cb 5f\s+bit 3,a
\s+2ae:\s+cb 58\s+bit 3,b
\s+2b0:\s+cb 59\s+bit 3,c
\s+2b2:\s+cb 5a\s+bit 3,d
\s+2b4:\s+cb 5b\s+bit 3,e
\s+2b6:\s+cb 5c\s+bit 3,h
\s+2b8:\s+cb 5d\s+bit 3,l
\s+2ba:\s+cb 66\s+bit 4,\(hl\)
\s+2bc:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
\s+2c0:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
\s+2c4:\s+cb 67\s+bit 4,a
\s+2c6:\s+cb 60\s+bit 4,b
\s+2c8:\s+cb 61\s+bit 4,c
\s+2ca:\s+cb 62\s+bit 4,d
\s+2cc:\s+cb 63\s+bit 4,e
\s+2ce:\s+cb 64\s+bit 4,h
\s+2d0:\s+cb 65\s+bit 4,l
\s+2d2:\s+cb 6e\s+bit 5,\(hl\)
\s+2d4:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
\s+2d8:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
\s+2dc:\s+cb 6f\s+bit 5,a
\s+2de:\s+cb 68\s+bit 5,b
\s+2e0:\s+cb 69\s+bit 5,c
\s+2e2:\s+cb 6a\s+bit 5,d
\s+2e4:\s+cb 6b\s+bit 5,e
\s+2e6:\s+cb 6c\s+bit 5,h
\s+2e8:\s+cb 6d\s+bit 5,l
\s+2ea:\s+cb 76\s+bit 6,\(hl\)
\s+2ec:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
\s+2f0:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
\s+2f4:\s+cb 77\s+bit 6,a
\s+2f6:\s+cb 70\s+bit 6,b
\s+2f8:\s+cb 71\s+bit 6,c
\s+2fa:\s+cb 72\s+bit 6,d
\s+2fc:\s+cb 73\s+bit 6,e
\s+2fe:\s+cb 74\s+bit 6,h
\s+300:\s+cb 75\s+bit 6,l
\s+302:\s+cb 7e\s+bit 7,\(hl\)
\s+304:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
\s+308:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
\s+30c:\s+cb 7f\s+bit 7,a
\s+30e:\s+cb 78\s+bit 7,b
\s+310:\s+cb 79\s+bit 7,c
\s+312:\s+cb 7a\s+bit 7,d
\s+314:\s+cb 7b\s+bit 7,e
\s+316:\s+cb 7c\s+bit 7,h
\s+318:\s+cb 7d\s+bit 7,l
\s+31a:\s+cd 34 12\s+call 0x1234
\s+31d:\s+dc 34 12\s+call c,0x1234
\s+320:\s+fc 34 12\s+call m,0x1234
\s+323:\s+d4 34 12\s+call nc,0x1234
\s+326:\s+c4 34 12\s+call nz,0x1234
\s+329:\s+f4 34 12\s+call p,0x1234
\s+32c:\s+ec 34 12\s+call pe,0x1234
\s+32f:\s+e4 34 12\s+call po,0x1234
\s+332:\s+cc 34 12\s+call z,0x1234
\s+335:\s+3f\s+ccf
\s+336:\s+be\s+cp a,\(hl\)
\s+337:\s+dd be 09\s+cp a,\(ix\+9\)
\s+33a:\s+fd be 09\s+cp a,\(iy\+9\)
\s+33d:\s+fe 03\s+cp a,0x03
\s+33f:\s+bf\s+cp a,a
\s+340:\s+b8\s+cp a,b
\s+341:\s+b9\s+cp a,c
\s+342:\s+ba\s+cp a,d
\s+343:\s+bb\s+cp a,e
\s+344:\s+bc\s+cp a,h
\s+345:\s+bd\s+cp a,l
\s+346:\s+ed a9\s+cpd
\s+348:\s+ed b9\s+cpdr
\s+34a:\s+ed a1\s+cpi
\s+34c:\s+ed b1\s+cpir
\s+34e:\s+2f\s+cpl
\s+34f:\s+27\s+daa
\s+350:\s+35\s+dec \(hl\)
\s+351:\s+dd 35 09\s+dec \(ix\+9\)
\s+354:\s+fd 35 09\s+dec \(iy\+9\)
\s+357:\s+3d\s+dec a
\s+358:\s+05\s+dec b
\s+359:\s+0b\s+dec bc
\s+35a:\s+0d\s+dec c
\s+35b:\s+15\s+dec d
\s+35c:\s+1b\s+dec de
\s+35d:\s+1d\s+dec e
\s+35e:\s+25\s+dec h
\s+35f:\s+2b\s+dec hl
\s+360:\s+dd 2b\s+dec ix
\s+362:\s+fd 2b\s+dec iy
\s+364:\s+2d\s+dec l
\s+365:\s+3b\s+dec sp
\s+366:\s+f3\s+di
\s+367:\s+10 05\s+djnz 0x036e
\s+369:\s+fb\s+ei
\s+36a:\s+e3\s+ex \(sp\),hl
\s+36b:\s+dd e3\s+ex \(sp\),ix
\s+36d:\s+fd e3\s+ex \(sp\),iy
\s+36f:\s+08\s+ex af,af'
\s+370:\s+eb\s+ex de,hl
\s+371:\s+d9\s+exx
\s+372:\s+76\s+halt
\s+373:\s+ed 46\s+im 0
\s+375:\s+ed 56\s+im 1
\s+377:\s+ed 5e\s+im 2
\s+379:\s+ed 78\s+in a,\(bc\)
\s+37b:\s+db 03\s+in a,\(0x03\)
\s+37d:\s+ed 40\s+in b,\(bc\)
\s+37f:\s+ed 48\s+in c,\(bc\)
\s+381:\s+ed 50\s+in d,\(bc\)
\s+383:\s+ed 58\s+in e,\(bc\)
\s+385:\s+ed 60\s+in h,\(bc\)
\s+387:\s+ed 68\s+in l,\(bc\)
\s+389:\s+34\s+inc \(hl\)
\s+38a:\s+dd 34 09\s+inc \(ix\+9\)
\s+38d:\s+fd 34 09\s+inc \(iy\+9\)
\s+390:\s+3c\s+inc a
\s+391:\s+04\s+inc b
\s+392:\s+03\s+inc bc
\s+393:\s+0c\s+inc c
\s+394:\s+14\s+inc d
\s+395:\s+13\s+inc de
\s+396:\s+1c\s+inc e
\s+397:\s+24\s+inc h
\s+398:\s+23\s+inc hl
\s+399:\s+dd 23\s+inc ix
\s+39b:\s+fd 23\s+inc iy
\s+39d:\s+2c\s+inc l
\s+39e:\s+33\s+inc sp
\s+39f:\s+ed aa\s+ind
\s+3a1:\s+ed ba\s+indr
\s+3a3:\s+ed a2\s+ini
\s+3a5:\s+ed b2\s+inir
\s+3a7:\s+e9\s+jp \(hl\)
\s+3a8:\s+dd e9\s+jp \(ix\)
\s+3aa:\s+fd e9\s+jp \(iy\)
\s+3ac:\s+c3 34 12\s+jp 0x1234
\s+3af:\s+da 34 12\s+jp c,0x1234
\s+3b2:\s+fa 34 12\s+jp m,0x1234
\s+3b5:\s+d2 34 12\s+jp nc,0x1234
\s+3b8:\s+c2 34 12\s+jp nz,0x1234
\s+3bb:\s+f2 34 12\s+jp p,0x1234
\s+3be:\s+ea 34 12\s+jp pe,0x1234
\s+3c1:\s+e2 34 12\s+jp po,0x1234
\s+3c4:\s+ca 34 12\s+jp z,0x1234
\s+3c7:\s+18 05\s+jr 0x03ce
\s+3c9:\s+38 05\s+jr c,0x03d0
\s+3cb:\s+30 05\s+jr nc,0x03d2
\s+3cd:\s+20 05\s+jr nz,0x03d4
\s+3cf:\s+28 05\s+jr z,0x03d6
\s+3d1:\s+32 34 12\s+ld \(0x1234\),a
\s+3d4:\s+ed 43 34 12\s+ld \(0x1234\),bc
\s+3d8:\s+ed 53 34 12\s+ld \(0x1234\),de
\s+3dc:\s+22 34 12\s+ld \(0x1234\),hl
\s+3df:\s+dd 22 34 12\s+ld \(0x1234\),ix
\s+3e3:\s+fd 22 34 12\s+ld \(0x1234\),iy
\s+3e7:\s+ed 73 34 12\s+ld \(0x1234\),sp
\s+3eb:\s+02\s+ld \(bc\),a
\s+3ec:\s+12\s+ld \(de\),a
\s+3ed:\s+36 03\s+ld \(hl\),0x03
\s+3ef:\s+77\s+ld \(hl\),a
\s+3f0:\s+70\s+ld \(hl\),b
\s+3f1:\s+71\s+ld \(hl\),c
\s+3f2:\s+72\s+ld \(hl\),d
\s+3f3:\s+73\s+ld \(hl\),e
\s+3f4:\s+74\s+ld \(hl\),h
\s+3f5:\s+75\s+ld \(hl\),l
\s+3f6:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
\s+3fa:\s+dd 77 09\s+ld \(ix\+9\),a
\s+3fd:\s+dd 70 09\s+ld \(ix\+9\),b
\s+400:\s+dd 71 09\s+ld \(ix\+9\),c
\s+403:\s+dd 72 09\s+ld \(ix\+9\),d
\s+406:\s+dd 73 09\s+ld \(ix\+9\),e
\s+409:\s+dd 74 09\s+ld \(ix\+9\),h
\s+40c:\s+dd 75 09\s+ld \(ix\+9\),l
\s+40f:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
\s+413:\s+fd 77 09\s+ld \(iy\+9\),a
\s+416:\s+fd 70 09\s+ld \(iy\+9\),b
\s+419:\s+fd 71 09\s+ld \(iy\+9\),c
\s+41c:\s+fd 72 09\s+ld \(iy\+9\),d
\s+41f:\s+fd 73 09\s+ld \(iy\+9\),e
\s+422:\s+fd 74 09\s+ld \(iy\+9\),h
\s+425:\s+fd 75 09\s+ld \(iy\+9\),l
\s+428:\s+3a 34 12\s+ld a,\(0x1234\)
\s+42b:\s+0a\s+ld a,\(bc\)
\s+42c:\s+1a\s+ld a,\(de\)
\s+42d:\s+7e\s+ld a,\(hl\)
\s+42e:\s+dd 7e 09\s+ld a,\(ix\+9\)
\s+431:\s+fd 7e 09\s+ld a,\(iy\+9\)
\s+434:\s+3e 03\s+ld a,0x03
\s+436:\s+7f\s+ld a,a
\s+437:\s+78\s+ld a,b
\s+438:\s+79\s+ld a,c
\s+439:\s+7a\s+ld a,d
\s+43a:\s+7b\s+ld a,e
\s+43b:\s+7c\s+ld a,h
\s+43c:\s+ed 57\s+ld a,i
\s+43e:\s+7d\s+ld a,l
\s+43f:\s+ed 5f\s+ld a,r
\s+441:\s+46\s+ld b,\(hl\)
\s+442:\s+dd 46 09\s+ld b,\(ix\+9\)
\s+445:\s+fd 46 09\s+ld b,\(iy\+9\)
\s+448:\s+06 03\s+ld b,0x03
\s+44a:\s+47\s+ld b,a
\s+44b:\s+00\s+nop
\s+44c:\s+41\s+ld b,c
\s+44d:\s+42\s+ld b,d
\s+44e:\s+43\s+ld b,e
\s+44f:\s+44\s+ld b,h
\s+450:\s+45\s+ld b,l
\s+451:\s+ed 4b 34 12\s+ld bc,\(0x1234\)
\s+455:\s+01 34 12\s+ld bc,0x1234
\s+458:\s+4e\s+ld c,\(hl\)
\s+459:\s+dd 4e 09\s+ld c,\(ix\+9\)
\s+45c:\s+fd 4e 09\s+ld c,\(iy\+9\)
\s+45f:\s+0e 03\s+ld c,0x03
\s+461:\s+4f\s+ld c,a
\s+462:\s+48\s+ld c,b
\s+463:\s+00\s+nop
\s+464:\s+4a\s+ld c,d
\s+465:\s+4b\s+ld c,e
\s+466:\s+4c\s+ld c,h
\s+467:\s+4d\s+ld c,l
\s+468:\s+56\s+ld d,\(hl\)
\s+469:\s+dd 56 09\s+ld d,\(ix\+9\)
\s+46c:\s+fd 56 09\s+ld d,\(iy\+9\)
\s+46f:\s+16 03\s+ld d,0x03
\s+471:\s+57\s+ld d,a
\s+472:\s+50\s+ld d,b
\s+473:\s+51\s+ld d,c
\s+474:\s+00\s+nop
\s+475:\s+53\s+ld d,e
\s+476:\s+54\s+ld d,h
\s+477:\s+55\s+ld d,l
\s+478:\s+ed 5b 34 12\s+ld de,\(0x1234\)
\s+47c:\s+11 34 12\s+ld de,0x1234
\s+47f:\s+5e\s+ld e,\(hl\)
\s+480:\s+dd 5e 09\s+ld e,\(ix\+9\)
\s+483:\s+fd 5e 09\s+ld e,\(iy\+9\)
\s+486:\s+1e 03\s+ld e,0x03
\s+488:\s+5f\s+ld e,a
\s+489:\s+58\s+ld e,b
\s+48a:\s+59\s+ld e,c
\s+48b:\s+5a\s+ld e,d
\s+48c:\s+00\s+nop
\s+48d:\s+5c\s+ld e,h
\s+48e:\s+5d\s+ld e,l
\s+48f:\s+66\s+ld h,\(hl\)
\s+490:\s+dd 66 09\s+ld h,\(ix\+9\)
\s+493:\s+fd 66 09\s+ld h,\(iy\+9\)
\s+496:\s+26 03\s+ld h,0x03
\s+498:\s+67\s+ld h,a
\s+499:\s+60\s+ld h,b
\s+49a:\s+61\s+ld h,c
\s+49b:\s+62\s+ld h,d
\s+49c:\s+63\s+ld h,e
\s+49d:\s+64\s+ld h,h
\s+49e:\s+65\s+ld h,l
\s+49f:\s+2a 34 12\s+ld hl,\(0x1234\)
\s+4a2:\s+21 34 12\s+ld hl,0x1234
\s+4a5:\s+ed 47\s+ld i,a
\s+4a7:\s+dd 2a 34 12\s+ld ix,\(0x1234\)
\s+4ab:\s+dd 21 34 12\s+ld ix,0x1234
\s+4af:\s+fd 2a 34 12\s+ld iy,\(0x1234\)
\s+4b3:\s+fd 21 34 12\s+ld iy,0x1234
\s+4b7:\s+6e\s+ld l,\(hl\)
\s+4b8:\s+dd 6e 09\s+ld l,\(ix\+9\)
\s+4bb:\s+fd 6e 09\s+ld l,\(iy\+9\)
\s+4be:\s+2e 03\s+ld l,0x03
\s+4c0:\s+6f\s+ld l,a
\s+4c1:\s+68\s+ld l,b
\s+4c2:\s+69\s+ld l,c
\s+4c3:\s+6a\s+ld l,d
\s+4c4:\s+6b\s+ld l,e
\s+4c5:\s+6c\s+ld l,h
\s+4c6:\s+6d\s+ld l,l
\s+4c7:\s+ed 4f\s+ld r,a
\s+4c9:\s+ed 7b 34 12\s+ld sp,\(0x1234\)
\s+4cd:\s+31 34 12\s+ld sp,0x1234
\s+4d0:\s+f9\s+ld sp,hl
\s+4d1:\s+dd f9\s+ld sp,ix
\s+4d3:\s+fd f9\s+ld sp,iy
\s+4d5:\s+ed a8\s+ldd
\s+4d7:\s+ed b8\s+lddr
\s+4d9:\s+ed a0\s+ldi
\s+4db:\s+ed b0\s+ldir
\s+4dd:\s+ed 44\s+neg
\s+4df:\s+00\s+nop
\s+4e0:\s+b6\s+or a,\(hl\)
\s+4e1:\s+dd b6 09\s+or a,\(ix\+9\)
\s+4e4:\s+fd b6 09\s+or a,\(iy\+9\)
\s+4e7:\s+f6 03\s+or a,0x03
\s+4e9:\s+b7\s+or a,a
\s+4ea:\s+b0\s+or a,b
\s+4eb:\s+b1\s+or a,c
\s+4ec:\s+b2\s+or a,d
\s+4ed:\s+b3\s+or a,e
\s+4ee:\s+b4\s+or a,h
\s+4ef:\s+b5\s+or a,l
\s+4f0:\s+ed bb\s+otdr
\s+4f2:\s+ed b3\s+otir
\s+4f4:\s+ed 79\s+out \(bc\),a
\s+4f6:\s+ed 41\s+out \(bc\),b
\s+4f8:\s+ed 49\s+out \(bc\),c
\s+4fa:\s+ed 51\s+out \(bc\),d
\s+4fc:\s+ed 59\s+out \(bc\),e
\s+4fe:\s+ed 61\s+out \(bc\),h
\s+500:\s+ed 69\s+out \(bc\),l
\s+502:\s+d3 03\s+out \(0x03\),a
\s+504:\s+ed ab\s+outd
\s+506:\s+ed a3\s+outi
\s+508:\s+f1\s+pop af
\s+509:\s+c1\s+pop bc
\s+50a:\s+d1\s+pop de
\s+50b:\s+e1\s+pop hl
\s+50c:\s+dd e1\s+pop ix
\s+50e:\s+fd e1\s+pop iy
\s+510:\s+f5\s+push af
\s+511:\s+c5\s+push bc
\s+512:\s+d5\s+push de
\s+513:\s+e5\s+push hl
\s+514:\s+dd e5\s+push ix
\s+516:\s+fd e5\s+push iy
\s+518:\s+cb 86\s+res 0,\(hl\)
\s+51a:\s+dd cb 09 86\s+res 0,\(ix\+9\)
\s+51e:\s+fd cb 09 86\s+res 0,\(iy\+9\)
\s+522:\s+cb 87\s+res 0,a
\s+524:\s+cb 80\s+res 0,b
\s+526:\s+cb 81\s+res 0,c
\s+528:\s+cb 82\s+res 0,d
\s+52a:\s+cb 83\s+res 0,e
\s+52c:\s+cb 84\s+res 0,h
\s+52e:\s+cb 85\s+res 0,l
\s+530:\s+cb 8e\s+res 1,\(hl\)
\s+532:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
\s+536:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
\s+53a:\s+cb 8f\s+res 1,a
\s+53c:\s+cb 88\s+res 1,b
\s+53e:\s+cb 89\s+res 1,c
\s+540:\s+cb 8a\s+res 1,d
\s+542:\s+cb 8b\s+res 1,e
\s+544:\s+cb 8c\s+res 1,h
\s+546:\s+cb 8d\s+res 1,l
\s+548:\s+cb 96\s+res 2,\(hl\)
\s+54a:\s+dd cb 09 96\s+res 2,\(ix\+9\)
\s+54e:\s+fd cb 09 96\s+res 2,\(iy\+9\)
\s+552:\s+cb 97\s+res 2,a
\s+554:\s+cb 90\s+res 2,b
\s+556:\s+cb 91\s+res 2,c
\s+558:\s+cb 92\s+res 2,d
\s+55a:\s+cb 93\s+res 2,e
\s+55c:\s+cb 94\s+res 2,h
\s+55e:\s+cb 95\s+res 2,l
\s+560:\s+cb 9e\s+res 3,\(hl\)
\s+562:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
\s+566:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
\s+56a:\s+cb 9f\s+res 3,a
\s+56c:\s+cb 98\s+res 3,b
\s+56e:\s+cb 99\s+res 3,c
\s+570:\s+cb 9a\s+res 3,d
\s+572:\s+cb 9b\s+res 3,e
\s+574:\s+cb 9c\s+res 3,h
\s+576:\s+cb 9d\s+res 3,l
\s+578:\s+cb a6\s+res 4,\(hl\)
\s+57a:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
\s+57e:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
\s+582:\s+cb a7\s+res 4,a
\s+584:\s+cb a0\s+res 4,b
\s+586:\s+cb a1\s+res 4,c
\s+588:\s+cb a2\s+res 4,d
\s+58a:\s+cb a3\s+res 4,e
\s+58c:\s+cb a4\s+res 4,h
\s+58e:\s+cb a5\s+res 4,l
\s+590:\s+cb ae\s+res 5,\(hl\)
\s+592:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
\s+596:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
\s+59a:\s+cb af\s+res 5,a
\s+59c:\s+cb a8\s+res 5,b
\s+59e:\s+cb a9\s+res 5,c
\s+5a0:\s+cb aa\s+res 5,d
\s+5a2:\s+cb ab\s+res 5,e
\s+5a4:\s+cb ac\s+res 5,h
\s+5a6:\s+cb ad\s+res 5,l
\s+5a8:\s+cb b6\s+res 6,\(hl\)
\s+5aa:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
\s+5ae:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
\s+5b2:\s+cb b7\s+res 6,a
\s+5b4:\s+cb b0\s+res 6,b
\s+5b6:\s+cb b1\s+res 6,c
\s+5b8:\s+cb b2\s+res 6,d
\s+5ba:\s+cb b3\s+res 6,e
\s+5bc:\s+cb b4\s+res 6,h
\s+5be:\s+cb b5\s+res 6,l
\s+5c0:\s+cb be\s+res 7,\(hl\)
\s+5c2:\s+dd cb 09 be\s+res 7,\(ix\+9\)
\s+5c6:\s+fd cb 09 be\s+res 7,\(iy\+9\)
\s+5ca:\s+cb bf\s+res 7,a
\s+5cc:\s+cb b8\s+res 7,b
\s+5ce:\s+cb b9\s+res 7,c
\s+5d0:\s+cb ba\s+res 7,d
\s+5d2:\s+cb bb\s+res 7,e
\s+5d4:\s+cb bc\s+res 7,h
\s+5d6:\s+cb bd\s+res 7,l
\s+5d8:\s+c9\s+ret
\s+5d9:\s+d8\s+ret c
\s+5da:\s+f8\s+ret m
\s+5db:\s+d0\s+ret nc
\s+5dc:\s+c0\s+ret nz
\s+5dd:\s+f0\s+ret p
\s+5de:\s+e8\s+ret pe
\s+5df:\s+e0\s+ret po
\s+5e0:\s+c8\s+ret z
\s+5e1:\s+ed 4d\s+reti
\s+5e3:\s+ed 45\s+retn
\s+5e5:\s+cb 16\s+rl \(hl\)
\s+5e7:\s+dd cb 09 16\s+rl \(ix\+9\)
\s+5eb:\s+fd cb 09 16\s+rl \(iy\+9\)
\s+5ef:\s+cb 17\s+rl a
\s+5f1:\s+cb 10\s+rl b
\s+5f3:\s+cb 11\s+rl c
\s+5f5:\s+cb 12\s+rl d
\s+5f7:\s+cb 13\s+rl e
\s+5f9:\s+cb 14\s+rl h
\s+5fb:\s+cb 15\s+rl l
\s+5fd:\s+17\s+rla
\s+5fe:\s+cb 06\s+rlc \(hl\)
\s+600:\s+dd cb 09 06\s+rlc \(ix\+9\)
\s+604:\s+fd cb 09 06\s+rlc \(iy\+9\)
\s+608:\s+cb 07\s+rlc a
\s+60a:\s+cb 00\s+rlc b
\s+60c:\s+cb 01\s+rlc c
\s+60e:\s+cb 02\s+rlc d
\s+610:\s+cb 03\s+rlc e
\s+612:\s+cb 04\s+rlc h
\s+614:\s+cb 05\s+rlc l
\s+616:\s+07\s+rlca
\s+617:\s+ed 6f\s+rld
\s+619:\s+cb 1e\s+rr \(hl\)
\s+61b:\s+dd cb 09 1e\s+rr \(ix\+9\)
\s+61f:\s+fd cb 09 1e\s+rr \(iy\+9\)
\s+623:\s+cb 1f\s+rr a
\s+625:\s+cb 18\s+rr b
\s+627:\s+cb 19\s+rr c
\s+629:\s+cb 1a\s+rr d
\s+62b:\s+cb 1b\s+rr e
\s+62d:\s+cb 1c\s+rr h
\s+62f:\s+cb 1d\s+rr l
\s+631:\s+1f\s+rra
\s+632:\s+cb 0e\s+rrc \(hl\)
\s+634:\s+dd cb 09 0e\s+rrc \(ix\+9\)
\s+638:\s+fd cb 09 0e\s+rrc \(iy\+9\)
\s+63c:\s+cb 0f\s+rrc a
\s+63e:\s+cb 08\s+rrc b
\s+640:\s+cb 09\s+rrc c
\s+642:\s+cb 0a\s+rrc d
\s+644:\s+cb 0b\s+rrc e
\s+646:\s+cb 0c\s+rrc h
\s+648:\s+cb 0d\s+rrc l
\s+64a:\s+0f\s+rrca
\s+64b:\s+ed 67\s+rrd
\s+64d:\s+c7\s+rst 0x00
\s+64e:\s+cf\s+rst 0x08
\s+64f:\s+d7\s+rst 0x10
\s+650:\s+df\s+rst 0x18
\s+651:\s+e7\s+rst 0x20
\s+652:\s+ef\s+rst 0x28
\s+653:\s+f7\s+rst 0x30
\s+654:\s+ff\s+rst 0x38
\s+655:\s+9e\s+sbc a,\(hl\)
\s+656:\s+dd 9e 09\s+sbc a,\(ix\+9\)
\s+659:\s+fd 9e 09\s+sbc a,\(iy\+9\)
\s+65c:\s+de 03\s+sbc a,0x03
\s+65e:\s+9f\s+sbc a,a
\s+65f:\s+98\s+sbc a,b
\s+660:\s+99\s+sbc a,c
\s+661:\s+9a\s+sbc a,d
\s+662:\s+9b\s+sbc a,e
\s+663:\s+9c\s+sbc a,h
\s+664:\s+9d\s+sbc a,l
\s+665:\s+ed 42\s+sbc hl,bc
\s+667:\s+ed 52\s+sbc hl,de
\s+669:\s+ed 62\s+sbc hl,hl
\s+66b:\s+ed 72\s+sbc hl,sp
\s+66d:\s+37\s+scf
\s+66e:\s+cb c6\s+set 0,\(hl\)
\s+670:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
\s+674:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
\s+678:\s+cb c7\s+set 0,a
\s+67a:\s+cb c0\s+set 0,b
\s+67c:\s+cb c1\s+set 0,c
\s+67e:\s+cb c2\s+set 0,d
\s+680:\s+cb c3\s+set 0,e
\s+682:\s+cb c4\s+set 0,h
\s+684:\s+cb c5\s+set 0,l
\s+686:\s+cb ce\s+set 1,\(hl\)
\s+688:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
\s+68c:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
\s+690:\s+cb cf\s+set 1,a
\s+692:\s+cb c8\s+set 1,b
\s+694:\s+cb c9\s+set 1,c
\s+696:\s+cb ca\s+set 1,d
\s+698:\s+cb cb\s+set 1,e
\s+69a:\s+cb cc\s+set 1,h
\s+69c:\s+cb cd\s+set 1,l
\s+69e:\s+cb d6\s+set 2,\(hl\)
\s+6a0:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
\s+6a4:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
\s+6a8:\s+cb d7\s+set 2,a
\s+6aa:\s+cb d0\s+set 2,b
\s+6ac:\s+cb d1\s+set 2,c
\s+6ae:\s+cb d2\s+set 2,d
\s+6b0:\s+cb d3\s+set 2,e
\s+6b2:\s+cb d4\s+set 2,h
\s+6b4:\s+cb d5\s+set 2,l
\s+6b6:\s+cb de\s+set 3,\(hl\)
\s+6b8:\s+dd cb 09 de\s+set 3,\(ix\+9\)
\s+6bc:\s+fd cb 09 de\s+set 3,\(iy\+9\)
\s+6c0:\s+cb df\s+set 3,a
\s+6c2:\s+cb d8\s+set 3,b
\s+6c4:\s+cb d9\s+set 3,c
\s+6c6:\s+cb da\s+set 3,d
\s+6c8:\s+cb db\s+set 3,e
\s+6ca:\s+cb dc\s+set 3,h
\s+6cc:\s+cb dd\s+set 3,l
\s+6ce:\s+cb e6\s+set 4,\(hl\)
\s+6d0:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
\s+6d4:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
\s+6d8:\s+cb e7\s+set 4,a
\s+6da:\s+cb e0\s+set 4,b
\s+6dc:\s+cb e1\s+set 4,c
\s+6de:\s+cb e2\s+set 4,d
\s+6e0:\s+cb e3\s+set 4,e
\s+6e2:\s+cb e4\s+set 4,h
\s+6e4:\s+cb e5\s+set 4,l
\s+6e6:\s+cb ee\s+set 5,\(hl\)
\s+6e8:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
\s+6ec:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
\s+6f0:\s+cb ef\s+set 5,a
\s+6f2:\s+cb e8\s+set 5,b
\s+6f4:\s+cb e9\s+set 5,c
\s+6f6:\s+cb ea\s+set 5,d
\s+6f8:\s+cb eb\s+set 5,e
\s+6fa:\s+cb ec\s+set 5,h
\s+6fc:\s+cb ed\s+set 5,l
\s+6fe:\s+cb f6\s+set 6,\(hl\)
\s+700:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
\s+704:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
\s+708:\s+cb f7\s+set 6,a
\s+70a:\s+cb f0\s+set 6,b
\s+70c:\s+cb f1\s+set 6,c
\s+70e:\s+cb f2\s+set 6,d
\s+710:\s+cb f3\s+set 6,e
\s+712:\s+cb f4\s+set 6,h
\s+714:\s+cb f5\s+set 6,l
\s+716:\s+cb fe\s+set 7,\(hl\)
\s+718:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
\s+71c:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
\s+720:\s+cb ff\s+set 7,a
\s+722:\s+cb f8\s+set 7,b
\s+724:\s+cb f9\s+set 7,c
\s+726:\s+cb fa\s+set 7,d
\s+728:\s+cb fb\s+set 7,e
\s+72a:\s+cb fc\s+set 7,h
\s+72c:\s+cb fd\s+set 7,l
\s+72e:\s+cb 26\s+sla \(hl\)
\s+730:\s+dd cb 09 26\s+sla \(ix\+9\)
\s+734:\s+fd cb 09 26\s+sla \(iy\+9\)
\s+738:\s+cb 27\s+sla a
\s+73a:\s+cb 20\s+sla b
\s+73c:\s+cb 21\s+sla c
\s+73e:\s+cb 22\s+sla d
\s+740:\s+cb 23\s+sla e
\s+742:\s+cb 24\s+sla h
\s+744:\s+cb 25\s+sla l
\s+746:\s+cb 2e\s+sra \(hl\)
\s+748:\s+dd cb 09 2e\s+sra \(ix\+9\)
\s+74c:\s+fd cb 09 2e\s+sra \(iy\+9\)
\s+750:\s+cb 2f\s+sra a
\s+752:\s+cb 28\s+sra b
\s+754:\s+cb 29\s+sra c
\s+756:\s+cb 2a\s+sra d
\s+758:\s+cb 2b\s+sra e
\s+75a:\s+cb 2c\s+sra h
\s+75c:\s+cb 2d\s+sra l
\s+75e:\s+cb 3e\s+srl \(hl\)
\s+760:\s+dd cb 09 3e\s+srl \(ix\+9\)
\s+764:\s+fd cb 09 3e\s+srl \(iy\+9\)
\s+768:\s+cb 3f\s+srl a
\s+76a:\s+cb 38\s+srl b
\s+76c:\s+cb 39\s+srl c
\s+76e:\s+cb 3a\s+srl d
\s+770:\s+cb 3b\s+srl e
\s+772:\s+cb 3c\s+srl h
\s+774:\s+cb 3d\s+srl l
\s+776:\s+96\s+sub a,\(hl\)
\s+777:\s+dd 96 09\s+sub a,\(ix\+9\)
\s+77a:\s+fd 96 09\s+sub a,\(iy\+9\)
\s+77d:\s+d6 03\s+sub a,0x03
\s+77f:\s+97\s+sub a,a
\s+780:\s+90\s+sub a,b
\s+781:\s+91\s+sub a,c
\s+782:\s+92\s+sub a,d
\s+783:\s+93\s+sub a,e
\s+784:\s+94\s+sub a,h
\s+785:\s+95\s+sub a,l
\s+786:\s+ae\s+xor a,\(hl\)
\s+787:\s+dd ae 09\s+xor a,\(ix\+9\)
\s+78a:\s+fd ae 09\s+xor a,\(iy\+9\)
\s+78d:\s+ee 03\s+xor a,0x03
\s+78f:\s+af\s+xor a,a
\s+790:\s+a8\s+xor a,b
\s+791:\s+a9\s+xor a,c
\s+792:\s+aa\s+xor a,d
\s+793:\s+ab\s+xor a,e
\s+794:\s+ac\s+xor a,h
\s+795:\s+ad\s+xor a,l

View file

@ -0,0 +1,994 @@
.text
.org 0
;; eZ80 instructions
; AND A,x group
and a,a
and a,b
and a,c
and a,d
and a,e
and a,h
and a,l
and a,(hl)
and a,0xaa
and a,(ix+5)
and a,(iy-5)
; CP A,x group
cp a,a
cp a,b
cp a,c
cp a,d
cp a,e
cp a,h
cp a,l
cp a,(hl)
cp a,0xaa
cp a,(ix+5)
cp a,(iy-5)
; OR A,x group
or a,a
or a,b
or a,c
or a,d
or a,e
or a,h
or a,l
or a,(hl)
or a,0xaa
or a,(ix+5)
or a,(iy-5)
; SUB A,x group
sub a,a
sub a,b
sub a,c
sub a,d
sub a,e
sub a,h
sub a,l
sub a,(hl)
sub a,0xaa
sub a,(ix+5)
sub a,(iy-5)
; TST A,x group
tst a,a
tst a,b
tst a,c
tst a,d
tst a,e
tst a,h
tst a,l
tst a,(hl)
tst a,0x0f
; XOR A,x group
xor a,a
xor a,b
xor a,c
xor a,d
xor a,e
xor a,h
xor a,l
xor a,(hl)
xor a,0xaa
xor a,(ix+5)
xor a,(iy-5)
; IN r,(BC) group (new naming)
in a,(bc)
in b,(bc)
in c,(bc)
in d,(bc)
in e,(bc)
in h,(bc)
in l,(bc)
; OUT (BC),r group (new naming)
out (bc),a
out (bc),b
out (bc),c
out (bc),d
out (bc),e
out (bc),h
out (bc),l
; LD rr,(ii+d) group
ld bc,(ix-7)
ld de,(ix-7)
ld hl,(ix-7)
ld ix,(ix-7)
ld iy,(ix-7)
ld bc,(iy+38)
ld de,(iy+38)
ld hl,(iy+38)
ld ix,(iy+38)
ld iy,(iy+38)
; LD (ii+d),rr group
ld (ix+126),bc
ld (ix+126),de
ld (ix+126),hl
ld (ix+126),ix
ld (ix+126),iy
ld (iy-98),bc
ld (iy-98),de
ld (iy-98),hl
ld (iy-98),ix
ld (iy-98),iy
; LEA rr,ii+d group
lea bc,ix-27
lea de,ix-27
lea hl,ix-27
lea ix,ix-27
lea iy,ix-27
lea bc,iy+12
lea de,iy+12
lea hl,iy+12
lea ix,iy+12
lea iy,iy+12
; PEA ii+d group
pea ix+127
pea iy-128
; IN0 group
in0 a,(0x5)
in0 b,(0x5)
in0 c,(0x5)
in0 d,(0x5)
in0 e,(0x5)
in0 h,(0x5)
in0 l,(0x5)
; OUT0 group
out0 (0x5),a
out0 (0x5),b
out0 (0x5),c
out0 (0x5),d
out0 (0x5),e
out0 (0x5),h
out0 (0x5),l
; MLT group
mlt bc
mlt de
mlt hl
mlt sp
; TSTIO instruction
tstio 0f0h
; SLP instruction
slp
; ADLMIX flag manipulation instructions
stmix
rsmix
; Additional block I/O instructions
inim
otim
ini2
indm
otdm
ind2
inimr
otimr
ini2r
indmr
otdmr
ind2r
outi2
outd2
oti2r
otd2r
inirx
otirx
indrx
otdrx
; Index registers halves
ld a,ixh
ld b,ixh
ld c,ixh
ld d,ixh
ld e,ixh
ld ixh,ixh
ld ixl,ixh
ld a,ixl
ld b,ixl
ld c,ixl
ld d,ixl
ld e,ixl
ld ixh,ixl
ld ixl,ixl
ld a,iyh
ld b,iyh
ld c,iyh
ld d,iyh
ld e,iyh
ld iyh,iyh
ld iyl,iyh
ld a,iyl
ld b,iyl
ld c,iyl
ld d,iyl
ld e,iyl
ld iyh,iyl
ld iyl,iyl
ld ixh,a
ld ixh,b
ld ixh,c
ld ixh,d
ld ixh,e
ld ixh,ixh
ld ixh,ixl
ld ixh,25
ld ixl,a
ld ixl,b
ld ixl,c
ld ixl,d
ld ixl,e
ld ixl,ixh
ld ixl,ixl
ld ixl,25
ld iyh,a
ld iyh,b
ld iyh,c
ld iyh,d
ld iyh,e
ld iyh,iyh
ld iyh,iyl
ld iyh,25
ld iyl,a
ld iyl,b
ld iyl,c
ld iyl,d
ld iyl,e
ld iyl,iyh
ld iyl,iyl
ld iyl,25
add a,ixh
add a,ixl
add a,iyh
add a,iyl
adc a,ixh
adc a,ixl
adc a,iyh
adc a,iyl
cp a,ixh
cp a,ixl
cp a,iyh
cp a,iyl
dec ixh
dec ixl
dec iyh
dec iyl
inc ixh
inc ixl
inc iyh
inc iyl
sbc a,ixh
sbc a,ixl
sbc a,iyh
sbc a,iyl
sub a,ixh
sub a,ixl
sub a,iyh
sub a,iyl
and a,ixh
and a,ixl
and a,iyh
and a,iyl
or a,ixh
or a,ixl
or a,iyh
or a,iyl
xor a,ixh
xor a,ixl
xor a,iyh
xor a,iyl
; Standard Z80 instructions
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
nop ;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
nop ;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
nop ;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
nop ;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

View file

@ -0,0 +1,314 @@
#as: -ez80
#objdump: -d
#name: eZ80 instructions with sufficies in Z80 cpu mode
#source: ez80_isuf.s
.*:.*
Disassembly of section .text:
0+ <.text>:
\s+[0-9a-f]+:[ ]40 cd 56 34[ ]+call\.sis 0x3456
\s+[0-9a-f]+:[ ]40 dc 56 34[ ]+call\.sis c,0x3456
\s+[0-9a-f]+:[ ]40 fc 56 34[ ]+call\.sis m,0x3456
\s+[0-9a-f]+:[ ]40 d4 56 34[ ]+call\.sis nc,0x3456
\s+[0-9a-f]+:[ ]40 c4 56 34[ ]+call\.sis nz,0x3456
\s+[0-9a-f]+:[ ]40 f4 56 34[ ]+call\.sis p,0x3456
\s+[0-9a-f]+:[ ]40 ec 56 34[ ]+call\.sis pe,0x3456
\s+[0-9a-f]+:[ ]40 e4 56 34[ ]+call\.sis po,0x3456
\s+[0-9a-f]+:[ ]40 cc 56 34[ ]+call\.sis z,0x3456
\s+[0-9a-f]+:[ ]40 c3 56 34[ ]+jp\.sis 0x3456
\s+[0-9a-f]+:[ ]40 da 56 34[ ]+jp\.sis c,0x3456
\s+[0-9a-f]+:[ ]40 fa 56 34[ ]+jp\.sis m,0x3456
\s+[0-9a-f]+:[ ]40 d2 56 34[ ]+jp\.sis nc,0x3456
\s+[0-9a-f]+:[ ]40 c2 56 34[ ]+jp\.sis nz,0x3456
\s+[0-9a-f]+:[ ]40 f2 56 34[ ]+jp\.sis p,0x3456
\s+[0-9a-f]+:[ ]40 ea 56 34[ ]+jp\.sis pe,0x3456
\s+[0-9a-f]+:[ ]40 e2 56 34[ ]+jp\.sis po,0x3456
\s+[0-9a-f]+:[ ]40 ca 56 34[ ]+jp\.sis z,0x3456
\s+[0-9a-f]+:[ ]40 32 56 34[ ]+ld\.sis \(0x3456\),a
\s+[0-9a-f]+:[ ]40 ed 43 56 34[ ]+ld\.sis \(0x3456\),bc
\s+[0-9a-f]+:[ ]40 ed 53 56 34[ ]+ld\.sis \(0x3456\),de
\s+[0-9a-f]+:[ ]40 22 56 34[ ]+ld\.sis \(0x3456\),hl
\s+[0-9a-f]+:[ ]40 dd 22 56 34[ ]+ld\.sis \(0x3456\),ix
\s+[0-9a-f]+:[ ]40 fd 22 56 34[ ]+ld\.sis \(0x3456\),iy
\s+[0-9a-f]+:[ ]40 ed 73 56 34[ ]+ld\.sis \(0x3456\),sp
\s+[0-9a-f]+:[ ]40 3a 56 34[ ]+ld\.sis a,\(0x3456\)
\s+[0-9a-f]+:[ ]40 ed 4b 56 34[ ]+ld\.sis bc,\(0x3456\)
\s+[0-9a-f]+:[ ]40 01 56 34[ ]+ld\.sis bc,0x3456
\s+[0-9a-f]+:[ ]40 ed 5b 56 34[ ]+ld\.sis de,\(0x3456\)
\s+[0-9a-f]+:[ ]40 11 56 34[ ]+ld\.sis de,0x3456
\s+[0-9a-f]+:[ ]40 2a 56 34[ ]+ld\.sis hl,\(0x3456\)
\s+[0-9a-f]+:[ ]40 21 56 34[ ]+ld\.sis hl,0x3456
\s+[0-9a-f]+:[ ]40 dd 2a 56 34[ ]+ld\.sis ix,\(0x3456\)
\s+[0-9a-f]+:[ ]40 dd 21 56 34[ ]+ld\.sis ix,0x3456
\s+[0-9a-f]+:[ ]40 fd 2a 56 34[ ]+ld\.sis iy,\(0x3456\)
\s+[0-9a-f]+:[ ]40 fd 21 56 34[ ]+ld\.sis iy,0x3456
\s+[0-9a-f]+:[ ]40 ed 7b 56 34[ ]+ld\.sis sp,\(0x3456\)
\s+[0-9a-f]+:[ ]40 31 56 34[ ]+ld\.sis sp,0x3456
\s+[0-9a-f]+:[ ]49 cd 56 34[ ]+call\.lis 0x3456
\s+[0-9a-f]+:[ ]49 dc 56 34[ ]+call\.lis c,0x3456
\s+[0-9a-f]+:[ ]49 fc 56 34[ ]+call\.lis m,0x3456
\s+[0-9a-f]+:[ ]49 d4 56 34[ ]+call\.lis nc,0x3456
\s+[0-9a-f]+:[ ]49 c4 56 34[ ]+call\.lis nz,0x3456
\s+[0-9a-f]+:[ ]49 f4 56 34[ ]+call\.lis p,0x3456
\s+[0-9a-f]+:[ ]49 ec 56 34[ ]+call\.lis pe,0x3456
\s+[0-9a-f]+:[ ]49 e4 56 34[ ]+call\.lis po,0x3456
\s+[0-9a-f]+:[ ]49 cc 56 34[ ]+call\.lis z,0x3456
\s+[0-9a-f]+:[ ]49 c3 56 34[ ]+jp\.lis 0x3456
\s+[0-9a-f]+:[ ]49 da 56 34[ ]+jp\.lis c,0x3456
\s+[0-9a-f]+:[ ]49 fa 56 34[ ]+jp\.lis m,0x3456
\s+[0-9a-f]+:[ ]49 d2 56 34[ ]+jp\.lis nc,0x3456
\s+[0-9a-f]+:[ ]49 c2 56 34[ ]+jp\.lis nz,0x3456
\s+[0-9a-f]+:[ ]49 f2 56 34[ ]+jp\.lis p,0x3456
\s+[0-9a-f]+:[ ]49 ea 56 34[ ]+jp\.lis pe,0x3456
\s+[0-9a-f]+:[ ]49 e2 56 34[ ]+jp\.lis po,0x3456
\s+[0-9a-f]+:[ ]49 ca 56 34[ ]+jp\.lis z,0x3456
\s+[0-9a-f]+:[ ]49 32 56 34[ ]+ld\.lis \(0x3456\),a
\s+[0-9a-f]+:[ ]49 ed 43 56 34[ ]+ld\.lis \(0x3456\),bc
\s+[0-9a-f]+:[ ]49 ed 53 56 34[ ]+ld\.lis \(0x3456\),de
\s+[0-9a-f]+:[ ]49 22 56 34[ ]+ld\.lis \(0x3456\),hl
\s+[0-9a-f]+:[ ]49 dd 22 56 34[ ]+ld\.lis \(0x3456\),ix
\s+[0-9a-f]+:[ ]49 fd 22 56 34[ ]+ld\.lis \(0x3456\),iy
\s+[0-9a-f]+:[ ]49 ed 73 56 34[ ]+ld\.lis \(0x3456\),sp
\s+[0-9a-f]+:[ ]49 3a 56 34[ ]+ld\.lis a,\(0x3456\)
\s+[0-9a-f]+:[ ]49 ed 4b 56 34[ ]+ld\.lis bc,\(0x3456\)
\s+[0-9a-f]+:[ ]49 01 56 34[ ]+ld\.lis bc,0x3456
\s+[0-9a-f]+:[ ]49 ed 5b 56 34[ ]+ld\.lis de,\(0x3456\)
\s+[0-9a-f]+:[ ]49 11 56 34[ ]+ld\.lis de,0x3456
\s+[0-9a-f]+:[ ]49 2a 56 34[ ]+ld\.lis hl,\(0x3456\)
\s+[0-9a-f]+:[ ]49 21 56 34[ ]+ld\.lis hl,0x3456
\s+[0-9a-f]+:[ ]49 dd 2a 56 34[ ]+ld\.lis ix,\(0x3456\)
\s+[0-9a-f]+:[ ]49 dd 21 56 34[ ]+ld\.lis ix,0x3456
\s+[0-9a-f]+:[ ]49 fd 2a 56 34[ ]+ld\.lis iy,\(0x3456\)
\s+[0-9a-f]+:[ ]49 fd 21 56 34[ ]+ld\.lis iy,0x3456
\s+[0-9a-f]+:[ ]49 ed 7b 56 34[ ]+ld\.lis sp,\(0x3456\)
\s+[0-9a-f]+:[ ]49 31 56 34[ ]+ld\.lis sp,0x3456
\s+[0-9a-f]+:[ ]40 cd 56 34[ ]+call\.sis 0x3456
\s+[0-9a-f]+:[ ]40 dc 56 34[ ]+call\.sis c,0x3456
\s+[0-9a-f]+:[ ]40 fc 56 34[ ]+call\.sis m,0x3456
\s+[0-9a-f]+:[ ]40 d4 56 34[ ]+call\.sis nc,0x3456
\s+[0-9a-f]+:[ ]40 c4 56 34[ ]+call\.sis nz,0x3456
\s+[0-9a-f]+:[ ]40 f4 56 34[ ]+call\.sis p,0x3456
\s+[0-9a-f]+:[ ]40 ec 56 34[ ]+call\.sis pe,0x3456
\s+[0-9a-f]+:[ ]40 e4 56 34[ ]+call\.sis po,0x3456
\s+[0-9a-f]+:[ ]40 cc 56 34[ ]+call\.sis z,0x3456
\s+[0-9a-f]+:[ ]40 c3 56 34[ ]+jp\.sis 0x3456
\s+[0-9a-f]+:[ ]40 da 56 34[ ]+jp\.sis c,0x3456
\s+[0-9a-f]+:[ ]40 fa 56 34[ ]+jp\.sis m,0x3456
\s+[0-9a-f]+:[ ]40 d2 56 34[ ]+jp\.sis nc,0x3456
\s+[0-9a-f]+:[ ]40 c2 56 34[ ]+jp\.sis nz,0x3456
\s+[0-9a-f]+:[ ]40 f2 56 34[ ]+jp\.sis p,0x3456
\s+[0-9a-f]+:[ ]40 ea 56 34[ ]+jp\.sis pe,0x3456
\s+[0-9a-f]+:[ ]40 e2 56 34[ ]+jp\.sis po,0x3456
\s+[0-9a-f]+:[ ]40 ca 56 34[ ]+jp\.sis z,0x3456
\s+[0-9a-f]+:[ ]40 32 56 34[ ]+ld\.sis \(0x3456\),a
\s+[0-9a-f]+:[ ]40 ed 43 56 34[ ]+ld\.sis \(0x3456\),bc
\s+[0-9a-f]+:[ ]40 ed 53 56 34[ ]+ld\.sis \(0x3456\),de
\s+[0-9a-f]+:[ ]40 22 56 34[ ]+ld\.sis \(0x3456\),hl
\s+[0-9a-f]+:[ ]40 dd 22 56 34[ ]+ld\.sis \(0x3456\),ix
\s+[0-9a-f]+:[ ]40 fd 22 56 34[ ]+ld\.sis \(0x3456\),iy
\s+[0-9a-f]+:[ ]40 ed 73 56 34[ ]+ld\.sis \(0x3456\),sp
\s+[0-9a-f]+:[ ]40 3a 56 34[ ]+ld\.sis a,\(0x3456\)
\s+[0-9a-f]+:[ ]40 ed 4b 56 34[ ]+ld\.sis bc,\(0x3456\)
\s+[0-9a-f]+:[ ]40 01 56 34[ ]+ld\.sis bc,0x3456
\s+[0-9a-f]+:[ ]40 ed 5b 56 34[ ]+ld\.sis de,\(0x3456\)
\s+[0-9a-f]+:[ ]40 11 56 34[ ]+ld\.sis de,0x3456
\s+[0-9a-f]+:[ ]40 2a 56 34[ ]+ld\.sis hl,\(0x3456\)
\s+[0-9a-f]+:[ ]40 21 56 34[ ]+ld\.sis hl,0x3456
\s+[0-9a-f]+:[ ]40 dd 2a 56 34[ ]+ld\.sis ix,\(0x3456\)
\s+[0-9a-f]+:[ ]40 dd 21 56 34[ ]+ld\.sis ix,0x3456
\s+[0-9a-f]+:[ ]40 fd 2a 56 34[ ]+ld\.sis iy,\(0x3456\)
\s+[0-9a-f]+:[ ]40 fd 21 56 34[ ]+ld\.sis iy,0x3456
\s+[0-9a-f]+:[ ]40 ed 7b 56 34[ ]+ld\.sis sp,\(0x3456\)
\s+[0-9a-f]+:[ ]40 31 56 34[ ]+ld\.sis sp,0x3456
\s+[0-9a-f]+:[ ]52 cd 56 34 12[ ]+call\.sil 0x123456
\s+[0-9a-f]+:[ ]52 dc 56 34 12[ ]+call\.sil c,0x123456
\s+[0-9a-f]+:[ ]52 fc 56 34 12[ ]+call\.sil m,0x123456
\s+[0-9a-f]+:[ ]52 d4 56 34 12[ ]+call\.sil nc,0x123456
\s+[0-9a-f]+:[ ]52 c4 56 34 12[ ]+call\.sil nz,0x123456
\s+[0-9a-f]+:[ ]52 f4 56 34 12[ ]+call\.sil p,0x123456
\s+[0-9a-f]+:[ ]52 ec 56 34 12[ ]+call\.sil pe,0x123456
\s+[0-9a-f]+:[ ]52 e4 56 34 12[ ]+call\.sil po,0x123456
\s+[0-9a-f]+:[ ]52 cc 56 34 12[ ]+call\.sil z,0x123456
\s+[0-9a-f]+:[ ]52 c3 56 34 12[ ]+jp\.sil 0x123456
\s+[0-9a-f]+:[ ]52 da 56 34 12[ ]+jp\.sil c,0x123456
\s+[0-9a-f]+:[ ]52 fa 56 34 12[ ]+jp\.sil m,0x123456
\s+[0-9a-f]+:[ ]52 d2 56 34 12[ ]+jp\.sil nc,0x123456
\s+[0-9a-f]+:[ ]52 c2 56 34 12[ ]+jp\.sil nz,0x123456
\s+[0-9a-f]+:[ ]52 f2 56 34 12[ ]+jp\.sil p,0x123456
\s+[0-9a-f]+:[ ]52 ea 56 34 12[ ]+jp\.sil pe,0x123456
\s+[0-9a-f]+:[ ]52 e2 56 34 12[ ]+jp\.sil po,0x123456
\s+[0-9a-f]+:[ ]52 ca 56 34 12[ ]+jp\.sil z,0x123456
\s+[0-9a-f]+:[ ]52 32 56 34 12[ ]+ld\.sil \(0x123456\),a
\s+[0-9a-f]+:[ ]52 ed 43 56 34 12[ ]+ld\.sil \(0x123456\),bc
\s+[0-9a-f]+:[ ]52 ed 53 56 34 12[ ]+ld\.sil \(0x123456\),de
\s+[0-9a-f]+:[ ]52 22 56 34 12[ ]+ld\.sil \(0x123456\),hl
\s+[0-9a-f]+:[ ]52 dd 22 56 34 12[ ]+ld\.sil \(0x123456\),ix
\s+[0-9a-f]+:[ ]52 fd 22 56 34 12[ ]+ld\.sil \(0x123456\),iy
\s+[0-9a-f]+:[ ]52 ed 73 56 34 12[ ]+ld\.sil \(0x123456\),sp
\s+[0-9a-f]+:[ ]52 3a 56 34 12[ ]+ld\.sil a,\(0x123456\)
\s+[0-9a-f]+:[ ]52 ed 4b 56 34 12[ ]+ld\.sil bc,\(0x123456\)
\s+[0-9a-f]+:[ ]52 01 56 34 12[ ]+ld\.sil bc,0x123456
\s+[0-9a-f]+:[ ]52 ed 5b 56 34 12[ ]+ld\.sil de,\(0x123456\)
\s+[0-9a-f]+:[ ]52 11 56 34 12[ ]+ld\.sil de,0x123456
\s+[0-9a-f]+:[ ]52 2a 56 34 12[ ]+ld\.sil hl,\(0x123456\)
\s+[0-9a-f]+:[ ]52 21 56 34 12[ ]+ld\.sil hl,0x123456
\s+[0-9a-f]+:[ ]52 dd 2a 56 34 12[ ]+ld\.sil ix,\(0x123456\)
\s+[0-9a-f]+:[ ]52 dd 21 56 34 12[ ]+ld\.sil ix,0x123456
\s+[0-9a-f]+:[ ]52 fd 2a 56 34 12[ ]+ld\.sil iy,\(0x123456\)
\s+[0-9a-f]+:[ ]52 fd 21 56 34 12[ ]+ld\.sil iy,0x123456
\s+[0-9a-f]+:[ ]52 ed 7b 56 34 12[ ]+ld\.sil sp,\(0x123456\)
\s+[0-9a-f]+:[ ]52 31 56 34 12[ ]+ld\.sil sp,0x123456
\s+[0-9a-f]+:[ ]40 cd 56 34[ ]+call\.sis 0x3456
\s+[0-9a-f]+:[ ]40 dc 56 34[ ]+call\.sis c,0x3456
\s+[0-9a-f]+:[ ]40 fc 56 34[ ]+call\.sis m,0x3456
\s+[0-9a-f]+:[ ]40 d4 56 34[ ]+call\.sis nc,0x3456
\s+[0-9a-f]+:[ ]40 c4 56 34[ ]+call\.sis nz,0x3456
\s+[0-9a-f]+:[ ]40 f4 56 34[ ]+call\.sis p,0x3456
\s+[0-9a-f]+:[ ]40 ec 56 34[ ]+call\.sis pe,0x3456
\s+[0-9a-f]+:[ ]40 e4 56 34[ ]+call\.sis po,0x3456
\s+[0-9a-f]+:[ ]40 cc 56 34[ ]+call\.sis z,0x3456
\s+[0-9a-f]+:[ ]40 c3 56 34[ ]+jp\.sis 0x3456
\s+[0-9a-f]+:[ ]40 da 56 34[ ]+jp\.sis c,0x3456
\s+[0-9a-f]+:[ ]40 fa 56 34[ ]+jp\.sis m,0x3456
\s+[0-9a-f]+:[ ]40 d2 56 34[ ]+jp\.sis nc,0x3456
\s+[0-9a-f]+:[ ]40 c2 56 34[ ]+jp\.sis nz,0x3456
\s+[0-9a-f]+:[ ]40 f2 56 34[ ]+jp\.sis p,0x3456
\s+[0-9a-f]+:[ ]40 ea 56 34[ ]+jp\.sis pe,0x3456
\s+[0-9a-f]+:[ ]40 e2 56 34[ ]+jp\.sis po,0x3456
\s+[0-9a-f]+:[ ]40 ca 56 34[ ]+jp\.sis z,0x3456
\s+[0-9a-f]+:[ ]40 32 56 34[ ]+ld\.sis \(0x3456\),a
\s+[0-9a-f]+:[ ]40 ed 43 56 34[ ]+ld\.sis \(0x3456\),bc
\s+[0-9a-f]+:[ ]40 ed 53 56 34[ ]+ld\.sis \(0x3456\),de
\s+[0-9a-f]+:[ ]40 22 56 34[ ]+ld\.sis \(0x3456\),hl
\s+[0-9a-f]+:[ ]40 dd 22 56 34[ ]+ld\.sis \(0x3456\),ix
\s+[0-9a-f]+:[ ]40 fd 22 56 34[ ]+ld\.sis \(0x3456\),iy
\s+[0-9a-f]+:[ ]40 ed 73 56 34[ ]+ld\.sis \(0x3456\),sp
\s+[0-9a-f]+:[ ]40 3a 56 34[ ]+ld\.sis a,\(0x3456\)
\s+[0-9a-f]+:[ ]40 ed 4b 56 34[ ]+ld\.sis bc,\(0x3456\)
\s+[0-9a-f]+:[ ]40 01 56 34[ ]+ld\.sis bc,0x3456
\s+[0-9a-f]+:[ ]40 ed 5b 56 34[ ]+ld\.sis de,\(0x3456\)
\s+[0-9a-f]+:[ ]40 11 56 34[ ]+ld\.sis de,0x3456
\s+[0-9a-f]+:[ ]40 2a 56 34[ ]+ld\.sis hl,\(0x3456\)
\s+[0-9a-f]+:[ ]40 21 56 34[ ]+ld\.sis hl,0x3456
\s+[0-9a-f]+:[ ]40 dd 2a 56 34[ ]+ld\.sis ix,\(0x3456\)
\s+[0-9a-f]+:[ ]40 dd 21 56 34[ ]+ld\.sis ix,0x3456
\s+[0-9a-f]+:[ ]40 fd 2a 56 34[ ]+ld\.sis iy,\(0x3456\)
\s+[0-9a-f]+:[ ]40 fd 21 56 34[ ]+ld\.sis iy,0x3456
\s+[0-9a-f]+:[ ]40 ed 7b 56 34[ ]+ld\.sis sp,\(0x3456\)
\s+[0-9a-f]+:[ ]40 31 56 34[ ]+ld\.sis sp,0x3456
\s+[0-9a-f]+:[ ]49 cd 56 34[ ]+call\.lis 0x3456
\s+[0-9a-f]+:[ ]49 dc 56 34[ ]+call\.lis c,0x3456
\s+[0-9a-f]+:[ ]49 fc 56 34[ ]+call\.lis m,0x3456
\s+[0-9a-f]+:[ ]49 d4 56 34[ ]+call\.lis nc,0x3456
\s+[0-9a-f]+:[ ]49 c4 56 34[ ]+call\.lis nz,0x3456
\s+[0-9a-f]+:[ ]49 f4 56 34[ ]+call\.lis p,0x3456
\s+[0-9a-f]+:[ ]49 ec 56 34[ ]+call\.lis pe,0x3456
\s+[0-9a-f]+:[ ]49 e4 56 34[ ]+call\.lis po,0x3456
\s+[0-9a-f]+:[ ]49 cc 56 34[ ]+call\.lis z,0x3456
\s+[0-9a-f]+:[ ]49 c3 56 34[ ]+jp\.lis 0x3456
\s+[0-9a-f]+:[ ]49 da 56 34[ ]+jp\.lis c,0x3456
\s+[0-9a-f]+:[ ]49 fa 56 34[ ]+jp\.lis m,0x3456
\s+[0-9a-f]+:[ ]49 d2 56 34[ ]+jp\.lis nc,0x3456
\s+[0-9a-f]+:[ ]49 c2 56 34[ ]+jp\.lis nz,0x3456
\s+[0-9a-f]+:[ ]49 f2 56 34[ ]+jp\.lis p,0x3456
\s+[0-9a-f]+:[ ]49 ea 56 34[ ]+jp\.lis pe,0x3456
\s+[0-9a-f]+:[ ]49 e2 56 34[ ]+jp\.lis po,0x3456
\s+[0-9a-f]+:[ ]49 ca 56 34[ ]+jp\.lis z,0x3456
\s+[0-9a-f]+:[ ]49 32 56 34[ ]+ld\.lis \(0x3456\),a
\s+[0-9a-f]+:[ ]49 ed 43 56 34[ ]+ld\.lis \(0x3456\),bc
\s+[0-9a-f]+:[ ]49 ed 53 56 34[ ]+ld\.lis \(0x3456\),de
\s+[0-9a-f]+:[ ]49 22 56 34[ ]+ld\.lis \(0x3456\),hl
\s+[0-9a-f]+:[ ]49 dd 22 56 34[ ]+ld\.lis \(0x3456\),ix
\s+[0-9a-f]+:[ ]49 fd 22 56 34[ ]+ld\.lis \(0x3456\),iy
\s+[0-9a-f]+:[ ]49 ed 73 56 34[ ]+ld\.lis \(0x3456\),sp
\s+[0-9a-f]+:[ ]49 3a 56 34[ ]+ld\.lis a,\(0x3456\)
\s+[0-9a-f]+:[ ]49 ed 4b 56 34[ ]+ld\.lis bc,\(0x3456\)
\s+[0-9a-f]+:[ ]49 01 56 34[ ]+ld\.lis bc,0x3456
\s+[0-9a-f]+:[ ]49 ed 5b 56 34[ ]+ld\.lis de,\(0x3456\)
\s+[0-9a-f]+:[ ]49 11 56 34[ ]+ld\.lis de,0x3456
\s+[0-9a-f]+:[ ]49 2a 56 34[ ]+ld\.lis hl,\(0x3456\)
\s+[0-9a-f]+:[ ]49 21 56 34[ ]+ld\.lis hl,0x3456
\s+[0-9a-f]+:[ ]49 dd 2a 56 34[ ]+ld\.lis ix,\(0x3456\)
\s+[0-9a-f]+:[ ]49 dd 21 56 34[ ]+ld\.lis ix,0x3456
\s+[0-9a-f]+:[ ]49 fd 2a 56 34[ ]+ld\.lis iy,\(0x3456\)
\s+[0-9a-f]+:[ ]49 fd 21 56 34[ ]+ld\.lis iy,0x3456
\s+[0-9a-f]+:[ ]49 ed 7b 56 34[ ]+ld\.lis sp,\(0x3456\)
\s+[0-9a-f]+:[ ]49 31 56 34[ ]+ld\.lis sp,0x3456
\s+[0-9a-f]+:[ ]52 cd 56 34 12[ ]+call\.sil 0x123456
\s+[0-9a-f]+:[ ]52 dc 56 34 12[ ]+call\.sil c,0x123456
\s+[0-9a-f]+:[ ]52 fc 56 34 12[ ]+call\.sil m,0x123456
\s+[0-9a-f]+:[ ]52 d4 56 34 12[ ]+call\.sil nc,0x123456
\s+[0-9a-f]+:[ ]52 c4 56 34 12[ ]+call\.sil nz,0x123456
\s+[0-9a-f]+:[ ]52 f4 56 34 12[ ]+call\.sil p,0x123456
\s+[0-9a-f]+:[ ]52 ec 56 34 12[ ]+call\.sil pe,0x123456
\s+[0-9a-f]+:[ ]52 e4 56 34 12[ ]+call\.sil po,0x123456
\s+[0-9a-f]+:[ ]52 cc 56 34 12[ ]+call\.sil z,0x123456
\s+[0-9a-f]+:[ ]52 c3 56 34 12[ ]+jp\.sil 0x123456
\s+[0-9a-f]+:[ ]52 da 56 34 12[ ]+jp\.sil c,0x123456
\s+[0-9a-f]+:[ ]52 fa 56 34 12[ ]+jp\.sil m,0x123456
\s+[0-9a-f]+:[ ]52 d2 56 34 12[ ]+jp\.sil nc,0x123456
\s+[0-9a-f]+:[ ]52 c2 56 34 12[ ]+jp\.sil nz,0x123456
\s+[0-9a-f]+:[ ]52 f2 56 34 12[ ]+jp\.sil p,0x123456
\s+[0-9a-f]+:[ ]52 ea 56 34 12[ ]+jp\.sil pe,0x123456
\s+[0-9a-f]+:[ ]52 e2 56 34 12[ ]+jp\.sil po,0x123456
\s+[0-9a-f]+:[ ]52 ca 56 34 12[ ]+jp\.sil z,0x123456
\s+[0-9a-f]+:[ ]52 32 56 34 12[ ]+ld\.sil \(0x123456\),a
\s+[0-9a-f]+:[ ]52 ed 43 56 34 12[ ]+ld\.sil \(0x123456\),bc
\s+[0-9a-f]+:[ ]52 ed 53 56 34 12[ ]+ld\.sil \(0x123456\),de
\s+[0-9a-f]+:[ ]52 22 56 34 12[ ]+ld\.sil \(0x123456\),hl
\s+[0-9a-f]+:[ ]52 dd 22 56 34 12[ ]+ld\.sil \(0x123456\),ix
\s+[0-9a-f]+:[ ]52 fd 22 56 34 12[ ]+ld\.sil \(0x123456\),iy
\s+[0-9a-f]+:[ ]52 ed 73 56 34 12[ ]+ld\.sil \(0x123456\),sp
\s+[0-9a-f]+:[ ]52 3a 56 34 12[ ]+ld\.sil a,\(0x123456\)
\s+[0-9a-f]+:[ ]52 ed 4b 56 34 12[ ]+ld\.sil bc,\(0x123456\)
\s+[0-9a-f]+:[ ]52 01 56 34 12[ ]+ld\.sil bc,0x123456
\s+[0-9a-f]+:[ ]52 ed 5b 56 34 12[ ]+ld\.sil de,\(0x123456\)
\s+[0-9a-f]+:[ ]52 11 56 34 12[ ]+ld\.sil de,0x123456
\s+[0-9a-f]+:[ ]52 2a 56 34 12[ ]+ld\.sil hl,\(0x123456\)
\s+[0-9a-f]+:[ ]52 21 56 34 12[ ]+ld\.sil hl,0x123456
\s+[0-9a-f]+:[ ]52 dd 2a 56 34 12[ ]+ld\.sil ix,\(0x123456\)
\s+[0-9a-f]+:[ ]52 dd 21 56 34 12[ ]+ld\.sil ix,0x123456
\s+[0-9a-f]+:[ ]52 fd 2a 56 34 12[ ]+ld\.sil iy,\(0x123456\)
\s+[0-9a-f]+:[ ]52 fd 21 56 34 12[ ]+ld\.sil iy,0x123456
\s+[0-9a-f]+:[ ]52 ed 7b 56 34 12[ ]+ld\.sil sp,\(0x123456\)
\s+[0-9a-f]+:[ ]52 31 56 34 12[ ]+ld\.sil sp,0x123456
\s+[0-9a-f]+:[ ]5b cd 56 34 12[ ]+call\.lil 0x123456
\s+[0-9a-f]+:[ ]5b dc 56 34 12[ ]+call\.lil c,0x123456
\s+[0-9a-f]+:[ ]5b fc 56 34 12[ ]+call\.lil m,0x123456
\s+[0-9a-f]+:[ ]5b d4 56 34 12[ ]+call\.lil nc,0x123456
\s+[0-9a-f]+:[ ]5b c4 56 34 12[ ]+call\.lil nz,0x123456
\s+[0-9a-f]+:[ ]5b f4 56 34 12[ ]+call\.lil p,0x123456
\s+[0-9a-f]+:[ ]5b ec 56 34 12[ ]+call\.lil pe,0x123456
\s+[0-9a-f]+:[ ]5b e4 56 34 12[ ]+call\.lil po,0x123456
\s+[0-9a-f]+:[ ]5b cc 56 34 12[ ]+call\.lil z,0x123456
\s+[0-9a-f]+:[ ]5b c3 56 34 12[ ]+jp\.lil 0x123456
\s+[0-9a-f]+:[ ]5b da 56 34 12[ ]+jp\.lil c,0x123456
\s+[0-9a-f]+:[ ]5b fa 56 34 12[ ]+jp\.lil m,0x123456
\s+[0-9a-f]+:[ ]5b d2 56 34 12[ ]+jp\.lil nc,0x123456
\s+[0-9a-f]+:[ ]5b c2 56 34 12[ ]+jp\.lil nz,0x123456
\s+[0-9a-f]+:[ ]5b f2 56 34 12[ ]+jp\.lil p,0x123456
\s+[0-9a-f]+:[ ]5b ea 56 34 12[ ]+jp\.lil pe,0x123456
\s+[0-9a-f]+:[ ]5b e2 56 34 12[ ]+jp\.lil po,0x123456
\s+[0-9a-f]+:[ ]5b ca 56 34 12[ ]+jp\.lil z,0x123456
\s+[0-9a-f]+:[ ]5b 32 56 34 12[ ]+ld\.lil \(0x123456\),a
\s+[0-9a-f]+:[ ]5b ed 43 56 34 12[ ]+ld\.lil \(0x123456\),bc
\s+[0-9a-f]+:[ ]5b ed 53 56 34 12[ ]+ld\.lil \(0x123456\),de
\s+[0-9a-f]+:[ ]5b 22 56 34 12[ ]+ld\.lil \(0x123456\),hl
\s+[0-9a-f]+:[ ]5b dd 22 56 34 12[ ]+ld\.lil \(0x123456\),ix
\s+[0-9a-f]+:[ ]5b fd 22 56 34 12[ ]+ld\.lil \(0x123456\),iy
\s+[0-9a-f]+:[ ]5b ed 73 56 34 12[ ]+ld\.lil \(0x123456\),sp
\s+[0-9a-f]+:[ ]5b 3a 56 34 12[ ]+ld\.lil a,\(0x123456\)
\s+[0-9a-f]+:[ ]5b ed 4b 56 34 12[ ]+ld\.lil bc,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 01 56 34 12[ ]+ld\.lil bc,0x123456
\s+[0-9a-f]+:[ ]5b ed 5b 56 34 12[ ]+ld\.lil de,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 11 56 34 12[ ]+ld\.lil de,0x123456
\s+[0-9a-f]+:[ ]5b 2a 56 34 12[ ]+ld\.lil hl,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 21 56 34 12[ ]+ld\.lil hl,0x123456
\s+[0-9a-f]+:[ ]5b dd 2a 56 34 12[ ]+ld\.lil ix,\(0x123456\)
\s+[0-9a-f]+:[ ]5b dd 21 56 34 12[ ]+ld\.lil ix,0x123456
\s+[0-9a-f]+:[ ]5b fd 2a 56 34 12[ ]+ld\.lil iy,\(0x123456\)
\s+[0-9a-f]+:[ ]5b fd 21 56 34 12[ ]+ld\.lil iy,0x123456
\s+[0-9a-f]+:[ ]5b ed 7b 56 34 12[ ]+ld\.lil sp,\(0x123456\)
\s+[0-9a-f]+:[ ]5b 31 56 34 12[ ]+ld\.lil sp,0x123456

View file

@ -0,0 +1,23 @@
#name: Math48 floating point numbers
#objdump: -s -j .data
#as: -float=math48
.*:[ ]+file format (coff)|(elf32)\-z80
Contents of section \.data:
0000 00000000 00000000 00000000 81000000[ ]+.*
0010 00008100 00000080 82000000 00008200[ ]+.*
0020 00000080 84000000 00708400 000000f0[ ]+.*
0030 87000000 00488700 000000c8 7dcdcccc[ ]+.*
0040 cc4c7dcd cccccccc 01000000 0000ffff[ ]+.*
0050 ffffff7f 01000000 0080ffff ffffffff[ ]+.*
0060 7b951235 fa0e8400 00000020 89000000[ ]+.*
0070 00347faa aaaaaa2a 87000000 00dc8d00[ ]+.*
0080 00008077 93000000 6ca29700 0000074b[ ]+.*
0090 9a000040 45987f37 a9d85b5e 80fa33f3[ ]+.*
00a0 04357e4c 8ee9cf06 8321a2da 0f4980d2[ ]+.*
00b0 f7177231 81000000 00008e00 0000401c[ ]+.*
00c0 9b000020 bc3ea800 10a5d468 b604bfc9[ ]+.*
00d0 1b0ec3ac c5eb782d d0cdce1b c253def9[ ]+.*
00e0 78393f01 eb2ba8ad c51df8c9 7bce9740[ ]+.*
#pass

View file

@ -0,0 +1,39 @@
.data
.float 0, -0
.float 1, -1
.float 2, -2
.float 15, -15
.float 100, -100
.float 0.1, -0.1
.float 2.938735877056E-39 ;smallest positive number
.float 1.701411834603E+38 ;largest positive number
.float -2.938735877056E-39 ;largest negative number
.float -1.701411834603E+38 ;smallest negative number
; constants present as binaries in Math48 library
.float 0.0174532925199433 ;7b 95 12 35 fa 0e - PI/180
.float 10 ;84 00 00 00 00 20
.float 360 ;89 00 00 00 00 34
.float 0.333333333333 ;7f aa aa aa aa 2a
.float -110 ;87 00 00 00 00 dc
.float 7920 ;8d 00 00 00 80 77
.float -332640 ;93 00 00 00 6c a2
.float 6652800 ;97 00 00 00 07 4b
.float -39916800 ;9a 00 00 40 45 98
.float 0.4342944819033 ;7f 36 a9 d8 5b 5e - 1/ln(10)
.float 0.7071067811865 ;80 fb 33 f3 04 35 - sqrt(2)/2
.float 0.1316524975874 ;7e 4a 8e e9 cf 06 - TAN(PI/24)
.float 6.2831853071796 ;82 21 a2 da 0f 49 - 2*PI
.float 0.69314718056 ;80 d2 f7 17 72 31 - ln(2)
.float 1e+0 ;81 00 00 00 00 00
.float 1e+4 ;8e 00 00 00 40 1c
.float 1e+8 ;9b 00 00 20 bc 3e
.float 1e+12 ;a8 00 10 a5 4d 68
.float 1e+16 ;b6 04 bf c9 1b 0e
.float 1e+20 ;c3 ac c5 eb 78 2d
.float 1e+24 ;d0 cd ce 1b c2 53
.float 1e+28 ;de f9 78 39 3f 01
.float 1e+32 ;eb 2b a8 ad c5 1d
.float 1e+36 ;f8 c9 7b ce 97 40
.float 1.2
.float 1337
.end

View file

@ -0,0 +1,13 @@
#name: Zeda32 floating point numbers
#as: -float=zeda32
#objdump: -s -j .data
.*:[ ]+file format (coff)|(elf32)\-z80
Contents of section \.data:
0000 db0f4981 54f82d81 3baa3880 1872317f[ ]+.*
0010 9b201a7e 789a5481 00000000 00000080[ ]+.*
0020 00004000 0000c000 00002000 d95b5e7e[ ]+.*
0030 db0f4982 83f9227d 0000007e 0000007f[ ]+.*
0040 00000001 00008001 ffff7fff ffffffff[ ]+.*
#pass

View file

@ -0,0 +1,26 @@
.data
.float 3.14159265358979 ;PI
.float 2.71828182845904 ;e
.float 1.44269504088896 ;log2(e)
.float 0.693147180559945 ;ln(2)
.float 0.301029995663981 ;log10(2)
.float 3.32192809488736 ;log2(10)
.float 0
.float 1
.float +inf
.float -inf
.float NaN
.float 0.434294481903252 ;1/ln(10) = log10(e)
.float 6.28318530717958 ;2*PI
.float 0.159154943091896 ;1/(2*PI)
.float 0.25
.float 0.5
.float 5.87747175411144E-39 ;min positive number
.float -5.87747175411144E-39 ;max negative number
.float 3.4028235e+38 ;max positive number
.float -3.4028235e+38 ;min negative number
.end

View file

@ -0,0 +1,16 @@
#as: -r800
#objdump: -d
#name: R800 specific instructions
.*:.*
Disassembly of section .text:
0+ <.text>:
\s+[0-9a-f]+:[ ]ed 70[ ]+in f,\(c\)
\s+[0-9a-f]+:[ ]ed c5[ ]+mulub a,b
\s+[0-9a-f]+:[ ]ed cd[ ]+mulub a,c
\s+[0-9a-f]+:[ ]ed d5[ ]+mulub a,d
\s+[0-9a-f]+:[ ]ed dd[ ]+mulub a,e
\s+[0-9a-f]+:[ ]ed c3[ ]+muluw hl,bc
\s+[0-9a-f]+:[ ]ed f3[ ]+muluw hl,sp

View file

@ -0,0 +1,13 @@
.text
.org 0
;; R800 extra instructions
in f,(c)
mulub a,b
mulub a,c
mulub a,d
mulub a,e
muluw hl,bc
muluw hl,sp

View file

@ -0,0 +1,110 @@
#as: -r800
#objdump: -d
#name: halves of index register for R800
#source: z80_ii8.s
.*:.*
Disassembly of section .text:
0+ <.text>:
[ ]+0:[ ]+dd 7c[ ]+ld a,ixh
[ ]+2:[ ]+dd 44[ ]+ld b,ixh
[ ]+4:[ ]+dd 4c[ ]+ld c,ixh
[ ]+6:[ ]+dd 54[ ]+ld d,ixh
[ ]+8:[ ]+dd 5c[ ]+ld e,ixh
[ ]+a:[ ]+dd 64[ ]+ld ixh,ixh
[ ]+c:[ ]+dd 6c[ ]+ld ixl,ixh
[ ]+e:[ ]+dd 7d[ ]+ld a,ixl
[ ]+10:[ ]+dd 45[ ]+ld b,ixl
[ ]+12:[ ]+dd 4d[ ]+ld c,ixl
[ ]+14:[ ]+dd 55[ ]+ld d,ixl
[ ]+16:[ ]+dd 5d[ ]+ld e,ixl
[ ]+18:[ ]+dd 65[ ]+ld ixh,ixl
[ ]+1a:[ ]+dd 6d[ ]+ld ixl,ixl
[ ]+1c:[ ]+fd 7c[ ]+ld a,iyh
[ ]+1e:[ ]+fd 44[ ]+ld b,iyh
[ ]+20:[ ]+fd 4c[ ]+ld c,iyh
[ ]+22:[ ]+fd 54[ ]+ld d,iyh
[ ]+24:[ ]+fd 5c[ ]+ld e,iyh
[ ]+26:[ ]+fd 64[ ]+ld iyh,iyh
[ ]+28:[ ]+fd 6c[ ]+ld iyl,iyh
[ ]+2a:[ ]+fd 7d[ ]+ld a,iyl
[ ]+2c:[ ]+fd 45[ ]+ld b,iyl
[ ]+2e:[ ]+fd 4d[ ]+ld c,iyl
[ ]+30:[ ]+fd 55[ ]+ld d,iyl
[ ]+32:[ ]+fd 5d[ ]+ld e,iyl
[ ]+34:[ ]+fd 65[ ]+ld iyh,iyl
[ ]+36:[ ]+fd 6d[ ]+ld iyl,iyl
[ ]+38:[ ]+dd 67[ ]+ld ixh,a
[ ]+3a:[ ]+dd 60[ ]+ld ixh,b
[ ]+3c:[ ]+dd 61[ ]+ld ixh,c
[ ]+3e:[ ]+dd 62[ ]+ld ixh,d
[ ]+40:[ ]+dd 63[ ]+ld ixh,e
[ ]+42:[ ]+dd 64[ ]+ld ixh,ixh
[ ]+44:[ ]+dd 65[ ]+ld ixh,ixl
[ ]+46:[ ]+dd 26 19[ ]+ld ixh,0x19
[ ]+49:[ ]+dd 6f[ ]+ld ixl,a
[ ]+4b:[ ]+dd 68[ ]+ld ixl,b
[ ]+4d:[ ]+dd 69[ ]+ld ixl,c
[ ]+4f:[ ]+dd 6a[ ]+ld ixl,d
[ ]+51:[ ]+dd 6b[ ]+ld ixl,e
[ ]+53:[ ]+dd 6c[ ]+ld ixl,ixh
[ ]+55:[ ]+dd 6d[ ]+ld ixl,ixl
[ ]+57:[ ]+dd 2e 19[ ]+ld ixl,0x19
[ ]+5a:[ ]+fd 67[ ]+ld iyh,a
[ ]+5c:[ ]+fd 60[ ]+ld iyh,b
[ ]+5e:[ ]+fd 61[ ]+ld iyh,c
[ ]+60:[ ]+fd 62[ ]+ld iyh,d
[ ]+62:[ ]+fd 63[ ]+ld iyh,e
[ ]+64:[ ]+fd 64[ ]+ld iyh,iyh
[ ]+66:[ ]+fd 65[ ]+ld iyh,iyl
[ ]+68:[ ]+fd 26 19[ ]+ld iyh,0x19
[ ]+6b:[ ]+fd 6f[ ]+ld iyl,a
[ ]+6d:[ ]+fd 68[ ]+ld iyl,b
[ ]+6f:[ ]+fd 69[ ]+ld iyl,c
[ ]+71:[ ]+fd 6a[ ]+ld iyl,d
[ ]+73:[ ]+fd 6b[ ]+ld iyl,e
[ ]+75:[ ]+fd 6c[ ]+ld iyl,iyh
[ ]+77:[ ]+fd 6d[ ]+ld iyl,iyl
[ ]+79:[ ]+fd 2e 19[ ]+ld iyl,0x19
[ ]+7c:[ ]+dd 84[ ]+add a,ixh
[ ]+7e:[ ]+dd 85[ ]+add a,ixl
[ ]+80:[ ]+fd 84[ ]+add a,iyh
[ ]+82:[ ]+fd 85[ ]+add a,iyl
[ ]+84:[ ]+dd 8c[ ]+adc a,ixh
[ ]+86:[ ]+dd 8d[ ]+adc a,ixl
[ ]+88:[ ]+fd 8c[ ]+adc a,iyh
[ ]+8a:[ ]+fd 8d[ ]+adc a,iyl
[ ]+8c:[ ]+dd bc[ ]+cp ixh
[ ]+8e:[ ]+dd bd[ ]+cp ixl
[ ]+90:[ ]+fd bc[ ]+cp iyh
[ ]+92:[ ]+fd bd[ ]+cp iyl
[ ]+94:[ ]+dd 25[ ]+dec ixh
[ ]+96:[ ]+dd 2d[ ]+dec ixl
[ ]+98:[ ]+fd 25[ ]+dec iyh
[ ]+9a:[ ]+fd 2d[ ]+dec iyl
[ ]+9c:[ ]+dd 24[ ]+inc ixh
[ ]+9e:[ ]+dd 2c[ ]+inc ixl
[ ]+a0:[ ]+fd 24[ ]+inc iyh
[ ]+a2:[ ]+fd 2c[ ]+inc iyl
[ ]+a4:[ ]+dd 9c[ ]+sbc a,ixh
[ ]+a6:[ ]+dd 9d[ ]+sbc a,ixl
[ ]+a8:[ ]+fd 9c[ ]+sbc a,iyh
[ ]+aa:[ ]+fd 9d[ ]+sbc a,iyl
[ ]+ac:[ ]+dd 94[ ]+sub ixh
[ ]+ae:[ ]+dd 95[ ]+sub ixl
[ ]+b0:[ ]+fd 94[ ]+sub iyh
[ ]+b2:[ ]+fd 95[ ]+sub iyl
[ ]+b4:[ ]+dd a4[ ]+and ixh
[ ]+b6:[ ]+dd a5[ ]+and ixl
[ ]+b8:[ ]+fd a4[ ]+and iyh
[ ]+ba:[ ]+fd a5[ ]+and iyl
[ ]+bc:[ ]+dd b4[ ]+or ixh
[ ]+be:[ ]+dd b5[ ]+or ixl
[ ]+c0:[ ]+fd b4[ ]+or iyh
[ ]+c2:[ ]+fd b5[ ]+or iyl
[ ]+c4:[ ]+dd ac[ ]+xor ixh
[ ]+c6:[ ]+dd ad[ ]+xor ixl
[ ]+c8:[ ]+fd ac[ ]+xor iyh
[ ]+ca:[ ]+fd ad[ ]+xor iyl

View file

@ -0,0 +1,706 @@
#as: -r800
#objdump: -d
#name: All Z80 documented instructions for R800
#source: z80_doc.s
.*: .*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+8e\s+adc a,\(hl\)
\s+1:\s+dd 8e 09\s+adc a,\(ix\+9\)
\s+4:\s+fd 8e 09\s+adc a,\(iy\+9\)
\s+7:\s+ce 03\s+adc a,0x03
\s+9:\s+8f\s+adc a,a
\s+a:\s+88\s+adc a,b
\s+b:\s+89\s+adc a,c
\s+c:\s+8a\s+adc a,d
\s+d:\s+8b\s+adc a,e
\s+e:\s+8c\s+adc a,h
\s+f:\s+8d\s+adc a,l
\s+10:\s+ed 4a\s+adc hl,bc
\s+12:\s+ed 5a\s+adc hl,de
\s+14:\s+ed 6a\s+adc hl,hl
\s+16:\s+ed 7a\s+adc hl,sp
\s+18:\s+86\s+add a,\(hl\)
\s+19:\s+dd 86 09\s+add a,\(ix\+9\)
\s+1c:\s+fd 86 09\s+add a,\(iy\+9\)
\s+1f:\s+c6 03\s+add a,0x03
\s+21:\s+87\s+add a,a
\s+22:\s+80\s+add a,b
\s+23:\s+81\s+add a,c
\s+24:\s+82\s+add a,d
\s+25:\s+83\s+add a,e
\s+26:\s+84\s+add a,h
\s+27:\s+85\s+add a,l
\s+28:\s+09\s+add hl,bc
\s+29:\s+19\s+add hl,de
\s+2a:\s+29\s+add hl,hl
\s+2b:\s+39\s+add hl,sp
\s+2c:\s+dd 09\s+add ix,bc
\s+2e:\s+dd 19\s+add ix,de
\s+30:\s+dd 29\s+add ix,ix
\s+32:\s+dd 39\s+add ix,sp
\s+34:\s+fd 09\s+add iy,bc
\s+36:\s+fd 19\s+add iy,de
\s+38:\s+fd 29\s+add iy,iy
\s+3a:\s+fd 39\s+add iy,sp
\s+3c:\s+a6\s+and \(hl\)
\s+3d:\s+dd a6 09\s+and \(ix\+9\)
\s+40:\s+fd a6 09\s+and \(iy\+9\)
\s+43:\s+e6 03\s+and 0x03
\s+45:\s+a7\s+and a
\s+46:\s+a0\s+and b
\s+47:\s+a1\s+and c
\s+48:\s+a2\s+and d
\s+49:\s+a3\s+and e
\s+4a:\s+a4\s+and h
\s+4b:\s+a5\s+and l
\s+4c:\s+cb 46\s+bit 0,\(hl\)
\s+4e:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
\s+52:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
\s+56:\s+cb 47\s+bit 0,a
\s+58:\s+cb 40\s+bit 0,b
\s+5a:\s+cb 41\s+bit 0,c
\s+5c:\s+cb 42\s+bit 0,d
\s+5e:\s+cb 43\s+bit 0,e
\s+60:\s+cb 44\s+bit 0,h
\s+62:\s+cb 45\s+bit 0,l
\s+64:\s+cb 4e\s+bit 1,\(hl\)
\s+66:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
\s+6a:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
\s+6e:\s+cb 4f\s+bit 1,a
\s+70:\s+cb 48\s+bit 1,b
\s+72:\s+cb 49\s+bit 1,c
\s+74:\s+cb 4a\s+bit 1,d
\s+76:\s+cb 4b\s+bit 1,e
\s+78:\s+cb 4c\s+bit 1,h
\s+7a:\s+cb 4d\s+bit 1,l
\s+7c:\s+cb 56\s+bit 2,\(hl\)
\s+7e:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
\s+82:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
\s+86:\s+cb 57\s+bit 2,a
\s+88:\s+cb 50\s+bit 2,b
\s+8a:\s+cb 51\s+bit 2,c
\s+8c:\s+cb 52\s+bit 2,d
\s+8e:\s+cb 53\s+bit 2,e
\s+90:\s+cb 54\s+bit 2,h
\s+92:\s+cb 55\s+bit 2,l
\s+94:\s+cb 5e\s+bit 3,\(hl\)
\s+96:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
\s+9a:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
\s+9e:\s+cb 5f\s+bit 3,a
\s+a0:\s+cb 58\s+bit 3,b
\s+a2:\s+cb 59\s+bit 3,c
\s+a4:\s+cb 5a\s+bit 3,d
\s+a6:\s+cb 5b\s+bit 3,e
\s+a8:\s+cb 5c\s+bit 3,h
\s+aa:\s+cb 5d\s+bit 3,l
\s+ac:\s+cb 66\s+bit 4,\(hl\)
\s+ae:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
\s+b2:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
\s+b6:\s+cb 67\s+bit 4,a
\s+b8:\s+cb 60\s+bit 4,b
\s+ba:\s+cb 61\s+bit 4,c
\s+bc:\s+cb 62\s+bit 4,d
\s+be:\s+cb 63\s+bit 4,e
\s+c0:\s+cb 64\s+bit 4,h
\s+c2:\s+cb 65\s+bit 4,l
\s+c4:\s+cb 6e\s+bit 5,\(hl\)
\s+c6:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
\s+ca:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
\s+ce:\s+cb 6f\s+bit 5,a
\s+d0:\s+cb 68\s+bit 5,b
\s+d2:\s+cb 69\s+bit 5,c
\s+d4:\s+cb 6a\s+bit 5,d
\s+d6:\s+cb 6b\s+bit 5,e
\s+d8:\s+cb 6c\s+bit 5,h
\s+da:\s+cb 6d\s+bit 5,l
\s+dc:\s+cb 76\s+bit 6,\(hl\)
\s+de:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
\s+e2:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
\s+e6:\s+cb 77\s+bit 6,a
\s+e8:\s+cb 70\s+bit 6,b
\s+ea:\s+cb 71\s+bit 6,c
\s+ec:\s+cb 72\s+bit 6,d
\s+ee:\s+cb 73\s+bit 6,e
\s+f0:\s+cb 74\s+bit 6,h
\s+f2:\s+cb 75\s+bit 6,l
\s+f4:\s+cb 7e\s+bit 7,\(hl\)
\s+f6:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
\s+fa:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
\s+fe:\s+cb 7f\s+bit 7,a
\s+100:\s+cb 78\s+bit 7,b
\s+102:\s+cb 79\s+bit 7,c
\s+104:\s+cb 7a\s+bit 7,d
\s+106:\s+cb 7b\s+bit 7,e
\s+108:\s+cb 7c\s+bit 7,h
\s+10a:\s+cb 7d\s+bit 7,l
\s+10c:\s+cd 34 12\s+call 0x1234
\s+10f:\s+dc 34 12\s+call c,0x1234
\s+112:\s+fc 34 12\s+call m,0x1234
\s+115:\s+d4 34 12\s+call nc,0x1234
\s+118:\s+c4 34 12\s+call nz,0x1234
\s+11b:\s+f4 34 12\s+call p,0x1234
\s+11e:\s+ec 34 12\s+call pe,0x1234
\s+121:\s+e4 34 12\s+call po,0x1234
\s+124:\s+cc 34 12\s+call z,0x1234
\s+127:\s+3f\s+ccf
\s+128:\s+be\s+cp \(hl\)
\s+129:\s+dd be 09\s+cp \(ix\+9\)
\s+12c:\s+fd be 09\s+cp \(iy\+9\)
\s+12f:\s+fe 03\s+cp 0x03
\s+131:\s+bf\s+cp a
\s+132:\s+b8\s+cp b
\s+133:\s+b9\s+cp c
\s+134:\s+ba\s+cp d
\s+135:\s+bb\s+cp e
\s+136:\s+bc\s+cp h
\s+137:\s+bd\s+cp l
\s+138:\s+ed a9\s+cpd
\s+13a:\s+ed b9\s+cpdr
\s+13c:\s+ed a1\s+cpi
\s+13e:\s+ed b1\s+cpir
\s+140:\s+2f\s+cpl
\s+141:\s+27\s+daa
\s+142:\s+35\s+dec \(hl\)
\s+143:\s+dd 35 09\s+dec \(ix\+9\)
\s+146:\s+fd 35 09\s+dec \(iy\+9\)
\s+149:\s+3d\s+dec a
\s+14a:\s+05\s+dec b
\s+14b:\s+0b\s+dec bc
\s+14c:\s+0d\s+dec c
\s+14d:\s+15\s+dec d
\s+14e:\s+1b\s+dec de
\s+14f:\s+1d\s+dec e
\s+150:\s+25\s+dec h
\s+151:\s+2b\s+dec hl
\s+152:\s+dd 2b\s+dec ix
\s+154:\s+fd 2b\s+dec iy
\s+156:\s+2d\s+dec l
\s+157:\s+3b\s+dec sp
\s+158:\s+f3\s+di
\s+159:\s+10 05\s+djnz 0x0160
\s+15b:\s+fb\s+ei
\s+15c:\s+e3\s+ex \(sp\),hl
\s+15d:\s+dd e3\s+ex \(sp\),ix
\s+15f:\s+fd e3\s+ex \(sp\),iy
\s+161:\s+08\s+ex af,af'
\s+162:\s+eb\s+ex de,hl
\s+163:\s+d9\s+exx
\s+164:\s+76\s+halt
\s+165:\s+ed 46\s+im 0
\s+167:\s+ed 56\s+im 1
\s+169:\s+ed 5e\s+im 2
\s+16b:\s+ed 78\s+in a,\(c\)
\s+16d:\s+db 03\s+in a,\(0x03\)
\s+16f:\s+ed 40\s+in b,\(c\)
\s+171:\s+ed 48\s+in c,\(c\)
\s+173:\s+ed 50\s+in d,\(c\)
\s+175:\s+ed 58\s+in e,\(c\)
\s+177:\s+ed 60\s+in h,\(c\)
\s+179:\s+ed 68\s+in l,\(c\)
\s+17b:\s+34\s+inc \(hl\)
\s+17c:\s+dd 34 09\s+inc \(ix\+9\)
\s+17f:\s+fd 34 09\s+inc \(iy\+9\)
\s+182:\s+3c\s+inc a
\s+183:\s+04\s+inc b
\s+184:\s+03\s+inc bc
\s+185:\s+0c\s+inc c
\s+186:\s+14\s+inc d
\s+187:\s+13\s+inc de
\s+188:\s+1c\s+inc e
\s+189:\s+24\s+inc h
\s+18a:\s+23\s+inc hl
\s+18b:\s+dd 23\s+inc ix
\s+18d:\s+fd 23\s+inc iy
\s+18f:\s+2c\s+inc l
\s+190:\s+33\s+inc sp
\s+191:\s+ed aa\s+ind
\s+193:\s+ed ba\s+indr
\s+195:\s+ed a2\s+ini
\s+197:\s+ed b2\s+inir
\s+199:\s+e9\s+jp \(hl\)
\s+19a:\s+dd e9\s+jp \(ix\)
\s+19c:\s+fd e9\s+jp \(iy\)
\s+19e:\s+c3 34 12\s+jp 0x1234
\s+1a1:\s+da 34 12\s+jp c,0x1234
\s+1a4:\s+fa 34 12\s+jp m,0x1234
\s+1a7:\s+d2 34 12\s+jp nc,0x1234
\s+1aa:\s+c2 34 12\s+jp nz,0x1234
\s+1ad:\s+f2 34 12\s+jp p,0x1234
\s+1b0:\s+ea 34 12\s+jp pe,0x1234
\s+1b3:\s+e2 34 12\s+jp po,0x1234
\s+1b6:\s+ca 34 12\s+jp z,0x1234
\s+1b9:\s+18 05\s+jr 0x01c0
\s+1bb:\s+38 05\s+jr c,0x01c2
\s+1bd:\s+30 05\s+jr nc,0x01c4
\s+1bf:\s+20 05\s+jr nz,0x01c6
\s+1c1:\s+28 05\s+jr z,0x01c8
\s+1c3:\s+32 34 12\s+ld \(0x1234\),a
\s+1c6:\s+ed 43 34 12\s+ld \(0x1234\),bc
\s+1ca:\s+ed 53 34 12\s+ld \(0x1234\),de
\s+1ce:\s+22 34 12\s+ld \(0x1234\),hl
\s+1d1:\s+dd 22 34 12\s+ld \(0x1234\),ix
\s+1d5:\s+fd 22 34 12\s+ld \(0x1234\),iy
\s+1d9:\s+ed 73 34 12\s+ld \(0x1234\),sp
\s+1dd:\s+02\s+ld \(bc\),a
\s+1de:\s+12\s+ld \(de\),a
\s+1df:\s+36 03\s+ld \(hl\),0x03
\s+1e1:\s+77\s+ld \(hl\),a
\s+1e2:\s+70\s+ld \(hl\),b
\s+1e3:\s+71\s+ld \(hl\),c
\s+1e4:\s+72\s+ld \(hl\),d
\s+1e5:\s+73\s+ld \(hl\),e
\s+1e6:\s+74\s+ld \(hl\),h
\s+1e7:\s+75\s+ld \(hl\),l
\s+1e8:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
\s+1ec:\s+dd 77 09\s+ld \(ix\+9\),a
\s+1ef:\s+dd 70 09\s+ld \(ix\+9\),b
\s+1f2:\s+dd 71 09\s+ld \(ix\+9\),c
\s+1f5:\s+dd 72 09\s+ld \(ix\+9\),d
\s+1f8:\s+dd 73 09\s+ld \(ix\+9\),e
\s+1fb:\s+dd 74 09\s+ld \(ix\+9\),h
\s+1fe:\s+dd 75 09\s+ld \(ix\+9\),l
\s+201:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
\s+205:\s+fd 77 09\s+ld \(iy\+9\),a
\s+208:\s+fd 70 09\s+ld \(iy\+9\),b
\s+20b:\s+fd 71 09\s+ld \(iy\+9\),c
\s+20e:\s+fd 72 09\s+ld \(iy\+9\),d
\s+211:\s+fd 73 09\s+ld \(iy\+9\),e
\s+214:\s+fd 74 09\s+ld \(iy\+9\),h
\s+217:\s+fd 75 09\s+ld \(iy\+9\),l
\s+21a:\s+3a 34 12\s+ld a,\(0x1234\)
\s+21d:\s+0a\s+ld a,\(bc\)
\s+21e:\s+1a\s+ld a,\(de\)
\s+21f:\s+7e\s+ld a,\(hl\)
\s+220:\s+dd 7e 09\s+ld a,\(ix\+9\)
\s+223:\s+fd 7e 09\s+ld a,\(iy\+9\)
\s+226:\s+3e 03\s+ld a,0x03
\s+228:\s+7f\s+ld a,a
\s+229:\s+78\s+ld a,b
\s+22a:\s+79\s+ld a,c
\s+22b:\s+7a\s+ld a,d
\s+22c:\s+7b\s+ld a,e
\s+22d:\s+7c\s+ld a,h
\s+22e:\s+ed 57\s+ld a,i
\s+230:\s+7d\s+ld a,l
\s+231:\s+ed 5f\s+ld a,r
\s+233:\s+46\s+ld b,\(hl\)
\s+234:\s+dd 46 09\s+ld b,\(ix\+9\)
\s+237:\s+fd 46 09\s+ld b,\(iy\+9\)
\s+23a:\s+06 03\s+ld b,0x03
\s+23c:\s+47\s+ld b,a
\s+23d:\s+40\s+ld b,b
\s+23e:\s+41\s+ld b,c
\s+23f:\s+42\s+ld b,d
\s+240:\s+43\s+ld b,e
\s+241:\s+44\s+ld b,h
\s+242:\s+45\s+ld b,l
\s+243:\s+ed 4b 34 12\s+ld bc,\(0x1234\)
\s+247:\s+01 34 12\s+ld bc,0x1234
\s+24a:\s+4e\s+ld c,\(hl\)
\s+24b:\s+dd 4e 09\s+ld c,\(ix\+9\)
\s+24e:\s+fd 4e 09\s+ld c,\(iy\+9\)
\s+251:\s+0e 03\s+ld c,0x03
\s+253:\s+4f\s+ld c,a
\s+254:\s+48\s+ld c,b
\s+255:\s+49\s+ld c,c
\s+256:\s+4a\s+ld c,d
\s+257:\s+4b\s+ld c,e
\s+258:\s+4c\s+ld c,h
\s+259:\s+4d\s+ld c,l
\s+25a:\s+56\s+ld d,\(hl\)
\s+25b:\s+dd 56 09\s+ld d,\(ix\+9\)
\s+25e:\s+fd 56 09\s+ld d,\(iy\+9\)
\s+261:\s+16 03\s+ld d,0x03
\s+263:\s+57\s+ld d,a
\s+264:\s+50\s+ld d,b
\s+265:\s+51\s+ld d,c
\s+266:\s+52\s+ld d,d
\s+267:\s+53\s+ld d,e
\s+268:\s+54\s+ld d,h
\s+269:\s+55\s+ld d,l
\s+26a:\s+ed 5b 34 12\s+ld de,\(0x1234\)
\s+26e:\s+11 34 12\s+ld de,0x1234
\s+271:\s+5e\s+ld e,\(hl\)
\s+272:\s+dd 5e 09\s+ld e,\(ix\+9\)
\s+275:\s+fd 5e 09\s+ld e,\(iy\+9\)
\s+278:\s+1e 03\s+ld e,0x03
\s+27a:\s+5f\s+ld e,a
\s+27b:\s+58\s+ld e,b
\s+27c:\s+59\s+ld e,c
\s+27d:\s+5a\s+ld e,d
\s+27e:\s+5b\s+ld e,e
\s+27f:\s+5c\s+ld e,h
\s+280:\s+5d\s+ld e,l
\s+281:\s+66\s+ld h,\(hl\)
\s+282:\s+dd 66 09\s+ld h,\(ix\+9\)
\s+285:\s+fd 66 09\s+ld h,\(iy\+9\)
\s+288:\s+26 03\s+ld h,0x03
\s+28a:\s+67\s+ld h,a
\s+28b:\s+60\s+ld h,b
\s+28c:\s+61\s+ld h,c
\s+28d:\s+62\s+ld h,d
\s+28e:\s+63\s+ld h,e
\s+28f:\s+64\s+ld h,h
\s+290:\s+65\s+ld h,l
\s+291:\s+2a 34 12\s+ld hl,\(0x1234\)
\s+294:\s+21 34 12\s+ld hl,0x1234
\s+297:\s+ed 47\s+ld i,a
\s+299:\s+dd 2a 34 12\s+ld ix,\(0x1234\)
\s+29d:\s+dd 21 34 12\s+ld ix,0x1234
\s+2a1:\s+fd 2a 34 12\s+ld iy,\(0x1234\)
\s+2a5:\s+fd 21 34 12\s+ld iy,0x1234
\s+2a9:\s+6e\s+ld l,\(hl\)
\s+2aa:\s+dd 6e 09\s+ld l,\(ix\+9\)
\s+2ad:\s+fd 6e 09\s+ld l,\(iy\+9\)
\s+2b0:\s+2e 03\s+ld l,0x03
\s+2b2:\s+6f\s+ld l,a
\s+2b3:\s+68\s+ld l,b
\s+2b4:\s+69\s+ld l,c
\s+2b5:\s+6a\s+ld l,d
\s+2b6:\s+6b\s+ld l,e
\s+2b7:\s+6c\s+ld l,h
\s+2b8:\s+6d\s+ld l,l
\s+2b9:\s+ed 4f\s+ld r,a
\s+2bb:\s+ed 7b 34 12\s+ld sp,\(0x1234\)
\s+2bf:\s+31 34 12\s+ld sp,0x1234
\s+2c2:\s+f9\s+ld sp,hl
\s+2c3:\s+dd f9\s+ld sp,ix
\s+2c5:\s+fd f9\s+ld sp,iy
\s+2c7:\s+ed a8\s+ldd
\s+2c9:\s+ed b8\s+lddr
\s+2cb:\s+ed a0\s+ldi
\s+2cd:\s+ed b0\s+ldir
\s+2cf:\s+ed 44\s+neg
\s+2d1:\s+00\s+nop
\s+2d2:\s+b6\s+or \(hl\)
\s+2d3:\s+dd b6 09\s+or \(ix\+9\)
\s+2d6:\s+fd b6 09\s+or \(iy\+9\)
\s+2d9:\s+f6 03\s+or 0x03
\s+2db:\s+b7\s+or a
\s+2dc:\s+b0\s+or b
\s+2dd:\s+b1\s+or c
\s+2de:\s+b2\s+or d
\s+2df:\s+b3\s+or e
\s+2e0:\s+b4\s+or h
\s+2e1:\s+b5\s+or l
\s+2e2:\s+ed bb\s+otdr
\s+2e4:\s+ed b3\s+otir
\s+2e6:\s+ed 79\s+out \(c\),a
\s+2e8:\s+ed 41\s+out \(c\),b
\s+2ea:\s+ed 49\s+out \(c\),c
\s+2ec:\s+ed 51\s+out \(c\),d
\s+2ee:\s+ed 59\s+out \(c\),e
\s+2f0:\s+ed 61\s+out \(c\),h
\s+2f2:\s+ed 69\s+out \(c\),l
\s+2f4:\s+d3 03\s+out \(0x03\),a
\s+2f6:\s+ed ab\s+outd
\s+2f8:\s+ed a3\s+outi
\s+2fa:\s+f1\s+pop af
\s+2fb:\s+c1\s+pop bc
\s+2fc:\s+d1\s+pop de
\s+2fd:\s+e1\s+pop hl
\s+2fe:\s+dd e1\s+pop ix
\s+300:\s+fd e1\s+pop iy
\s+302:\s+f5\s+push af
\s+303:\s+c5\s+push bc
\s+304:\s+d5\s+push de
\s+305:\s+e5\s+push hl
\s+306:\s+dd e5\s+push ix
\s+308:\s+fd e5\s+push iy
\s+30a:\s+cb 86\s+res 0,\(hl\)
\s+30c:\s+dd cb 09 86\s+res 0,\(ix\+9\)
\s+310:\s+fd cb 09 86\s+res 0,\(iy\+9\)
\s+314:\s+cb 87\s+res 0,a
\s+316:\s+cb 80\s+res 0,b
\s+318:\s+cb 81\s+res 0,c
\s+31a:\s+cb 82\s+res 0,d
\s+31c:\s+cb 83\s+res 0,e
\s+31e:\s+cb 84\s+res 0,h
\s+320:\s+cb 85\s+res 0,l
\s+322:\s+cb 8e\s+res 1,\(hl\)
\s+324:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
\s+328:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
\s+32c:\s+cb 8f\s+res 1,a
\s+32e:\s+cb 88\s+res 1,b
\s+330:\s+cb 89\s+res 1,c
\s+332:\s+cb 8a\s+res 1,d
\s+334:\s+cb 8b\s+res 1,e
\s+336:\s+cb 8c\s+res 1,h
\s+338:\s+cb 8d\s+res 1,l
\s+33a:\s+cb 96\s+res 2,\(hl\)
\s+33c:\s+dd cb 09 96\s+res 2,\(ix\+9\)
\s+340:\s+fd cb 09 96\s+res 2,\(iy\+9\)
\s+344:\s+cb 97\s+res 2,a
\s+346:\s+cb 90\s+res 2,b
\s+348:\s+cb 91\s+res 2,c
\s+34a:\s+cb 92\s+res 2,d
\s+34c:\s+cb 93\s+res 2,e
\s+34e:\s+cb 94\s+res 2,h
\s+350:\s+cb 95\s+res 2,l
\s+352:\s+cb 9e\s+res 3,\(hl\)
\s+354:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
\s+358:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
\s+35c:\s+cb 9f\s+res 3,a
\s+35e:\s+cb 98\s+res 3,b
\s+360:\s+cb 99\s+res 3,c
\s+362:\s+cb 9a\s+res 3,d
\s+364:\s+cb 9b\s+res 3,e
\s+366:\s+cb 9c\s+res 3,h
\s+368:\s+cb 9d\s+res 3,l
\s+36a:\s+cb a6\s+res 4,\(hl\)
\s+36c:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
\s+370:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
\s+374:\s+cb a7\s+res 4,a
\s+376:\s+cb a0\s+res 4,b
\s+378:\s+cb a1\s+res 4,c
\s+37a:\s+cb a2\s+res 4,d
\s+37c:\s+cb a3\s+res 4,e
\s+37e:\s+cb a4\s+res 4,h
\s+380:\s+cb a5\s+res 4,l
\s+382:\s+cb ae\s+res 5,\(hl\)
\s+384:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
\s+388:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
\s+38c:\s+cb af\s+res 5,a
\s+38e:\s+cb a8\s+res 5,b
\s+390:\s+cb a9\s+res 5,c
\s+392:\s+cb aa\s+res 5,d
\s+394:\s+cb ab\s+res 5,e
\s+396:\s+cb ac\s+res 5,h
\s+398:\s+cb ad\s+res 5,l
\s+39a:\s+cb b6\s+res 6,\(hl\)
\s+39c:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
\s+3a0:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
\s+3a4:\s+cb b7\s+res 6,a
\s+3a6:\s+cb b0\s+res 6,b
\s+3a8:\s+cb b1\s+res 6,c
\s+3aa:\s+cb b2\s+res 6,d
\s+3ac:\s+cb b3\s+res 6,e
\s+3ae:\s+cb b4\s+res 6,h
\s+3b0:\s+cb b5\s+res 6,l
\s+3b2:\s+cb be\s+res 7,\(hl\)
\s+3b4:\s+dd cb 09 be\s+res 7,\(ix\+9\)
\s+3b8:\s+fd cb 09 be\s+res 7,\(iy\+9\)
\s+3bc:\s+cb bf\s+res 7,a
\s+3be:\s+cb b8\s+res 7,b
\s+3c0:\s+cb b9\s+res 7,c
\s+3c2:\s+cb ba\s+res 7,d
\s+3c4:\s+cb bb\s+res 7,e
\s+3c6:\s+cb bc\s+res 7,h
\s+3c8:\s+cb bd\s+res 7,l
\s+3ca:\s+c9\s+ret
\s+3cb:\s+d8\s+ret c
\s+3cc:\s+f8\s+ret m
\s+3cd:\s+d0\s+ret nc
\s+3ce:\s+c0\s+ret nz
\s+3cf:\s+f0\s+ret p
\s+3d0:\s+e8\s+ret pe
\s+3d1:\s+e0\s+ret po
\s+3d2:\s+c8\s+ret z
\s+3d3:\s+ed 4d\s+reti
\s+3d5:\s+ed 45\s+retn
\s+3d7:\s+cb 16\s+rl \(hl\)
\s+3d9:\s+dd cb 09 16\s+rl \(ix\+9\)
\s+3dd:\s+fd cb 09 16\s+rl \(iy\+9\)
\s+3e1:\s+cb 17\s+rl a
\s+3e3:\s+cb 10\s+rl b
\s+3e5:\s+cb 11\s+rl c
\s+3e7:\s+cb 12\s+rl d
\s+3e9:\s+cb 13\s+rl e
\s+3eb:\s+cb 14\s+rl h
\s+3ed:\s+cb 15\s+rl l
\s+3ef:\s+17\s+rla
\s+3f0:\s+cb 06\s+rlc \(hl\)
\s+3f2:\s+dd cb 09 06\s+rlc \(ix\+9\)
\s+3f6:\s+fd cb 09 06\s+rlc \(iy\+9\)
\s+3fa:\s+cb 07\s+rlc a
\s+3fc:\s+cb 00\s+rlc b
\s+3fe:\s+cb 01\s+rlc c
\s+400:\s+cb 02\s+rlc d
\s+402:\s+cb 03\s+rlc e
\s+404:\s+cb 04\s+rlc h
\s+406:\s+cb 05\s+rlc l
\s+408:\s+07\s+rlca
\s+409:\s+ed 6f\s+rld
\s+40b:\s+cb 1e\s+rr \(hl\)
\s+40d:\s+dd cb 09 1e\s+rr \(ix\+9\)
\s+411:\s+fd cb 09 1e\s+rr \(iy\+9\)
\s+415:\s+cb 1f\s+rr a
\s+417:\s+cb 18\s+rr b
\s+419:\s+cb 19\s+rr c
\s+41b:\s+cb 1a\s+rr d
\s+41d:\s+cb 1b\s+rr e
\s+41f:\s+cb 1c\s+rr h
\s+421:\s+cb 1d\s+rr l
\s+423:\s+1f\s+rra
\s+424:\s+cb 0e\s+rrc \(hl\)
\s+426:\s+dd cb 09 0e\s+rrc \(ix\+9\)
\s+42a:\s+fd cb 09 0e\s+rrc \(iy\+9\)
\s+42e:\s+cb 0f\s+rrc a
\s+430:\s+cb 08\s+rrc b
\s+432:\s+cb 09\s+rrc c
\s+434:\s+cb 0a\s+rrc d
\s+436:\s+cb 0b\s+rrc e
\s+438:\s+cb 0c\s+rrc h
\s+43a:\s+cb 0d\s+rrc l
\s+43c:\s+0f\s+rrca
\s+43d:\s+ed 67\s+rrd
\s+43f:\s+c7\s+rst 0x00
\s+440:\s+cf\s+rst 0x08
\s+441:\s+d7\s+rst 0x10
\s+442:\s+df\s+rst 0x18
\s+443:\s+e7\s+rst 0x20
\s+444:\s+ef\s+rst 0x28
\s+445:\s+f7\s+rst 0x30
\s+446:\s+ff\s+rst 0x38
\s+447:\s+9e\s+sbc a,\(hl\)
\s+448:\s+dd 9e 09\s+sbc a,\(ix\+9\)
\s+44b:\s+fd 9e 09\s+sbc a,\(iy\+9\)
\s+44e:\s+de 03\s+sbc a,0x03
\s+450:\s+9f\s+sbc a,a
\s+451:\s+98\s+sbc a,b
\s+452:\s+99\s+sbc a,c
\s+453:\s+9a\s+sbc a,d
\s+454:\s+9b\s+sbc a,e
\s+455:\s+9c\s+sbc a,h
\s+456:\s+9d\s+sbc a,l
\s+457:\s+ed 42\s+sbc hl,bc
\s+459:\s+ed 52\s+sbc hl,de
\s+45b:\s+ed 62\s+sbc hl,hl
\s+45d:\s+ed 72\s+sbc hl,sp
\s+45f:\s+37\s+scf
\s+460:\s+cb c6\s+set 0,\(hl\)
\s+462:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
\s+466:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
\s+46a:\s+cb c7\s+set 0,a
\s+46c:\s+cb c0\s+set 0,b
\s+46e:\s+cb c1\s+set 0,c
\s+470:\s+cb c2\s+set 0,d
\s+472:\s+cb c3\s+set 0,e
\s+474:\s+cb c4\s+set 0,h
\s+476:\s+cb c5\s+set 0,l
\s+478:\s+cb ce\s+set 1,\(hl\)
\s+47a:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
\s+47e:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
\s+482:\s+cb cf\s+set 1,a
\s+484:\s+cb c8\s+set 1,b
\s+486:\s+cb c9\s+set 1,c
\s+488:\s+cb ca\s+set 1,d
\s+48a:\s+cb cb\s+set 1,e
\s+48c:\s+cb cc\s+set 1,h
\s+48e:\s+cb cd\s+set 1,l
\s+490:\s+cb d6\s+set 2,\(hl\)
\s+492:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
\s+496:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
\s+49a:\s+cb d7\s+set 2,a
\s+49c:\s+cb d0\s+set 2,b
\s+49e:\s+cb d1\s+set 2,c
\s+4a0:\s+cb d2\s+set 2,d
\s+4a2:\s+cb d3\s+set 2,e
\s+4a4:\s+cb d4\s+set 2,h
\s+4a6:\s+cb d5\s+set 2,l
\s+4a8:\s+cb de\s+set 3,\(hl\)
\s+4aa:\s+dd cb 09 de\s+set 3,\(ix\+9\)
\s+4ae:\s+fd cb 09 de\s+set 3,\(iy\+9\)
\s+4b2:\s+cb df\s+set 3,a
\s+4b4:\s+cb d8\s+set 3,b
\s+4b6:\s+cb d9\s+set 3,c
\s+4b8:\s+cb da\s+set 3,d
\s+4ba:\s+cb db\s+set 3,e
\s+4bc:\s+cb dc\s+set 3,h
\s+4be:\s+cb dd\s+set 3,l
\s+4c0:\s+cb e6\s+set 4,\(hl\)
\s+4c2:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
\s+4c6:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
\s+4ca:\s+cb e7\s+set 4,a
\s+4cc:\s+cb e0\s+set 4,b
\s+4ce:\s+cb e1\s+set 4,c
\s+4d0:\s+cb e2\s+set 4,d
\s+4d2:\s+cb e3\s+set 4,e
\s+4d4:\s+cb e4\s+set 4,h
\s+4d6:\s+cb e5\s+set 4,l
\s+4d8:\s+cb ee\s+set 5,\(hl\)
\s+4da:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
\s+4de:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
\s+4e2:\s+cb ef\s+set 5,a
\s+4e4:\s+cb e8\s+set 5,b
\s+4e6:\s+cb e9\s+set 5,c
\s+4e8:\s+cb ea\s+set 5,d
\s+4ea:\s+cb eb\s+set 5,e
\s+4ec:\s+cb ec\s+set 5,h
\s+4ee:\s+cb ed\s+set 5,l
\s+4f0:\s+cb f6\s+set 6,\(hl\)
\s+4f2:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
\s+4f6:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
\s+4fa:\s+cb f7\s+set 6,a
\s+4fc:\s+cb f0\s+set 6,b
\s+4fe:\s+cb f1\s+set 6,c
\s+500:\s+cb f2\s+set 6,d
\s+502:\s+cb f3\s+set 6,e
\s+504:\s+cb f4\s+set 6,h
\s+506:\s+cb f5\s+set 6,l
\s+508:\s+cb fe\s+set 7,\(hl\)
\s+50a:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
\s+50e:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
\s+512:\s+cb ff\s+set 7,a
\s+514:\s+cb f8\s+set 7,b
\s+516:\s+cb f9\s+set 7,c
\s+518:\s+cb fa\s+set 7,d
\s+51a:\s+cb fb\s+set 7,e
\s+51c:\s+cb fc\s+set 7,h
\s+51e:\s+cb fd\s+set 7,l
\s+520:\s+cb 26\s+sla \(hl\)
\s+522:\s+dd cb 09 26\s+sla \(ix\+9\)
\s+526:\s+fd cb 09 26\s+sla \(iy\+9\)
\s+52a:\s+cb 27\s+sla a
\s+52c:\s+cb 20\s+sla b
\s+52e:\s+cb 21\s+sla c
\s+530:\s+cb 22\s+sla d
\s+532:\s+cb 23\s+sla e
\s+534:\s+cb 24\s+sla h
\s+536:\s+cb 25\s+sla l
\s+538:\s+cb 2e\s+sra \(hl\)
\s+53a:\s+dd cb 09 2e\s+sra \(ix\+9\)
\s+53e:\s+fd cb 09 2e\s+sra \(iy\+9\)
\s+542:\s+cb 2f\s+sra a
\s+544:\s+cb 28\s+sra b
\s+546:\s+cb 29\s+sra c
\s+548:\s+cb 2a\s+sra d
\s+54a:\s+cb 2b\s+sra e
\s+54c:\s+cb 2c\s+sra h
\s+54e:\s+cb 2d\s+sra l
\s+550:\s+cb 3e\s+srl \(hl\)
\s+552:\s+dd cb 09 3e\s+srl \(ix\+9\)
\s+556:\s+fd cb 09 3e\s+srl \(iy\+9\)
\s+55a:\s+cb 3f\s+srl a
\s+55c:\s+cb 38\s+srl b
\s+55e:\s+cb 39\s+srl c
\s+560:\s+cb 3a\s+srl d
\s+562:\s+cb 3b\s+srl e
\s+564:\s+cb 3c\s+srl h
\s+566:\s+cb 3d\s+srl l
\s+568:\s+96\s+sub \(hl\)
\s+569:\s+dd 96 09\s+sub \(ix\+9\)
\s+56c:\s+fd 96 09\s+sub \(iy\+9\)
\s+56f:\s+d6 03\s+sub 0x03
\s+571:\s+97\s+sub a
\s+572:\s+90\s+sub b
\s+573:\s+91\s+sub c
\s+574:\s+92\s+sub d
\s+575:\s+93\s+sub e
\s+576:\s+94\s+sub h
\s+577:\s+95\s+sub l
\s+578:\s+ae\s+xor \(hl\)
\s+579:\s+dd ae 09\s+xor \(ix\+9\)
\s+57c:\s+fd ae 09\s+xor \(iy\+9\)
\s+57f:\s+ee 03\s+xor 0x03
\s+581:\s+af\s+xor a
\s+582:\s+a8\s+xor b
\s+583:\s+a9\s+xor c
\s+584:\s+aa\s+xor d
\s+585:\s+ab\s+xor e
\s+586:\s+ac\s+xor h
\s+587:\s+ad\s+xor l

View file

@ -0,0 +1,152 @@
#name: SDCC compatibility mode
#source: sdcc.s -z80 -sdcc
#objdump: -d -j _CODE
.*:[ ]+file format (coff)|(elf32)\-z80
Disassembly of section _CODE:
00000000 <_start>:
[ ]+0:[ ]+21 04 00[ ]+ld hl,0x0004
[ ]+3:[ ]+8f[ ]+adc a,a
[ ]+4:[ ]+88[ ]+adc a,b
[ ]+5:[ ]+89[ ]+adc a,c
[ ]+6:[ ]+8a[ ]+adc a,d
[ ]+7:[ ]+8b[ ]+adc a,e
[ ]+8:[ ]+8c[ ]+adc a,h
[ ]+9:[ ]+8d[ ]+adc a,l
[ ]+a:[ ]+dd 8c[ ]+adc a,ixh
[ ]+c:[ ]+dd 8d[ ]+adc a,ixl
[ ]+e:[ ]+fd 8c[ ]+adc a,iyh
[ ]+10:[ ]+fd 8d[ ]+adc a,iyl
[ ]+12:[ ]+ce a5[ ]+adc a,0xa5
[ ]+14:[ ]+8e[ ]+adc a,\(hl\)
[ ]+15:[ ]+dd 8e 05[ ]+adc a,\(ix\+5\)
[ ]+18:[ ]+fd 8e fe[ ]+adc a,\(iy\-2\)
[ ]+1b:[ ]+87[ ]+add a,a
[ ]+1c:[ ]+80[ ]+add a,b
[ ]+1d:[ ]+81[ ]+add a,c
[ ]+1e:[ ]+82[ ]+add a,d
[ ]+1f:[ ]+83[ ]+add a,e
[ ]+20:[ ]+84[ ]+add a,h
[ ]+21:[ ]+85[ ]+add a,l
[ ]+22:[ ]+dd 84[ ]+add a,ixh
[ ]+24:[ ]+dd 85[ ]+add a,ixl
[ ]+26:[ ]+fd 84[ ]+add a,iyh
[ ]+28:[ ]+fd 85[ ]+add a,iyl
[ ]+2a:[ ]+c6 a5[ ]+add a,0xa5
[ ]+2c:[ ]+86[ ]+add a,\(hl\)
[ ]+2d:[ ]+dd 86 05[ ]+add a,\(ix\+5\)
[ ]+30:[ ]+fd 86 fe[ ]+add a,\(iy\-2\)
[ ]+33:[ ]+a7[ ]+and a
[ ]+34:[ ]+a0[ ]+and b
[ ]+35:[ ]+a1[ ]+and c
[ ]+36:[ ]+a2[ ]+and d
[ ]+37:[ ]+a3[ ]+and e
[ ]+38:[ ]+a4[ ]+and h
[ ]+39:[ ]+a5[ ]+and l
[ ]+3a:[ ]+dd a4[ ]+and ixh
[ ]+3c:[ ]+dd a5[ ]+and ixl
[ ]+3e:[ ]+fd a4[ ]+and iyh
[ ]+40:[ ]+fd a5[ ]+and iyl
[ ]+42:[ ]+e6 a5[ ]+and 0xa5
[ ]+44:[ ]+a6[ ]+and \(hl\)
[ ]+45:[ ]+dd a6 05[ ]+and \(ix\+5\)
[ ]+48:[ ]+fd a6 fe[ ]+and \(iy\-2\)
[ ]+4b:[ ]+bf[ ]+cp a
[ ]+4c:[ ]+b8[ ]+cp b
[ ]+4d:[ ]+b9[ ]+cp c
[ ]+4e:[ ]+ba[ ]+cp d
[ ]+4f:[ ]+bb[ ]+cp e
[ ]+50:[ ]+bc[ ]+cp h
[ ]+51:[ ]+bd[ ]+cp l
[ ]+52:[ ]+dd bc[ ]+cp ixh
[ ]+54:[ ]+dd bd[ ]+cp ixl
[ ]+56:[ ]+fd bc[ ]+cp iyh
[ ]+58:[ ]+fd bd[ ]+cp iyl
[ ]+5a:[ ]+fe a5[ ]+cp 0xa5
[ ]+5c:[ ]+be[ ]+cp \(hl\)
[ ]+5d:[ ]+dd be 05[ ]+cp \(ix\+5\)
[ ]+60:[ ]+fd be fe[ ]+cp \(iy\-2\)
[ ]+63:[ ]+b7[ ]+or a
[ ]+64:[ ]+b0[ ]+or b
[ ]+65:[ ]+b1[ ]+or c
[ ]+66:[ ]+b2[ ]+or d
[ ]+67:[ ]+b3[ ]+or e
[ ]+68:[ ]+b4[ ]+or h
[ ]+69:[ ]+b5[ ]+or l
[ ]+6a:[ ]+dd b4[ ]+or ixh
[ ]+6c:[ ]+dd b5[ ]+or ixl
[ ]+6e:[ ]+fd b4[ ]+or iyh
[ ]+70:[ ]+fd b5[ ]+or iyl
[ ]+72:[ ]+f6 a5[ ]+or 0xa5
[ ]+74:[ ]+b6[ ]+or \(hl\)
[ ]+75:[ ]+dd b6 05[ ]+or \(ix\+5\)
[ ]+78:[ ]+fd b6 fe[ ]+or \(iy\-2\)
[ ]+7b:[ ]+9f[ ]+sbc a,a
[ ]+7c:[ ]+98[ ]+sbc a,b
[ ]+7d:[ ]+99[ ]+sbc a,c
[ ]+7e:[ ]+9a[ ]+sbc a,d
[ ]+7f:[ ]+9b[ ]+sbc a,e
[ ]+80:[ ]+9c[ ]+sbc a,h
[ ]+81:[ ]+9d[ ]+sbc a,l
[ ]+82:[ ]+dd 9c[ ]+sbc a,ixh
[ ]+84:[ ]+dd 9d[ ]+sbc a,ixl
[ ]+86:[ ]+fd 9c[ ]+sbc a,iyh
[ ]+88:[ ]+fd 9d[ ]+sbc a,iyl
[ ]+8a:[ ]+de a5[ ]+sbc a,0xa5
[ ]+8c:[ ]+9e[ ]+sbc a,\(hl\)
[ ]+8d:[ ]+dd 9e 05[ ]+sbc a,\(ix\+5\)
[ ]+90:[ ]+fd 9e fe[ ]+sbc a,\(iy\-2\)
[ ]+93:[ ]+97[ ]+sub a
[ ]+94:[ ]+90[ ]+sub b
[ ]+95:[ ]+91[ ]+sub c
[ ]+96:[ ]+92[ ]+sub d
[ ]+97:[ ]+93[ ]+sub e
[ ]+98:[ ]+94[ ]+sub h
[ ]+99:[ ]+95[ ]+sub l
[ ]+9a:[ ]+dd 94[ ]+sub ixh
[ ]+9c:[ ]+dd 95[ ]+sub ixl
[ ]+9e:[ ]+fd 94[ ]+sub iyh
[ ]+a0:[ ]+fd 95[ ]+sub iyl
[ ]+a2:[ ]+d6 a5[ ]+sub 0xa5
[ ]+a4:[ ]+96[ ]+sub \(hl\)
[ ]+a5:[ ]+dd 96 05[ ]+sub \(ix\+5\)
[ ]+a8:[ ]+fd 96 fe[ ]+sub \(iy\-2\)
[ ]+ab:[ ]+af[ ]+xor a
[ ]+ac:[ ]+a8[ ]+xor b
[ ]+ad:[ ]+a9[ ]+xor c
[ ]+ae:[ ]+aa[ ]+xor d
[ ]+af:[ ]+ab[ ]+xor e
[ ]+b0:[ ]+ac[ ]+xor h
[ ]+b1:[ ]+ad[ ]+xor l
[ ]+b2:[ ]+dd ac[ ]+xor ixh
[ ]+b4:[ ]+dd ad[ ]+xor ixl
[ ]+b6:[ ]+fd ac[ ]+xor iyh
[ ]+b8:[ ]+fd ad[ ]+xor iyl
[ ]+ba:[ ]+ee a5[ ]+xor 0xa5
[ ]+bc:[ ]+ae[ ]+xor \(hl\)
[ ]+bd:[ ]+dd ae 05[ ]+xor \(ix\+5\)
[ ]+c0:[ ]+fd ae fe[ ]+xor \(iy\-2\)
[ ]+c3:[ ]+c3 03 00[ ]+jp 0x0003
[ ]+c6:[ ]+c3 1b 00[ ]+jp 0x001b
[ ]+c9:[ ]+c3 33 00[ ]+jp 0x0033
[ ]+cc:[ ]+c3 4b 00[ ]+jp 0x004b
[ ]+cf:[ ]+c3 7b 00[ ]+jp 0x007b
[ ]+d2:[ ]+c3 93 00[ ]+jp 0x0093
[ ]+d5:[ ]+c3 ab 00[ ]+jp 0x00ab
[ ]+d8:[ ]+21 00 00[ ]+ld hl,0x0000
[ ]+db:[ ]+36 00[ ]+ld \(hl\),0x00
[ ]+dd:[ ]+23[ ]+inc hl
[ ]+de:[ ]+36 00[ ]+ld \(hl\),0x00
[ ]+e0:[ ]+18 fb[ ]+jr 0x00dd
000000e2 <_finish>:
[ ]+e2:[ ]+fd 7e 02[ ]+ld a,\(iy\+2\)
[ ]+e5:[ ]+dd 77 ff[ ]+ld \(ix\-1\),a
[ ]+e8:[ ]+3a 34 12[ ]+ld a,\(0x1234\)
[ ]+eb:[ ]+c9[ ]+ret
[ ]+ec:[ ]+27[ ]+daa
[ ]+ed:[ ]+1f[ ]+rra
[ ]+ee:[ ]+2f[ ]+cpl

View file

@ -0,0 +1,167 @@
.module longpolls
.optsdcc -mz80
valueadr = 0x1234
.globl function
.globl _start
.globl _finish
.area _DABS (ABS)
.area _HOME
.area _CODE
_start::
;comment
ld hl, #4+0
00000$:
adc a, a
adc a, b
adc a, c
adc a, d
adc a, e
adc a, h
adc a, l
adc a, ixh
adc a, ixl
adc a, iyh
adc a, iyl
adc a, #0xa5
adc a, (hl)
adc a, 5 (ix)
adc a, -2 (iy)
00100$:
add a, a
add a, b
add a, c
add a, d
add a, e
add a, h
add a, l
add a, ixh
add a, ixl
add a, iyh
add a, iyl
add a, #0xa5
add a, (hl)
add a, 5 (ix)
add a, -2 (iy)
00200$:
and a, a
and a, b
and a, c
and a, d
and a, e
and a, h
and a, l
and a, ixh
and a, ixl
and a, iyh
and a, iyl
and a, #0xa5
and a, (hl)
and a, 5 (ix)
and a, -2 (iy)
00300$:
cp a, a
cp a, b
cp a, c
cp a, d
cp a, e
cp a, h
cp a, l
cp a, ixh
cp a, ixl
cp a, iyh
cp a, iyl
cp a, #0xa5
cp a, (hl)
cp a, 5 (ix)
cp a, -2 (iy)
00400$:
or a, a
or a, b
or a, c
or a, d
or a, e
or a, h
or a, l
or a, ixh
or a, ixl
or a, iyh
or a, iyl
or a, #0xa5
or a, (hl)
or a, 5 (ix)
or a, -2 (iy)
00500$:
sbc a, a
sbc a, b
sbc a, c
sbc a, d
sbc a, e
sbc a, h
sbc a, l
sbc a, ixh
sbc a, ixl
sbc a, iyh
sbc a, iyl
sbc a, #0xa5
sbc a, (hl)
sbc a, 5 (ix)
sbc a, -2 (iy)
00600$:
sub a, a
sub a, b
sub a, c
sub a, d
sub a, e
sub a, h
sub a, l
sub a, ixh
sub a, ixl
sub a, iyh
sub a, iyl
sub a, #0xa5
sub a, (hl)
sub a, 5 (ix)
sub a, -2 (iy)
00700$:
xor a, a
xor a, b
xor a, c
xor a, d
xor a, e
xor a, h
xor a, l
xor a, ixh
xor a, ixl
xor a, iyh
xor a, iyl
xor a, #0xa5
xor a, (hl)
xor a, 5 (ix)
xor a, -2 (iy)
jp 0$
jp 100$
jp 200$
jp 300$
jp 500$
jp 600$
jp 700$
.L_func:
ld hl,0
ld (hl),#<function
00100$:
inc hl
ld (hl),#>function
00600$:
jr 100$
_finish::
ld a, 2 (iy)
ld -1 (ix), a
ld a, (#valueadr+#0)
ret
.dw #0x1f27
.db #0x2f
.end

View file

@ -0,0 +1,8 @@
#objdump: -s -j .data
#name: .set redefinitions
.*: .*
Contents of section .data:
0000 00000000 04000000 08000000 0c000000[ ]+................[ ]*
#pass

View file

@ -0,0 +1,11 @@
.data
_start:
.set x, .-_start
.long x
.balign 4
.set x, .-_start
.long x
.L_xx: .set x, .-_start
.long x
.L_yy:.set x, .-_start
.long x

View file

@ -0,0 +1,14 @@
#name: strings test
#objdump: -s -j .data
.*:[ ]+file format (coff)|(elf32)\-z80
Contents of section \.data:
0000 2e646220 74657874 5c6e3833 37343830.*
0010 44454642 20746578 745c6e64 38373833.*
0020 4445464d 20746578 745c6e33 37383537.*
0030 44422074 6578745c 6e333837 39383337.*
0040 2e617363 69692074 6578743a bf0c0a00.*
0050 2e617363 697a2074 6578740a 39393900.*
0060 2e737472 696e6720 74657874 0a090000.*
#pass

View file

@ -0,0 +1,9 @@
.data
.db ".db text\n837480"
DEFB "DEFB text\nd8783"
DEFM "DEFM text\n37857"
DB "DB text\n3879837"
.ascii ".ascii text\72\277\f\n\0"
.asciz ".asciz text\n999"
.string ".string text\n\t\0"
.end

View file

@ -6,7 +6,7 @@
RELOCATION RECORDS FOR \[.data\]:
OFFSET[ ]+TYPE[ ]+VALUE[ ]*
00000002[ ]+r_imm16[ ]+.data[ ]*
00000014[ ]+r_imm16[ ]+.data[ ]*
00000014[ ]+r_imm16[ ]+.data(\+0x00000016)?[ ]*
Contents of section .data:

View file

@ -0,0 +1,42 @@
#as: -z180
#objdump: -d
#name: Z180 specific instructions
.*: .*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+ed 38 05\s+in0 a,\(0x05\)
\s+3:\s+ed 00 05\s+in0 b,\(0x05\)
\s+6:\s+ed 08 05\s+in0 c,\(0x05\)
\s+9:\s+ed 10 05\s+in0 d,\(0x05\)
\s+c:\s+ed 18 05\s+in0 e,\(0x05\)
\s+f:\s+ed 20 05\s+in0 h,\(0x05\)
\s+12:\s+ed 28 05\s+in0 l,\(0x05\)
\s+15:\s+ed 39 05\s+out0 \(0x05\),a
\s+18:\s+ed 01 05\s+out0 \(0x05\),b
\s+1b:\s+ed 09 05\s+out0 \(0x05\),c
\s+1e:\s+ed 11 05\s+out0 \(0x05\),d
\s+21:\s+ed 19 05\s+out0 \(0x05\),e
\s+24:\s+ed 21 05\s+out0 \(0x05\),h
\s+27:\s+ed 29 05\s+out0 \(0x05\),l
\s+2a:\s+ed 4c\s+mlt bc
\s+2c:\s+ed 5c\s+mlt de
\s+2e:\s+ed 6c\s+mlt hl
\s+30:\s+ed 7c\s+mlt sp
\s+32:\s+ed 3c\s+tst a
\s+34:\s+ed 04\s+tst b
\s+36:\s+ed 0c\s+tst c
\s+38:\s+ed 14\s+tst d
\s+3a:\s+ed 1c\s+tst e
\s+3c:\s+ed 24\s+tst h
\s+3e:\s+ed 2c\s+tst l
\s+40:\s+ed 34\s+tst \(hl\)
\s+42:\s+ed 64 0f\s+tst 0x0f
\s+45:\s+ed 74 f0\s+tstio 0xf0
\s+48:\s+ed 76\s+slp
\s+4a:\s+ed 83\s+otim
\s+4c:\s+ed 8b\s+otdm
\s+4e:\s+ed 93\s+otimr
\s+50:\s+ed 9b\s+otdmr

View file

@ -0,0 +1,50 @@
.text
.org 0
;; Zylog Z180 instructions
; IN0 group
in0 a,(0x5)
in0 b,(0x5)
in0 c,(0x5)
in0 d,(0x5)
in0 e,(0x5)
in0 h,(0x5)
in0 l,(0x5)
; OUT0 group
out0 (0x5),a
out0 (0x5),b
out0 (0x5),c
out0 (0x5),d
out0 (0x5),e
out0 (0x5),h
out0 (0x5),l
; MLT group
mlt bc
mlt de
mlt hl
mlt sp
; TST group
tst a
tst b
tst c
tst d
tst e
tst h
tst l
tst (hl)
tst 0fh
; TSTIO instruction
tstio 0f0h
; SLP instruction
slp
; Additional block I/O instructions
OTIM
OTDM
OTIMR
OTDMR

View file

@ -0,0 +1,707 @@
#as: -z180
#objdump: -d
#name: All Z80 documented instructions for Z180
#source: z80_doc.s
#source: z180.s
.*: .*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+8e\s+adc a,\(hl\)
\s+1:\s+dd 8e 09\s+adc a,\(ix\+9\)
\s+4:\s+fd 8e 09\s+adc a,\(iy\+9\)
\s+7:\s+ce 03\s+adc a,0x03
\s+9:\s+8f\s+adc a,a
\s+a:\s+88\s+adc a,b
\s+b:\s+89\s+adc a,c
\s+c:\s+8a\s+adc a,d
\s+d:\s+8b\s+adc a,e
\s+e:\s+8c\s+adc a,h
\s+f:\s+8d\s+adc a,l
\s+10:\s+ed 4a\s+adc hl,bc
\s+12:\s+ed 5a\s+adc hl,de
\s+14:\s+ed 6a\s+adc hl,hl
\s+16:\s+ed 7a\s+adc hl,sp
\s+18:\s+86\s+add a,\(hl\)
\s+19:\s+dd 86 09\s+add a,\(ix\+9\)
\s+1c:\s+fd 86 09\s+add a,\(iy\+9\)
\s+1f:\s+c6 03\s+add a,0x03
\s+21:\s+87\s+add a,a
\s+22:\s+80\s+add a,b
\s+23:\s+81\s+add a,c
\s+24:\s+82\s+add a,d
\s+25:\s+83\s+add a,e
\s+26:\s+84\s+add a,h
\s+27:\s+85\s+add a,l
\s+28:\s+09\s+add hl,bc
\s+29:\s+19\s+add hl,de
\s+2a:\s+29\s+add hl,hl
\s+2b:\s+39\s+add hl,sp
\s+2c:\s+dd 09\s+add ix,bc
\s+2e:\s+dd 19\s+add ix,de
\s+30:\s+dd 29\s+add ix,ix
\s+32:\s+dd 39\s+add ix,sp
\s+34:\s+fd 09\s+add iy,bc
\s+36:\s+fd 19\s+add iy,de
\s+38:\s+fd 29\s+add iy,iy
\s+3a:\s+fd 39\s+add iy,sp
\s+3c:\s+a6\s+and \(hl\)
\s+3d:\s+dd a6 09\s+and \(ix\+9\)
\s+40:\s+fd a6 09\s+and \(iy\+9\)
\s+43:\s+e6 03\s+and 0x03
\s+45:\s+a7\s+and a
\s+46:\s+a0\s+and b
\s+47:\s+a1\s+and c
\s+48:\s+a2\s+and d
\s+49:\s+a3\s+and e
\s+4a:\s+a4\s+and h
\s+4b:\s+a5\s+and l
\s+4c:\s+cb 46\s+bit 0,\(hl\)
\s+4e:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
\s+52:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
\s+56:\s+cb 47\s+bit 0,a
\s+58:\s+cb 40\s+bit 0,b
\s+5a:\s+cb 41\s+bit 0,c
\s+5c:\s+cb 42\s+bit 0,d
\s+5e:\s+cb 43\s+bit 0,e
\s+60:\s+cb 44\s+bit 0,h
\s+62:\s+cb 45\s+bit 0,l
\s+64:\s+cb 4e\s+bit 1,\(hl\)
\s+66:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
\s+6a:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
\s+6e:\s+cb 4f\s+bit 1,a
\s+70:\s+cb 48\s+bit 1,b
\s+72:\s+cb 49\s+bit 1,c
\s+74:\s+cb 4a\s+bit 1,d
\s+76:\s+cb 4b\s+bit 1,e
\s+78:\s+cb 4c\s+bit 1,h
\s+7a:\s+cb 4d\s+bit 1,l
\s+7c:\s+cb 56\s+bit 2,\(hl\)
\s+7e:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
\s+82:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
\s+86:\s+cb 57\s+bit 2,a
\s+88:\s+cb 50\s+bit 2,b
\s+8a:\s+cb 51\s+bit 2,c
\s+8c:\s+cb 52\s+bit 2,d
\s+8e:\s+cb 53\s+bit 2,e
\s+90:\s+cb 54\s+bit 2,h
\s+92:\s+cb 55\s+bit 2,l
\s+94:\s+cb 5e\s+bit 3,\(hl\)
\s+96:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
\s+9a:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
\s+9e:\s+cb 5f\s+bit 3,a
\s+a0:\s+cb 58\s+bit 3,b
\s+a2:\s+cb 59\s+bit 3,c
\s+a4:\s+cb 5a\s+bit 3,d
\s+a6:\s+cb 5b\s+bit 3,e
\s+a8:\s+cb 5c\s+bit 3,h
\s+aa:\s+cb 5d\s+bit 3,l
\s+ac:\s+cb 66\s+bit 4,\(hl\)
\s+ae:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
\s+b2:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
\s+b6:\s+cb 67\s+bit 4,a
\s+b8:\s+cb 60\s+bit 4,b
\s+ba:\s+cb 61\s+bit 4,c
\s+bc:\s+cb 62\s+bit 4,d
\s+be:\s+cb 63\s+bit 4,e
\s+c0:\s+cb 64\s+bit 4,h
\s+c2:\s+cb 65\s+bit 4,l
\s+c4:\s+cb 6e\s+bit 5,\(hl\)
\s+c6:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
\s+ca:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
\s+ce:\s+cb 6f\s+bit 5,a
\s+d0:\s+cb 68\s+bit 5,b
\s+d2:\s+cb 69\s+bit 5,c
\s+d4:\s+cb 6a\s+bit 5,d
\s+d6:\s+cb 6b\s+bit 5,e
\s+d8:\s+cb 6c\s+bit 5,h
\s+da:\s+cb 6d\s+bit 5,l
\s+dc:\s+cb 76\s+bit 6,\(hl\)
\s+de:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
\s+e2:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
\s+e6:\s+cb 77\s+bit 6,a
\s+e8:\s+cb 70\s+bit 6,b
\s+ea:\s+cb 71\s+bit 6,c
\s+ec:\s+cb 72\s+bit 6,d
\s+ee:\s+cb 73\s+bit 6,e
\s+f0:\s+cb 74\s+bit 6,h
\s+f2:\s+cb 75\s+bit 6,l
\s+f4:\s+cb 7e\s+bit 7,\(hl\)
\s+f6:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
\s+fa:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
\s+fe:\s+cb 7f\s+bit 7,a
\s+100:\s+cb 78\s+bit 7,b
\s+102:\s+cb 79\s+bit 7,c
\s+104:\s+cb 7a\s+bit 7,d
\s+106:\s+cb 7b\s+bit 7,e
\s+108:\s+cb 7c\s+bit 7,h
\s+10a:\s+cb 7d\s+bit 7,l
\s+10c:\s+cd 34 12\s+call 0x1234
\s+10f:\s+dc 34 12\s+call c,0x1234
\s+112:\s+fc 34 12\s+call m,0x1234
\s+115:\s+d4 34 12\s+call nc,0x1234
\s+118:\s+c4 34 12\s+call nz,0x1234
\s+11b:\s+f4 34 12\s+call p,0x1234
\s+11e:\s+ec 34 12\s+call pe,0x1234
\s+121:\s+e4 34 12\s+call po,0x1234
\s+124:\s+cc 34 12\s+call z,0x1234
\s+127:\s+3f\s+ccf
\s+128:\s+be\s+cp \(hl\)
\s+129:\s+dd be 09\s+cp \(ix\+9\)
\s+12c:\s+fd be 09\s+cp \(iy\+9\)
\s+12f:\s+fe 03\s+cp 0x03
\s+131:\s+bf\s+cp a
\s+132:\s+b8\s+cp b
\s+133:\s+b9\s+cp c
\s+134:\s+ba\s+cp d
\s+135:\s+bb\s+cp e
\s+136:\s+bc\s+cp h
\s+137:\s+bd\s+cp l
\s+138:\s+ed a9\s+cpd
\s+13a:\s+ed b9\s+cpdr
\s+13c:\s+ed a1\s+cpi
\s+13e:\s+ed b1\s+cpir
\s+140:\s+2f\s+cpl
\s+141:\s+27\s+daa
\s+142:\s+35\s+dec \(hl\)
\s+143:\s+dd 35 09\s+dec \(ix\+9\)
\s+146:\s+fd 35 09\s+dec \(iy\+9\)
\s+149:\s+3d\s+dec a
\s+14a:\s+05\s+dec b
\s+14b:\s+0b\s+dec bc
\s+14c:\s+0d\s+dec c
\s+14d:\s+15\s+dec d
\s+14e:\s+1b\s+dec de
\s+14f:\s+1d\s+dec e
\s+150:\s+25\s+dec h
\s+151:\s+2b\s+dec hl
\s+152:\s+dd 2b\s+dec ix
\s+154:\s+fd 2b\s+dec iy
\s+156:\s+2d\s+dec l
\s+157:\s+3b\s+dec sp
\s+158:\s+f3\s+di
\s+159:\s+10 05\s+djnz 0x0160
\s+15b:\s+fb\s+ei
\s+15c:\s+e3\s+ex \(sp\),hl
\s+15d:\s+dd e3\s+ex \(sp\),ix
\s+15f:\s+fd e3\s+ex \(sp\),iy
\s+161:\s+08\s+ex af,af'
\s+162:\s+eb\s+ex de,hl
\s+163:\s+d9\s+exx
\s+164:\s+76\s+halt
\s+165:\s+ed 46\s+im 0
\s+167:\s+ed 56\s+im 1
\s+169:\s+ed 5e\s+im 2
\s+16b:\s+ed 78\s+in a,\(c\)
\s+16d:\s+db 03\s+in a,\(0x03\)
\s+16f:\s+ed 40\s+in b,\(c\)
\s+171:\s+ed 48\s+in c,\(c\)
\s+173:\s+ed 50\s+in d,\(c\)
\s+175:\s+ed 58\s+in e,\(c\)
\s+177:\s+ed 60\s+in h,\(c\)
\s+179:\s+ed 68\s+in l,\(c\)
\s+17b:\s+34\s+inc \(hl\)
\s+17c:\s+dd 34 09\s+inc \(ix\+9\)
\s+17f:\s+fd 34 09\s+inc \(iy\+9\)
\s+182:\s+3c\s+inc a
\s+183:\s+04\s+inc b
\s+184:\s+03\s+inc bc
\s+185:\s+0c\s+inc c
\s+186:\s+14\s+inc d
\s+187:\s+13\s+inc de
\s+188:\s+1c\s+inc e
\s+189:\s+24\s+inc h
\s+18a:\s+23\s+inc hl
\s+18b:\s+dd 23\s+inc ix
\s+18d:\s+fd 23\s+inc iy
\s+18f:\s+2c\s+inc l
\s+190:\s+33\s+inc sp
\s+191:\s+ed aa\s+ind
\s+193:\s+ed ba\s+indr
\s+195:\s+ed a2\s+ini
\s+197:\s+ed b2\s+inir
\s+199:\s+e9\s+jp \(hl\)
\s+19a:\s+dd e9\s+jp \(ix\)
\s+19c:\s+fd e9\s+jp \(iy\)
\s+19e:\s+c3 34 12\s+jp 0x1234
\s+1a1:\s+da 34 12\s+jp c,0x1234
\s+1a4:\s+fa 34 12\s+jp m,0x1234
\s+1a7:\s+d2 34 12\s+jp nc,0x1234
\s+1aa:\s+c2 34 12\s+jp nz,0x1234
\s+1ad:\s+f2 34 12\s+jp p,0x1234
\s+1b0:\s+ea 34 12\s+jp pe,0x1234
\s+1b3:\s+e2 34 12\s+jp po,0x1234
\s+1b6:\s+ca 34 12\s+jp z,0x1234
\s+1b9:\s+18 05\s+jr 0x01c0
\s+1bb:\s+38 05\s+jr c,0x01c2
\s+1bd:\s+30 05\s+jr nc,0x01c4
\s+1bf:\s+20 05\s+jr nz,0x01c6
\s+1c1:\s+28 05\s+jr z,0x01c8
\s+1c3:\s+32 34 12\s+ld \(0x1234\),a
\s+1c6:\s+ed 43 34 12\s+ld \(0x1234\),bc
\s+1ca:\s+ed 53 34 12\s+ld \(0x1234\),de
\s+1ce:\s+22 34 12\s+ld \(0x1234\),hl
\s+1d1:\s+dd 22 34 12\s+ld \(0x1234\),ix
\s+1d5:\s+fd 22 34 12\s+ld \(0x1234\),iy
\s+1d9:\s+ed 73 34 12\s+ld \(0x1234\),sp
\s+1dd:\s+02\s+ld \(bc\),a
\s+1de:\s+12\s+ld \(de\),a
\s+1df:\s+36 03\s+ld \(hl\),0x03
\s+1e1:\s+77\s+ld \(hl\),a
\s+1e2:\s+70\s+ld \(hl\),b
\s+1e3:\s+71\s+ld \(hl\),c
\s+1e4:\s+72\s+ld \(hl\),d
\s+1e5:\s+73\s+ld \(hl\),e
\s+1e6:\s+74\s+ld \(hl\),h
\s+1e7:\s+75\s+ld \(hl\),l
\s+1e8:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
\s+1ec:\s+dd 77 09\s+ld \(ix\+9\),a
\s+1ef:\s+dd 70 09\s+ld \(ix\+9\),b
\s+1f2:\s+dd 71 09\s+ld \(ix\+9\),c
\s+1f5:\s+dd 72 09\s+ld \(ix\+9\),d
\s+1f8:\s+dd 73 09\s+ld \(ix\+9\),e
\s+1fb:\s+dd 74 09\s+ld \(ix\+9\),h
\s+1fe:\s+dd 75 09\s+ld \(ix\+9\),l
\s+201:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
\s+205:\s+fd 77 09\s+ld \(iy\+9\),a
\s+208:\s+fd 70 09\s+ld \(iy\+9\),b
\s+20b:\s+fd 71 09\s+ld \(iy\+9\),c
\s+20e:\s+fd 72 09\s+ld \(iy\+9\),d
\s+211:\s+fd 73 09\s+ld \(iy\+9\),e
\s+214:\s+fd 74 09\s+ld \(iy\+9\),h
\s+217:\s+fd 75 09\s+ld \(iy\+9\),l
\s+21a:\s+3a 34 12\s+ld a,\(0x1234\)
\s+21d:\s+0a\s+ld a,\(bc\)
\s+21e:\s+1a\s+ld a,\(de\)
\s+21f:\s+7e\s+ld a,\(hl\)
\s+220:\s+dd 7e 09\s+ld a,\(ix\+9\)
\s+223:\s+fd 7e 09\s+ld a,\(iy\+9\)
\s+226:\s+3e 03\s+ld a,0x03
\s+228:\s+7f\s+ld a,a
\s+229:\s+78\s+ld a,b
\s+22a:\s+79\s+ld a,c
\s+22b:\s+7a\s+ld a,d
\s+22c:\s+7b\s+ld a,e
\s+22d:\s+7c\s+ld a,h
\s+22e:\s+ed 57\s+ld a,i
\s+230:\s+7d\s+ld a,l
\s+231:\s+ed 5f\s+ld a,r
\s+233:\s+46\s+ld b,\(hl\)
\s+234:\s+dd 46 09\s+ld b,\(ix\+9\)
\s+237:\s+fd 46 09\s+ld b,\(iy\+9\)
\s+23a:\s+06 03\s+ld b,0x03
\s+23c:\s+47\s+ld b,a
\s+23d:\s+40\s+ld b,b
\s+23e:\s+41\s+ld b,c
\s+23f:\s+42\s+ld b,d
\s+240:\s+43\s+ld b,e
\s+241:\s+44\s+ld b,h
\s+242:\s+45\s+ld b,l
\s+243:\s+ed 4b 34 12\s+ld bc,\(0x1234\)
\s+247:\s+01 34 12\s+ld bc,0x1234
\s+24a:\s+4e\s+ld c,\(hl\)
\s+24b:\s+dd 4e 09\s+ld c,\(ix\+9\)
\s+24e:\s+fd 4e 09\s+ld c,\(iy\+9\)
\s+251:\s+0e 03\s+ld c,0x03
\s+253:\s+4f\s+ld c,a
\s+254:\s+48\s+ld c,b
\s+255:\s+49\s+ld c,c
\s+256:\s+4a\s+ld c,d
\s+257:\s+4b\s+ld c,e
\s+258:\s+4c\s+ld c,h
\s+259:\s+4d\s+ld c,l
\s+25a:\s+56\s+ld d,\(hl\)
\s+25b:\s+dd 56 09\s+ld d,\(ix\+9\)
\s+25e:\s+fd 56 09\s+ld d,\(iy\+9\)
\s+261:\s+16 03\s+ld d,0x03
\s+263:\s+57\s+ld d,a
\s+264:\s+50\s+ld d,b
\s+265:\s+51\s+ld d,c
\s+266:\s+52\s+ld d,d
\s+267:\s+53\s+ld d,e
\s+268:\s+54\s+ld d,h
\s+269:\s+55\s+ld d,l
\s+26a:\s+ed 5b 34 12\s+ld de,\(0x1234\)
\s+26e:\s+11 34 12\s+ld de,0x1234
\s+271:\s+5e\s+ld e,\(hl\)
\s+272:\s+dd 5e 09\s+ld e,\(ix\+9\)
\s+275:\s+fd 5e 09\s+ld e,\(iy\+9\)
\s+278:\s+1e 03\s+ld e,0x03
\s+27a:\s+5f\s+ld e,a
\s+27b:\s+58\s+ld e,b
\s+27c:\s+59\s+ld e,c
\s+27d:\s+5a\s+ld e,d
\s+27e:\s+5b\s+ld e,e
\s+27f:\s+5c\s+ld e,h
\s+280:\s+5d\s+ld e,l
\s+281:\s+66\s+ld h,\(hl\)
\s+282:\s+dd 66 09\s+ld h,\(ix\+9\)
\s+285:\s+fd 66 09\s+ld h,\(iy\+9\)
\s+288:\s+26 03\s+ld h,0x03
\s+28a:\s+67\s+ld h,a
\s+28b:\s+60\s+ld h,b
\s+28c:\s+61\s+ld h,c
\s+28d:\s+62\s+ld h,d
\s+28e:\s+63\s+ld h,e
\s+28f:\s+64\s+ld h,h
\s+290:\s+65\s+ld h,l
\s+291:\s+2a 34 12\s+ld hl,\(0x1234\)
\s+294:\s+21 34 12\s+ld hl,0x1234
\s+297:\s+ed 47\s+ld i,a
\s+299:\s+dd 2a 34 12\s+ld ix,\(0x1234\)
\s+29d:\s+dd 21 34 12\s+ld ix,0x1234
\s+2a1:\s+fd 2a 34 12\s+ld iy,\(0x1234\)
\s+2a5:\s+fd 21 34 12\s+ld iy,0x1234
\s+2a9:\s+6e\s+ld l,\(hl\)
\s+2aa:\s+dd 6e 09\s+ld l,\(ix\+9\)
\s+2ad:\s+fd 6e 09\s+ld l,\(iy\+9\)
\s+2b0:\s+2e 03\s+ld l,0x03
\s+2b2:\s+6f\s+ld l,a
\s+2b3:\s+68\s+ld l,b
\s+2b4:\s+69\s+ld l,c
\s+2b5:\s+6a\s+ld l,d
\s+2b6:\s+6b\s+ld l,e
\s+2b7:\s+6c\s+ld l,h
\s+2b8:\s+6d\s+ld l,l
\s+2b9:\s+ed 4f\s+ld r,a
\s+2bb:\s+ed 7b 34 12\s+ld sp,\(0x1234\)
\s+2bf:\s+31 34 12\s+ld sp,0x1234
\s+2c2:\s+f9\s+ld sp,hl
\s+2c3:\s+dd f9\s+ld sp,ix
\s+2c5:\s+fd f9\s+ld sp,iy
\s+2c7:\s+ed a8\s+ldd
\s+2c9:\s+ed b8\s+lddr
\s+2cb:\s+ed a0\s+ldi
\s+2cd:\s+ed b0\s+ldir
\s+2cf:\s+ed 44\s+neg
\s+2d1:\s+00\s+nop
\s+2d2:\s+b6\s+or \(hl\)
\s+2d3:\s+dd b6 09\s+or \(ix\+9\)
\s+2d6:\s+fd b6 09\s+or \(iy\+9\)
\s+2d9:\s+f6 03\s+or 0x03
\s+2db:\s+b7\s+or a
\s+2dc:\s+b0\s+or b
\s+2dd:\s+b1\s+or c
\s+2de:\s+b2\s+or d
\s+2df:\s+b3\s+or e
\s+2e0:\s+b4\s+or h
\s+2e1:\s+b5\s+or l
\s+2e2:\s+ed bb\s+otdr
\s+2e4:\s+ed b3\s+otir
\s+2e6:\s+ed 79\s+out \(c\),a
\s+2e8:\s+ed 41\s+out \(c\),b
\s+2ea:\s+ed 49\s+out \(c\),c
\s+2ec:\s+ed 51\s+out \(c\),d
\s+2ee:\s+ed 59\s+out \(c\),e
\s+2f0:\s+ed 61\s+out \(c\),h
\s+2f2:\s+ed 69\s+out \(c\),l
\s+2f4:\s+d3 03\s+out \(0x03\),a
\s+2f6:\s+ed ab\s+outd
\s+2f8:\s+ed a3\s+outi
\s+2fa:\s+f1\s+pop af
\s+2fb:\s+c1\s+pop bc
\s+2fc:\s+d1\s+pop de
\s+2fd:\s+e1\s+pop hl
\s+2fe:\s+dd e1\s+pop ix
\s+300:\s+fd e1\s+pop iy
\s+302:\s+f5\s+push af
\s+303:\s+c5\s+push bc
\s+304:\s+d5\s+push de
\s+305:\s+e5\s+push hl
\s+306:\s+dd e5\s+push ix
\s+308:\s+fd e5\s+push iy
\s+30a:\s+cb 86\s+res 0,\(hl\)
\s+30c:\s+dd cb 09 86\s+res 0,\(ix\+9\)
\s+310:\s+fd cb 09 86\s+res 0,\(iy\+9\)
\s+314:\s+cb 87\s+res 0,a
\s+316:\s+cb 80\s+res 0,b
\s+318:\s+cb 81\s+res 0,c
\s+31a:\s+cb 82\s+res 0,d
\s+31c:\s+cb 83\s+res 0,e
\s+31e:\s+cb 84\s+res 0,h
\s+320:\s+cb 85\s+res 0,l
\s+322:\s+cb 8e\s+res 1,\(hl\)
\s+324:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
\s+328:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
\s+32c:\s+cb 8f\s+res 1,a
\s+32e:\s+cb 88\s+res 1,b
\s+330:\s+cb 89\s+res 1,c
\s+332:\s+cb 8a\s+res 1,d
\s+334:\s+cb 8b\s+res 1,e
\s+336:\s+cb 8c\s+res 1,h
\s+338:\s+cb 8d\s+res 1,l
\s+33a:\s+cb 96\s+res 2,\(hl\)
\s+33c:\s+dd cb 09 96\s+res 2,\(ix\+9\)
\s+340:\s+fd cb 09 96\s+res 2,\(iy\+9\)
\s+344:\s+cb 97\s+res 2,a
\s+346:\s+cb 90\s+res 2,b
\s+348:\s+cb 91\s+res 2,c
\s+34a:\s+cb 92\s+res 2,d
\s+34c:\s+cb 93\s+res 2,e
\s+34e:\s+cb 94\s+res 2,h
\s+350:\s+cb 95\s+res 2,l
\s+352:\s+cb 9e\s+res 3,\(hl\)
\s+354:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
\s+358:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
\s+35c:\s+cb 9f\s+res 3,a
\s+35e:\s+cb 98\s+res 3,b
\s+360:\s+cb 99\s+res 3,c
\s+362:\s+cb 9a\s+res 3,d
\s+364:\s+cb 9b\s+res 3,e
\s+366:\s+cb 9c\s+res 3,h
\s+368:\s+cb 9d\s+res 3,l
\s+36a:\s+cb a6\s+res 4,\(hl\)
\s+36c:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
\s+370:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
\s+374:\s+cb a7\s+res 4,a
\s+376:\s+cb a0\s+res 4,b
\s+378:\s+cb a1\s+res 4,c
\s+37a:\s+cb a2\s+res 4,d
\s+37c:\s+cb a3\s+res 4,e
\s+37e:\s+cb a4\s+res 4,h
\s+380:\s+cb a5\s+res 4,l
\s+382:\s+cb ae\s+res 5,\(hl\)
\s+384:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
\s+388:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
\s+38c:\s+cb af\s+res 5,a
\s+38e:\s+cb a8\s+res 5,b
\s+390:\s+cb a9\s+res 5,c
\s+392:\s+cb aa\s+res 5,d
\s+394:\s+cb ab\s+res 5,e
\s+396:\s+cb ac\s+res 5,h
\s+398:\s+cb ad\s+res 5,l
\s+39a:\s+cb b6\s+res 6,\(hl\)
\s+39c:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
\s+3a0:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
\s+3a4:\s+cb b7\s+res 6,a
\s+3a6:\s+cb b0\s+res 6,b
\s+3a8:\s+cb b1\s+res 6,c
\s+3aa:\s+cb b2\s+res 6,d
\s+3ac:\s+cb b3\s+res 6,e
\s+3ae:\s+cb b4\s+res 6,h
\s+3b0:\s+cb b5\s+res 6,l
\s+3b2:\s+cb be\s+res 7,\(hl\)
\s+3b4:\s+dd cb 09 be\s+res 7,\(ix\+9\)
\s+3b8:\s+fd cb 09 be\s+res 7,\(iy\+9\)
\s+3bc:\s+cb bf\s+res 7,a
\s+3be:\s+cb b8\s+res 7,b
\s+3c0:\s+cb b9\s+res 7,c
\s+3c2:\s+cb ba\s+res 7,d
\s+3c4:\s+cb bb\s+res 7,e
\s+3c6:\s+cb bc\s+res 7,h
\s+3c8:\s+cb bd\s+res 7,l
\s+3ca:\s+c9\s+ret
\s+3cb:\s+d8\s+ret c
\s+3cc:\s+f8\s+ret m
\s+3cd:\s+d0\s+ret nc
\s+3ce:\s+c0\s+ret nz
\s+3cf:\s+f0\s+ret p
\s+3d0:\s+e8\s+ret pe
\s+3d1:\s+e0\s+ret po
\s+3d2:\s+c8\s+ret z
\s+3d3:\s+ed 4d\s+reti
\s+3d5:\s+ed 45\s+retn
\s+3d7:\s+cb 16\s+rl \(hl\)
\s+3d9:\s+dd cb 09 16\s+rl \(ix\+9\)
\s+3dd:\s+fd cb 09 16\s+rl \(iy\+9\)
\s+3e1:\s+cb 17\s+rl a
\s+3e3:\s+cb 10\s+rl b
\s+3e5:\s+cb 11\s+rl c
\s+3e7:\s+cb 12\s+rl d
\s+3e9:\s+cb 13\s+rl e
\s+3eb:\s+cb 14\s+rl h
\s+3ed:\s+cb 15\s+rl l
\s+3ef:\s+17\s+rla
\s+3f0:\s+cb 06\s+rlc \(hl\)
\s+3f2:\s+dd cb 09 06\s+rlc \(ix\+9\)
\s+3f6:\s+fd cb 09 06\s+rlc \(iy\+9\)
\s+3fa:\s+cb 07\s+rlc a
\s+3fc:\s+cb 00\s+rlc b
\s+3fe:\s+cb 01\s+rlc c
\s+400:\s+cb 02\s+rlc d
\s+402:\s+cb 03\s+rlc e
\s+404:\s+cb 04\s+rlc h
\s+406:\s+cb 05\s+rlc l
\s+408:\s+07\s+rlca
\s+409:\s+ed 6f\s+rld
\s+40b:\s+cb 1e\s+rr \(hl\)
\s+40d:\s+dd cb 09 1e\s+rr \(ix\+9\)
\s+411:\s+fd cb 09 1e\s+rr \(iy\+9\)
\s+415:\s+cb 1f\s+rr a
\s+417:\s+cb 18\s+rr b
\s+419:\s+cb 19\s+rr c
\s+41b:\s+cb 1a\s+rr d
\s+41d:\s+cb 1b\s+rr e
\s+41f:\s+cb 1c\s+rr h
\s+421:\s+cb 1d\s+rr l
\s+423:\s+1f\s+rra
\s+424:\s+cb 0e\s+rrc \(hl\)
\s+426:\s+dd cb 09 0e\s+rrc \(ix\+9\)
\s+42a:\s+fd cb 09 0e\s+rrc \(iy\+9\)
\s+42e:\s+cb 0f\s+rrc a
\s+430:\s+cb 08\s+rrc b
\s+432:\s+cb 09\s+rrc c
\s+434:\s+cb 0a\s+rrc d
\s+436:\s+cb 0b\s+rrc e
\s+438:\s+cb 0c\s+rrc h
\s+43a:\s+cb 0d\s+rrc l
\s+43c:\s+0f\s+rrca
\s+43d:\s+ed 67\s+rrd
\s+43f:\s+c7\s+rst 0x00
\s+440:\s+cf\s+rst 0x08
\s+441:\s+d7\s+rst 0x10
\s+442:\s+df\s+rst 0x18
\s+443:\s+e7\s+rst 0x20
\s+444:\s+ef\s+rst 0x28
\s+445:\s+f7\s+rst 0x30
\s+446:\s+ff\s+rst 0x38
\s+447:\s+9e\s+sbc a,\(hl\)
\s+448:\s+dd 9e 09\s+sbc a,\(ix\+9\)
\s+44b:\s+fd 9e 09\s+sbc a,\(iy\+9\)
\s+44e:\s+de 03\s+sbc a,0x03
\s+450:\s+9f\s+sbc a,a
\s+451:\s+98\s+sbc a,b
\s+452:\s+99\s+sbc a,c
\s+453:\s+9a\s+sbc a,d
\s+454:\s+9b\s+sbc a,e
\s+455:\s+9c\s+sbc a,h
\s+456:\s+9d\s+sbc a,l
\s+457:\s+ed 42\s+sbc hl,bc
\s+459:\s+ed 52\s+sbc hl,de
\s+45b:\s+ed 62\s+sbc hl,hl
\s+45d:\s+ed 72\s+sbc hl,sp
\s+45f:\s+37\s+scf
\s+460:\s+cb c6\s+set 0,\(hl\)
\s+462:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
\s+466:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
\s+46a:\s+cb c7\s+set 0,a
\s+46c:\s+cb c0\s+set 0,b
\s+46e:\s+cb c1\s+set 0,c
\s+470:\s+cb c2\s+set 0,d
\s+472:\s+cb c3\s+set 0,e
\s+474:\s+cb c4\s+set 0,h
\s+476:\s+cb c5\s+set 0,l
\s+478:\s+cb ce\s+set 1,\(hl\)
\s+47a:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
\s+47e:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
\s+482:\s+cb cf\s+set 1,a
\s+484:\s+cb c8\s+set 1,b
\s+486:\s+cb c9\s+set 1,c
\s+488:\s+cb ca\s+set 1,d
\s+48a:\s+cb cb\s+set 1,e
\s+48c:\s+cb cc\s+set 1,h
\s+48e:\s+cb cd\s+set 1,l
\s+490:\s+cb d6\s+set 2,\(hl\)
\s+492:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
\s+496:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
\s+49a:\s+cb d7\s+set 2,a
\s+49c:\s+cb d0\s+set 2,b
\s+49e:\s+cb d1\s+set 2,c
\s+4a0:\s+cb d2\s+set 2,d
\s+4a2:\s+cb d3\s+set 2,e
\s+4a4:\s+cb d4\s+set 2,h
\s+4a6:\s+cb d5\s+set 2,l
\s+4a8:\s+cb de\s+set 3,\(hl\)
\s+4aa:\s+dd cb 09 de\s+set 3,\(ix\+9\)
\s+4ae:\s+fd cb 09 de\s+set 3,\(iy\+9\)
\s+4b2:\s+cb df\s+set 3,a
\s+4b4:\s+cb d8\s+set 3,b
\s+4b6:\s+cb d9\s+set 3,c
\s+4b8:\s+cb da\s+set 3,d
\s+4ba:\s+cb db\s+set 3,e
\s+4bc:\s+cb dc\s+set 3,h
\s+4be:\s+cb dd\s+set 3,l
\s+4c0:\s+cb e6\s+set 4,\(hl\)
\s+4c2:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
\s+4c6:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
\s+4ca:\s+cb e7\s+set 4,a
\s+4cc:\s+cb e0\s+set 4,b
\s+4ce:\s+cb e1\s+set 4,c
\s+4d0:\s+cb e2\s+set 4,d
\s+4d2:\s+cb e3\s+set 4,e
\s+4d4:\s+cb e4\s+set 4,h
\s+4d6:\s+cb e5\s+set 4,l
\s+4d8:\s+cb ee\s+set 5,\(hl\)
\s+4da:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
\s+4de:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
\s+4e2:\s+cb ef\s+set 5,a
\s+4e4:\s+cb e8\s+set 5,b
\s+4e6:\s+cb e9\s+set 5,c
\s+4e8:\s+cb ea\s+set 5,d
\s+4ea:\s+cb eb\s+set 5,e
\s+4ec:\s+cb ec\s+set 5,h
\s+4ee:\s+cb ed\s+set 5,l
\s+4f0:\s+cb f6\s+set 6,\(hl\)
\s+4f2:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
\s+4f6:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
\s+4fa:\s+cb f7\s+set 6,a
\s+4fc:\s+cb f0\s+set 6,b
\s+4fe:\s+cb f1\s+set 6,c
\s+500:\s+cb f2\s+set 6,d
\s+502:\s+cb f3\s+set 6,e
\s+504:\s+cb f4\s+set 6,h
\s+506:\s+cb f5\s+set 6,l
\s+508:\s+cb fe\s+set 7,\(hl\)
\s+50a:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
\s+50e:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
\s+512:\s+cb ff\s+set 7,a
\s+514:\s+cb f8\s+set 7,b
\s+516:\s+cb f9\s+set 7,c
\s+518:\s+cb fa\s+set 7,d
\s+51a:\s+cb fb\s+set 7,e
\s+51c:\s+cb fc\s+set 7,h
\s+51e:\s+cb fd\s+set 7,l
\s+520:\s+cb 26\s+sla \(hl\)
\s+522:\s+dd cb 09 26\s+sla \(ix\+9\)
\s+526:\s+fd cb 09 26\s+sla \(iy\+9\)
\s+52a:\s+cb 27\s+sla a
\s+52c:\s+cb 20\s+sla b
\s+52e:\s+cb 21\s+sla c
\s+530:\s+cb 22\s+sla d
\s+532:\s+cb 23\s+sla e
\s+534:\s+cb 24\s+sla h
\s+536:\s+cb 25\s+sla l
\s+538:\s+cb 2e\s+sra \(hl\)
\s+53a:\s+dd cb 09 2e\s+sra \(ix\+9\)
\s+53e:\s+fd cb 09 2e\s+sra \(iy\+9\)
\s+542:\s+cb 2f\s+sra a
\s+544:\s+cb 28\s+sra b
\s+546:\s+cb 29\s+sra c
\s+548:\s+cb 2a\s+sra d
\s+54a:\s+cb 2b\s+sra e
\s+54c:\s+cb 2c\s+sra h
\s+54e:\s+cb 2d\s+sra l
\s+550:\s+cb 3e\s+srl \(hl\)
\s+552:\s+dd cb 09 3e\s+srl \(ix\+9\)
\s+556:\s+fd cb 09 3e\s+srl \(iy\+9\)
\s+55a:\s+cb 3f\s+srl a
\s+55c:\s+cb 38\s+srl b
\s+55e:\s+cb 39\s+srl c
\s+560:\s+cb 3a\s+srl d
\s+562:\s+cb 3b\s+srl e
\s+564:\s+cb 3c\s+srl h
\s+566:\s+cb 3d\s+srl l
\s+568:\s+96\s+sub \(hl\)
\s+569:\s+dd 96 09\s+sub \(ix\+9\)
\s+56c:\s+fd 96 09\s+sub \(iy\+9\)
\s+56f:\s+d6 03\s+sub 0x03
\s+571:\s+97\s+sub a
\s+572:\s+90\s+sub b
\s+573:\s+91\s+sub c
\s+574:\s+92\s+sub d
\s+575:\s+93\s+sub e
\s+576:\s+94\s+sub h
\s+577:\s+95\s+sub l
\s+578:\s+ae\s+xor \(hl\)
\s+579:\s+dd ae 09\s+xor \(ix\+9\)
\s+57c:\s+fd ae 09\s+xor \(iy\+9\)
\s+57f:\s+ee 03\s+xor 0x03
\s+581:\s+af\s+xor a
\s+582:\s+a8\s+xor b
\s+583:\s+a9\s+xor c
\s+584:\s+aa\s+xor d
\s+585:\s+ab\s+xor e
\s+586:\s+ac\s+xor h
\s+587:\s+ad\s+xor l

View file

@ -19,10 +19,14 @@
if [istarget z80-*-*] then {
# test redefinitions
run_dump_test "redef"
# test .set redefinitions
run_dump_test "set"
# test parsing of equ definitions
run_dump_test "equ"
# test parsing of " and '
run_dump_test "quotes"
# test data definition directives
run_dump_test "data"
# test suffixes
run_dump_test "suffix"
# test assembling and disassembling instructions involving offsets
@ -47,7 +51,51 @@ if [istarget z80-*-*] then {
run_dump_test "branch"
# test for input and output instructions
run_dump_test "inout"
# test for strings
run_dump_test "strings"
# test for dollar labels
run_dump_test "dollar"
# test for relocations
run_dump_test "z80_reloc"
# test for absolutely all documented instructions of Z80
run_dump_test "z80_doc"
# test for undocumented instructions like RLC (IX+3),A
run_dump_test "z80_op_ii_ld"
# test for undocumented instructions SLI/SLL
run_dump_test "z80_sli"
# test for undocumented instruction IN F,(C)
run_dump_test "z80_in_f_c"
# test for undocumented instruction OUT (C),0
run_dump_test "z80_out_c_0"
# test for instructions with index register halves
run_dump_test "z80_ii8"
#test for other instructions
run_dump_test "misc"
gas_test_error "ill_op.s" "" "Illegal operand: ld hl,(sp+0)"
# test for all Z80 documented instructions for R800
run_dump_test "r800_z80_doc"
# test for R800 instructions with index register halves
run_dump_test "r800_ii8"
# test for R800 extra instructions
run_dump_test "r800_extra"
#test for Z180 instructions
run_dump_test "z180"
#test for Z80 instructions while compiling for Z180
run_dump_test "z180_z80_doc"
#test for eZ80 instructions in Z80 mode
run_dump_test "ez80_z80_all"
#test for eZ80 instructions with sufficies in Z80 mode
run_dump_test "ez80_z80_suf"
#test for eZ80 instructions in ADL mode
run_dump_test "ez80_adl_all"
#test for eZ80 instructions with sufficies in ADL mode
run_dump_test "ez80_adl_suf"
# test for SDCC compatibility mode
run_dump_test "sdcc"
# test for colonless labels
run_dump_test "colonless"
# test for FP math48
run_dump_test "fp_math48"
# test for FP zeda32
run_dump_test "fp_zeda32"
}

View file

@ -0,0 +1,705 @@
#as: -z80 -without-inst=sli,op-ii-ld,idx-reg-halves,in-f-c,out-c-0
#objdump: -d
#name: All Z80 documented instructions
.*: .*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+8e\s+adc a,\(hl\)
\s+1:\s+dd 8e 09\s+adc a,\(ix\+9\)
\s+4:\s+fd 8e 09\s+adc a,\(iy\+9\)
\s+7:\s+ce 03\s+adc a,0x03
\s+9:\s+8f\s+adc a,a
\s+a:\s+88\s+adc a,b
\s+b:\s+89\s+adc a,c
\s+c:\s+8a\s+adc a,d
\s+d:\s+8b\s+adc a,e
\s+e:\s+8c\s+adc a,h
\s+f:\s+8d\s+adc a,l
\s+10:\s+ed 4a\s+adc hl,bc
\s+12:\s+ed 5a\s+adc hl,de
\s+14:\s+ed 6a\s+adc hl,hl
\s+16:\s+ed 7a\s+adc hl,sp
\s+18:\s+86\s+add a,\(hl\)
\s+19:\s+dd 86 09\s+add a,\(ix\+9\)
\s+1c:\s+fd 86 09\s+add a,\(iy\+9\)
\s+1f:\s+c6 03\s+add a,0x03
\s+21:\s+87\s+add a,a
\s+22:\s+80\s+add a,b
\s+23:\s+81\s+add a,c
\s+24:\s+82\s+add a,d
\s+25:\s+83\s+add a,e
\s+26:\s+84\s+add a,h
\s+27:\s+85\s+add a,l
\s+28:\s+09\s+add hl,bc
\s+29:\s+19\s+add hl,de
\s+2a:\s+29\s+add hl,hl
\s+2b:\s+39\s+add hl,sp
\s+2c:\s+dd 09\s+add ix,bc
\s+2e:\s+dd 19\s+add ix,de
\s+30:\s+dd 29\s+add ix,ix
\s+32:\s+dd 39\s+add ix,sp
\s+34:\s+fd 09\s+add iy,bc
\s+36:\s+fd 19\s+add iy,de
\s+38:\s+fd 29\s+add iy,iy
\s+3a:\s+fd 39\s+add iy,sp
\s+3c:\s+a6\s+and \(hl\)
\s+3d:\s+dd a6 09\s+and \(ix\+9\)
\s+40:\s+fd a6 09\s+and \(iy\+9\)
\s+43:\s+e6 03\s+and 0x03
\s+45:\s+a7\s+and a
\s+46:\s+a0\s+and b
\s+47:\s+a1\s+and c
\s+48:\s+a2\s+and d
\s+49:\s+a3\s+and e
\s+4a:\s+a4\s+and h
\s+4b:\s+a5\s+and l
\s+4c:\s+cb 46\s+bit 0,\(hl\)
\s+4e:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
\s+52:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
\s+56:\s+cb 47\s+bit 0,a
\s+58:\s+cb 40\s+bit 0,b
\s+5a:\s+cb 41\s+bit 0,c
\s+5c:\s+cb 42\s+bit 0,d
\s+5e:\s+cb 43\s+bit 0,e
\s+60:\s+cb 44\s+bit 0,h
\s+62:\s+cb 45\s+bit 0,l
\s+64:\s+cb 4e\s+bit 1,\(hl\)
\s+66:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
\s+6a:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
\s+6e:\s+cb 4f\s+bit 1,a
\s+70:\s+cb 48\s+bit 1,b
\s+72:\s+cb 49\s+bit 1,c
\s+74:\s+cb 4a\s+bit 1,d
\s+76:\s+cb 4b\s+bit 1,e
\s+78:\s+cb 4c\s+bit 1,h
\s+7a:\s+cb 4d\s+bit 1,l
\s+7c:\s+cb 56\s+bit 2,\(hl\)
\s+7e:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
\s+82:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
\s+86:\s+cb 57\s+bit 2,a
\s+88:\s+cb 50\s+bit 2,b
\s+8a:\s+cb 51\s+bit 2,c
\s+8c:\s+cb 52\s+bit 2,d
\s+8e:\s+cb 53\s+bit 2,e
\s+90:\s+cb 54\s+bit 2,h
\s+92:\s+cb 55\s+bit 2,l
\s+94:\s+cb 5e\s+bit 3,\(hl\)
\s+96:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
\s+9a:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
\s+9e:\s+cb 5f\s+bit 3,a
\s+a0:\s+cb 58\s+bit 3,b
\s+a2:\s+cb 59\s+bit 3,c
\s+a4:\s+cb 5a\s+bit 3,d
\s+a6:\s+cb 5b\s+bit 3,e
\s+a8:\s+cb 5c\s+bit 3,h
\s+aa:\s+cb 5d\s+bit 3,l
\s+ac:\s+cb 66\s+bit 4,\(hl\)
\s+ae:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
\s+b2:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
\s+b6:\s+cb 67\s+bit 4,a
\s+b8:\s+cb 60\s+bit 4,b
\s+ba:\s+cb 61\s+bit 4,c
\s+bc:\s+cb 62\s+bit 4,d
\s+be:\s+cb 63\s+bit 4,e
\s+c0:\s+cb 64\s+bit 4,h
\s+c2:\s+cb 65\s+bit 4,l
\s+c4:\s+cb 6e\s+bit 5,\(hl\)
\s+c6:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
\s+ca:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
\s+ce:\s+cb 6f\s+bit 5,a
\s+d0:\s+cb 68\s+bit 5,b
\s+d2:\s+cb 69\s+bit 5,c
\s+d4:\s+cb 6a\s+bit 5,d
\s+d6:\s+cb 6b\s+bit 5,e
\s+d8:\s+cb 6c\s+bit 5,h
\s+da:\s+cb 6d\s+bit 5,l
\s+dc:\s+cb 76\s+bit 6,\(hl\)
\s+de:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
\s+e2:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
\s+e6:\s+cb 77\s+bit 6,a
\s+e8:\s+cb 70\s+bit 6,b
\s+ea:\s+cb 71\s+bit 6,c
\s+ec:\s+cb 72\s+bit 6,d
\s+ee:\s+cb 73\s+bit 6,e
\s+f0:\s+cb 74\s+bit 6,h
\s+f2:\s+cb 75\s+bit 6,l
\s+f4:\s+cb 7e\s+bit 7,\(hl\)
\s+f6:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
\s+fa:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
\s+fe:\s+cb 7f\s+bit 7,a
\s+100:\s+cb 78\s+bit 7,b
\s+102:\s+cb 79\s+bit 7,c
\s+104:\s+cb 7a\s+bit 7,d
\s+106:\s+cb 7b\s+bit 7,e
\s+108:\s+cb 7c\s+bit 7,h
\s+10a:\s+cb 7d\s+bit 7,l
\s+10c:\s+cd 34 12\s+call 0x1234
\s+10f:\s+dc 34 12\s+call c,0x1234
\s+112:\s+fc 34 12\s+call m,0x1234
\s+115:\s+d4 34 12\s+call nc,0x1234
\s+118:\s+c4 34 12\s+call nz,0x1234
\s+11b:\s+f4 34 12\s+call p,0x1234
\s+11e:\s+ec 34 12\s+call pe,0x1234
\s+121:\s+e4 34 12\s+call po,0x1234
\s+124:\s+cc 34 12\s+call z,0x1234
\s+127:\s+3f\s+ccf
\s+128:\s+be\s+cp \(hl\)
\s+129:\s+dd be 09\s+cp \(ix\+9\)
\s+12c:\s+fd be 09\s+cp \(iy\+9\)
\s+12f:\s+fe 03\s+cp 0x03
\s+131:\s+bf\s+cp a
\s+132:\s+b8\s+cp b
\s+133:\s+b9\s+cp c
\s+134:\s+ba\s+cp d
\s+135:\s+bb\s+cp e
\s+136:\s+bc\s+cp h
\s+137:\s+bd\s+cp l
\s+138:\s+ed a9\s+cpd
\s+13a:\s+ed b9\s+cpdr
\s+13c:\s+ed a1\s+cpi
\s+13e:\s+ed b1\s+cpir
\s+140:\s+2f\s+cpl
\s+141:\s+27\s+daa
\s+142:\s+35\s+dec \(hl\)
\s+143:\s+dd 35 09\s+dec \(ix\+9\)
\s+146:\s+fd 35 09\s+dec \(iy\+9\)
\s+149:\s+3d\s+dec a
\s+14a:\s+05\s+dec b
\s+14b:\s+0b\s+dec bc
\s+14c:\s+0d\s+dec c
\s+14d:\s+15\s+dec d
\s+14e:\s+1b\s+dec de
\s+14f:\s+1d\s+dec e
\s+150:\s+25\s+dec h
\s+151:\s+2b\s+dec hl
\s+152:\s+dd 2b\s+dec ix
\s+154:\s+fd 2b\s+dec iy
\s+156:\s+2d\s+dec l
\s+157:\s+3b\s+dec sp
\s+158:\s+f3\s+di
\s+159:\s+10 05\s+djnz 0x0160
\s+15b:\s+fb\s+ei
\s+15c:\s+e3\s+ex \(sp\),hl
\s+15d:\s+dd e3\s+ex \(sp\),ix
\s+15f:\s+fd e3\s+ex \(sp\),iy
\s+161:\s+08\s+ex af,af'
\s+162:\s+eb\s+ex de,hl
\s+163:\s+d9\s+exx
\s+164:\s+76\s+halt
\s+165:\s+ed 46\s+im 0
\s+167:\s+ed 56\s+im 1
\s+169:\s+ed 5e\s+im 2
\s+16b:\s+ed 78\s+in a,\(c\)
\s+16d:\s+db 03\s+in a,\(0x03\)
\s+16f:\s+ed 40\s+in b,\(c\)
\s+171:\s+ed 48\s+in c,\(c\)
\s+173:\s+ed 50\s+in d,\(c\)
\s+175:\s+ed 58\s+in e,\(c\)
\s+177:\s+ed 60\s+in h,\(c\)
\s+179:\s+ed 68\s+in l,\(c\)
\s+17b:\s+34\s+inc \(hl\)
\s+17c:\s+dd 34 09\s+inc \(ix\+9\)
\s+17f:\s+fd 34 09\s+inc \(iy\+9\)
\s+182:\s+3c\s+inc a
\s+183:\s+04\s+inc b
\s+184:\s+03\s+inc bc
\s+185:\s+0c\s+inc c
\s+186:\s+14\s+inc d
\s+187:\s+13\s+inc de
\s+188:\s+1c\s+inc e
\s+189:\s+24\s+inc h
\s+18a:\s+23\s+inc hl
\s+18b:\s+dd 23\s+inc ix
\s+18d:\s+fd 23\s+inc iy
\s+18f:\s+2c\s+inc l
\s+190:\s+33\s+inc sp
\s+191:\s+ed aa\s+ind
\s+193:\s+ed ba\s+indr
\s+195:\s+ed a2\s+ini
\s+197:\s+ed b2\s+inir
\s+199:\s+e9\s+jp \(hl\)
\s+19a:\s+dd e9\s+jp \(ix\)
\s+19c:\s+fd e9\s+jp \(iy\)
\s+19e:\s+c3 34 12\s+jp 0x1234
\s+1a1:\s+da 34 12\s+jp c,0x1234
\s+1a4:\s+fa 34 12\s+jp m,0x1234
\s+1a7:\s+d2 34 12\s+jp nc,0x1234
\s+1aa:\s+c2 34 12\s+jp nz,0x1234
\s+1ad:\s+f2 34 12\s+jp p,0x1234
\s+1b0:\s+ea 34 12\s+jp pe,0x1234
\s+1b3:\s+e2 34 12\s+jp po,0x1234
\s+1b6:\s+ca 34 12\s+jp z,0x1234
\s+1b9:\s+18 05\s+jr 0x01c0
\s+1bb:\s+38 05\s+jr c,0x01c2
\s+1bd:\s+30 05\s+jr nc,0x01c4
\s+1bf:\s+20 05\s+jr nz,0x01c6
\s+1c1:\s+28 05\s+jr z,0x01c8
\s+1c3:\s+32 34 12\s+ld \(0x1234\),a
\s+1c6:\s+ed 43 34 12\s+ld \(0x1234\),bc
\s+1ca:\s+ed 53 34 12\s+ld \(0x1234\),de
\s+1ce:\s+22 34 12\s+ld \(0x1234\),hl
\s+1d1:\s+dd 22 34 12\s+ld \(0x1234\),ix
\s+1d5:\s+fd 22 34 12\s+ld \(0x1234\),iy
\s+1d9:\s+ed 73 34 12\s+ld \(0x1234\),sp
\s+1dd:\s+02\s+ld \(bc\),a
\s+1de:\s+12\s+ld \(de\),a
\s+1df:\s+36 03\s+ld \(hl\),0x03
\s+1e1:\s+77\s+ld \(hl\),a
\s+1e2:\s+70\s+ld \(hl\),b
\s+1e3:\s+71\s+ld \(hl\),c
\s+1e4:\s+72\s+ld \(hl\),d
\s+1e5:\s+73\s+ld \(hl\),e
\s+1e6:\s+74\s+ld \(hl\),h
\s+1e7:\s+75\s+ld \(hl\),l
\s+1e8:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
\s+1ec:\s+dd 77 09\s+ld \(ix\+9\),a
\s+1ef:\s+dd 70 09\s+ld \(ix\+9\),b
\s+1f2:\s+dd 71 09\s+ld \(ix\+9\),c
\s+1f5:\s+dd 72 09\s+ld \(ix\+9\),d
\s+1f8:\s+dd 73 09\s+ld \(ix\+9\),e
\s+1fb:\s+dd 74 09\s+ld \(ix\+9\),h
\s+1fe:\s+dd 75 09\s+ld \(ix\+9\),l
\s+201:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
\s+205:\s+fd 77 09\s+ld \(iy\+9\),a
\s+208:\s+fd 70 09\s+ld \(iy\+9\),b
\s+20b:\s+fd 71 09\s+ld \(iy\+9\),c
\s+20e:\s+fd 72 09\s+ld \(iy\+9\),d
\s+211:\s+fd 73 09\s+ld \(iy\+9\),e
\s+214:\s+fd 74 09\s+ld \(iy\+9\),h
\s+217:\s+fd 75 09\s+ld \(iy\+9\),l
\s+21a:\s+3a 34 12\s+ld a,\(0x1234\)
\s+21d:\s+0a\s+ld a,\(bc\)
\s+21e:\s+1a\s+ld a,\(de\)
\s+21f:\s+7e\s+ld a,\(hl\)
\s+220:\s+dd 7e 09\s+ld a,\(ix\+9\)
\s+223:\s+fd 7e 09\s+ld a,\(iy\+9\)
\s+226:\s+3e 03\s+ld a,0x03
\s+228:\s+7f\s+ld a,a
\s+229:\s+78\s+ld a,b
\s+22a:\s+79\s+ld a,c
\s+22b:\s+7a\s+ld a,d
\s+22c:\s+7b\s+ld a,e
\s+22d:\s+7c\s+ld a,h
\s+22e:\s+ed 57\s+ld a,i
\s+230:\s+7d\s+ld a,l
\s+231:\s+ed 5f\s+ld a,r
\s+233:\s+46\s+ld b,\(hl\)
\s+234:\s+dd 46 09\s+ld b,\(ix\+9\)
\s+237:\s+fd 46 09\s+ld b,\(iy\+9\)
\s+23a:\s+06 03\s+ld b,0x03
\s+23c:\s+47\s+ld b,a
\s+23d:\s+40\s+ld b,b
\s+23e:\s+41\s+ld b,c
\s+23f:\s+42\s+ld b,d
\s+240:\s+43\s+ld b,e
\s+241:\s+44\s+ld b,h
\s+242:\s+45\s+ld b,l
\s+243:\s+ed 4b 34 12\s+ld bc,\(0x1234\)
\s+247:\s+01 34 12\s+ld bc,0x1234
\s+24a:\s+4e\s+ld c,\(hl\)
\s+24b:\s+dd 4e 09\s+ld c,\(ix\+9\)
\s+24e:\s+fd 4e 09\s+ld c,\(iy\+9\)
\s+251:\s+0e 03\s+ld c,0x03
\s+253:\s+4f\s+ld c,a
\s+254:\s+48\s+ld c,b
\s+255:\s+49\s+ld c,c
\s+256:\s+4a\s+ld c,d
\s+257:\s+4b\s+ld c,e
\s+258:\s+4c\s+ld c,h
\s+259:\s+4d\s+ld c,l
\s+25a:\s+56\s+ld d,\(hl\)
\s+25b:\s+dd 56 09\s+ld d,\(ix\+9\)
\s+25e:\s+fd 56 09\s+ld d,\(iy\+9\)
\s+261:\s+16 03\s+ld d,0x03
\s+263:\s+57\s+ld d,a
\s+264:\s+50\s+ld d,b
\s+265:\s+51\s+ld d,c
\s+266:\s+52\s+ld d,d
\s+267:\s+53\s+ld d,e
\s+268:\s+54\s+ld d,h
\s+269:\s+55\s+ld d,l
\s+26a:\s+ed 5b 34 12\s+ld de,\(0x1234\)
\s+26e:\s+11 34 12\s+ld de,0x1234
\s+271:\s+5e\s+ld e,\(hl\)
\s+272:\s+dd 5e 09\s+ld e,\(ix\+9\)
\s+275:\s+fd 5e 09\s+ld e,\(iy\+9\)
\s+278:\s+1e 03\s+ld e,0x03
\s+27a:\s+5f\s+ld e,a
\s+27b:\s+58\s+ld e,b
\s+27c:\s+59\s+ld e,c
\s+27d:\s+5a\s+ld e,d
\s+27e:\s+5b\s+ld e,e
\s+27f:\s+5c\s+ld e,h
\s+280:\s+5d\s+ld e,l
\s+281:\s+66\s+ld h,\(hl\)
\s+282:\s+dd 66 09\s+ld h,\(ix\+9\)
\s+285:\s+fd 66 09\s+ld h,\(iy\+9\)
\s+288:\s+26 03\s+ld h,0x03
\s+28a:\s+67\s+ld h,a
\s+28b:\s+60\s+ld h,b
\s+28c:\s+61\s+ld h,c
\s+28d:\s+62\s+ld h,d
\s+28e:\s+63\s+ld h,e
\s+28f:\s+64\s+ld h,h
\s+290:\s+65\s+ld h,l
\s+291:\s+2a 34 12\s+ld hl,\(0x1234\)
\s+294:\s+21 34 12\s+ld hl,0x1234
\s+297:\s+ed 47\s+ld i,a
\s+299:\s+dd 2a 34 12\s+ld ix,\(0x1234\)
\s+29d:\s+dd 21 34 12\s+ld ix,0x1234
\s+2a1:\s+fd 2a 34 12\s+ld iy,\(0x1234\)
\s+2a5:\s+fd 21 34 12\s+ld iy,0x1234
\s+2a9:\s+6e\s+ld l,\(hl\)
\s+2aa:\s+dd 6e 09\s+ld l,\(ix\+9\)
\s+2ad:\s+fd 6e 09\s+ld l,\(iy\+9\)
\s+2b0:\s+2e 03\s+ld l,0x03
\s+2b2:\s+6f\s+ld l,a
\s+2b3:\s+68\s+ld l,b
\s+2b4:\s+69\s+ld l,c
\s+2b5:\s+6a\s+ld l,d
\s+2b6:\s+6b\s+ld l,e
\s+2b7:\s+6c\s+ld l,h
\s+2b8:\s+6d\s+ld l,l
\s+2b9:\s+ed 4f\s+ld r,a
\s+2bb:\s+ed 7b 34 12\s+ld sp,\(0x1234\)
\s+2bf:\s+31 34 12\s+ld sp,0x1234
\s+2c2:\s+f9\s+ld sp,hl
\s+2c3:\s+dd f9\s+ld sp,ix
\s+2c5:\s+fd f9\s+ld sp,iy
\s+2c7:\s+ed a8\s+ldd
\s+2c9:\s+ed b8\s+lddr
\s+2cb:\s+ed a0\s+ldi
\s+2cd:\s+ed b0\s+ldir
\s+2cf:\s+ed 44\s+neg
\s+2d1:\s+00\s+nop
\s+2d2:\s+b6\s+or \(hl\)
\s+2d3:\s+dd b6 09\s+or \(ix\+9\)
\s+2d6:\s+fd b6 09\s+or \(iy\+9\)
\s+2d9:\s+f6 03\s+or 0x03
\s+2db:\s+b7\s+or a
\s+2dc:\s+b0\s+or b
\s+2dd:\s+b1\s+or c
\s+2de:\s+b2\s+or d
\s+2df:\s+b3\s+or e
\s+2e0:\s+b4\s+or h
\s+2e1:\s+b5\s+or l
\s+2e2:\s+ed bb\s+otdr
\s+2e4:\s+ed b3\s+otir
\s+2e6:\s+ed 79\s+out \(c\),a
\s+2e8:\s+ed 41\s+out \(c\),b
\s+2ea:\s+ed 49\s+out \(c\),c
\s+2ec:\s+ed 51\s+out \(c\),d
\s+2ee:\s+ed 59\s+out \(c\),e
\s+2f0:\s+ed 61\s+out \(c\),h
\s+2f2:\s+ed 69\s+out \(c\),l
\s+2f4:\s+d3 03\s+out \(0x03\),a
\s+2f6:\s+ed ab\s+outd
\s+2f8:\s+ed a3\s+outi
\s+2fa:\s+f1\s+pop af
\s+2fb:\s+c1\s+pop bc
\s+2fc:\s+d1\s+pop de
\s+2fd:\s+e1\s+pop hl
\s+2fe:\s+dd e1\s+pop ix
\s+300:\s+fd e1\s+pop iy
\s+302:\s+f5\s+push af
\s+303:\s+c5\s+push bc
\s+304:\s+d5\s+push de
\s+305:\s+e5\s+push hl
\s+306:\s+dd e5\s+push ix
\s+308:\s+fd e5\s+push iy
\s+30a:\s+cb 86\s+res 0,\(hl\)
\s+30c:\s+dd cb 09 86\s+res 0,\(ix\+9\)
\s+310:\s+fd cb 09 86\s+res 0,\(iy\+9\)
\s+314:\s+cb 87\s+res 0,a
\s+316:\s+cb 80\s+res 0,b
\s+318:\s+cb 81\s+res 0,c
\s+31a:\s+cb 82\s+res 0,d
\s+31c:\s+cb 83\s+res 0,e
\s+31e:\s+cb 84\s+res 0,h
\s+320:\s+cb 85\s+res 0,l
\s+322:\s+cb 8e\s+res 1,\(hl\)
\s+324:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
\s+328:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
\s+32c:\s+cb 8f\s+res 1,a
\s+32e:\s+cb 88\s+res 1,b
\s+330:\s+cb 89\s+res 1,c
\s+332:\s+cb 8a\s+res 1,d
\s+334:\s+cb 8b\s+res 1,e
\s+336:\s+cb 8c\s+res 1,h
\s+338:\s+cb 8d\s+res 1,l
\s+33a:\s+cb 96\s+res 2,\(hl\)
\s+33c:\s+dd cb 09 96\s+res 2,\(ix\+9\)
\s+340:\s+fd cb 09 96\s+res 2,\(iy\+9\)
\s+344:\s+cb 97\s+res 2,a
\s+346:\s+cb 90\s+res 2,b
\s+348:\s+cb 91\s+res 2,c
\s+34a:\s+cb 92\s+res 2,d
\s+34c:\s+cb 93\s+res 2,e
\s+34e:\s+cb 94\s+res 2,h
\s+350:\s+cb 95\s+res 2,l
\s+352:\s+cb 9e\s+res 3,\(hl\)
\s+354:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
\s+358:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
\s+35c:\s+cb 9f\s+res 3,a
\s+35e:\s+cb 98\s+res 3,b
\s+360:\s+cb 99\s+res 3,c
\s+362:\s+cb 9a\s+res 3,d
\s+364:\s+cb 9b\s+res 3,e
\s+366:\s+cb 9c\s+res 3,h
\s+368:\s+cb 9d\s+res 3,l
\s+36a:\s+cb a6\s+res 4,\(hl\)
\s+36c:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
\s+370:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
\s+374:\s+cb a7\s+res 4,a
\s+376:\s+cb a0\s+res 4,b
\s+378:\s+cb a1\s+res 4,c
\s+37a:\s+cb a2\s+res 4,d
\s+37c:\s+cb a3\s+res 4,e
\s+37e:\s+cb a4\s+res 4,h
\s+380:\s+cb a5\s+res 4,l
\s+382:\s+cb ae\s+res 5,\(hl\)
\s+384:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
\s+388:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
\s+38c:\s+cb af\s+res 5,a
\s+38e:\s+cb a8\s+res 5,b
\s+390:\s+cb a9\s+res 5,c
\s+392:\s+cb aa\s+res 5,d
\s+394:\s+cb ab\s+res 5,e
\s+396:\s+cb ac\s+res 5,h
\s+398:\s+cb ad\s+res 5,l
\s+39a:\s+cb b6\s+res 6,\(hl\)
\s+39c:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
\s+3a0:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
\s+3a4:\s+cb b7\s+res 6,a
\s+3a6:\s+cb b0\s+res 6,b
\s+3a8:\s+cb b1\s+res 6,c
\s+3aa:\s+cb b2\s+res 6,d
\s+3ac:\s+cb b3\s+res 6,e
\s+3ae:\s+cb b4\s+res 6,h
\s+3b0:\s+cb b5\s+res 6,l
\s+3b2:\s+cb be\s+res 7,\(hl\)
\s+3b4:\s+dd cb 09 be\s+res 7,\(ix\+9\)
\s+3b8:\s+fd cb 09 be\s+res 7,\(iy\+9\)
\s+3bc:\s+cb bf\s+res 7,a
\s+3be:\s+cb b8\s+res 7,b
\s+3c0:\s+cb b9\s+res 7,c
\s+3c2:\s+cb ba\s+res 7,d
\s+3c4:\s+cb bb\s+res 7,e
\s+3c6:\s+cb bc\s+res 7,h
\s+3c8:\s+cb bd\s+res 7,l
\s+3ca:\s+c9\s+ret
\s+3cb:\s+d8\s+ret c
\s+3cc:\s+f8\s+ret m
\s+3cd:\s+d0\s+ret nc
\s+3ce:\s+c0\s+ret nz
\s+3cf:\s+f0\s+ret p
\s+3d0:\s+e8\s+ret pe
\s+3d1:\s+e0\s+ret po
\s+3d2:\s+c8\s+ret z
\s+3d3:\s+ed 4d\s+reti
\s+3d5:\s+ed 45\s+retn
\s+3d7:\s+cb 16\s+rl \(hl\)
\s+3d9:\s+dd cb 09 16\s+rl \(ix\+9\)
\s+3dd:\s+fd cb 09 16\s+rl \(iy\+9\)
\s+3e1:\s+cb 17\s+rl a
\s+3e3:\s+cb 10\s+rl b
\s+3e5:\s+cb 11\s+rl c
\s+3e7:\s+cb 12\s+rl d
\s+3e9:\s+cb 13\s+rl e
\s+3eb:\s+cb 14\s+rl h
\s+3ed:\s+cb 15\s+rl l
\s+3ef:\s+17\s+rla
\s+3f0:\s+cb 06\s+rlc \(hl\)
\s+3f2:\s+dd cb 09 06\s+rlc \(ix\+9\)
\s+3f6:\s+fd cb 09 06\s+rlc \(iy\+9\)
\s+3fa:\s+cb 07\s+rlc a
\s+3fc:\s+cb 00\s+rlc b
\s+3fe:\s+cb 01\s+rlc c
\s+400:\s+cb 02\s+rlc d
\s+402:\s+cb 03\s+rlc e
\s+404:\s+cb 04\s+rlc h
\s+406:\s+cb 05\s+rlc l
\s+408:\s+07\s+rlca
\s+409:\s+ed 6f\s+rld
\s+40b:\s+cb 1e\s+rr \(hl\)
\s+40d:\s+dd cb 09 1e\s+rr \(ix\+9\)
\s+411:\s+fd cb 09 1e\s+rr \(iy\+9\)
\s+415:\s+cb 1f\s+rr a
\s+417:\s+cb 18\s+rr b
\s+419:\s+cb 19\s+rr c
\s+41b:\s+cb 1a\s+rr d
\s+41d:\s+cb 1b\s+rr e
\s+41f:\s+cb 1c\s+rr h
\s+421:\s+cb 1d\s+rr l
\s+423:\s+1f\s+rra
\s+424:\s+cb 0e\s+rrc \(hl\)
\s+426:\s+dd cb 09 0e\s+rrc \(ix\+9\)
\s+42a:\s+fd cb 09 0e\s+rrc \(iy\+9\)
\s+42e:\s+cb 0f\s+rrc a
\s+430:\s+cb 08\s+rrc b
\s+432:\s+cb 09\s+rrc c
\s+434:\s+cb 0a\s+rrc d
\s+436:\s+cb 0b\s+rrc e
\s+438:\s+cb 0c\s+rrc h
\s+43a:\s+cb 0d\s+rrc l
\s+43c:\s+0f\s+rrca
\s+43d:\s+ed 67\s+rrd
\s+43f:\s+c7\s+rst 0x00
\s+440:\s+cf\s+rst 0x08
\s+441:\s+d7\s+rst 0x10
\s+442:\s+df\s+rst 0x18
\s+443:\s+e7\s+rst 0x20
\s+444:\s+ef\s+rst 0x28
\s+445:\s+f7\s+rst 0x30
\s+446:\s+ff\s+rst 0x38
\s+447:\s+9e\s+sbc a,\(hl\)
\s+448:\s+dd 9e 09\s+sbc a,\(ix\+9\)
\s+44b:\s+fd 9e 09\s+sbc a,\(iy\+9\)
\s+44e:\s+de 03\s+sbc a,0x03
\s+450:\s+9f\s+sbc a,a
\s+451:\s+98\s+sbc a,b
\s+452:\s+99\s+sbc a,c
\s+453:\s+9a\s+sbc a,d
\s+454:\s+9b\s+sbc a,e
\s+455:\s+9c\s+sbc a,h
\s+456:\s+9d\s+sbc a,l
\s+457:\s+ed 42\s+sbc hl,bc
\s+459:\s+ed 52\s+sbc hl,de
\s+45b:\s+ed 62\s+sbc hl,hl
\s+45d:\s+ed 72\s+sbc hl,sp
\s+45f:\s+37\s+scf
\s+460:\s+cb c6\s+set 0,\(hl\)
\s+462:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
\s+466:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
\s+46a:\s+cb c7\s+set 0,a
\s+46c:\s+cb c0\s+set 0,b
\s+46e:\s+cb c1\s+set 0,c
\s+470:\s+cb c2\s+set 0,d
\s+472:\s+cb c3\s+set 0,e
\s+474:\s+cb c4\s+set 0,h
\s+476:\s+cb c5\s+set 0,l
\s+478:\s+cb ce\s+set 1,\(hl\)
\s+47a:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
\s+47e:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
\s+482:\s+cb cf\s+set 1,a
\s+484:\s+cb c8\s+set 1,b
\s+486:\s+cb c9\s+set 1,c
\s+488:\s+cb ca\s+set 1,d
\s+48a:\s+cb cb\s+set 1,e
\s+48c:\s+cb cc\s+set 1,h
\s+48e:\s+cb cd\s+set 1,l
\s+490:\s+cb d6\s+set 2,\(hl\)
\s+492:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
\s+496:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
\s+49a:\s+cb d7\s+set 2,a
\s+49c:\s+cb d0\s+set 2,b
\s+49e:\s+cb d1\s+set 2,c
\s+4a0:\s+cb d2\s+set 2,d
\s+4a2:\s+cb d3\s+set 2,e
\s+4a4:\s+cb d4\s+set 2,h
\s+4a6:\s+cb d5\s+set 2,l
\s+4a8:\s+cb de\s+set 3,\(hl\)
\s+4aa:\s+dd cb 09 de\s+set 3,\(ix\+9\)
\s+4ae:\s+fd cb 09 de\s+set 3,\(iy\+9\)
\s+4b2:\s+cb df\s+set 3,a
\s+4b4:\s+cb d8\s+set 3,b
\s+4b6:\s+cb d9\s+set 3,c
\s+4b8:\s+cb da\s+set 3,d
\s+4ba:\s+cb db\s+set 3,e
\s+4bc:\s+cb dc\s+set 3,h
\s+4be:\s+cb dd\s+set 3,l
\s+4c0:\s+cb e6\s+set 4,\(hl\)
\s+4c2:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
\s+4c6:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
\s+4ca:\s+cb e7\s+set 4,a
\s+4cc:\s+cb e0\s+set 4,b
\s+4ce:\s+cb e1\s+set 4,c
\s+4d0:\s+cb e2\s+set 4,d
\s+4d2:\s+cb e3\s+set 4,e
\s+4d4:\s+cb e4\s+set 4,h
\s+4d6:\s+cb e5\s+set 4,l
\s+4d8:\s+cb ee\s+set 5,\(hl\)
\s+4da:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
\s+4de:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
\s+4e2:\s+cb ef\s+set 5,a
\s+4e4:\s+cb e8\s+set 5,b
\s+4e6:\s+cb e9\s+set 5,c
\s+4e8:\s+cb ea\s+set 5,d
\s+4ea:\s+cb eb\s+set 5,e
\s+4ec:\s+cb ec\s+set 5,h
\s+4ee:\s+cb ed\s+set 5,l
\s+4f0:\s+cb f6\s+set 6,\(hl\)
\s+4f2:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
\s+4f6:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
\s+4fa:\s+cb f7\s+set 6,a
\s+4fc:\s+cb f0\s+set 6,b
\s+4fe:\s+cb f1\s+set 6,c
\s+500:\s+cb f2\s+set 6,d
\s+502:\s+cb f3\s+set 6,e
\s+504:\s+cb f4\s+set 6,h
\s+506:\s+cb f5\s+set 6,l
\s+508:\s+cb fe\s+set 7,\(hl\)
\s+50a:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
\s+50e:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
\s+512:\s+cb ff\s+set 7,a
\s+514:\s+cb f8\s+set 7,b
\s+516:\s+cb f9\s+set 7,c
\s+518:\s+cb fa\s+set 7,d
\s+51a:\s+cb fb\s+set 7,e
\s+51c:\s+cb fc\s+set 7,h
\s+51e:\s+cb fd\s+set 7,l
\s+520:\s+cb 26\s+sla \(hl\)
\s+522:\s+dd cb 09 26\s+sla \(ix\+9\)
\s+526:\s+fd cb 09 26\s+sla \(iy\+9\)
\s+52a:\s+cb 27\s+sla a
\s+52c:\s+cb 20\s+sla b
\s+52e:\s+cb 21\s+sla c
\s+530:\s+cb 22\s+sla d
\s+532:\s+cb 23\s+sla e
\s+534:\s+cb 24\s+sla h
\s+536:\s+cb 25\s+sla l
\s+538:\s+cb 2e\s+sra \(hl\)
\s+53a:\s+dd cb 09 2e\s+sra \(ix\+9\)
\s+53e:\s+fd cb 09 2e\s+sra \(iy\+9\)
\s+542:\s+cb 2f\s+sra a
\s+544:\s+cb 28\s+sra b
\s+546:\s+cb 29\s+sra c
\s+548:\s+cb 2a\s+sra d
\s+54a:\s+cb 2b\s+sra e
\s+54c:\s+cb 2c\s+sra h
\s+54e:\s+cb 2d\s+sra l
\s+550:\s+cb 3e\s+srl \(hl\)
\s+552:\s+dd cb 09 3e\s+srl \(ix\+9\)
\s+556:\s+fd cb 09 3e\s+srl \(iy\+9\)
\s+55a:\s+cb 3f\s+srl a
\s+55c:\s+cb 38\s+srl b
\s+55e:\s+cb 39\s+srl c
\s+560:\s+cb 3a\s+srl d
\s+562:\s+cb 3b\s+srl e
\s+564:\s+cb 3c\s+srl h
\s+566:\s+cb 3d\s+srl l
\s+568:\s+96\s+sub \(hl\)
\s+569:\s+dd 96 09\s+sub \(ix\+9\)
\s+56c:\s+fd 96 09\s+sub \(iy\+9\)
\s+56f:\s+d6 03\s+sub 0x03
\s+571:\s+97\s+sub a
\s+572:\s+90\s+sub b
\s+573:\s+91\s+sub c
\s+574:\s+92\s+sub d
\s+575:\s+93\s+sub e
\s+576:\s+94\s+sub h
\s+577:\s+95\s+sub l
\s+578:\s+ae\s+xor \(hl\)
\s+579:\s+dd ae 09\s+xor \(ix\+9\)
\s+57c:\s+fd ae 09\s+xor \(iy\+9\)
\s+57f:\s+ee 03\s+xor 0x03
\s+581:\s+af\s+xor a
\s+582:\s+a8\s+xor b
\s+583:\s+a9\s+xor c
\s+584:\s+aa\s+xor d
\s+585:\s+ab\s+xor e
\s+586:\s+ac\s+xor h
\s+587:\s+ad\s+xor l

View file

@ -0,0 +1,699 @@
.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

View file

@ -0,0 +1,109 @@
#as: --with-inst=idx-reg-halves
#objdump: -d
#name: halves of index register
.*:.*
Disassembly of section .text:
0+ <.text>:
[ ]+0:[ ]+dd 7c[ ]+ld a,ixh
[ ]+2:[ ]+dd 44[ ]+ld b,ixh
[ ]+4:[ ]+dd 4c[ ]+ld c,ixh
[ ]+6:[ ]+dd 54[ ]+ld d,ixh
[ ]+8:[ ]+dd 5c[ ]+ld e,ixh
[ ]+a:[ ]+dd 64[ ]+ld ixh,ixh
[ ]+c:[ ]+dd 6c[ ]+ld ixl,ixh
[ ]+e:[ ]+dd 7d[ ]+ld a,ixl
[ ]+10:[ ]+dd 45[ ]+ld b,ixl
[ ]+12:[ ]+dd 4d[ ]+ld c,ixl
[ ]+14:[ ]+dd 55[ ]+ld d,ixl
[ ]+16:[ ]+dd 5d[ ]+ld e,ixl
[ ]+18:[ ]+dd 65[ ]+ld ixh,ixl
[ ]+1a:[ ]+dd 6d[ ]+ld ixl,ixl
[ ]+1c:[ ]+fd 7c[ ]+ld a,iyh
[ ]+1e:[ ]+fd 44[ ]+ld b,iyh
[ ]+20:[ ]+fd 4c[ ]+ld c,iyh
[ ]+22:[ ]+fd 54[ ]+ld d,iyh
[ ]+24:[ ]+fd 5c[ ]+ld e,iyh
[ ]+26:[ ]+fd 64[ ]+ld iyh,iyh
[ ]+28:[ ]+fd 6c[ ]+ld iyl,iyh
[ ]+2a:[ ]+fd 7d[ ]+ld a,iyl
[ ]+2c:[ ]+fd 45[ ]+ld b,iyl
[ ]+2e:[ ]+fd 4d[ ]+ld c,iyl
[ ]+30:[ ]+fd 55[ ]+ld d,iyl
[ ]+32:[ ]+fd 5d[ ]+ld e,iyl
[ ]+34:[ ]+fd 65[ ]+ld iyh,iyl
[ ]+36:[ ]+fd 6d[ ]+ld iyl,iyl
[ ]+38:[ ]+dd 67[ ]+ld ixh,a
[ ]+3a:[ ]+dd 60[ ]+ld ixh,b
[ ]+3c:[ ]+dd 61[ ]+ld ixh,c
[ ]+3e:[ ]+dd 62[ ]+ld ixh,d
[ ]+40:[ ]+dd 63[ ]+ld ixh,e
[ ]+42:[ ]+dd 64[ ]+ld ixh,ixh
[ ]+44:[ ]+dd 65[ ]+ld ixh,ixl
[ ]+46:[ ]+dd 26 19[ ]+ld ixh,0x19
[ ]+49:[ ]+dd 6f[ ]+ld ixl,a
[ ]+4b:[ ]+dd 68[ ]+ld ixl,b
[ ]+4d:[ ]+dd 69[ ]+ld ixl,c
[ ]+4f:[ ]+dd 6a[ ]+ld ixl,d
[ ]+51:[ ]+dd 6b[ ]+ld ixl,e
[ ]+53:[ ]+dd 6c[ ]+ld ixl,ixh
[ ]+55:[ ]+dd 6d[ ]+ld ixl,ixl
[ ]+57:[ ]+dd 2e 19[ ]+ld ixl,0x19
[ ]+5a:[ ]+fd 67[ ]+ld iyh,a
[ ]+5c:[ ]+fd 60[ ]+ld iyh,b
[ ]+5e:[ ]+fd 61[ ]+ld iyh,c
[ ]+60:[ ]+fd 62[ ]+ld iyh,d
[ ]+62:[ ]+fd 63[ ]+ld iyh,e
[ ]+64:[ ]+fd 64[ ]+ld iyh,iyh
[ ]+66:[ ]+fd 65[ ]+ld iyh,iyl
[ ]+68:[ ]+fd 26 19[ ]+ld iyh,0x19
[ ]+6b:[ ]+fd 6f[ ]+ld iyl,a
[ ]+6d:[ ]+fd 68[ ]+ld iyl,b
[ ]+6f:[ ]+fd 69[ ]+ld iyl,c
[ ]+71:[ ]+fd 6a[ ]+ld iyl,d
[ ]+73:[ ]+fd 6b[ ]+ld iyl,e
[ ]+75:[ ]+fd 6c[ ]+ld iyl,iyh
[ ]+77:[ ]+fd 6d[ ]+ld iyl,iyl
[ ]+79:[ ]+fd 2e 19[ ]+ld iyl,0x19
[ ]+7c:[ ]+dd 84[ ]+add a,ixh
[ ]+7e:[ ]+dd 85[ ]+add a,ixl
[ ]+80:[ ]+fd 84[ ]+add a,iyh
[ ]+82:[ ]+fd 85[ ]+add a,iyl
[ ]+84:[ ]+dd 8c[ ]+adc a,ixh
[ ]+86:[ ]+dd 8d[ ]+adc a,ixl
[ ]+88:[ ]+fd 8c[ ]+adc a,iyh
[ ]+8a:[ ]+fd 8d[ ]+adc a,iyl
[ ]+8c:[ ]+dd bc[ ]+cp ixh
[ ]+8e:[ ]+dd bd[ ]+cp ixl
[ ]+90:[ ]+fd bc[ ]+cp iyh
[ ]+92:[ ]+fd bd[ ]+cp iyl
[ ]+94:[ ]+dd 25[ ]+dec ixh
[ ]+96:[ ]+dd 2d[ ]+dec ixl
[ ]+98:[ ]+fd 25[ ]+dec iyh
[ ]+9a:[ ]+fd 2d[ ]+dec iyl
[ ]+9c:[ ]+dd 24[ ]+inc ixh
[ ]+9e:[ ]+dd 2c[ ]+inc ixl
[ ]+a0:[ ]+fd 24[ ]+inc iyh
[ ]+a2:[ ]+fd 2c[ ]+inc iyl
[ ]+a4:[ ]+dd 9c[ ]+sbc a,ixh
[ ]+a6:[ ]+dd 9d[ ]+sbc a,ixl
[ ]+a8:[ ]+fd 9c[ ]+sbc a,iyh
[ ]+aa:[ ]+fd 9d[ ]+sbc a,iyl
[ ]+ac:[ ]+dd 94[ ]+sub ixh
[ ]+ae:[ ]+dd 95[ ]+sub ixl
[ ]+b0:[ ]+fd 94[ ]+sub iyh
[ ]+b2:[ ]+fd 95[ ]+sub iyl
[ ]+b4:[ ]+dd a4[ ]+and ixh
[ ]+b6:[ ]+dd a5[ ]+and ixl
[ ]+b8:[ ]+fd a4[ ]+and iyh
[ ]+ba:[ ]+fd a5[ ]+and iyl
[ ]+bc:[ ]+dd b4[ ]+or ixh
[ ]+be:[ ]+dd b5[ ]+or ixl
[ ]+c0:[ ]+fd b4[ ]+or iyh
[ ]+c2:[ ]+fd b5[ ]+or iyl
[ ]+c4:[ ]+dd ac[ ]+xor ixh
[ ]+c6:[ ]+dd ad[ ]+xor ixl
[ ]+c8:[ ]+fd ac[ ]+xor iyh
[ ]+ca:[ ]+fd ad[ ]+xor iyl

View file

@ -0,0 +1,123 @@
.text
.org 0
; load group
ld a,ixh
ld b,ixh
ld c,ixh
ld d,ixh
ld e,ixh
ld ixh,ixh
ld ixl,ixh
ld a,ixl
ld b,ixl
ld c,ixl
ld d,ixl
ld e,ixl
ld ixh,ixl
ld ixl,ixl
ld a,iyh
ld b,iyh
ld c,iyh
ld d,iyh
ld e,iyh
ld iyh,iyh
ld iyl,iyh
ld a,iyl
ld b,iyl
ld c,iyl
ld d,iyl
ld e,iyl
ld iyh,iyl
ld iyl,iyl
ld ixh,a
ld ixh,b
ld ixh,c
ld ixh,d
ld ixh,e
ld ixh,ixh
ld ixh,ixl
ld ixh,25
ld ixl,a
ld ixl,b
ld ixl,c
ld ixl,d
ld ixl,e
ld ixl,ixh
ld ixl,ixl
ld ixl,25
ld iyh,a
ld iyh,b
ld iyh,c
ld iyh,d
ld iyh,e
ld iyh,iyh
ld iyh,iyl
ld iyh,25
ld iyl,a
ld iyl,b
ld iyl,c
ld iyl,d
ld iyl,e
ld iyl,iyh
ld iyl,iyl
ld iyl,25
; arithmetic group
add a,ixh
add a,ixl
add a,iyh
add a,iyl
adc a,ixh
adc a,ixl
adc a,iyh
adc a,iyl
cp ixh
cp ixl
cp iyh
cp iyl
dec ixh
dec ixl
dec iyh
dec iyl
inc ixh
inc ixl
inc iyh
inc iyl
sbc a,ixh
sbc a,ixl
sbc a,iyh
sbc a,iyl
sub ixh
sub ixl
sub iyh
sub iyl
; logic group
and ixh
and ixl
and iyh
and iyl
or ixh
or ixl
or iyh
or iyl
xor ixh
xor ixl
xor iyh
xor iyl

View file

@ -0,0 +1,10 @@
#as: --with-inst=in-f-c
#objdump: -d
#name: Z80 undocumented instruction IN F,(C)
.*:.*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+ed 70\s+in f,\(c\)

View file

@ -0,0 +1,4 @@
.text
.org 0
in f,(c)

View file

@ -0,0 +1,345 @@
#as: -z80 -with-inst=sli,op-ii-ld
#objdump: -d
#name: Z80 undocumented instructions DD/FD CB dis op
.*: .*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+dd cb 08 07\s+rlc \(ix\+8\),a
\s+4:\s+dd cb 08 00\s+rlc \(ix\+8\),b
\s+8:\s+dd cb 08 01\s+rlc \(ix\+8\),c
\s+c:\s+dd cb 08 02\s+rlc \(ix\+8\),d
\s+10:\s+dd cb 08 03\s+rlc \(ix\+8\),e
\s+14:\s+dd cb 08 04\s+rlc \(ix\+8\),h
\s+18:\s+dd cb 08 05\s+rlc \(ix\+8\),l
\s+1c:\s+fd cb 08 07\s+rlc \(iy\+8\),a
\s+20:\s+fd cb 08 00\s+rlc \(iy\+8\),b
\s+24:\s+fd cb 08 01\s+rlc \(iy\+8\),c
\s+28:\s+fd cb 08 02\s+rlc \(iy\+8\),d
\s+2c:\s+fd cb 08 03\s+rlc \(iy\+8\),e
\s+30:\s+fd cb 08 04\s+rlc \(iy\+8\),h
\s+34:\s+fd cb 08 05\s+rlc \(iy\+8\),l
\s+38:\s+dd cb 08 0f\s+rrc \(ix\+8\),a
\s+3c:\s+dd cb 08 08\s+rrc \(ix\+8\),b
\s+40:\s+dd cb 08 09\s+rrc \(ix\+8\),c
\s+44:\s+dd cb 08 0a\s+rrc \(ix\+8\),d
\s+48:\s+dd cb 08 0b\s+rrc \(ix\+8\),e
\s+4c:\s+dd cb 08 0c\s+rrc \(ix\+8\),h
\s+50:\s+dd cb 08 0d\s+rrc \(ix\+8\),l
\s+54:\s+fd cb 08 0f\s+rrc \(iy\+8\),a
\s+58:\s+fd cb 08 08\s+rrc \(iy\+8\),b
\s+5c:\s+fd cb 08 09\s+rrc \(iy\+8\),c
\s+60:\s+fd cb 08 0a\s+rrc \(iy\+8\),d
\s+64:\s+fd cb 08 0b\s+rrc \(iy\+8\),e
\s+68:\s+fd cb 08 0c\s+rrc \(iy\+8\),h
\s+6c:\s+fd cb 08 0d\s+rrc \(iy\+8\),l
\s+70:\s+dd cb 08 17\s+rl \(ix\+8\),a
\s+74:\s+dd cb 08 10\s+rl \(ix\+8\),b
\s+78:\s+dd cb 08 11\s+rl \(ix\+8\),c
\s+7c:\s+dd cb 08 12\s+rl \(ix\+8\),d
\s+80:\s+dd cb 08 13\s+rl \(ix\+8\),e
\s+84:\s+dd cb 08 14\s+rl \(ix\+8\),h
\s+88:\s+dd cb 08 15\s+rl \(ix\+8\),l
\s+8c:\s+fd cb 08 17\s+rl \(iy\+8\),a
\s+90:\s+fd cb 08 10\s+rl \(iy\+8\),b
\s+94:\s+fd cb 08 11\s+rl \(iy\+8\),c
\s+98:\s+fd cb 08 12\s+rl \(iy\+8\),d
\s+9c:\s+fd cb 08 13\s+rl \(iy\+8\),e
\s+a0:\s+fd cb 08 14\s+rl \(iy\+8\),h
\s+a4:\s+fd cb 08 15\s+rl \(iy\+8\),l
\s+a8:\s+dd cb 08 1f\s+rr \(ix\+8\),a
\s+ac:\s+dd cb 08 18\s+rr \(ix\+8\),b
\s+b0:\s+dd cb 08 19\s+rr \(ix\+8\),c
\s+b4:\s+dd cb 08 1a\s+rr \(ix\+8\),d
\s+b8:\s+dd cb 08 1b\s+rr \(ix\+8\),e
\s+bc:\s+dd cb 08 1c\s+rr \(ix\+8\),h
\s+c0:\s+dd cb 08 1d\s+rr \(ix\+8\),l
\s+c4:\s+fd cb 08 1f\s+rr \(iy\+8\),a
\s+c8:\s+fd cb 08 18\s+rr \(iy\+8\),b
\s+cc:\s+fd cb 08 19\s+rr \(iy\+8\),c
\s+d0:\s+fd cb 08 1a\s+rr \(iy\+8\),d
\s+d4:\s+fd cb 08 1b\s+rr \(iy\+8\),e
\s+d8:\s+fd cb 08 1c\s+rr \(iy\+8\),h
\s+dc:\s+fd cb 08 1d\s+rr \(iy\+8\),l
\s+e0:\s+dd cb 08 27\s+sla \(ix\+8\),a
\s+e4:\s+dd cb 08 20\s+sla \(ix\+8\),b
\s+e8:\s+dd cb 08 21\s+sla \(ix\+8\),c
\s+ec:\s+dd cb 08 22\s+sla \(ix\+8\),d
\s+f0:\s+dd cb 08 23\s+sla \(ix\+8\),e
\s+f4:\s+dd cb 08 24\s+sla \(ix\+8\),h
\s+f8:\s+dd cb 08 25\s+sla \(ix\+8\),l
\s+fc:\s+fd cb 08 27\s+sla \(iy\+8\),a
\s+100:\s+fd cb 08 20\s+sla \(iy\+8\),b
\s+104:\s+fd cb 08 21\s+sla \(iy\+8\),c
\s+108:\s+fd cb 08 22\s+sla \(iy\+8\),d
\s+10c:\s+fd cb 08 23\s+sla \(iy\+8\),e
\s+110:\s+fd cb 08 24\s+sla \(iy\+8\),h
\s+114:\s+fd cb 08 25\s+sla \(iy\+8\),l
\s+118:\s+dd cb 08 2f\s+sra \(ix\+8\),a
\s+11c:\s+dd cb 08 28\s+sra \(ix\+8\),b
\s+120:\s+dd cb 08 29\s+sra \(ix\+8\),c
\s+124:\s+dd cb 08 2a\s+sra \(ix\+8\),d
\s+128:\s+dd cb 08 2b\s+sra \(ix\+8\),e
\s+12c:\s+dd cb 08 2c\s+sra \(ix\+8\),h
\s+130:\s+dd cb 08 2d\s+sra \(ix\+8\),l
\s+134:\s+fd cb 08 2f\s+sra \(iy\+8\),a
\s+138:\s+fd cb 08 28\s+sra \(iy\+8\),b
\s+13c:\s+fd cb 08 29\s+sra \(iy\+8\),c
\s+140:\s+fd cb 08 2a\s+sra \(iy\+8\),d
\s+144:\s+fd cb 08 2b\s+sra \(iy\+8\),e
\s+148:\s+fd cb 08 2c\s+sra \(iy\+8\),h
\s+14c:\s+fd cb 08 2d\s+sra \(iy\+8\),l
\s+150:\s+dd cb 08 37\s+sli \(ix\+8\),a
\s+154:\s+dd cb 08 30\s+sli \(ix\+8\),b
\s+158:\s+dd cb 08 31\s+sli \(ix\+8\),c
\s+15c:\s+dd cb 08 32\s+sli \(ix\+8\),d
\s+160:\s+dd cb 08 33\s+sli \(ix\+8\),e
\s+164:\s+dd cb 08 34\s+sli \(ix\+8\),h
\s+168:\s+dd cb 08 35\s+sli \(ix\+8\),l
\s+16c:\s+fd cb 08 37\s+sli \(iy\+8\),a
\s+170:\s+fd cb 08 30\s+sli \(iy\+8\),b
\s+174:\s+fd cb 08 31\s+sli \(iy\+8\),c
\s+178:\s+fd cb 08 32\s+sli \(iy\+8\),d
\s+17c:\s+fd cb 08 33\s+sli \(iy\+8\),e
\s+180:\s+fd cb 08 34\s+sli \(iy\+8\),h
\s+184:\s+fd cb 08 35\s+sli \(iy\+8\),l
\s+188:\s+dd cb 08 3f\s+srl \(ix\+8\),a
\s+18c:\s+dd cb 08 38\s+srl \(ix\+8\),b
\s+190:\s+dd cb 08 39\s+srl \(ix\+8\),c
\s+194:\s+dd cb 08 3a\s+srl \(ix\+8\),d
\s+198:\s+dd cb 08 3b\s+srl \(ix\+8\),e
\s+19c:\s+dd cb 08 3c\s+srl \(ix\+8\),h
\s+1a0:\s+dd cb 08 3d\s+srl \(ix\+8\),l
\s+1a4:\s+fd cb 08 3f\s+srl \(iy\+8\),a
\s+1a8:\s+fd cb 08 38\s+srl \(iy\+8\),b
\s+1ac:\s+fd cb 08 39\s+srl \(iy\+8\),c
\s+1b0:\s+fd cb 08 3a\s+srl \(iy\+8\),d
\s+1b4:\s+fd cb 08 3b\s+srl \(iy\+8\),e
\s+1b8:\s+fd cb 08 3c\s+srl \(iy\+8\),h
\s+1bc:\s+fd cb 08 3d\s+srl \(iy\+8\),l
\s+1c0:\s+dd cb 08 87\s+res 0,\(ix\+8\),a
\s+1c4:\s+dd cb 08 80\s+res 0,\(ix\+8\),b
\s+1c8:\s+dd cb 08 81\s+res 0,\(ix\+8\),c
\s+1cc:\s+dd cb 08 82\s+res 0,\(ix\+8\),d
\s+1d0:\s+dd cb 08 83\s+res 0,\(ix\+8\),e
\s+1d4:\s+dd cb 08 84\s+res 0,\(ix\+8\),h
\s+1d8:\s+dd cb 08 85\s+res 0,\(ix\+8\),l
\s+1dc:\s+fd cb 08 87\s+res 0,\(iy\+8\),a
\s+1e0:\s+fd cb 08 80\s+res 0,\(iy\+8\),b
\s+1e4:\s+fd cb 08 81\s+res 0,\(iy\+8\),c
\s+1e8:\s+fd cb 08 82\s+res 0,\(iy\+8\),d
\s+1ec:\s+fd cb 08 83\s+res 0,\(iy\+8\),e
\s+1f0:\s+fd cb 08 84\s+res 0,\(iy\+8\),h
\s+1f4:\s+fd cb 08 85\s+res 0,\(iy\+8\),l
\s+1f8:\s+dd cb 08 8f\s+res 1,\(ix\+8\),a
\s+1fc:\s+dd cb 08 88\s+res 1,\(ix\+8\),b
\s+200:\s+dd cb 08 89\s+res 1,\(ix\+8\),c
\s+204:\s+dd cb 08 8a\s+res 1,\(ix\+8\),d
\s+208:\s+dd cb 08 8b\s+res 1,\(ix\+8\),e
\s+20c:\s+dd cb 08 8c\s+res 1,\(ix\+8\),h
\s+210:\s+dd cb 08 8d\s+res 1,\(ix\+8\),l
\s+214:\s+fd cb 08 8f\s+res 1,\(iy\+8\),a
\s+218:\s+fd cb 08 88\s+res 1,\(iy\+8\),b
\s+21c:\s+fd cb 08 89\s+res 1,\(iy\+8\),c
\s+220:\s+fd cb 08 8a\s+res 1,\(iy\+8\),d
\s+224:\s+fd cb 08 8b\s+res 1,\(iy\+8\),e
\s+228:\s+fd cb 08 8c\s+res 1,\(iy\+8\),h
\s+22c:\s+fd cb 08 8d\s+res 1,\(iy\+8\),l
\s+230:\s+dd cb 08 97\s+res 2,\(ix\+8\),a
\s+234:\s+dd cb 08 90\s+res 2,\(ix\+8\),b
\s+238:\s+dd cb 08 91\s+res 2,\(ix\+8\),c
\s+23c:\s+dd cb 08 92\s+res 2,\(ix\+8\),d
\s+240:\s+dd cb 08 93\s+res 2,\(ix\+8\),e
\s+244:\s+dd cb 08 94\s+res 2,\(ix\+8\),h
\s+248:\s+dd cb 08 95\s+res 2,\(ix\+8\),l
\s+24c:\s+fd cb 08 97\s+res 2,\(iy\+8\),a
\s+250:\s+fd cb 08 90\s+res 2,\(iy\+8\),b
\s+254:\s+fd cb 08 91\s+res 2,\(iy\+8\),c
\s+258:\s+fd cb 08 92\s+res 2,\(iy\+8\),d
\s+25c:\s+fd cb 08 93\s+res 2,\(iy\+8\),e
\s+260:\s+fd cb 08 94\s+res 2,\(iy\+8\),h
\s+264:\s+fd cb 08 95\s+res 2,\(iy\+8\),l
\s+268:\s+dd cb 08 9f\s+res 3,\(ix\+8\),a
\s+26c:\s+dd cb 08 98\s+res 3,\(ix\+8\),b
\s+270:\s+dd cb 08 99\s+res 3,\(ix\+8\),c
\s+274:\s+dd cb 08 9a\s+res 3,\(ix\+8\),d
\s+278:\s+dd cb 08 9b\s+res 3,\(ix\+8\),e
\s+27c:\s+dd cb 08 9c\s+res 3,\(ix\+8\),h
\s+280:\s+dd cb 08 9d\s+res 3,\(ix\+8\),l
\s+284:\s+fd cb 08 9f\s+res 3,\(iy\+8\),a
\s+288:\s+fd cb 08 98\s+res 3,\(iy\+8\),b
\s+28c:\s+fd cb 08 99\s+res 3,\(iy\+8\),c
\s+290:\s+fd cb 08 9a\s+res 3,\(iy\+8\),d
\s+294:\s+fd cb 08 9b\s+res 3,\(iy\+8\),e
\s+298:\s+fd cb 08 9c\s+res 3,\(iy\+8\),h
\s+29c:\s+fd cb 08 9d\s+res 3,\(iy\+8\),l
\s+2a0:\s+dd cb 08 a7\s+res 4,\(ix\+8\),a
\s+2a4:\s+dd cb 08 a0\s+res 4,\(ix\+8\),b
\s+2a8:\s+dd cb 08 a1\s+res 4,\(ix\+8\),c
\s+2ac:\s+dd cb 08 a2\s+res 4,\(ix\+8\),d
\s+2b0:\s+dd cb 08 a3\s+res 4,\(ix\+8\),e
\s+2b4:\s+dd cb 08 a4\s+res 4,\(ix\+8\),h
\s+2b8:\s+dd cb 08 a5\s+res 4,\(ix\+8\),l
\s+2bc:\s+fd cb 08 a7\s+res 4,\(iy\+8\),a
\s+2c0:\s+fd cb 08 a0\s+res 4,\(iy\+8\),b
\s+2c4:\s+fd cb 08 a1\s+res 4,\(iy\+8\),c
\s+2c8:\s+fd cb 08 a2\s+res 4,\(iy\+8\),d
\s+2cc:\s+fd cb 08 a3\s+res 4,\(iy\+8\),e
\s+2d0:\s+fd cb 08 a4\s+res 4,\(iy\+8\),h
\s+2d4:\s+fd cb 08 a5\s+res 4,\(iy\+8\),l
\s+2d8:\s+dd cb 08 af\s+res 5,\(ix\+8\),a
\s+2dc:\s+dd cb 08 a8\s+res 5,\(ix\+8\),b
\s+2e0:\s+dd cb 08 a9\s+res 5,\(ix\+8\),c
\s+2e4:\s+dd cb 08 aa\s+res 5,\(ix\+8\),d
\s+2e8:\s+dd cb 08 ab\s+res 5,\(ix\+8\),e
\s+2ec:\s+dd cb 08 ac\s+res 5,\(ix\+8\),h
\s+2f0:\s+dd cb 08 ad\s+res 5,\(ix\+8\),l
\s+2f4:\s+fd cb 08 af\s+res 5,\(iy\+8\),a
\s+2f8:\s+fd cb 08 a8\s+res 5,\(iy\+8\),b
\s+2fc:\s+fd cb 08 a9\s+res 5,\(iy\+8\),c
\s+300:\s+fd cb 08 aa\s+res 5,\(iy\+8\),d
\s+304:\s+fd cb 08 ab\s+res 5,\(iy\+8\),e
\s+308:\s+fd cb 08 ac\s+res 5,\(iy\+8\),h
\s+30c:\s+fd cb 08 ad\s+res 5,\(iy\+8\),l
\s+310:\s+dd cb 08 b7\s+res 6,\(ix\+8\),a
\s+314:\s+dd cb 08 b0\s+res 6,\(ix\+8\),b
\s+318:\s+dd cb 08 b1\s+res 6,\(ix\+8\),c
\s+31c:\s+dd cb 08 b2\s+res 6,\(ix\+8\),d
\s+320:\s+dd cb 08 b3\s+res 6,\(ix\+8\),e
\s+324:\s+dd cb 08 b4\s+res 6,\(ix\+8\),h
\s+328:\s+dd cb 08 b5\s+res 6,\(ix\+8\),l
\s+32c:\s+fd cb 08 b7\s+res 6,\(iy\+8\),a
\s+330:\s+fd cb 08 b0\s+res 6,\(iy\+8\),b
\s+334:\s+fd cb 08 b1\s+res 6,\(iy\+8\),c
\s+338:\s+fd cb 08 b2\s+res 6,\(iy\+8\),d
\s+33c:\s+fd cb 08 b3\s+res 6,\(iy\+8\),e
\s+340:\s+fd cb 08 b4\s+res 6,\(iy\+8\),h
\s+344:\s+fd cb 08 b5\s+res 6,\(iy\+8\),l
\s+348:\s+dd cb 08 bf\s+res 7,\(ix\+8\),a
\s+34c:\s+dd cb 08 b8\s+res 7,\(ix\+8\),b
\s+350:\s+dd cb 08 b9\s+res 7,\(ix\+8\),c
\s+354:\s+dd cb 08 ba\s+res 7,\(ix\+8\),d
\s+358:\s+dd cb 08 bb\s+res 7,\(ix\+8\),e
\s+35c:\s+dd cb 08 bc\s+res 7,\(ix\+8\),h
\s+360:\s+dd cb 08 bd\s+res 7,\(ix\+8\),l
\s+364:\s+fd cb 08 bf\s+res 7,\(iy\+8\),a
\s+368:\s+fd cb 08 b8\s+res 7,\(iy\+8\),b
\s+36c:\s+fd cb 08 b9\s+res 7,\(iy\+8\),c
\s+370:\s+fd cb 08 ba\s+res 7,\(iy\+8\),d
\s+374:\s+fd cb 08 bb\s+res 7,\(iy\+8\),e
\s+378:\s+fd cb 08 bc\s+res 7,\(iy\+8\),h
\s+37c:\s+fd cb 08 bd\s+res 7,\(iy\+8\),l
\s+380:\s+dd cb 08 c7\s+set 0,\(ix\+8\),a
\s+384:\s+dd cb 08 c0\s+set 0,\(ix\+8\),b
\s+388:\s+dd cb 08 c1\s+set 0,\(ix\+8\),c
\s+38c:\s+dd cb 08 c2\s+set 0,\(ix\+8\),d
\s+390:\s+dd cb 08 c3\s+set 0,\(ix\+8\),e
\s+394:\s+dd cb 08 c4\s+set 0,\(ix\+8\),h
\s+398:\s+dd cb 08 c5\s+set 0,\(ix\+8\),l
\s+39c:\s+fd cb 08 c7\s+set 0,\(iy\+8\),a
\s+3a0:\s+fd cb 08 c0\s+set 0,\(iy\+8\),b
\s+3a4:\s+fd cb 08 c1\s+set 0,\(iy\+8\),c
\s+3a8:\s+fd cb 08 c2\s+set 0,\(iy\+8\),d
\s+3ac:\s+fd cb 08 c3\s+set 0,\(iy\+8\),e
\s+3b0:\s+fd cb 08 c4\s+set 0,\(iy\+8\),h
\s+3b4:\s+fd cb 08 c5\s+set 0,\(iy\+8\),l
\s+3b8:\s+dd cb 08 cf\s+set 1,\(ix\+8\),a
\s+3bc:\s+dd cb 08 c8\s+set 1,\(ix\+8\),b
\s+3c0:\s+dd cb 08 c9\s+set 1,\(ix\+8\),c
\s+3c4:\s+dd cb 08 ca\s+set 1,\(ix\+8\),d
\s+3c8:\s+dd cb 08 cb\s+set 1,\(ix\+8\),e
\s+3cc:\s+dd cb 08 cc\s+set 1,\(ix\+8\),h
\s+3d0:\s+dd cb 08 cd\s+set 1,\(ix\+8\),l
\s+3d4:\s+fd cb 08 cf\s+set 1,\(iy\+8\),a
\s+3d8:\s+fd cb 08 c8\s+set 1,\(iy\+8\),b
\s+3dc:\s+fd cb 08 c9\s+set 1,\(iy\+8\),c
\s+3e0:\s+fd cb 08 ca\s+set 1,\(iy\+8\),d
\s+3e4:\s+fd cb 08 cb\s+set 1,\(iy\+8\),e
\s+3e8:\s+fd cb 08 cc\s+set 1,\(iy\+8\),h
\s+3ec:\s+fd cb 08 cd\s+set 1,\(iy\+8\),l
\s+3f0:\s+dd cb 08 d7\s+set 2,\(ix\+8\),a
\s+3f4:\s+dd cb 08 d0\s+set 2,\(ix\+8\),b
\s+3f8:\s+dd cb 08 d1\s+set 2,\(ix\+8\),c
\s+3fc:\s+dd cb 08 d2\s+set 2,\(ix\+8\),d
\s+400:\s+dd cb 08 d3\s+set 2,\(ix\+8\),e
\s+404:\s+dd cb 08 d4\s+set 2,\(ix\+8\),h
\s+408:\s+dd cb 08 d5\s+set 2,\(ix\+8\),l
\s+40c:\s+fd cb 08 d7\s+set 2,\(iy\+8\),a
\s+410:\s+fd cb 08 d0\s+set 2,\(iy\+8\),b
\s+414:\s+fd cb 08 d1\s+set 2,\(iy\+8\),c
\s+418:\s+fd cb 08 d2\s+set 2,\(iy\+8\),d
\s+41c:\s+fd cb 08 d3\s+set 2,\(iy\+8\),e
\s+420:\s+fd cb 08 d4\s+set 2,\(iy\+8\),h
\s+424:\s+fd cb 08 d5\s+set 2,\(iy\+8\),l
\s+428:\s+dd cb 08 df\s+set 3,\(ix\+8\),a
\s+42c:\s+dd cb 08 d8\s+set 3,\(ix\+8\),b
\s+430:\s+dd cb 08 d9\s+set 3,\(ix\+8\),c
\s+434:\s+dd cb 08 da\s+set 3,\(ix\+8\),d
\s+438:\s+dd cb 08 db\s+set 3,\(ix\+8\),e
\s+43c:\s+dd cb 08 dc\s+set 3,\(ix\+8\),h
\s+440:\s+dd cb 08 dd\s+set 3,\(ix\+8\),l
\s+444:\s+fd cb 08 df\s+set 3,\(iy\+8\),a
\s+448:\s+fd cb 08 d8\s+set 3,\(iy\+8\),b
\s+44c:\s+fd cb 08 d9\s+set 3,\(iy\+8\),c
\s+450:\s+fd cb 08 da\s+set 3,\(iy\+8\),d
\s+454:\s+fd cb 08 db\s+set 3,\(iy\+8\),e
\s+458:\s+fd cb 08 dc\s+set 3,\(iy\+8\),h
\s+45c:\s+fd cb 08 dd\s+set 3,\(iy\+8\),l
\s+460:\s+dd cb 08 e7\s+set 4,\(ix\+8\),a
\s+464:\s+dd cb 08 e0\s+set 4,\(ix\+8\),b
\s+468:\s+dd cb 08 e1\s+set 4,\(ix\+8\),c
\s+46c:\s+dd cb 08 e2\s+set 4,\(ix\+8\),d
\s+470:\s+dd cb 08 e3\s+set 4,\(ix\+8\),e
\s+474:\s+dd cb 08 e4\s+set 4,\(ix\+8\),h
\s+478:\s+dd cb 08 e5\s+set 4,\(ix\+8\),l
\s+47c:\s+fd cb 08 e7\s+set 4,\(iy\+8\),a
\s+480:\s+fd cb 08 e0\s+set 4,\(iy\+8\),b
\s+484:\s+fd cb 08 e1\s+set 4,\(iy\+8\),c
\s+488:\s+fd cb 08 e2\s+set 4,\(iy\+8\),d
\s+48c:\s+fd cb 08 e3\s+set 4,\(iy\+8\),e
\s+490:\s+fd cb 08 e4\s+set 4,\(iy\+8\),h
\s+494:\s+fd cb 08 e5\s+set 4,\(iy\+8\),l
\s+498:\s+dd cb 08 ef\s+set 5,\(ix\+8\),a
\s+49c:\s+dd cb 08 e8\s+set 5,\(ix\+8\),b
\s+4a0:\s+dd cb 08 e9\s+set 5,\(ix\+8\),c
\s+4a4:\s+dd cb 08 ea\s+set 5,\(ix\+8\),d
\s+4a8:\s+dd cb 08 eb\s+set 5,\(ix\+8\),e
\s+4ac:\s+dd cb 08 ec\s+set 5,\(ix\+8\),h
\s+4b0:\s+dd cb 08 ed\s+set 5,\(ix\+8\),l
\s+4b4:\s+fd cb 08 ef\s+set 5,\(iy\+8\),a
\s+4b8:\s+fd cb 08 e8\s+set 5,\(iy\+8\),b
\s+4bc:\s+fd cb 08 e9\s+set 5,\(iy\+8\),c
\s+4c0:\s+fd cb 08 ea\s+set 5,\(iy\+8\),d
\s+4c4:\s+fd cb 08 eb\s+set 5,\(iy\+8\),e
\s+4c8:\s+fd cb 08 ec\s+set 5,\(iy\+8\),h
\s+4cc:\s+fd cb 08 ed\s+set 5,\(iy\+8\),l
\s+4d0:\s+dd cb 08 f7\s+set 6,\(ix\+8\),a
\s+4d4:\s+dd cb 08 f0\s+set 6,\(ix\+8\),b
\s+4d8:\s+dd cb 08 f1\s+set 6,\(ix\+8\),c
\s+4dc:\s+dd cb 08 f2\s+set 6,\(ix\+8\),d
\s+4e0:\s+dd cb 08 f3\s+set 6,\(ix\+8\),e
\s+4e4:\s+dd cb 08 f4\s+set 6,\(ix\+8\),h
\s+4e8:\s+dd cb 08 f5\s+set 6,\(ix\+8\),l
\s+4ec:\s+fd cb 08 f7\s+set 6,\(iy\+8\),a
\s+4f0:\s+fd cb 08 f0\s+set 6,\(iy\+8\),b
\s+4f4:\s+fd cb 08 f1\s+set 6,\(iy\+8\),c
\s+4f8:\s+fd cb 08 f2\s+set 6,\(iy\+8\),d
\s+4fc:\s+fd cb 08 f3\s+set 6,\(iy\+8\),e
\s+500:\s+fd cb 08 f4\s+set 6,\(iy\+8\),h
\s+504:\s+fd cb 08 f5\s+set 6,\(iy\+8\),l
\s+508:\s+dd cb 08 ff\s+set 7,\(ix\+8\),a
\s+50c:\s+dd cb 08 f8\s+set 7,\(ix\+8\),b
\s+510:\s+dd cb 08 f9\s+set 7,\(ix\+8\),c
\s+514:\s+dd cb 08 fa\s+set 7,\(ix\+8\),d
\s+518:\s+dd cb 08 fb\s+set 7,\(ix\+8\),e
\s+51c:\s+dd cb 08 fc\s+set 7,\(ix\+8\),h
\s+520:\s+dd cb 08 fd\s+set 7,\(ix\+8\),l
\s+524:\s+fd cb 08 ff\s+set 7,\(iy\+8\),a
\s+528:\s+fd cb 08 f8\s+set 7,\(iy\+8\),b
\s+52c:\s+fd cb 08 f9\s+set 7,\(iy\+8\),c
\s+530:\s+fd cb 08 fa\s+set 7,\(iy\+8\),d
\s+534:\s+fd cb 08 fb\s+set 7,\(iy\+8\),e
\s+538:\s+fd cb 08 fc\s+set 7,\(iy\+8\),h
\s+53c:\s+fd cb 08 fd\s+set 7,\(iy\+8\),l

View file

@ -0,0 +1,350 @@
.text
.org 0
;; rare unportable instructions which do operation on memory byte
;; changing this byte and copying result to specified register
RLC (ix+8),a
RLC (ix+8),b
RLC (ix+8),c
RLC (ix+8),d
RLC (ix+8),e
RLC (ix+8),h
RLC (ix+8),l
RLC (iy+8),a
RLC (iy+8),b
RLC (iy+8),c
RLC (iy+8),d
RLC (iy+8),e
RLC (iy+8),h
RLC (iy+8),l
RRC (ix+8),a
RRC (ix+8),b
RRC (ix+8),c
RRC (ix+8),d
RRC (ix+8),e
RRC (ix+8),h
RRC (ix+8),l
RRC (iy+8),a
RRC (iy+8),b
RRC (iy+8),c
RRC (iy+8),d
RRC (iy+8),e
RRC (iy+8),h
RRC (iy+8),l
RL (ix+8),a
RL (ix+8),b
RL (ix+8),c
RL (ix+8),d
RL (ix+8),e
RL (ix+8),h
RL (ix+8),l
RL (iy+8),a
RL (iy+8),b
RL (iy+8),c
RL (iy+8),d
RL (iy+8),e
RL (iy+8),h
RL (iy+8),l
RR (ix+8),a
RR (ix+8),b
RR (ix+8),c
RR (ix+8),d
RR (ix+8),e
RR (ix+8),h
RR (ix+8),l
RR (iy+8),a
RR (iy+8),b
RR (iy+8),c
RR (iy+8),d
RR (iy+8),e
RR (iy+8),h
RR (iy+8),l
SLA (ix+8),a
SLA (ix+8),b
SLA (ix+8),c
SLA (ix+8),d
SLA (ix+8),e
SLA (ix+8),h
SLA (ix+8),l
SLA (iy+8),a
SLA (iy+8),b
SLA (iy+8),c
SLA (iy+8),d
SLA (iy+8),e
SLA (iy+8),h
SLA (iy+8),l
SRA (ix+8),a
SRA (ix+8),b
SRA (ix+8),c
SRA (ix+8),d
SRA (ix+8),e
SRA (ix+8),h
SRA (ix+8),l
SRA (iy+8),a
SRA (iy+8),b
SRA (iy+8),c
SRA (iy+8),d
SRA (iy+8),e
SRA (iy+8),h
SRA (iy+8),l
SLI (ix+8),a
SLI (ix+8),b
SLI (ix+8),c
SLI (ix+8),d
SLI (ix+8),e
SLI (ix+8),h
SLI (ix+8),l
SLI (iy+8),a
SLI (iy+8),b
SLI (iy+8),c
SLI (iy+8),d
SLI (iy+8),e
SLI (iy+8),h
SLI (iy+8),l
SRL (ix+8),a
SRL (ix+8),b
SRL (ix+8),c
SRL (ix+8),d
SRL (ix+8),e
SRL (ix+8),h
SRL (ix+8),l
SRL (iy+8),a
SRL (iy+8),b
SRL (iy+8),c
SRL (iy+8),d
SRL (iy+8),e
SRL (iy+8),h
SRL (iy+8),l
RES 0,(ix+8),a
RES 0,(ix+8),b
RES 0,(ix+8),c
RES 0,(ix+8),d
RES 0,(ix+8),e
RES 0,(ix+8),h
RES 0,(ix+8),l
RES 0,(iy+8),a
RES 0,(iy+8),b
RES 0,(iy+8),c
RES 0,(iy+8),d
RES 0,(iy+8),e
RES 0,(iy+8),h
RES 0,(iy+8),l
RES 1,(ix+8),a
RES 1,(ix+8),b
RES 1,(ix+8),c
RES 1,(ix+8),d
RES 1,(ix+8),e
RES 1,(ix+8),h
RES 1,(ix+8),l
RES 1,(iy+8),a
RES 1,(iy+8),b
RES 1,(iy+8),c
RES 1,(iy+8),d
RES 1,(iy+8),e
RES 1,(iy+8),h
RES 1,(iy+8),l
RES 2,(ix+8),a
RES 2,(ix+8),b
RES 2,(ix+8),c
RES 2,(ix+8),d
RES 2,(ix+8),e
RES 2,(ix+8),h
RES 2,(ix+8),l
RES 2,(iy+8),a
RES 2,(iy+8),b
RES 2,(iy+8),c
RES 2,(iy+8),d
RES 2,(iy+8),e
RES 2,(iy+8),h
RES 2,(iy+8),l
RES 3,(ix+8),a
RES 3,(ix+8),b
RES 3,(ix+8),c
RES 3,(ix+8),d
RES 3,(ix+8),e
RES 3,(ix+8),h
RES 3,(ix+8),l
RES 3,(iy+8),a
RES 3,(iy+8),b
RES 3,(iy+8),c
RES 3,(iy+8),d
RES 3,(iy+8),e
RES 3,(iy+8),h
RES 3,(iy+8),l
RES 4,(ix+8),a
RES 4,(ix+8),b
RES 4,(ix+8),c
RES 4,(ix+8),d
RES 4,(ix+8),e
RES 4,(ix+8),h
RES 4,(ix+8),l
RES 4,(iy+8),a
RES 4,(iy+8),b
RES 4,(iy+8),c
RES 4,(iy+8),d
RES 4,(iy+8),e
RES 4,(iy+8),h
RES 4,(iy+8),l
RES 5,(ix+8),a
RES 5,(ix+8),b
RES 5,(ix+8),c
RES 5,(ix+8),d
RES 5,(ix+8),e
RES 5,(ix+8),h
RES 5,(ix+8),l
RES 5,(iy+8),a
RES 5,(iy+8),b
RES 5,(iy+8),c
RES 5,(iy+8),d
RES 5,(iy+8),e
RES 5,(iy+8),h
RES 5,(iy+8),l
RES 6,(ix+8),a
RES 6,(ix+8),b
RES 6,(ix+8),c
RES 6,(ix+8),d
RES 6,(ix+8),e
RES 6,(ix+8),h
RES 6,(ix+8),l
RES 6,(iy+8),a
RES 6,(iy+8),b
RES 6,(iy+8),c
RES 6,(iy+8),d
RES 6,(iy+8),e
RES 6,(iy+8),h
RES 6,(iy+8),l
RES 7,(ix+8),a
RES 7,(ix+8),b
RES 7,(ix+8),c
RES 7,(ix+8),d
RES 7,(ix+8),e
RES 7,(ix+8),h
RES 7,(ix+8),l
RES 7,(iy+8),a
RES 7,(iy+8),b
RES 7,(iy+8),c
RES 7,(iy+8),d
RES 7,(iy+8),e
RES 7,(iy+8),h
RES 7,(iy+8),l
SET 0,(ix+8),a
SET 0,(ix+8),b
SET 0,(ix+8),c
SET 0,(ix+8),d
SET 0,(ix+8),e
SET 0,(ix+8),h
SET 0,(ix+8),l
SET 0,(iy+8),a
SET 0,(iy+8),b
SET 0,(iy+8),c
SET 0,(iy+8),d
SET 0,(iy+8),e
SET 0,(iy+8),h
SET 0,(iy+8),l
SET 1,(ix+8),a
SET 1,(ix+8),b
SET 1,(ix+8),c
SET 1,(ix+8),d
SET 1,(ix+8),e
SET 1,(ix+8),h
SET 1,(ix+8),l
SET 1,(iy+8),a
SET 1,(iy+8),b
SET 1,(iy+8),c
SET 1,(iy+8),d
SET 1,(iy+8),e
SET 1,(iy+8),h
SET 1,(iy+8),l
SET 2,(ix+8),a
SET 2,(ix+8),b
SET 2,(ix+8),c
SET 2,(ix+8),d
SET 2,(ix+8),e
SET 2,(ix+8),h
SET 2,(ix+8),l
SET 2,(iy+8),a
SET 2,(iy+8),b
SET 2,(iy+8),c
SET 2,(iy+8),d
SET 2,(iy+8),e
SET 2,(iy+8),h
SET 2,(iy+8),l
SET 3,(ix+8),a
SET 3,(ix+8),b
SET 3,(ix+8),c
SET 3,(ix+8),d
SET 3,(ix+8),e
SET 3,(ix+8),h
SET 3,(ix+8),l
SET 3,(iy+8),a
SET 3,(iy+8),b
SET 3,(iy+8),c
SET 3,(iy+8),d
SET 3,(iy+8),e
SET 3,(iy+8),h
SET 3,(iy+8),l
SET 4,(ix+8),a
SET 4,(ix+8),b
SET 4,(ix+8),c
SET 4,(ix+8),d
SET 4,(ix+8),e
SET 4,(ix+8),h
SET 4,(ix+8),l
SET 4,(iy+8),a
SET 4,(iy+8),b
SET 4,(iy+8),c
SET 4,(iy+8),d
SET 4,(iy+8),e
SET 4,(iy+8),h
SET 4,(iy+8),l
SET 5,(ix+8),a
SET 5,(ix+8),b
SET 5,(ix+8),c
SET 5,(ix+8),d
SET 5,(ix+8),e
SET 5,(ix+8),h
SET 5,(ix+8),l
SET 5,(iy+8),a
SET 5,(iy+8),b
SET 5,(iy+8),c
SET 5,(iy+8),d
SET 5,(iy+8),e
SET 5,(iy+8),h
SET 5,(iy+8),l
SET 6,(ix+8),a
SET 6,(ix+8),b
SET 6,(ix+8),c
SET 6,(ix+8),d
SET 6,(ix+8),e
SET 6,(ix+8),h
SET 6,(ix+8),l
SET 6,(iy+8),a
SET 6,(iy+8),b
SET 6,(iy+8),c
SET 6,(iy+8),d
SET 6,(iy+8),e
SET 6,(iy+8),h
SET 6,(iy+8),l
SET 7,(ix+8),a
SET 7,(ix+8),b
SET 7,(ix+8),c
SET 7,(ix+8),d
SET 7,(ix+8),e
SET 7,(ix+8),h
SET 7,(ix+8),l
SET 7,(iy+8),a
SET 7,(iy+8),b
SET 7,(iy+8),c
SET 7,(iy+8),d
SET 7,(iy+8),e
SET 7,(iy+8),h
SET 7,(iy+8),l

View file

@ -0,0 +1,10 @@
#as: --with-inst=out-c-0
#objdump: -d
#name: Z80 undocumented instruction OUT (C),0
.*:.*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+ed 71\s+out \(c\),0

View file

@ -0,0 +1,3 @@
.text
.org 0
out (c),0

View file

@ -0,0 +1,27 @@
#objdump: -r
#name: Z80 relocations
.*:[ ]+file format (coff)|(elf32)\-z80
RELOCATION RECORDS FOR \[\.text\]:
OFFSET[ ]+TYPE[ ]+VALUE\s*
00000001[ ]+r_byte0[ ]+\.text
00000004[ ]+r_byte1[ ]+\.text
00000007[ ]+r_byte0[ ]+glb_proc
0000000a[ ]+r_byte1[ ]+glb_proc
0000000d[ ]+r_byte2[ ]+glb_proc
00000010[ ]+r_byte3[ ]+glb_proc
00000012[ ]+r_imm16[ ]+\.text(\+0x0000001f)?
00000015[ ]+r_word0[ ]+glb_proc
00000018[ ]+r_word1[ ]+glb_proc
0000001b[ ]+r_jr[ ]+start(\+0xffffffff)|(\-0x00000001)
0000001d[ ]+r_imm8[ ]+data8
0000001f[ ]+r_imm8[ ]+data8
00000020[ ]+r_imm16[ ]+data16
00000022[ ]+r_imm24[ ]+data24
00000025[ ]+r_imm32[ ]+data32
00000029[ ]+r_byte0[ ]+data16
0000002a[ ]+r_byte1[ ]+data16
0000002b[ ]+r_word0[ ]+data32
0000002d[ ]+r_word1[ ]+data32
#pass

View file

@ -0,0 +1,34 @@
.text
.globl glb_proc
.globl data8
.globl data16
.globl data24
.globl data32
.L_proc:
ld (hl),.L_proc >> 0
inc hl
ld (hl),.L_proc >> 8
inc hl
ld (hl),(glb_proc) & 0xff
inc hl
ld (hl),glb_proc >> 8
inc hl
ld (hl),glb_proc >> 16
inc hl
ld (hl),glb_proc >> 24
ld bc,.L_label
ld de,glb_proc >> 0
ld hl,glb_proc >> 16
djnz start
ld a,data8
ret
.L_label:
.db data8
.dw data16
.d24 data24
.d32 data32
.db data16 & 0xff
.db data16 >> 8
.dw data32 & 0xffff
.dw data32 >> 16
.end

View file

@ -0,0 +1,29 @@
#as: --with-inst=sli
#objdump: -d
#name: Z80 instruction SLI/SLL
.*:.*
Disassembly of section .text:
0+ <.text>:
\s+0:\s+cb 37\s+sli a
\s+2:\s+cb 30\s+sli b
\s+4:\s+cb 31\s+sli c
\s+6:\s+cb 32\s+sli d
\s+8:\s+cb 33\s+sli e
\s+a:\s+cb 34\s+sli h
\s+c:\s+cb 35\s+sli l
\s+e:\s+cb 36\s+sli \(hl\)
\s+10:\s+dd cb 07 36\s+sli \(ix\+7\)
\s+14:\s+fd cb f7 36\s+sli \(iy\-9\)
\s+18:\s+cb 37\s+sli a
\s+1a:\s+cb 30\s+sli b
\s+1c:\s+cb 31\s+sli c
\s+1e:\s+cb 32\s+sli d
\s+20:\s+cb 33\s+sli e
\s+22:\s+cb 34\s+sli h
\s+24:\s+cb 35\s+sli l
\s+26:\s+cb 36\s+sli \(hl\)
\s+28:\s+dd cb 07 36\s+sli \(ix\+7\)
\s+2c:\s+fd cb f7 36\s+sli \(iy\-9\)

View file

@ -0,0 +1,28 @@
.text
.org 0
;; SLI/SLL instruction test
;SLI
sli a
sli b
sli c
sli d
sli e
sli h
sli l
sli (hl)
sli (ix+7)
sli (iy-9)
;SLL is alias for SLI
sll a
sll b
sll c
sll d
sll e
sll h
sll l
sll (hl)
sll (ix+7)
sll (iy-9)

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2019-01-19 16:40+0000\n"
"POT-Creation-Date: 2020-01-02 11:13+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -216,47 +216,47 @@ msgstr ""
msgid "%s: unable to parse mapping file %s.\n"
msgstr ""
#: corefile.c:89 corefile.c:521
#: corefile.c:89 corefile.c:523
#, c-format
msgid "%s: could not open %s.\n"
msgstr ""
#: corefile.c:191
#: corefile.c:193
#, c-format
msgid "%s: %s: not in executable format\n"
msgstr ""
#: corefile.c:202
#: corefile.c:204
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr ""
#: corefile.c:276
#: corefile.c:278
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr ""
#: corefile.c:290
#: corefile.c:292
#, c-format
msgid "%s: can't do -c\n"
msgstr ""
#: corefile.c:329
#: corefile.c:331
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr ""
#: corefile.c:530 corefile.c:635
#: corefile.c:532 corefile.c:637
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr ""
#: corefile.c:535
#: corefile.c:537
#, c-format
msgid "%s: file `%s' has too many symbols\n"
msgstr ""
#: corefile.c:902
#: corefile.c:904
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr ""
@ -354,7 +354,7 @@ msgstr ""
#: gprof.c:162
#, c-format
msgid ""
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][name]] [-I dirs]\n"
"Usage: %s [-[abcDhilLrsTvwxyz]] [-[ACeEfFJnNOpPqQRStZ][name]] [-I dirs]\n"
"\t[-d[num]] [-k from/to] [-m min-count] [-t table-length]\n"
"\t[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n"
"\t[--[no-]flat-profile[=name]] [--[no-]graph[=name]]\n"
@ -380,51 +380,51 @@ msgstr ""
msgid "%s: debugging not supported; -d ignored\n"
msgstr ""
#: gprof.c:336
#: gprof.c:340
#, c-format
msgid "%s: unknown file format %s\n"
msgstr ""
#. This output is intended to follow the GNU standards document.
#: gprof.c:424
#: gprof.c:428
#, c-format
msgid "GNU gprof %s\n"
msgstr ""
#: gprof.c:425
#: gprof.c:429
#, c-format
msgid ""
"Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr ""
#: gprof.c:426
#: gprof.c:430
#, c-format
msgid ""
"This program is free software. This program has absolutely no warranty.\n"
msgstr ""
#: gprof.c:467
#: gprof.c:471
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr ""
#: gprof.c:490
#: gprof.c:494
#, c-format
msgid ""
"%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr ""
#: gprof.c:542
#: gprof.c:546
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr ""
#: gprof.c:596
#: gprof.c:600
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr ""
#: gprof.c:603
#: gprof.c:607
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr ""

View file

@ -1,3 +1,7 @@
2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
* coff/internal.h: Add defintions of Z80 reloc names.
2020-01-02 Christian Biesinger <cbiesinger@google.com>
* opcode/s12z.h: Undef REG_Y.

View file

@ -808,5 +808,11 @@ struct internal_reloc
#define R_OFF8 0x32 /* 8 bit signed abs, for (i[xy]+d) */
#define R_IMM24 0x33 /* 24 bit abs */
/* R_JR, R_IMM8, R_IMM16, R_IMM32 - as for Z8k */
#define R_BYTE0 0x34 /* first (lowest) 8 bits of multibyte value */
#define R_BYTE1 0x35 /* second 8 bits of multibyte value */
#define R_BYTE2 0x36 /* third 8 bits of multibyte value */
#define R_BYTE3 0x37 /* fourth (highest) 8 bits of multibyte value */
#define R_WORD0 0x38 /* lowest 16 bits of 32 or 24 bit value */
#define R_WORD1 0x39 /* highest 16 bits of 32 or 24 bit value */
#endif /* GNU_COFF_INTERNAL_H */

52
include/elf/z80.h Normal file
View file

@ -0,0 +1,52 @@
/* Z80 ELF support for BFD.
Copyright (C) 1999-2019 Free Software Foundation, Inc.
Contributed by Sergey Belyashov <sergey.belyashov@gmail.com>
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _ELF_Z80_H
#define _ELF_Z80_H
#include "elf/reloc-macros.h"
/* Processor specific flags for the ELF header e_flags field. */
#define EF_Z80_MACH_Z80 0x01
#define EF_Z80_MACH_Z180 0x02
#define EF_Z80_MACH_R800 0x03
#define EF_Z80_MACH_EZ80_Z80 0x04
#define EF_Z80_MACH_EZ80_ADL 0x84
#define EF_Z80_MACH_GBZ80 0x05
#define EF_Z80_MACH_MSK 0xff
/* Relocations. */
START_RELOC_NUMBERS (elf_z80_reloc_type)
RELOC_NUMBER (R_Z80_NONE, 0)
RELOC_NUMBER (R_Z80_8, 1)
RELOC_NUMBER (R_Z80_8_DIS, 2)
RELOC_NUMBER (R_Z80_8_PCREL, 3)
RELOC_NUMBER (R_Z80_16, 4)
RELOC_NUMBER (R_Z80_24, 5)
RELOC_NUMBER (R_Z80_32, 6)
RELOC_NUMBER (R_Z80_BYTE0, 7)
RELOC_NUMBER (R_Z80_BYTE1, 8)
RELOC_NUMBER (R_Z80_BYTE2, 9)
RELOC_NUMBER (R_Z80_BYTE3, 10)
RELOC_NUMBER (R_Z80_WORD0, 11)
RELOC_NUMBER (R_Z80_WORD1, 12)
END_RELOC_NUMBERS (R_Z80_max)
#endif /* _ELF_Z80_H */

View file

@ -1,3 +1,29 @@
2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
* Makefile.am: Add new target z80-elf
* configure.tgt: Likewise.
* Makefile.in: Regenerate.
* emultempl/z80.em: Add support for eZ80 and Z180 architectures.
* emulparams/elf32z80.sh: New file.
* emultempl/z80elf.em: Likewise.
* testsuite/ld-elf/comm-data4.s: Fix for Z80.
* testsuite/ld-elf/comm-data5.s: Fix for Z80.
* testsuite/ld-scripts/fill16.d: Fix for Z80.
* testsuite/ld-z80/arch_ez80_adl.d: Likewise.
* testsuite/ld-z80/arch_ez80_z80.d: Likewise.
* testsuite/ld-z80/arch_r800.d: Likewise.
* testsuite/ld-z80/arch_z180.d: Likewise.
* testsuite/ld-z80/arch_z80.d: Likewise.
* testsuite/ld-z80/comb_arch_ez80_z80.d: Likewise.
* testsuite/ld-z80/comb_arch_z180.d: Likewise.
* testsuite/ld-z80/labels.s: Likewise.
* testsuite/ld-z80/relocs.s: Likewise.
* testsuite/ld-z80/relocs_b_ez80.d: Likewise.
* testsuite/ld-z80/relocs_b_z80.d: Likewise.
* testsuite/ld-z80/relocs_f_z80.d: Likewise.
* testsuite/ld-z80/z80.exp: Likewise.
* NEWS: Mention the new support.
2020-01-02 Tamar Christina <tamar.christina@arm.com>
PR 25210

View file

@ -289,6 +289,7 @@ ALL_EMULATION_SOURCES = \
eelf32xc16xs.c \
eelf32xstormy16.c \
eelf32xtensa.c \
eelf32z80.c \
eelf_i386.c \
eelf_i386_be.c \
eelf_i386_fbsd.c \
@ -876,6 +877,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez80.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8001.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8002.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez80elf32.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elfb.Pc@am__quote@

View file

@ -779,6 +779,7 @@ ALL_EMULATION_SOURCES = \
eelf32xc16xs.c \
eelf32xstormy16.c \
eelf32xtensa.c \
eelf32z80.c \
eelf_i386.c \
eelf_i386_be.c \
eelf_i386_fbsd.c \
@ -1358,6 +1359,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xc16xs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xstormy16.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xtensa.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32z80.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_aix.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64_fbsd.Po@am__quote@
@ -2481,6 +2483,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez80.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8001.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8002.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez80elf32.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32.Pc@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elfb.Pc@am__quote@

View file

@ -2,6 +2,13 @@
* cr16c support removed.
* Add support for z80-elf.
* Add support for relocation of each byte or word of multibyte value to Z80
targets.
* Add support for Zilog eZ80 (both ADL and Z80 mode) and Zilog Z180 CPUs.
Changes in 2.33:
* Add command-line option --no-print-map-discarded.

View file

@ -1012,6 +1012,9 @@ xstormy16-*-*) targ_emul=elf32xstormy16
;;
xtensa*-*-*) targ_emul=elf32xtensa
;;
z80-*-elf*) targ_emul=elf32z80
targ_extra_ofiles="ldelf.o ldelfgen.o"
;;
z80-*-coff) targ_emul=z80
targ_extra_ofiles=
;;

22
ld/emulparams/elf32z80.sh Normal file
View file

@ -0,0 +1,22 @@
ARCH=z80
MACHINE=
SCRIPT_NAME=z80
#OUTPUT_ARCH="z80"
OUTPUT_FORMAT="elf32-z80"
MAXPAGESIZE=1
EMBEDDED=yes
TEMPLATE_NAME=elf
TEXT_START_ADDR=0x100
#TEXT_LENGTH=0
#DATA_ORIGIN=0
#DATA_LENGTH=0
EXTRA_EM_FILE=z80elf
#FUSE_NAME=fuse
#EEPROM_LENGTH=64K
#FUSE_LENGTH=1K
#LOCK_LENGTH=1K
#SIGNATURE_LENGTH=1K
#USER_SIGNATURE_LENGTH=1K

View file

@ -27,11 +27,16 @@ fragment <<EOF
/* --- \begin{z80.em} */
/* Codes for machine types, bitwise or gives the code to use for the
output. */
#define M_Z80STRICT 1
#define M_Z80 3
#define M_Z80FULL 7
#define M_R800 11
#define M_Z80ANY 15
#define M_Z80STRICT 0x01
#define M_Z80 0x03
#define M_Z80FULL 0x07
#define M_R800 0x10
#define M_Z80ANY 0x0f
#define M_GBZ80 0x20
#define M_Z180 0x40
#define M_EZ80_Z80 0x80
#define M_EZ80_ADL 0x100
#define M_ARCH_MASK 0xFF0
/* Bitwise or of the machine types seen so far. */
static int result_mach_type;
@ -42,7 +47,7 @@ ${LDEMUL_BEFORE_PARSE} (void)
#ifndef TARGET_ /* I.e., if not generic. */
ldfile_set_output_arch ("`echo ${ARCH}`", bfd_arch_unknown);
#endif /* not TARGET_ */
result_mach_type = M_Z80STRICT;
result_mach_type = 0;
}
@ -67,7 +72,20 @@ ${LDEMUL_RECOGNIZED_FILE} (lang_input_statement_type *entry)
case bfd_mach_r800:
result_mach_type |= M_R800;
break;
case bfd_mach_gbz80:
result_mach_type |= M_GBZ80;
break;
case bfd_mach_z180:
result_mach_type |= M_Z180;
break;
case bfd_mach_ez80_z80:
result_mach_type |= M_EZ80_Z80;
break;
case bfd_mach_ez80_adl:
result_mach_type |= M_EZ80_ADL;
break;
default:
einfo (_("%P: warning: unknown machine type %u"), (unsigned)mach_type);
result_mach_type |= M_Z80ANY;
}
return FALSE;
@ -81,23 +99,48 @@ gldz80_after_open (void)
after_open_default ();
switch (result_mach_type)
switch (result_mach_type & M_ARCH_MASK)
{
case M_Z80STRICT:
mach_type = bfd_mach_z80strict;
break;
case M_Z80:
mach_type = bfd_mach_z80;
break;
case M_Z80FULL:
mach_type = bfd_mach_z80full;
break;
case M_Z80 & M_ARCH_MASK:
case M_R800:
mach_type = bfd_mach_r800;
case M_Z180:
case M_GBZ80:
case M_EZ80_Z80:
case M_EZ80_ADL:
case M_EZ80_Z80 | M_Z180:
/* valid combination */
break;
case M_EZ80_Z80 | M_EZ80_ADL:
case M_EZ80_Z80 | M_EZ80_ADL | M_Z180:
case M_EZ80_ADL | M_Z180:
/* combination may cause invalid objdump output */
/* but it is possible for mixed ADL/Z80 code */
einfo (_("%P: warning: mixing ADL and Z80 mode binaries, objdump may generate invalid output"));
break;
default:
mach_type = 0;
/* invalid combination: for example Z180 + R800 */
einfo (_("%P: warning: incompatible object files linked, result code might not work"));
}
if ((result_mach_type & M_EZ80_ADL) == M_EZ80_ADL)
mach_type = bfd_mach_ez80_adl;
else if ((result_mach_type & M_EZ80_Z80) == M_EZ80_Z80)
mach_type = bfd_mach_ez80_z80;
else if ((result_mach_type & M_Z180) == M_Z180)
mach_type = bfd_mach_z180;
else if ((result_mach_type & M_R800) == M_R800)
mach_type = bfd_mach_r800;
else if ((result_mach_type & M_GBZ80) == M_GBZ80)
mach_type = bfd_mach_gbz80;
else if ((result_mach_type & M_Z80FULL) == M_Z80FULL)
mach_type = bfd_mach_z80full; /* TODO: remove it */
else if ((result_mach_type & M_Z80) == M_Z80)
mach_type = bfd_mach_z80;
else if ((result_mach_type & M_Z80STRICT) == M_Z80STRICT)
mach_type = bfd_mach_z80strict; /* TODO: remove this */
else
mach_type = bfd_arch_unknown;
bfd_set_arch_mach (link_info.output_bfd, bfd_arch_z80, mach_type);
}
/* --- \end{z80.em} */

Some files were not shown because too many files have changed in this diff Show more