static int op_rb3ixd(int data) /* RES 3,(IX+d) */ { #ifdef BUS_8080 cpu_bus = CPU_WO | CPU_MEMR; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif //*(ram + IX + data) &= ~8; memwrt(ram + IX + data, *(ram + IX + data) & ~8); #ifdef BUS_8080 cpu_bus = 0; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif return(23); }
static int op_ldydl(void) /* LD (IY+d),L */ { #ifdef BUS_8080 cpu_bus = CPU_WO | CPU_MEMR; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif //*(IY + (signed char) *PC++ + ram) = L; memwrt(ram + IY + (signed char) *PC++, L); #ifdef BUS_8080 cpu_bus = 0; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif return(19); }
static int op_ldiny(void) /* LD (nn),IY */ { register BYTE *p; #ifdef BUS_8080 cpu_bus = 0; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif p = ram + *PC++; p += *PC++ << 8; //*p++ = IY; memwrt(p++, IY); //*p = IY >> 8; memwrt(p, IY >> 8); return(20); }
static int op_ldydn(void) /* LD (IY+d),n */ { register int d; #ifdef BUS_8080 cpu_bus = CPU_WO | CPU_MEMR; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif d = (signed char) *PC++; //*(IY + d + ram) = *PC++; memwrt(ram + IY + d, *PC++); #ifdef BUS_8080 cpu_bus = 0; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif return(19); }
static int op_pusiy(void) /* PUSH IY */ { #ifdef BUS_8080 cpu_bus = CPU_STACK; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif #ifdef WANT_SPC if (STACK <= ram) STACK = ram + 65536L; #endif //*--STACK = IY >> 8; memwrt(--STACK, IY >> 8); #ifdef WANT_SPC if (STACK <= ram) STACK = ram + 65536L; #endif //*--STACK = IY; memwrt(--STACK, IY); return(15); }
static int op_exspy(void) /* EX (SP),IY */ { register int i; #ifdef BUS_8080 cpu_bus = CPU_WO | CPU_STACK | CPU_MEMR; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif i = *STACK + (*(STACK + 1) << 8); //*STACK = IY; memwrt(STACK, IY); //*(STACK + 1) = IY >> 8; memwrt(STACK + 1, IY >> 8); IY = i; #ifdef BUS_8080 cpu_bus = CPU_STACK; #endif #ifdef FRONTPANEL fp_sampleLightGroup(0, 0); #endif return(23); }