⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d30v-insns

📁 这个是LINUX下的GDB调度工具的源码
💻
📖 第 1 页 / 共 5 页
字号:
# OBSOLETE // BCLR# OBSOLETE # OBSOLETE _LOGIC,00011,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:BCLR# OBSOLETE "bclr r<RA>, r<RB>, r<RC>"# OBSOLETE 	WRITE32_QUEUE(Ra, Rb & ~BIT32((Rc) % 32));# OBSOLETE _LOGIC,00011,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:BCLR imm# OBSOLETE "bclr r<RA>, r<RB>, <imm>"# OBSOLETE 	WRITE32_QUEUE(Ra, Rb & ~BIT32((imm) % 32));# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // BNOT# OBSOLETE # OBSOLETE _LOGIC,00001,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:BNOT# OBSOLETE "bnot r<RA>, r<RB>, r<RC>"# OBSOLETE 	WRITE32_QUEUE (Ra, Rb ^ BIT32((Rc) % 32));# OBSOLETE _LOGIC,00001,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:BNOT imm# OBSOLETE "bnot r<RA>, r<RB>, <imm>"# OBSOLETE 	WRITE32_QUEUE (Ra, Rb ^ BIT32((imm) % 32));# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // BRA# OBSOLETE # OBSOLETE _BRA,00000,00,6.**,6.**,6.RC:BRA:short:mu:BRA# OBSOLETE "bra r<RC>"# OBSOLETE 	nia = cia + pcdisp;# OBSOLETE _BRA,00000,10,_IMM18:BRA:short:mu:BRA imm# OBSOLETE "bra <pcdisp>"# OBSOLETE 	nia = cia + pcdisp;# OBSOLETE _BRA,00000,10,6.**,6.**,_IMM32:BRA:long:mu:BRA imm long# OBSOLETE "bra <pcdisp>"# OBSOLETE 	nia = cia + pcdisp;# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // BRATNZ# OBSOLETE # OBSOLETE _BRA,00100,01,6.RA,6.**,6.RC:BRA:short:mu:BRATNZ# OBSOLETE "bratnz r<RC>"# OBSOLETE 	if (*Ra != 0)# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE _BRA,00100,11,6.RA,_IMM12:BRA:short:mu:BRATNZ imm# OBSOLETE "bratnz <pcdisp>"# OBSOLETE 	if (*Ra != 0)# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE _BRA,00100,11,6.RA,6.**,_IMM32:BRA:long:mu:BRATNZ imm long# OBSOLETE "bratnz <pcdisp>"# OBSOLETE 	if (*Ra != 0)# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // BRATZR# OBSOLETE # OBSOLETE _BRA,00100,00,6.RA,6.**,6.RC:BRA:short:mu:BRATZR# OBSOLETE "bratzr r<RC>"# OBSOLETE 	if (val_Ra == 0)# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE _BRA,00100,10,6.RA,_IMM12:BRA:short:mu:BRATZR imm# OBSOLETE "bratzr <pcdisp>"# OBSOLETE 	if (val_Ra == 0)# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE _BRA,00100,10,6.RA,6.**,_IMM32:BRA:long:mu:BRATZR imm long# OBSOLETE "bratzr <pcdisp>"# OBSOLETE 	if (val_Ra == 0)# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // BSET# OBSOLETE # OBSOLETE _LOGIC,00010,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:BSET# OBSOLETE "bset r<RA>, r<RB>, r<RC>"# OBSOLETE 	WRITE32_QUEUE (Ra, Rb | BIT32((Rc) % 32));# OBSOLETE _LOGIC,00010,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:BSET imm# OBSOLETE "bset r<RA>, r<RB>, <imm>"# OBSOLETE 	WRITE32_QUEUE (Ra, Rb | BIT32((imm) % 32));# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // BSR# OBSOLETE # OBSOLETE _BRA,00010,00,6.**,6.**,6.RC:BRA:short:mu:BSR# OBSOLETE "bsr r<RC>"# OBSOLETE 	if (cia == RPT_E && PSW_VAL (PSW_RP))# OBSOLETE 	  WRITE32_QUEUE (&GPR[62], RPT_S);# OBSOLETE 	else# OBSOLETE 	  WRITE32_QUEUE (&GPR[62], cia + 8);# OBSOLETE 	nia = cia + pcdisp;# OBSOLETE 	if (TRACE_CALL_P)# OBSOLETE 	  TRACE_ACTION |= TRACE_ACTION_CALL;# OBSOLETE _BRA,00010,10,_IMM18:BRA:short:mu:BSR imm# OBSOLETE "bsr <pcdisp>"# OBSOLETE 	if (cia == RPT_E && PSW_VAL (PSW_RP))# OBSOLETE 	  WRITE32_QUEUE (&GPR[62], RPT_S);# OBSOLETE 	else# OBSOLETE 	  WRITE32_QUEUE (&GPR[62], cia + 8);# OBSOLETE 	nia = cia + pcdisp;# OBSOLETE 	if (TRACE_CALL_P)# OBSOLETE 	  TRACE_ACTION |= TRACE_ACTION_CALL;# OBSOLETE _BRA,00010,10,6.**,6.**,_IMM32:BRA:long:mu:BSR imm long# OBSOLETE "bsr <pcdisp>"# OBSOLETE 	if (cia == RPT_E && PSW_VAL (PSW_RP))# OBSOLETE 	  WRITE32_QUEUE (&GPR[62], RPT_S);# OBSOLETE 	else# OBSOLETE 	  WRITE32_QUEUE (&GPR[62], cia + 8);# OBSOLETE 	nia = cia + pcdisp;# OBSOLETE 	if (TRACE_CALL_P)# OBSOLETE 	  TRACE_ACTION |= TRACE_ACTION_CALL;# OBSOLETE # OBSOLETE # OBSOLETE // BSRTNZ# OBSOLETE # OBSOLETE _BRA,00110,01,6.RA,6.**,6.RC:BRA:short:mu:BSRTNZ# OBSOLETE "bsrtnz r<RC>"# OBSOLETE 	if (val_Ra != 0) {# OBSOLETE 	  if (cia == RPT_E && PSW_VAL (PSW_RP))# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], RPT_S);# OBSOLETE 	  else# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], cia + 8);# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE 	  if (TRACE_CALL_P)# OBSOLETE 	    TRACE_ACTION |= TRACE_ACTION_CALL;# OBSOLETE 	}# OBSOLETE # OBSOLETE _BRA,00110,11,6.RA,_IMM12:BRA:short:mu:BSRTNZ imm# OBSOLETE "bsrtnz <pcdisp>"# OBSOLETE 	if (val_Ra != 0) {# OBSOLETE 	  if (cia == RPT_E && PSW_VAL (PSW_RP))# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], RPT_S);# OBSOLETE 	  else# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], cia + 8);# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE 	  if (TRACE_CALL_P)# OBSOLETE 	    TRACE_ACTION |= TRACE_ACTION_CALL;# OBSOLETE 	}# OBSOLETE # OBSOLETE _BRA,00110,11,6.RA,6.**,_IMM32:BRA:long:mu:BSRTNZ imm long# OBSOLETE "bsrtnz <pcdisp>"# OBSOLETE 	if (val_Ra != 0) {# OBSOLETE 	  if (cia == RPT_E && PSW_VAL (PSW_RP))# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], RPT_S);# OBSOLETE 	  else# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], cia + 8);# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE 	  if (TRACE_CALL_P)# OBSOLETE 	    TRACE_ACTION |= TRACE_ACTION_CALL;# OBSOLETE 	}# OBSOLETE # OBSOLETE # OBSOLETE // BSRTZR# OBSOLETE # OBSOLETE _BRA,00110,00,6.RA,6.**,6.RC:BRA:short:mu:BSRTZR# OBSOLETE "bsrtzr r<RC>"# OBSOLETE 	if (val_Ra == 0) {# OBSOLETE 	  if (cia == RPT_E && PSW_VAL (PSW_RP))# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], RPT_S);# OBSOLETE 	  else# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], cia + 8);# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE 	  if (TRACE_CALL_P)# OBSOLETE 	    TRACE_ACTION |= TRACE_ACTION_CALL;# OBSOLETE 	}# OBSOLETE # OBSOLETE _BRA,00110,10,6.RA,_IMM12:BRA:short:mu:BSRTZR imm# OBSOLETE "bsrtzr <pcdisp>"# OBSOLETE 	if (val_Ra == 0) {# OBSOLETE 	  if (cia == RPT_E && PSW_VAL (PSW_RP))# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], RPT_S);# OBSOLETE 	  else# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], cia + 8);# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE 	  if (TRACE_CALL_P)# OBSOLETE 	    TRACE_ACTION |= TRACE_ACTION_CALL;# OBSOLETE 	}# OBSOLETE # OBSOLETE _BRA,00110,10,6.RA,6.**,_IMM32:BRA:long:mu:BSRTZR imm long# OBSOLETE "bsrtzr <pcdisp>"# OBSOLETE 	if (val_Ra == 0) {# OBSOLETE 	  if (cia == RPT_E && PSW_VAL (PSW_RP))# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], RPT_S);# OBSOLETE 	  else# OBSOLETE 	    WRITE32_QUEUE (&GPR[62], cia + 8);# OBSOLETE 	  nia = cia + pcdisp;# OBSOLETE 	  if (TRACE_CALL_P)# OBSOLETE 	    TRACE_ACTION |= TRACE_ACTION_CALL;# OBSOLETE 	}# OBSOLETE # OBSOLETE # OBSOLETE // BTST# OBSOLETE # OBSOLETE _LOGIC,00000,00,***,3.FA,6.RB,6.RC:LOGIC:short:iu,mu:BTST# OBSOLETE "btst f<FA>, r<RB>, r<RC>"# OBSOLETE 	int bit = (Rc) % 32;# OBSOLETE 	PSW_FLAG_SET_QUEUE(FA, MASKED32(Rb, bit, bit));# OBSOLETE _LOGIC,00000,10,***,3.FA,6.RB,_IMM6:LOGIC:short:iu,mu:BTST imm# OBSOLETE "btst f<FA>, r<RB>, <imm>"# OBSOLETE 	int bit = imm % 32;# OBSOLETE 	PSW_FLAG_SET_QUEUE(FA, MASKED32(Rb, bit, bit));# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // CMPcc# OBSOLETE # OBSOLETE void::function::do_cmp_cc:int cc, int fa, signed32 rb, signed32 rc# OBSOLETE 	int value = 0;# OBSOLETE 	switch (cc) {# OBSOLETE 	case 0: /* EQ */# OBSOLETE 	  value = (rb == rc);# OBSOLETE 	  break;# OBSOLETE 	case 1: /* NE */# OBSOLETE 	  value = (rb != rc);# OBSOLETE 	  break;# OBSOLETE 	case 2: /* GT */# OBSOLETE 	  value = (rb > rc);# OBSOLETE 	  break;# OBSOLETE 	case 3: /* GE */# OBSOLETE 	  value = (rb >= rc);# OBSOLETE 	  break;# OBSOLETE 	case 4: /* LT */# OBSOLETE 	  value = (rb < rc);# OBSOLETE 	  break;# OBSOLETE 	case 5: /* LE */# OBSOLETE 	  value = (rb <= rc);# OBSOLETE 	  break;# OBSOLETE 	case 6: /* PS */# OBSOLETE 	  value = ((rb >= 0) && (rc >= 0));# OBSOLETE 	  break;# OBSOLETE 	case 7: /* NG */# OBSOLETE 	  value = ((rb < 0) && (rc < 0));# OBSOLETE 	  break;# OBSOLETE 	default:# OBSOLETE 	  sim_engine_abort (SD, CPU, cia, "do_cmp_cc - internal error - bad switch (%d)", cc);# OBSOLETE 	}# OBSOLETE 	PSW_FLAG_SET_QUEUE(fa, value);# OBSOLETE # OBSOLETE ::%s::ccc:int ccc# OBSOLETE 	switch (ccc)# OBSOLETE 	  {# OBSOLETE 	  case 0: return "eq";# OBSOLETE 	  case 1: return "ne";# OBSOLETE 	  case 2: return "gt";# OBSOLETE 	  case 3: return "ge";# OBSOLETE 	  case 4: return "lt";# OBSOLETE 	  case 5: return "le";# OBSOLETE 	  case 6: return "ps";# OBSOLETE 	  case 7: return "ng";# OBSOLETE 	  default: return "?";# OBSOLETE 	  }# OBSOLETE # OBSOLETE _LOGIC,01100,00,ccc,3.FA,6.RB,6.RC:LOGIC:short:iu,mu:CMPcc# OBSOLETE "cmp%s<ccc> f<FA>, r<RB>, r<RC>"# OBSOLETE 	do_cmp_cc(_SD, ccc, FA, Rb, Rc);# OBSOLETE _LOGIC,01100,10,ccc,3.FA,6.RB,_IMM6:LOGIC:short:iu,mu:CMPcc imm# OBSOLETE "cmp%s<ccc> f<FA>, r<RB>, <imm>"# OBSOLETE 	do_cmp_cc(_SD, ccc, FA, Rb, imm);# OBSOLETE _LOGIC,01100,10,ccc,3.FA,6.RB,_IMM32:LOGIC:long:iu,mu:CMPcc imm long# OBSOLETE "cmp%s<ccc> f<FA>, r<RB>, <imm>"# OBSOLETE 	do_cmp_cc(_SD, ccc, FA, Rb, imm);# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // CMPUcc# OBSOLETE # OBSOLETE void::function::do_cmpu_cc:int cc, int fa, unsigned32 rb, unsigned32 rc# OBSOLETE 	int value = 0;# OBSOLETE 	switch (cc) {# OBSOLETE 	case 2: /* GT */# OBSOLETE 	  value = (rb > rc);# OBSOLETE 	  break;# OBSOLETE 	case 3: /* GE */# OBSOLETE 	  value = (rb >= rc);# OBSOLETE 	  break;# OBSOLETE 	case 4: /* LT */# OBSOLETE 	  value = (rb < rc);# OBSOLETE 	  break;# OBSOLETE 	case 5: /* LE */# OBSOLETE 	  value = (rb <= rc);# OBSOLETE 	  break;# OBSOLETE 	default:# OBSOLETE 	  sim_engine_abort (SD, CPU, cia, "do_cmpu_cc - internal error - bad switch (%d)", cc);# OBSOLETE 	}# OBSOLETE 	PSW_FLAG_SET_QUEUE(fa, value);# OBSOLETE # OBSOLETE _LOGIC,01101,00,ccc,3.FA,6.RB,6.RC:LOGIC:short:iu,mu:CMPUcc# OBSOLETE "cmpu%s<ccc> f<FA>, r<RB>, r<RC>"# OBSOLETE 	do_cmpu_cc(_SD, ccc, FA, Rb, Rc);# OBSOLETE _LOGIC,01101,10,ccc,3.FA,6.RB,_IMM6:LOGIC:short:iu,mu:CMPUcc imm# OBSOLETE "cmpu%s<ccc> f<FA>, r<RB>, <imm>"# OBSOLETE 	do_cmpu_cc(_SD, ccc, FA, Rb, imm_6u);# OBSOLETE _LOGIC,01101,10,ccc,3.FA,6.RB,_IMM32:LOGIC:long:iu,mu:CMPUcc imm long# OBSOLETE "cmpu%s<ccc> f<FA>, r<RB>, <imm>"# OBSOLETE 	do_cmpu_cc(_SD, ccc, FA, Rb, imm);# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // DBRA# OBSOLETE # OBSOLETE void::function::do_dbra:address_word pcdisp, unsigned32 ra# OBSOLETE 	PSW_SET_QUEUE (PSW_RP, 1);# OBSOLETE 	WRITE32_QUEUE (&RPT_C, 1);# OBSOLETE 	WRITE32_QUEUE (&RPT_S, cia + pcdisp);# OBSOLETE 	WRITE32_QUEUE (&RPT_E, cia + (ra & ~0x7));# OBSOLETE # OBSOLETE _BRA,10000,00,6.RA,6.**,6.RC:BRA:short:mu:DBRA# OBSOLETE "dbra r<RA>, r<RC>"# OBSOLETE 	do_dbra(_SD, pcdisp, val_Ra);# OBSOLETE _BRA,10000,10,6.RA,_IMM12:BRA:short:mu:DBRA imm# OBSOLETE "dbra r<RA>, <pcdisp>"# OBSOLETE 	do_dbra(_SD, pcdisp, val_Ra);# OBSOLETE _BRA,10000,10,6.RA,6.**,_IMM32:BRA:long:mu:DBRA imm long# OBSOLETE "dbra r<RA>, <pcdisp>"# OBSOLETE 	do_dbra(_SD, pcdisp, val_Ra);# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // DBRAI# OBSOLETE # OBSOLETE void::function::do_dbrai:address_word pcdisp, unsigned32 imm# OBSOLETE 	PSW_SET_QUEUE (PSW_RP, 1);# OBSOLETE 	WRITE32_QUEUE (&RPT_C, 1);# OBSOLETE 	WRITE32_QUEUE (&RPT_S, cia + pcdisp);# OBSOLETE 	WRITE32_QUEUE (&RPT_E, cia + (imm << 3));# OBSOLETE # OBSOLETE _BRA,10100,00,6.IMM_6,6.**,6.RC:BRA:short:mu:DBRAI# OBSOLETE "dbrai <IMM_6>, r<RC>"# OBSOLETE 	do_dbrai(_SD, pcdisp, IMM_6);# OBSOLETE _BRA,10100,10,6.IMM_6,_IMM12:BRA:short:mu:DBRAI imm# OBSOLETE "dbrai <IMM_6>, <pcdisp>"# OBSOLETE 	do_dbrai(_SD, pcdisp, IMM_6);# OBSOLETE _BRA,10100,10,6.IMM_6,6.**,_IMM32:BRA:long:mu:DBRAI imm long# OBSOLETE "dbrai <IMM_6>, <pcdisp>"# OBSOLETE 	do_dbrai(_SD, pcdisp, IMM_6);# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // DBSR# OBSOLETE # OBSOLETE void::function::do_dbsr:address_word pcdisp, unsigned32 ra# OBSOLETE 	PSW_SET_QUEUE (PSW_RP, 1);# OBSOLETE 	WRITE32_QUEUE (&RPT_C, 1);# OBSOLETE 	WRITE32_QUEUE (&RPT_S, cia + pcdisp);# OBSOLETE 	WRITE32_QUEUE (&RPT_E, cia + ra);# OBSOLETE 	WRITE32_QUEUE (&GPR[62], cia + ra + 8);# OBSOLETE # OBSOLETE _BRA,10010,00,6.RA,6.**,6.RC:BRA:short:mu:DBSR# OBSOLETE "dbsr r<RA>, r<RC>"# OBSOLETE 	do_dbsr(_SD, pcdisp, val_Ra);# OBSOLETE _BRA,10010,10,6.RA,_IMM12:BRA:short:mu:DBSR imm# OBSOLETE "dbsr r<RA>, <pcdisp>"# OBSOLETE 	do_dbsr(_SD, pcdisp, val_Ra);# OBSOLETE _BRA,10010,10,6.RA,6.**,_IMM32:BRA:long:mu:DBSR imm long# OBSOLETE "dbsr r<RA>, <pcdisp>"# OBSOLETE 	do_dbsr(_SD, pcdisp, val_Ra);# OBSOLETE # OBSOLETE # OBSOLETE # OBSOLETE // DBSRI# OBSOLETE # OBSOLETE void::function::do_dbsri:address_word pcdisp, unsigned32 imm# OBSOLETE 	PSW_SET_QUEUE (PSW_RP, 1);# OBSOLETE 	WRITE32_QUEUE (&RPT_C, 1);# OBSOLETE 	WRITE32_QUEUE (&RPT_S, cia + pcdisp);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -