public void RLA() //rewriten (phase 2)
    {
        int res = ((Z80.AF.H << 1) | (Z80.AF.L & CF)) & 0xff;
        int c = ((Z80.AF.H & 0x80)!=0) ? CF : 0;
        Z80.AF.SetL((Z80.AF.L & (SF | ZF | PF)) | c | (res & (YF | XF)));
        Z80.AF.SetH(res);
    }
    /*TODO*////***************************************************************
    /*TODO*/// * RRA
    /*TODO*/// ***************************************************************/
    /*TODO*///#if Z80_EXACT
    /*TODO*///#define RRA {                                                   \
    /*TODO*///	UINT8 res = (_A >> 1) | (_F << 7);							\
    /*TODO*///	UINT8 c = (_A & 0x01) ? CF : 0; 							\
    /*TODO*///	_F = (_F & (SF | ZF | PF)) | c | (res & (YF | XF)); 		\
    /*TODO*///	_A = res;													\
    /*TODO*///}
    /*TODO*///#else
    /*TODO*///#define RRA {                                                   \
    /*TODO*///	UINT8 res = (_A >> 1) | (_F << 7);							\
    /*TODO*///	UINT8 c = (_A & 0x01) ? CF : 0; 							\
    /*TODO*///    _F = (_F & (SF | ZF | YF | XF | PF)) | c;                   \
    /*TODO*///	_A = res;													\
    /*TODO*///}