当前位置: 首页>>代码示例>>C++>>正文


C++ CLR_INT函数代码示例

本文整理汇总了C++中CLR_INT函数的典型用法代码示例。如果您正苦于以下问题:C++ CLR_INT函数的具体用法?C++ CLR_INT怎么用?C++ CLR_INT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了CLR_INT函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: tto_wr

t_stat tto_wr (int32 data, int32 PA, int32 access)
{
switch ((PA >> 1) & 01) {                               /* decode PA<1> */

    case 00:                                            /* tto csr */
        if (PA & 1)
            return SCPE_OK;
        if ((data & CSR_IE) == 0)
            CLR_INT (TTO);
        else if ((tto_csr & (CSR_DONE + CSR_IE)) == CSR_DONE)
            SET_INT (TTO);
        tto_csr = (tto_csr & ~TTOCSR_RW) | (data & TTOCSR_RW);
        return SCPE_OK;

    case 01:                                            /* tto buf */
        if ((PA & 1) == 0)
            tto_unit.buf = data & 0377;
        tto_csr = tto_csr & ~CSR_DONE;
        CLR_INT (TTO);
        sim_activate (&tto_unit, tto_unit.wait);
        return SCPE_OK;
        }                                               /* end switch PA */

return SCPE_NXM;
}
开发者ID:dsphinx,项目名称:simh,代码行数:25,代码来源:pdp11_stddev.c

示例2: ptp_wr

t_stat ptp_wr (int32 data, int32 PA, int32 access)
{
switch ((PA >> 1) & 01) {                               /* decode PA<1> */

    case 0:                                             /* ptp csr */
        if (PA & 1)
            return SCPE_OK;
        if ((data & CSR_IE) == 0)
            CLR_INT (PTP);
        else if (((ptp_csr & CSR_IE) == 0) && (ptp_csr & (CSR_ERR | CSR_DONE)))
            SET_INT (PTP);
        ptp_csr = (ptp_csr & ~PTPCSR_RW) | (data & PTPCSR_RW);
        return SCPE_OK;

    case 1:                                             /* ptp buf */
        if ((PA & 1) == 0)
            ptp_unit.buf = data & 0377;
        ptp_csr = ptp_csr & ~CSR_DONE;
        CLR_INT (PTP);
        if (ptp_unit.flags & UNIT_ATT)                  /* file to write? */
            sim_activate (&ptp_unit, ptp_unit.wait);
        else sim_activate (&ptp_unit, 0);               /* error if not */
        return SCPE_OK;
        }                                               /* end switch PA */

return SCPE_NXM;                                        /* can't get here */
}
开发者ID:denrusio,项目名称:vak-opensource,代码行数:27,代码来源:pdp11_pt.c

示例3: ptr_wr

t_stat ptr_wr (int32 data, int32 PA, int32 access)
{
switch ((PA >> 1) & 01) {                               /* decode PA<1> */

    case 0:                                             /* ptr csr */
        if (PA & 1)
            return SCPE_OK;
        if ((data & CSR_IE) == 0)
            CLR_INT (PTR);
        else if (((ptr_csr & CSR_IE) == 0) && (ptr_csr & (CSR_ERR | CSR_DONE)))
            SET_INT (PTR);
        if (data & CSR_GO) {
            ptr_csr = (ptr_csr & ~CSR_DONE) | CSR_BUSY;
            CLR_INT (PTR);
            if (ptr_unit.flags & UNIT_ATT)              /* data to read? */
                sim_activate (&ptr_unit, ptr_unit.wait);  
            else sim_activate (&ptr_unit, 0);           /* error if not */
            }
        ptr_csr = (ptr_csr & ~PTRCSR_RW) | (data & PTRCSR_RW);
        return SCPE_OK;

    case 1:                                             /* ptr buf */
        return SCPE_OK;
        }                                               /* end switch PA */

return SCPE_NXM;                                        /* can't get here */
}
开发者ID:denrusio,项目名称:vak-opensource,代码行数:27,代码来源:pdp11_pt.c

示例4: vt_reset

t_stat
vt_reset(DEVICE *dptr)
{
    if (!(dptr->flags & DEV_DIS))
        vt11_reset();
    CLR_INT (VTST);
    CLR_INT (VTLP);
    CLR_INT (VTCH);
    CLR_INT (VTNM);
    sim_cancel (&vt_unit);              /* deactivate unit */
    return auto_config ("VT", (dptr->flags & DEV_DIS) ? 0 : 1);
}
开发者ID:B-Rich,项目名称:simh,代码行数:12,代码来源:pdp11_vt.c

示例5: ptrio

int32 ptrio (int32 inst, int32 fnc, int32 dat, int32 dev)
{
switch (inst) {                                         /* case on opcode */

    case ioOCP:                                         /* OCP */
        if (fnc & 016)                                  /* only fnc 0,1 */
            return IOBADFNC (dat);
        ptr_motion = fnc ^ 1;
        if (fnc)                                        /* fnc 1? stop */
            sim_cancel (&ptr_unit);
        else sim_activate (&ptr_unit, ptr_unit.wait);   /* fnc 0? start */
        break;

    case ioSKS:                                         /* SKS */
        if (fnc & 013)                                  /* only fnc 0,4 */
            return IOBADFNC (dat);
        if (((fnc == 000) && TST_INT (INT_PTR)) ||      /* fnc 0? skip rdy */
            ((fnc == 004) && !TST_INTREQ (INT_PTR)))    /* fnc 4? skip !int */
            return IOSKIP (dat);
        break;

    case ioINA:                                         /* INA */
        if (fnc)                                        /* only fnc 0 */
            return IOBADFNC (dat);
        if (TST_INT (INT_PTR)) {                        /* ready? */
            CLR_INT (INT_PTR);                          /* clear ready */
            if (ptr_motion)                             /* if motion, restart */
                sim_activate (&ptr_unit, ptr_unit.wait);
            return IOSKIP (ptr_unit.buf | dat);         /* ret buf, skip */
            }
        break;
        }                                               /* end case op */

return dat;
}
开发者ID:salva,项目名称:my-simh,代码行数:35,代码来源:h316_stddev.c

示例6: rp_updsta

void rp_updsta (int32 newa, int32 newb)
{
int32 f;
UNIT *uptr;

uptr = rp_dev.units + GET_UNIT (rp_sta);
rp_sta = (rp_sta & ~(STA_DYN | STA_ERR)) | newa;
rp_stb = (rp_stb & ~STB_DYN) | newb;
if (uptr->flags & UNIT_WPRT)
    rp_sta = rp_sta | STA_SUWP;
if ((uptr->flags & UNIT_ATT) == 0)
    rp_stb = rp_stb | STB_SUFU | STB_SUNR;
else if (sim_is_active (uptr)) {
    f = (uptr->FUNC) & STA_M_FUNC;
    if ((f == FN_SEEK) || (f == FN_RECAL))
        rp_stb = rp_stb | STB_SUSU | STB_SUNR;
    }
else if (uptr->CYL >= RP_NUMCY)
    rp_sta = rp_sta | STA_SUSI;
if ((rp_sta & STA_EFLGS) || (rp_stb & STB_EFLGS))
    rp_sta = rp_sta | STA_ERR;
if (((rp_sta & (STA_ERR | STA_DON)) && (rp_sta & STA_IED)) ||
    ((rp_stb & STB_ATTN) && (rp_sta & STA_IEA)))
    SET_INT (RP);
else CLR_INT (RP);
return;
}
开发者ID:BillHeaton,项目名称:simh,代码行数:27,代码来源:pdp18b_rp.c

示例7: dp_reset

t_stat dp_reset (DEVICE *dptr)
{
int32 i;

dp_fnc = 0;
dp_cw1 = 0;
dp_cw2 = 0;
dp_sta = 0;
dp_buf = 0;
dp_xip = 0;
dp_eor = 0;
dp_dma = 0;
dp_csum = 0;
dp_rptr = 0;
dp_wptr = 0;
dp_bctr = 0;
dp_gap = 0;
dp_defint = 0;
for (i = 0; i < DP_NUMDRV; i++) {                       /* loop thru drives */
    sim_cancel (&dp_unit[i]);                           /* cancel activity */
    dp_unit[i].FNC = 0;                                 /* clear function */
    dp_unit[i].CYL = 0;
    }
CLR_INT (INT_DP);                                       /* clear int, enb */
CLR_ENB (INT_DP);
return SCPE_OK;
}
开发者ID:alexchenfeng,项目名称:UNIXV6,代码行数:27,代码来源:h316_dp.c

示例8: tti_reset

t_stat tti_reset (DEVICE *dptr)
{
tti_unit.buf = 0;
tti_csr = 0;
CLR_INT (TTI);
sim_activate_abs (&tti_unit, KBD_WAIT (tti_unit.wait, tmr_poll));
return SCPE_OK;
}
开发者ID:samrocks69,项目名称:cs450,代码行数:8,代码来源:pdp11_stddev.c

示例9: tto_reset

t_stat tto_reset (DEVICE *dptr)
{
tto_unit.buf = 0;
tto_csr = CSR_DONE;
CLR_INT (TTO);
sim_cancel (&tto_unit);                                 /* deactivate unit */
return SCPE_OK;
}
开发者ID:samrocks69,项目名称:cs450,代码行数:8,代码来源:pdp11_stddev.c

示例10: pclk_reset

t_stat pclk_reset (DEVICE *dptr)
{
pclk_csr = 0;                                           /* clear reg */
pclk_csb = 0;
pclk_ctr = 0;
CLR_INT (PCLK);                                         /* clear int */
sim_cancel (&pclk_unit);                                /* cancel */
return auto_config (0, 0);
}
开发者ID:leomauro,项目名称:simh,代码行数:9,代码来源:pdp11_pclk.c

示例11: ptr_reset

t_stat ptr_reset (DEVICE *dptr)
{
ptr_unit.buf = 0;
ptr_csr = 0;
if ((ptr_unit.flags & UNIT_ATT) == 0)
    ptr_csr = ptr_csr | CSR_ERR;
CLR_INT (PTR);
sim_cancel (&ptr_unit);
return SCPE_OK;
}
开发者ID:denrusio,项目名称:vak-opensource,代码行数:10,代码来源:pdp11_pt.c

示例12: ptp_reset

t_stat ptp_reset (DEVICE *dptr)
{
ptp_unit.buf = 0;
ptp_csr = CSR_DONE;
if ((ptp_unit.flags & UNIT_ATT) == 0)
    ptp_csr = ptp_csr | CSR_ERR;
CLR_INT (PTP);
sim_cancel (&ptp_unit);                                 /* deactivate unit */
return SCPE_OK;
}
开发者ID:denrusio,项目名称:vak-opensource,代码行数:10,代码来源:pdp11_pt.c

示例13: pclk_reset

t_stat pclk_reset (DEVICE *dptr)
{
pclk_csr = 0;                                           /* clear reg */
pclk_csb = 0;
pclk_ctr = 0;
CLR_INT (PCLK);                                         /* clear int */
sim_cancel (&pclk_unit);                                /* cancel */
pclk_unit.wait = xtim[0];                               /* reset delay */
return SCPE_OK;
}
开发者ID:ProtoSD,项目名称:simh,代码行数:10,代码来源:pdp11_pclk.c

示例14: ptp_reset

t_stat ptp_reset (DEVICE *dptr)
{
CLR_INT (INT_PTP);                                      /* clear ready, enb */
CLR_ENB (INT_PTP);
ptp_power = 0;                                          /* power off */
ptp_unit.buf = 0;                                       /* clear buffer */
ptp_unit.STA = 0;
sim_cancel (&ptp_unit);                                 /* deactivate unit */
return SCPE_OK;
}
开发者ID:salva,项目名称:my-simh,代码行数:10,代码来源:h316_stddev.c

示例15: ptr_reset

t_stat ptr_reset (DEVICE *dptr)
{
CLR_INT (INT_PTR);                                      /* clear ready, enb */
CLR_ENB (INT_PTR);
ptr_unit.buf = 0;                                       /* clear buffer */
ptr_unit.STA = 0;
ptr_motion = 0;                                         /* unit stopped */
sim_cancel (&ptr_unit);                                 /* deactivate unit */
return SCPE_OK;
}
开发者ID:salva,项目名称:my-simh,代码行数:10,代码来源:h316_stddev.c


注:本文中的CLR_INT函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。