opcode op_fb = new opcode() { public void handler() /* EI 			  */
    { 
         /* If interrupts were disabled, execute one more			
         * instruction and check the IRQ line.                      
         * If not, simply set interrupt flip-flop 2                 
         */                                                         
    	if(Z80.IFF1 == 0 )											
    	{															
            Z80.IFF1 = Z80.IFF2 = 1; 
            Z80.PREPC.SetD(Z80.PC.D); //_PPC = _PCD;                                                                            
    	    Z80.R= (Z80.R +1) & 0xFF;//_R++;													
    	    if( Z80.irq_state != CLEAR_LINE || Z80.request_irq >= 0 )								
    	    {														
    		after_EI = 1;	/* avoid cycle skip hacks */	
                int op = ROP();
                z80_ICount[0] -= cc_op[op];
                Z80op[op].handler();									
    		after_EI = 0;										
                if(errorlog!=null) fprintf(errorlog, "Z80#%d EI takes irq\n", cpu_getactivecpu()); 
                take_interrupt();                                  
            }                                                      
    	    else
            {
                int op = ROP();
                z80_ICount[0] -= cc_op[op];
                Z80op[op].handler();
            }
        } 
        else
        {
            Z80.IFF2 = 1;
        }                                           
    }}