diff options
Diffstat (limited to 'src/emu/cpu/minx/minxd.c')
-rw-r--r-- | src/emu/cpu/minx/minxd.c | 216 |
1 files changed, 106 insertions, 110 deletions
diff --git a/src/emu/cpu/minx/minxd.c b/src/emu/cpu/minx/minxd.c index 305d3d55614..ebcaf789531 100644 --- a/src/emu/cpu/minx/minxd.c +++ b/src/emu/cpu/minx/minxd.c @@ -24,39 +24,39 @@ enum e_mnemonic { }; enum e_operand { - R_A=1, /* A */ - R_B, /* B */ - R_L, /* L */ - R_H, /* H */ - R_N, /* N */ - R_F, /* F */ - R_SP, /* SP */ - R_BA, /* BA */ - R_HL, /* HL */ - R_X, /* X */ - R_Y, /* Y */ - R_U, /* U */ - R_V, /* V */ - R_I, /* I */ - R_XI, /* XI */ - R_YI, /* YI */ - R_PC, /* PC */ - I_8, /* 8 bit immediate */ - I_16, /* 16 bit immediate */ - D_8, /* PC + 8 bit displacement (signed) */ - D_16, /* PC + 16 bit displacement */ - S_8, /* SP + 8 bit displacement (signed) */ - M_IHL, /* [I+HL] */ - M_N8, /* [I+N+ofs8] */ - M_I16, /* [I+ofs16] */ - M_X, /* [X] */ - M_Y, /* [Y] */ - M_X8, /* [X + 8 bit displacement (signed)] */ - M_Y8, /* [Y + 8 bit displacement (signed)] */ - M_XL, /* [X + L (signed)] */ - M_YL, /* [Y + L (signed)] */ - M_16, /* [16bit] */ - M_HL, /* [HL] */ + R_A=1, /* A */ + R_B, /* B */ + R_L, /* L */ + R_H, /* H */ + R_N, /* N */ + R_F, /* F */ + R_SP, /* SP */ + R_BA, /* BA */ + R_HL, /* HL */ + R_X, /* X */ + R_Y, /* Y */ + R_U, /* U */ + R_V, /* V */ + R_I, /* I */ + R_XI, /* XI */ + R_YI, /* YI */ + R_PC, /* PC */ + I_8, /* 8 bit immediate */ + I_16, /* 16 bit immediate */ + D_8, /* PC + 8 bit displacement (signed) */ + D_16, /* PC + 16 bit displacement */ + S_8, /* SP + 8 bit displacement (signed) */ + M_IHL, /* [I+HL] */ + M_N8, /* [I+N+ofs8] */ + M_I16, /* [I+ofs16] */ + M_X, /* [X] */ + M_Y, /* [Y] */ + M_X8, /* [X + 8 bit displacement (signed)] */ + M_Y8, /* [Y + 8 bit displacement (signed)] */ + M_XL, /* [X + L (signed)] */ + M_YL, /* [Y + L (signed)] */ + M_16, /* [16bit] */ + M_HL, /* [HL] */ OP, OP1 }; @@ -92,9 +92,9 @@ static const UINT32 s_flags[] = { }; struct minxdasm { - UINT8 mnemonic; - UINT8 argument1; - UINT8 argument2; + UINT8 mnemonic; + UINT8 argument1; + UINT8 argument2; }; static const minxdasm mnemonic[256] = { @@ -346,76 +346,76 @@ static const minxdasm mnemonic_cf[256] = { {zDB,OP1,OP}, {zDB,OP1,OP}, {zMOV,R_Y,R_SP}, {zDB,OP1,OP} }; -#define HANDLE_ARGUMENT \ -case R_A: dst += sprintf( dst, "%cA", fill ); break; \ -case R_B: dst += sprintf( dst, "%cB", fill ); break; \ -case R_L: dst += sprintf( dst, "%cL", fill ); break; \ -case R_H: dst += sprintf( dst, "%cH", fill ); break; \ -case R_N: dst += sprintf( dst, "%cN", fill ); break; \ -case R_F: dst += sprintf( dst, "%cF", fill ); break; \ -case R_SP: dst += sprintf( dst, "%cSP", fill ); break; \ -case R_BA: dst += sprintf( dst, "%cBA", fill ); break; \ -case R_HL: dst += sprintf( dst, "%cHL", fill ); break; \ -case R_X: dst += sprintf( dst, "%cX", fill ); break; \ -case R_Y: dst += sprintf( dst, "%cY", fill ); break; \ -case R_U: dst += sprintf( dst, "%cU", fill ); break; \ -case R_V: dst += sprintf( dst, "%cV", fill ); break; \ -case R_I: dst += sprintf( dst, "%cI", fill ); break; \ -case R_XI: dst += sprintf( dst, "%cXI", fill ); break; \ -case R_YI: dst += sprintf( dst, "%cYI", fill ); break; \ -case R_PC: dst += sprintf( dst, "%cPC", fill ); break; \ -case I_8: /* 8 bit immediate */ \ - ea = oprom[pos++]; \ - dst += sprintf( dst, "%c$%02X", fill, ea ); \ - break; \ -case I_16: /* 16 bit immediate */ \ - ea = oprom[pos++]; \ - ea += oprom[pos++] << 8; \ - dst += sprintf( dst, "%c$%04X", fill, ea ); \ - break; \ -case D_8: /* PC + 8 bit displacement (signed) */ \ - ofs8 = oprom[pos++]; \ - dst += sprintf( dst, "%c$%04X", fill, pc + pos - 1 + ofs8 ); \ - break; \ -case D_16: /* PC + 16 bit displacement */ \ - ea = oprom[pos++]; \ - ea += oprom[pos++] << 8; \ - ea = ea - 1; \ - dst += sprintf( dst, "%c$%04X", fill, pc + pos + ea ); \ - break; \ -case S_8: /* SP + 8 bit displacement (signed) */ \ - ea = oprom[pos++]; \ - dst += sprintf( dst, "%cSP+$%02X", fill, ea ); \ - break; \ -case M_IHL: dst += sprintf( dst, "%c[I+HL]", fill ); break; \ -case M_N8: /* [I+N+ofs8] */ \ - ea = oprom[pos++]; \ - dst += sprintf( dst, "%c[I+N+$%02X]", fill, ea ); \ - break; \ -case M_I16: /* [I+ofs16] */ \ - ea = oprom[pos++]; \ - ea += oprom[pos++] << 8; \ - dst += sprintf( dst, "%c[I+$%04X]", fill, ea ); \ - break; \ -case M_X: dst += sprintf( dst, "%c[X]", fill ); break; \ -case M_Y: dst += sprintf( dst, "%c[Y]", fill ); break; \ -case M_X8: /* [X + 8 bit displacement (signed)] */ \ - ea = oprom[pos++]; \ - dst += sprintf( dst, "%c[X+$%02X]", fill, ea ); \ - break; \ -case M_Y8: /* [Y + 8 bit displacement (signed)] */ \ - ea = oprom[pos++]; \ - dst += sprintf( dst, "%c[Y+$%02X]", fill, ea ); \ - break; \ -case M_XL: dst += sprintf( dst, "%c[X+L]", fill ); break; \ -case M_YL: dst += sprintf( dst, "%c[Y+L]", fill ); break; \ -case M_16: /* [16bit] */ \ - ea = oprom[pos++]; \ - ea += oprom[pos++] << 8; \ - dst += sprintf( dst, "%c[$%04X]", fill, ea ); \ - break; \ -case M_HL: dst += sprintf( dst, "%c[HL]", fill ); break; \ -case OP: dst += sprintf( dst, "%c$%02X", fill, op ); break; \ +#define HANDLE_ARGUMENT \ +case R_A: dst += sprintf( dst, "%cA", fill ); break; \ +case R_B: dst += sprintf( dst, "%cB", fill ); break; \ +case R_L: dst += sprintf( dst, "%cL", fill ); break; \ +case R_H: dst += sprintf( dst, "%cH", fill ); break; \ +case R_N: dst += sprintf( dst, "%cN", fill ); break; \ +case R_F: dst += sprintf( dst, "%cF", fill ); break; \ +case R_SP: dst += sprintf( dst, "%cSP", fill ); break; \ +case R_BA: dst += sprintf( dst, "%cBA", fill ); break; \ +case R_HL: dst += sprintf( dst, "%cHL", fill ); break; \ +case R_X: dst += sprintf( dst, "%cX", fill ); break; \ +case R_Y: dst += sprintf( dst, "%cY", fill ); break; \ +case R_U: dst += sprintf( dst, "%cU", fill ); break; \ +case R_V: dst += sprintf( dst, "%cV", fill ); break; \ +case R_I: dst += sprintf( dst, "%cI", fill ); break; \ +case R_XI: dst += sprintf( dst, "%cXI", fill ); break; \ +case R_YI: dst += sprintf( dst, "%cYI", fill ); break; \ +case R_PC: dst += sprintf( dst, "%cPC", fill ); break; \ +case I_8: /* 8 bit immediate */ \ + ea = oprom[pos++]; \ + dst += sprintf( dst, "%c$%02X", fill, ea ); \ + break; \ +case I_16: /* 16 bit immediate */ \ + ea = oprom[pos++]; \ + ea += oprom[pos++] << 8; \ + dst += sprintf( dst, "%c$%04X", fill, ea ); \ + break; \ +case D_8: /* PC + 8 bit displacement (signed) */ \ + ofs8 = oprom[pos++]; \ + dst += sprintf( dst, "%c$%04X", fill, pc + pos - 1 + ofs8 ); \ + break; \ +case D_16: /* PC + 16 bit displacement */ \ + ea = oprom[pos++]; \ + ea += oprom[pos++] << 8; \ + ea = ea - 1; \ + dst += sprintf( dst, "%c$%04X", fill, pc + pos + ea ); \ + break; \ +case S_8: /* SP + 8 bit displacement (signed) */ \ + ea = oprom[pos++]; \ + dst += sprintf( dst, "%cSP+$%02X", fill, ea ); \ + break; \ +case M_IHL: dst += sprintf( dst, "%c[I+HL]", fill ); break; \ +case M_N8: /* [I+N+ofs8] */ \ + ea = oprom[pos++]; \ + dst += sprintf( dst, "%c[I+N+$%02X]", fill, ea ); \ + break; \ +case M_I16: /* [I+ofs16] */ \ + ea = oprom[pos++]; \ + ea += oprom[pos++] << 8; \ + dst += sprintf( dst, "%c[I+$%04X]", fill, ea ); \ + break; \ +case M_X: dst += sprintf( dst, "%c[X]", fill ); break; \ +case M_Y: dst += sprintf( dst, "%c[Y]", fill ); break; \ +case M_X8: /* [X + 8 bit displacement (signed)] */ \ + ea = oprom[pos++]; \ + dst += sprintf( dst, "%c[X+$%02X]", fill, ea ); \ + break; \ +case M_Y8: /* [Y + 8 bit displacement (signed)] */ \ + ea = oprom[pos++]; \ + dst += sprintf( dst, "%c[Y+$%02X]", fill, ea ); \ + break; \ +case M_XL: dst += sprintf( dst, "%c[X+L]", fill ); break; \ +case M_YL: dst += sprintf( dst, "%c[Y+L]", fill ); break; \ +case M_16: /* [16bit] */ \ + ea = oprom[pos++]; \ + ea += oprom[pos++] << 8; \ + dst += sprintf( dst, "%c[$%04X]", fill, ea ); \ + break; \ +case M_HL: dst += sprintf( dst, "%c[HL]", fill ); break; \ +case OP: dst += sprintf( dst, "%c$%02X", fill, op ); break; \ case OP1: dst += sprintf( dst, "%c$%02X", fill, op1 ); break; CPU_DISASSEMBLE( minx ) @@ -461,7 +461,3 @@ CPU_DISASSEMBLE( minx ) } return pos | s_flags[instr->mnemonic] | DASMFLAG_SUPPORTED; } - - - - |