Пример #1
0
void CodesDD(void)
{
  register byte I;
  register pair J;

#define XX IX
  switch(M_RDMEM(R.PC.W++))
  {
#include "CodesXX.h"
    case PFX_FD:
    case PFX_DD:
#ifdef INTERRUPTS
      ICount++;
#endif
      R.PC.W--;break;
    case PFX_CB:
      CodesDDCB();break;
    case HALT:
#ifdef INTERRUPTS
      if(R.IFF&0x01) { R.PC.W--;R.IFF|=0x80; }
#else
      printf("CPU HALTed and stuck at PC=%hX\n",R.PC.W-=2);
      CPURunning=0;
#endif
      break;
    default:
      if(TrapBadOps)
        printf
        (
          "Unrecognized instruction: DD %X at PC=%hX\n",
          M_RDMEM(R.PC.W-1),R.PC.W-2
        );
  }
#undef XX
}
Пример #2
0
static void CodesDD(register Z80 *R)
{
  register byte I;
  register pair J;

#define XX IX
  I=OpZ80(R->PC.W++);
  R->ICount-=CyclesXX[I];
  switch(I)
  {
#include "CodesXX.h"
    case PFX_FD:
    case PFX_DD:
      R->PC.W--;break;
    case PFX_CB:
      CodesDDCB(R);break;
    default:
      if(R->TrapBadOps)
        printf
        (
          "[Z80 %lX] Unrecognized instruction: DD %02X at PC=%04X\n",
          (long)R->User,OpZ80(R->PC.W-1),R->PC.W-2
        );
  }
#undef XX
}
Пример #3
0
static void CodesDD(register Z80 *R)
{
  register byte I;
  register pair J;

#define XX IX
  I=OpZ80(R);
  R->ICount-=z80_CyclesXX[I];
  switch(I)
  {
#include "mz80opc5.h"
    case PFX_FD:
    case PFX_DD:
      R->PC.W--;mz80_cache_ip(R);break;
    case PFX_CB:
      CodesDDCB(R);break;
    case HALT:
      R->PC.W--;R->IFF|=0x80;R->ICount=0;mz80_cache_ip(R);break;
    default:
/*       if(R->TrapBadOps) */
/*         printf */
/*         ( */
/*           "[Z80 %lX] Unrecognized instruction: DD %02X at PC=%04X\n", */
/*           (long)R->User,RdZ80(R->PC.W-1),R->PC.W-2 */
/*         ); */
	system_flags |= F_UNIMPL;
	break;
  }
#undef XX
}