summaryrefslogtreecommitdiff
path: root/z80inst.c
diff options
context:
space:
mode:
Diffstat (limited to 'z80inst.c')
-rw-r--r--z80inst.c105
1 files changed, 54 insertions, 51 deletions
diff --git a/z80inst.c b/z80inst.c
index f616f66..bc2281e 100644
--- a/z80inst.c
+++ b/z80inst.c
@@ -2,7 +2,8 @@
#include <string.h>
#include <stdio.h>
-#define NOP {Z80_NOP, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0}
+#define NOP {Z80_NOP, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 1}
+#define NOP2 {Z80_NOP, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 2}
z80inst z80_tbl_a[256] = {
//0
@@ -339,7 +340,7 @@ z80inst z80_tbl_extd[0xC0-0x40] = {
{Z80_NEG, Z80_A, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_RETN, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_IM, Z80_UNUSED, Z80_IMMED, Z80_UNUSED, 1},
- NOP,
+ NOP2,
{Z80_IN, Z80_A, Z80_REG_INDIRECT, Z80_C, 0},
{Z80_OUT, Z80_A, Z80_REG_INDIRECT | Z80_DIR, Z80_C, 0},
{Z80_ADC, Z80_HL, Z80_REG, Z80_SP, 0},
@@ -347,75 +348,75 @@ z80inst z80_tbl_extd[0xC0-0x40] = {
{Z80_NEG, Z80_A, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_RETN, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_IM, Z80_UNUSED, Z80_IMMED, Z80_UNUSED, 2},
- NOP,
+ NOP2,
//8
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
//9
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
- NOP,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
//A
{Z80_LDI, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_CPI, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_INI, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_OUTI, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
- NOP,
- NOP,
- NOP,
- NOP,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
{Z80_LDD, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_CPD, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_IND, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_OUTD, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
- NOP,
- NOP,
- NOP,
- NOP,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
//B
{Z80_LDIR, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_CPIR, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_INIR, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_OTIR, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
- NOP,
- NOP,
- NOP,
- NOP,
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2,
{Z80_LDDR, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_CPDR, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_INDR, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
{Z80_OTDR, Z80_UNUSED, Z80_UNUSED, Z80_UNUSED, 0},
- NOP,
- NOP,
- NOP,
- NOP
+ NOP2,
+ NOP2,
+ NOP2,
+ NOP2
};
#define SHIFT_BLOCK(op) \
@@ -489,6 +490,8 @@ z80inst z80_tbl_bit[256] = {
BIT_BLOCK(Z80_SET, 7)
};
+z80inst z80_tbl_ix[256
+
uint8_t * z80_decode(uint8_t * istream, z80inst * decoded)
{
if (*istream == 0xCB) {