📄 eribld_aqpcs.c
字号:
sprintf(scuasd, "SCU CAB ASD in %d SEC", PCST.scuasd * 5); os_std(scufan1, OS$gen_asc_52, DD$aqpcst_scufan1); os_std(scufan2, OS$gen_asc_52, DD$aqpcst_scufan2); os_std(scufan3, OS$gen_asc_52, DD$aqpcst_scufan3); os_std(scuasd, OS$gen_asc_52, DD$aqpcst_scuasd); os_std(&PCST.scufansts_1, OS$gen_short, DD$aqpcst_scufansts); os_std(&PCST.scuairsts_1, OS$gen_short, DD$aqpcst_scuairsts); sprintf(cpafan1, "CPA FAN 1 TEMP (DEG C.) = %c%3d.%02d", stat_cpafan1&0x8000?'-':'+', stat_cpafan1>>8&0x7f, stat_cpafan1&0xff); sprintf(cpafan2, "CPA FAN 2 TEMP (DEG C.) = %c%3d.%02d", stat_cpafan2&0x8000?'-':'+', stat_cpafan2>>8&0x7f, stat_cpafan2&0xff); sprintf(cpafan3, "CPA FAN 3 TEMP (DEG C.) = %c%3d.%02d", stat_cpafan3&0x8000?'-':'+', stat_cpafan3>>8&0x7f, stat_cpafan3&0xff); if( (PCST.cpaasd&0xff) == 0xff) sprintf(cpaasd, "NO ASD PENDING FOR CPA CAB"); else sprintf(cpaasd, "CPA CAB ASD in %d SEC", PCST.cpaasd * 5); os_std(cpafan1, OS$gen_asc_52, DD$aqpcst_cpafan1); os_std(cpafan2, OS$gen_asc_52, DD$aqpcst_cpafan2); os_std(cpafan3, OS$gen_asc_52, DD$aqpcst_cpafan3); os_std(cpaasd, OS$gen_asc_52, DD$aqpcst_cpaasd); os_std(&PCST.cpafansts_1, OS$gen_short, DD$aqpcst_cpafansts); os_std(&PCST.cpaairsts_1, OS$gen_short, DD$aqpcst_cpaairsts); if( (PCST.stcreg_1 >> 2 & 0x3) == 3) { sprintf(cpbfan1, "CPB FAN 1 TEMP (DEG C.) = %c%3d.%02d", stat_cpbfan1&0x8000?'-':'+', stat_cpbfan1>>8&0x7f, stat_cpbfan1&0xff); sprintf(cpbfan2, "CPB FAN 2 TEMP (DEG C.) = %c%3d.%02d", stat_cpbfan2&0x8000?'-':'+', stat_cpbfan2>>8&0x7f, stat_cpbfan2&0xff); sprintf(cpbfan3, "CPB FAN 3 TEMP (DEG C.) = %c%3d.%02d", stat_cpbfan3&0x8000?'-':'+', stat_cpbfan3>>8&0x7f, stat_cpbfan3&0xff); if( (PCST.cpbasd&0xff) == 0xff) sprintf(cpbasd, "NO ASD PENDING FOR CPB CAB"); else sprintf(cpbasd, "CPB CAB ASD in %d SEC", PCST.cpbasd * 5); os_std(cpbfan1, OS$gen_asc_52, DD$aqpcst_cpbfan1); os_std(cpbfan2, OS$gen_asc_52, DD$aqpcst_cpbfan2); os_std(cpbfan3, OS$gen_asc_52, DD$aqpcst_cpbfan3); os_std(cpbasd, OS$gen_asc_52, DD$aqpcst_cpbasd); os_std(&PCST.cpbfansts, OS$gen_short, DD$aqpcst_cpbfansts); os_std(&PCST.cpbairsts, OS$gen_short, DD$aqpcst_cpbairsts); } os_std(&PCST.ioastatus, OS$gen_tiny, DD$aqpcst_ioastatus); if( (PCST.ioaasd&0xff) == 0xff) sprintf(ioaasd, "NO ASD PENDING FOR IOA CAB"); else sprintf(ioaasd, "IOA CAB ASD in %d SEC", PCST.cpbasd * 5); os_std(ioaasd, OS$gen_asc_52, DD$aqpcst_ioaasd); if( (PCST.stcreg_1 >> 2 & 0x3) == 3) { os_std(&PCST.iobstatus, OS$gen_tiny, DD$aqpcst_iobstatus); if( (PCST.iobasd&0xff) == 0xff) sprintf(iobasd, "NO ASD PENDING FOR IOB CAB"); else sprintf(iobasd, "IOB CAB ASD in %d SEC", PCST.iobasd * 5); os_std(iobasd, OS$gen_asc_52, DD$aqpcst_iobasd); } if( PCST.wcuasts&0x80 ) { sprintf(wcuatempo, "WCUA AIR OUT (DEG C.) = %c%3d.%02d", PCST.wcuatempo&0x8000?'-':'+', PCST.wcuatempo>>8&0x7f, PCST.wcuatempo&0xff); sprintf(wcuatempi, "WCUA AIR IN (DEG C.) = %c%3d.%02d", PCST.wcuatempi&0x8000?'-':'+', PCST.wcuatempi>>8&0x7f, PCST.wcuatempi&0xff); os_std(wcuatempo, OS$gen_asc_52, DD$aqpcst_wcuatempo); os_std(wcuatempi, OS$gen_asc_52, DD$aqpcst_wcuatempi); os_std(&PCST.wcuassts, OS$gen_short, DD$aqpcst_wcuassts); } os_std(&PCST.wcuasts, OS$gen_short, DD$aqpcst_wcuasts); if( PCST.wcubsts&0x80 ) { sprintf(wcubtempo, "WCUA AIR OUT (DEG C.) = %c%3d.%02d", PCST.wcubtempo&0x8000?'-':'+', PCST.wcubtempo>>8&0x7f, PCST.wcubtempo&0xff); sprintf(wcubtempi, "WCUA AIR IN (DEG C.) = %c%3d.%02d", PCST.wcubtempi&0x8000?'-':'+', PCST.wcubtempi>>8&0x7f, PCST.wcubtempi&0xff); os_std(wcubtempo, OS$gen_asc_52, DD$aqpcst_wcubtempo); os_std(wcubtempi, OS$gen_asc_52, DD$aqpcst_wcubtempi); os_std(&PCST.wcubssts, OS$gen_short, DD$aqpcst_wcubssts); } os_std(&PCST.wcubsts, OS$gen_short, DD$aqpcst_wcubsts); os_std(&PCST.ioacab, OS$gen_short, DD$aqpcst_ioacab); os_std(&PCST.iobcab, OS$gen_short, DD$aqpcst_iobcab); os_std(&PCST.ioabi, OS$gen_short, DD$aqpcst_ioabi); os_std(&PCST.iobbi, OS$gen_short, DD$aqpcst_iobbi); os_std(&PCST.ioaac, OS$gen_short, DD$aqpcst_ioaac); os_std(&PCST.iobac, OS$gen_short, DD$aqpcst_iobac); os_std(&PCST.ioagc, OS$gen_short, DD$aqpcst_ioagc); os_std(&PCST.iobgc, OS$gen_short, DD$aqpcst_iobgc); os_std(&PCST.pcssts, OS$gen_short, DD$aqpcst_pcssts); os_std(&PCST.busareg, OS$gen_short, DD$aqpcst_busareg); sprintf(busavbus, "BUS A VOLTAGE = %c%3d.%03d", PCST.busavbus&0x8000?'-':'+', PCST.busavbus>>10&0x1f, PCST.busavbus&0x3ff); os_std(busavbus, OS$gen_asc_52, DD$aqpcst_busavbus); os_std(&PCST.busareg0, OS$gen_short, DD$aqpcst_busareg0); os_std(&PCST.busareg1, OS$gen_short, DD$aqpcst_busareg1); os_std(&PCST.busareg2, OS$gen_short, DD$aqpcst_busareg2); os_std(&PCST.busareg3, OS$gen_short, DD$aqpcst_busareg3); os_std(&PCST.busareg4, OS$gen_short, DD$aqpcst_busareg4); os_std(&PCST.busasts, OS$gen_short, DD$aqpcst_busasts); os_std(&PCST.busbreg, OS$gen_short, DD$aqpcst_busbreg); sprintf(busbvbus, "BUS B VOLTAGE = %c%3d.%03d", PCST.busbvbus&0x8000?'-':'+', PCST.busbvbus>>10&0x1f, PCST.busbvbus&0x3ff); os_std(busbvbus, OS$gen_asc_52, DD$aqpcst_busbvbus); os_std(&PCST.busbreg0, OS$gen_short, DD$aqpcst_busbreg0); os_std(&PCST.busbreg1, OS$gen_short, DD$aqpcst_busbreg1); os_std(&PCST.busbreg2, OS$gen_short, DD$aqpcst_busbreg2); os_std(&PCST.busbreg3, OS$gen_short, DD$aqpcst_busbreg3); os_std(&PCST.busbreg4, OS$gen_short, DD$aqpcst_busbreg4); os_std(&PCST.busbsts, OS$gen_short, DD$aqpcst_busbsts); os_std(&PCST.buscreg, OS$gen_short, DD$aqpcst_buscreg); sprintf(buscvbus, "BUS C VOLTAGE = %c%3d.%03d", PCST.buscvbus&0x8000?'-':'+', PCST.buscvbus>>10&0x1f, PCST.buscvbus&0x3ff); os_std(buscvbus, OS$gen_asc_52, DD$aqpcst_buscvbus); os_std(&PCST.buscreg0, OS$gen_short, DD$aqpcst_buscreg0); os_std(&PCST.buscreg1, OS$gen_short, DD$aqpcst_buscreg1); os_std(&PCST.buscreg2, OS$gen_short, DD$aqpcst_buscreg2); os_std(&PCST.buscreg3, OS$gen_short, DD$aqpcst_buscreg3); os_std(&PCST.buscreg4, OS$gen_short, DD$aqpcst_buscreg4); os_std(&PCST.buscsts, OS$gen_short, DD$aqpcst_buscsts); os_std(&PCST.busdreg, OS$gen_short, DD$aqpcst_busdreg); sprintf(busdvbus, "BUS D VOLTAGE = %c%3d.%03d", PCST.busdvbus&0x8000?'-':'+', PCST.busdvbus>>10&0x1f, PCST.busdvbus&0x3ff); os_std(busdvbus, OS$gen_asc_52, DD$aqpcst_busdvbus); os_std(&PCST.busdreg0, OS$gen_short, DD$aqpcst_busdreg0); os_std(&PCST.busdreg1, OS$gen_short, DD$aqpcst_busdreg1); os_std(&PCST.busdreg2, OS$gen_short, DD$aqpcst_busdreg2); os_std(&PCST.busdreg3, OS$gen_short, DD$aqpcst_busdreg3); os_std(&PCST.busdreg4, OS$gen_short, DD$aqpcst_busdreg4); os_std(&PCST.busdsts, OS$gen_short, DD$aqpcst_busdsts); if( (stat_stcreg >> 10 & 0xf) == 1) { /* aridus, tables 1 and 2 */ if( (stat_stcreg >> 2 & 0x3) == 3) { /* table 2 */ os_std(&PCST.tab2or4.tab2.busereg, OS$gen_short, DD$aqpcst_busereg); sprintf(busevbus, "BUS E VOLTAGE = %c%3d.%03d", PCST.tab2or4.tab2.busevbus&0x8000?'-':'+', PCST.tab2or4.tab2.busevbus>>10&0x1f, PCST.tab2or4.tab2.busevbus&0x3ff); os_std(busevbus, OS$gen_asc_52, DD$aqpcst_busevbus); os_std(&PCST.tab2or4.tab2.busereg0, OS$gen_short, DD$aqpcst_busereg0); os_std(&PCST.tab2or4.tab2.busereg1, OS$gen_short, DD$aqpcst_busereg1); os_std(&PCST.tab2or4.tab2.busereg2, OS$gen_short, DD$aqpcst_busereg2); os_std(&PCST.tab2or4.tab2.busereg3, OS$gen_short, DD$aqpcst_busereg3); os_std(&PCST.tab2or4.tab2.busereg4, OS$gen_short, DD$aqpcst_busereg4); os_std(&PCST.tab2or4.tab2.busests, OS$gen_short, DD$aqpcst_busests); os_std(&PCST.tab2or4.tab2.busfreg, OS$gen_short, DD$aqpcst_busfreg); sprintf(busfvbus, "BUS F VOLTAGE = %c%3d.%03d", PCST.tab2or4.tab2.busfvbus&0x8000?'-':'+', PCST.tab2or4.tab2.busfvbus>>10&0x1f, PCST.tab2or4.tab2.busfvbus&0x3ff); os_std(busfvbus, OS$gen_asc_52, DD$aqpcst_busfvbus); os_std(&PCST.tab2or4.tab2.busfreg0, OS$gen_short, DD$aqpcst_busfreg0); os_std(&PCST.tab2or4.tab2.busfreg1, OS$gen_short, DD$aqpcst_busfreg1); os_std(&PCST.tab2or4.tab2.busfreg2, OS$gen_short, DD$aqpcst_busfreg2); os_std(&PCST.tab2or4.tab2.busfreg3, OS$gen_short, DD$aqpcst_busfreg3); os_std(&PCST.tab2or4.tab2.busfreg4, OS$gen_short, DD$aqpcst_busfreg4); os_std(&PCST.tab2or4.tab2.busfsts, OS$gen_short, DD$aqpcst_busfsts); } } else if( (stat_stcreg >> 10 & 0xf) == 0) { /* aquarius, tables 3 and 4 */ /* (table 3 is just regj and regk of table 4) */ os_std(&PCST.tab2or4.tab4.busjreg, OS$gen_short, DD$aqpcst_busjreg); sprintf(busjvbus, "BUS J VOLTAGE = %c%3d.%03d", PCST.tab2or4.tab4.busjvbus&0x8000?'-':'+', PCST.tab2or4.tab4.busjvbus>>10&0x1f, PCST.tab2or4.tab4.busjvbus&0x3ff); os_std(busjvbus, OS$gen_asc_52, DD$aqpcst_busjvbus); os_std(&PCST.tab2or4.tab4.busjreg0, OS$gen_short, DD$aqpcst_busjreg0); os_std(&PCST.tab2or4.tab4.busjreg1, OS$gen_short, DD$aqpcst_busjreg1); os_std(&PCST.tab2or4.tab4.busjreg2, OS$gen_short, DD$aqpcst_busjreg2); os_std(&PCST.tab2or4.tab4.busjreg3, OS$gen_short, DD$aqpcst_busjreg3); os_std(&PCST.tab2or4.tab4.busjreg4, OS$gen_short, DD$aqpcst_busjreg4); os_std(&PCST.tab2or4.tab4.busjsts, OS$gen_short, DD$aqpcst_busjsts); os_std(&PCST.tab2or4.tab4.buskreg, OS$gen_short, DD$aqpcst_buskreg); sprintf(buskvbus, "BUS K VOLTAGE = %c%3d.%03d", PCST.tab2or4.tab4.buskvbus&0x8000?'-':'+', PCST.tab2or4.tab4.buskvbus>>10&0x1f, PCST.tab2or4.tab4.buskvbus&0x3ff); os_std(buskvbus, OS$gen_asc_52, DD$aqpcst_buskvbus); os_std(&PCST.tab2or4.tab4.buskreg0, OS$gen_short, DD$aqpcst_buskreg0); os_std(&PCST.tab2or4.tab4.buskreg1, OS$gen_short, DD$aqpcst_buskreg1); os_std(&PCST.tab2or4.tab4.buskreg2, OS$gen_short, DD$aqpcst_buskreg2); os_std(&PCST.tab2or4.tab4.buskreg3, OS$gen_short, DD$aqpcst_buskreg3); os_std(&PCST.tab2or4.tab4.buskreg4, OS$gen_short, DD$aqpcst_buskreg4); os_std(&PCST.tab2or4.tab4.busksts, OS$gen_short, DD$aqpcst_busksts); if( (stat_stcreg >> 2 & 0x3) == 3) { /* table 4 */ /* The first part of table 4 is done just above this. Here is the rest of it. */ os_std(&PCST.tab2or4.tab4.busmreg, OS$gen_short, DD$aqpcst_busmreg); sprintf(busmvbus, "BUS M VOLTAGE = %c%3d.%03d", PCST.tab2or4.tab4.busmvbus&0x8000?'-':'+', PCST.tab2or4.tab4.busmvbus>>10&0x1f, PCST.tab2or4.tab4.busmvbus&0x3ff); os_std(busmvbus, OS$gen_asc_52, DD$aqpcst_busmvbus); os_std(&PCST.tab2or4.tab4.busmreg0, OS$gen_short, DD$aqpcst_busmreg0); os_std(&PCST.tab2or4.tab4.busmreg1, OS$gen_short, DD$aqpcst_busmreg1); os_std(&PCST.tab2or4.tab4.busmreg2, OS$gen_short, DD$aqpcst_busmreg2); os_std(&PCST.tab2or4.tab4.busmreg3, OS$gen_short, DD$aqpcst_busmreg3); os_std(&PCST.tab2or4.tab4.busmreg4, OS$gen_short, DD$aqpcst_busmreg4); os_std(&PCST.tab2or4.tab4.busmsts, OS$gen_short, DD$aqpcst_busmsts); os_std(&PCST.tab2or4.tab4.busnreg, OS$gen_short, DD$aqpcst_busnreg); sprintf(busnvbus, "BUS N VOLTAGE = %c%3d.%03d", PCST.tab2or4.tab4.busnvbus&0x8000?'-':'+', PCST.tab2or4.tab4.busnvbus>>10&0x1f, PCST.tab2or4.tab4.busnvbus&0x3ff); os_std(busnvbus, OS$gen_asc_52, DD$aqpcst_busnvbus); os_std(&PCST.tab2or4.tab4.busnreg0, OS$gen_short, DD$aqpcst_busnreg0); os_std(&PCST.tab2or4.tab4.busnreg1, OS$gen_short, DD$aqpcst_busnreg1); os_std(&PCST.tab2or4.tab4.busnreg2, OS$gen_short, DD$aqpcst_busnreg2); os_std(&PCST.tab2or4.tab4.busnreg3, OS$gen_short, DD$aqpcst_busnreg3); os_std(&PCST.tab2or4.tab4.busnreg4, OS$gen_short, DD$aqpcst_busnreg4); os_std(&PCST.tab2or4.tab4.busnsts, OS$gen_short, DD$aqpcst_busnsts); } } } else if( PCS.format_byte == 0 ) { /* Power System */ /* exception information */ cds_ptr->subtype = DD$AQPCS_CDS; if (ini_seg(cds_ptr) == EI$FAIL) status = EI$FAIL; ads_ptr->subtype = DD$AQPCS_ADS; if (ini_seg(ads_ptr) == EI$FAIL) status = EI$FAIL; sis_ptr->subtype = DD$AQ_PCS_SIS; if (ini_seg(sis_ptr) == EI$FAIL) status = EI$FAIL; /* This format byte differentiates between pcs exception and the pcs status information. We could output this value, but it might be confused with the 7 'format types' of the pcs exception entry (which we also do not output.) */ /* os_std(&PCS.format_byte, OS$gen_tiny, DD$aqpcs_format_byte); */ os_std(&PCS.idreg, OS$gen_tiny, DD$aqpcs_idreg); os_std(&PCS.idreg, OS$gen_tiny, DD$sum_idreg); os_std(&PCS.xcpid, OS$gen_tiny, DD$aqpcs_xcpid_ric); os_std(&PCS.xcpid, OS$gen_tiny, DD$sum_xcpid); os_std(&PCS.severity, OS$gen_tiny, DD$aqpcs_severity); /* determine format type */ format_type = 0; xcpid = elrp->el_body.el_aqpcs.xcpid; if( elrp->el_body.el_aqpcs.idreg ) { if( xcpid >= 0 && xcpid <= 2 ) format_type = 1; if( xcpid >= 4 && xcpid <= 5 ) format_type = 2; if( xcpid >= 0xc && xcpid <= 0x1a ) format_type = 3; if( xcpid == 3 || xcpid == 6 ) format_type = 3; } else { if( xcpid >= 0 && xcpid <= 5 ) format_type = 4; if( xcpid >= 6 && xcpid <= 7 ) format_type = 5; if( xcpid >= 8 ) format_type = 6; if( xcpid >= 9 ) format_type = 7; } if( format_type == 1 || format_type == 2 || format_type == 3 ) { /* rsreg */ os_std(&PCS.ricpem.ric.rsreg, OS$gen_short, DD$aqpcs_rsreg); clear_conditions(); cnd[1] = elrp->el_body.el_aqpcs.idreg > 0; cnd[2] = elrp->el_body.el_aqpcs.xcpid == 0; cnd[3] = elrp->el_body.el_aqpcs.xcpid == 1; cnd[4] = elrp->el_body.el_aqpcs.xcpid == 2; cnd[5] = elrp->el_body.el_aqpcs.xcpid == 3; cnd[6] = elrp->el_body.el_aqpcs.xcpid == 4; cnd[7] = elrp->el_body.el_aqpcs.xcpid == 5; cnd[8] = elrp->el_body.el_aqpcs.xcpid == 6; cnd[9] = elrp->el_body.el_aqpcs.xcpid == 0x0c; cnd[10] = elrp->el_body.el_aqpcs.xcpid == 0x0d; cnd[11] = elrp->el_body.el_aqpcs.xcpid == 0x0e; cnd[12] = elrp->el_body.el_aqpcs.xcpid == 0x0f; cnd[16] = elrp->el_body.el_aqpcs.xcpid == 0x13; cnd[17] = elrp->el_body.el_aqpcs.xcpid == 0x14; cnd[18] = elrp->el_body.el_aqpcs.xcpid == 0x15; cnd[20] = elrp->el_body.el_aqpcs.xcpid == 0x17; cnd[21] = elrp->el_body.el_aqpcs.xcpid == 0x18; cnd[22] = elrp->el_body.el_aqpcs.xcpid == 0x19; cnd[23] = elrp->el_body.el_aqpcs.xcpid == 0x1a; cnd[24] = elrp->el_body.el_aqpcs.ricpem.ric.rcreg & 0x01; cnd[25] = elrp->el_body.el_aqpcs.ricpem.ric.rcreg & 0x02; cnd[26] = elrp->el_body.el_aqpcs.ricpem.ric.rcreg & 0x04; cnd[27] = elrp->el_body.el_aqpcs.ricpem.ric.rcreg & 0x08; cnd[28] = elrp->el_body.el_aqpcs.ricpem.ric.rcreg & 0x10; cnd[29] = elrp->el_body.el_aqpcs.idreg == 0x11; cnd[30] = elrp->el_body.el_aqpcs.idreg == 0x12; cnd[31] = elrp->el_body.el_aqpcs.idreg == 0x13; cnd[32] = elrp->el_body.el_aqpcs.idreg == 0x14; cnd[33] = elrp->el_body.el_aqpcs.idreg == 0x16; cnd[34] = elrp->el_body.el_aqpcs.idreg == 0x21; cnd[35] = elrp->el_body.el_aqpcs.idreg == 0x22; cnd[36] = elrp->el_body.el_aqpcs.idreg == 0x23; cnd[37] = elrp->el_body.el_aqpcs.idreg == 0x24; cnd[38] = elrp->el_body.el_aqpcs.idreg == 0x25; cnd[39] = elrp->el_body.el_aqpcs.idreg == 0x31; cnd[40] = elrp->el_body.el_aqpcs.idreg == 0x32; cnd[41] = elrp->el_body.el_aqpcs.idreg == 0x41; cnd[42] = elrp->el_body.el_aqpcs.idreg == 0x42; cnd[43] = elrp->el_body.el_aqpcs.idreg == 0x51; cnd[44] = elrp->el_body.el_aqpcs.idreg == 0x52; cnd[45] = elrp->el_body.el_aqpcs.idreg == 0x53; cnd[46] = elrp->el_body.el_aqpcs.idreg == 0x54; cnd[48] = elrp->el_body.el_aqpcs.idreg == 0x14; cnd[48] |= elrp->el_body.el_aqpcs.idreg == 0x15; cnd[48] |= elrp->el_body.el_aqpcs.idreg == 0x24; cnd[48] |= elrp->el_body.el_aqpcs.idreg == 0x25; cnd[48] |= elrp->el_body.el_aqpcs.idreg == 0x32; cnd[48] |= elrp->el_body.el_aqpcs.idreg == 0x43; clear_sips(); sip[0] = DD$aqpcs_rsreg_o1; sip[1] = DD$aqpcs_rsreg_o2; sip[2] = DD$aqpcs_rsreg_o3; sip[3] = DD$aqpcs_rsreg_o4; sip[4] = DD$aqpcs_rsreg_o5; sip[5] = DD$aqpcs_rsreg_o6; sip[6] = DD$aqpcs_rsreg_o7; sip[7] = DD$aqpcs_rsreg_o8; sip[8] = 0; value = elrp->el_body.el_aqpcs.ricpem.ric.rsreg; qualified_translate(value & 0xf, qt_rsreg_old); clear_sips(); sip[0] = DD$aqpcs_rsreg_n1; sip[1] = DD$aqpcs_rsreg_n2; sip[2] = DD$aqpcs_rsreg_n3; sip[3] = DD$aqpcs_rsreg_n4; sip[4] = DD$aqpcs_rsreg_n5; sip[5] = DD$aqpcs_rsreg_n6; sip[6] = DD$aqpcs_rsreg_n7; sip[7] = DD$aqpcs_rsreg_n8; sip[8] = 0; qualified_translate(value>>8 & 0xf, qt_rsreg_new);#define PCS elrp->el_body.el_aqpcs /* asdreg - automatic shutdown register */ if( PCS.idreg > 0 ) { uc = PCS.ricpem.ric.asdreg; if( uc == 0xff ) sprintf(asdreg_str1, "NO AUTOMATIC SHUTDOWN PENDING" ); else sprintf(asdreg_str1, "AUTOMATIC SHUTDOWN IN %4d SEC", 5*uc ); os_std( &uc, OS$gen_tiny, DD$aqpcs_asdreg ); os_std( asdreg_str1, OS$gen_asc_52, DD$aqpcs_asdreg_1 ); } else { /* can use 32 for the 17 bytes we need to move. */ /* It moves the number required by pasdrsb. */ os_std( &PCS.ricpem.pem.pasdrsb[0], OS$gen_bv_32, DD$aqpcs_pasdrsb ); uc = PCS.ricpem.pem.pasdrsb[0]; if( uc == 0xff ) sprintf(asdreg_str1, "NO AUTOMATIC SHUTDOWNS PENDING" ); else sprintf(asdreg_str1, "SOONEST ASD PENDING %4d SEC", 5*uc ); os_std( asdreg_str1, OS$gen_asc_52, DD$aqpcs_asdreg_1 ); if( (pem_stcreg>>10&0xf) == 0 ) { /* aquarius system type */ uc = PCS.ricpem.pem.pasdrsb[1]; if( uc == 0xff ) sprintf(asdreg_str2, "94XX RICBUS A - NO ASD PENDING" ); else sprintf(asdreg_str2, "94XX RICBUS A ASD in %4d SEC", 5*uc ); os_std( asdreg_str2, OS$gen_asc_52, DD$aqpcs_asdreg_2 ); uc = PCS.ricpem.pem.pasdrsb[2]; if( uc == 0xff ) sprintf(asdreg_str3, "94XX RICBUS B - NO ASD PENDING" ); else sprintf(asdreg_str3, "94XX RICBUS B ASD in %4d SEC", 5*uc ); os_std( asdreg_str3, OS$gen_asc_52, DD$aqpcs_asdreg_3 ); uc = PCS.ricpem.pem.pasdrsb[3]; if( uc == 0xff ) sprintf(asdreg_str4, "94XX RICBUS C - NO ASD PENDING" ); else sprintf(asdreg_str4, "94XX RICBUS C ASD in %4d SEC", 5*uc ); os_std( asdreg_str4, OS$gen_asc_52, DD$aqpcs_asdreg_4 ); } else if( (pem_stcreg>>10&0xf) == 1 ) { /* aridus system type */ uc = PCS.ricpem.pem.pasdrsb[4]; if( uc == 0xff ) sprintf(asdreg_str2, "92XX RICBUS B - NO ASD PENDING" ); else sprintf(asdreg_str2, "92XX RICBUS B ASD in %4d SEC", 5*uc ); os_std( asdreg_str2, OS$gen_asc_52, DD$aqpcs_asdreg_2 ); uc = PCS.ricpem.pem.pasdrsb[5]; if( uc == 0xff ) sprintf(asdreg_str3, "92XX RICBUS B2 - NO ASD PENDING" ); else sprintf(asdreg_str3, "92XX RICBUS B2 ASD in %4d SEC", 5*uc ); os_std( asdreg_str3, OS$gen_asc_52, DD$aqpcs_asdreg_3 ); uc = PCS.ricpem.pem.pasdrsb[6]; if( uc == 0xff ) sprintf(asdreg_str4, "92XX RICBUS A - NO ASD PENDING" ); else sprintf(asdreg_str4, "92XX RICBUS A ASD in %4d SEC", 5*uc ); os_std( asdreg_str4, OS$gen_asc_52, DD$aqpcs_asdreg_4 ); } } /* Hardware Status Register A */ os_std(&PCS.ricpem.ric.hwsrega, OS$gen_tiny, DD$aqpcs_hwsrega); clear_conditions(); cnd[1] = elrp->el_body.el_aqpcs.idreg == 0x11; cnd[2] = elrp->el_body.el_aqpcs.idreg == 0x12; cnd[3] = elrp->el_body.el_aqpcs.idreg == 0x13; cnd[4] = elrp->el_body.el_aqpcs.idreg == 0x14; cnd[5] = elrp->el_body.el_aqpcs.idreg == 0x15;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -