D_STAT_REG
_reg_write_4(D_STAT_REG, D_STAT_MEIM);
_reg_write_4(D_STAT_REG, _reg_read_4(D_STAT_REG) & D_STAT_CIS_MASK);
r = _reg_read_4(D_STAT_REG);
_reg_write_4(D_STAT_REG, dispatch);
_reg_write_4(D_STAT_REG, (_reg_read_4(D_STAT_REG) & mask) ^ mask);
_reg_write_4(D_STAT_REG, _reg_read_4(D_STAT_REG) & D_STAT_CIM_BIT(ch));
cur_mask = _reg_read_4(D_STAT_REG);
_reg_write_4(D_STAT_REG, ((cur_mask ^ ~mask) | (cur_mask & mask)) &
_reg_write_4(D_STAT_REG, D_STAT_CIS_BIT(ch));
if (_reg_read_4(D_STAT_REG) & D_STAT_SIM)
_reg_write_4(D_STAT_REG, D_STAT_SIM);
if (_reg_read_4(D_STAT_REG) & D_STAT_MEIM)
_reg_read_4(D_STAT_REG));