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

📄 decode.c

📁 这个是LINUX下的GDB调度工具的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
// OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_btstl:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE     CGEN_INSN_INT insn = base_insn;// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f// OBSOLETE     UINT f_u4;// OBSOLETE     UINT f_Ri;// OBSOLETE // OBSOLETE     f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);// OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   FLD (f_Ri) = f_Ri;// OBSOLETE   FLD (f_u4) = f_u4;// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));// OBSOLETE // OBSOLETE #if WITH_PROFILE_MODEL_P// OBSOLETE   /* Record the fields for profiling.  */// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))// OBSOLETE     {// OBSOLETE       FLD (in_Ri) = f_Ri;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_mul:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE     CGEN_INSN_INT insn = base_insn;// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f// OBSOLETE     UINT f_Rj;// OBSOLETE     UINT f_Ri;// OBSOLETE // OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);// OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   FLD (f_Ri) = f_Ri;// OBSOLETE   FLD (f_Rj) = f_Rj;// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));// OBSOLETE // OBSOLETE #if WITH_PROFILE_MODEL_P// OBSOLETE   /* Record the fields for profiling.  */// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))// OBSOLETE     {// OBSOLETE       FLD (in_Ri) = f_Ri;// OBSOLETE       FLD (in_Rj) = f_Rj;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_mulu:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE     CGEN_INSN_INT insn = base_insn;// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f// OBSOLETE     UINT f_Rj;// OBSOLETE     UINT f_Ri;// OBSOLETE // OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);// OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   FLD (f_Ri) = f_Ri;// OBSOLETE   FLD (f_Rj) = f_Rj;// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulu", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));// OBSOLETE // OBSOLETE #if WITH_PROFILE_MODEL_P// OBSOLETE   /* Record the fields for profiling.  */// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))// OBSOLETE     {// OBSOLETE       FLD (in_Ri) = f_Ri;// OBSOLETE       FLD (in_Rj) = f_Rj;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_mulh:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE     CGEN_INSN_INT insn = base_insn;// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f// OBSOLETE     UINT f_Rj;// OBSOLETE     UINT f_Ri;// OBSOLETE // OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);// OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   FLD (f_Ri) = f_Ri;// OBSOLETE   FLD (f_Rj) = f_Rj;// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));// OBSOLETE // OBSOLETE #if WITH_PROFILE_MODEL_P// OBSOLETE   /* Record the fields for profiling.  */// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))// OBSOLETE     {// OBSOLETE       FLD (in_Ri) = f_Ri;// OBSOLETE       FLD (in_Rj) = f_Rj;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_div0s:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE     CGEN_INSN_INT insn = base_insn;// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f// OBSOLETE     UINT f_Ri;// OBSOLETE // OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);// OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   FLD (f_Ri) = f_Ri;// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));// OBSOLETE // OBSOLETE #if WITH_PROFILE_MODEL_P// OBSOLETE   /* Record the fields for profiling.  */// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))// OBSOLETE     {// OBSOLETE       FLD (in_Ri) = f_Ri;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_div0u:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f// OBSOLETE // OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u", (char *) 0));// OBSOLETE // OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_div1:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE     CGEN_INSN_INT insn = base_insn;// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f// OBSOLETE     UINT f_Ri;// OBSOLETE // OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);// OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   FLD (f_Ri) = f_Ri;// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));// OBSOLETE // OBSOLETE #if WITH_PROFILE_MODEL_P// OBSOLETE   /* Record the fields for profiling.  */// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))// OBSOLETE     {// OBSOLETE       FLD (in_Ri) = f_Ri;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_div2:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE     CGEN_INSN_INT insn = base_insn;// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f// OBSOLETE     UINT f_Ri;// OBSOLETE // OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);// OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   FLD (f_Ri) = f_Ri;// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div2", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));// OBSOLETE // OBSOLETE #if WITH_PROFILE_MODEL_P// OBSOLETE   /* Record the fields for profiling.  */// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))// OBSOLETE     {// OBSOLETE       FLD (in_Ri) = f_Ri;// OBSOLETE     }// OBSOLETE #endif// OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_div3:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f// OBSOLETE // OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div3", (char *) 0));// OBSOLETE // OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_div4s:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f// OBSOLETE // OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div4s", (char *) 0));// OBSOLETE // OBSOLETE #undef FLD// OBSOLETE     return idesc;// OBSOLETE   }// OBSOLETE // OBSOLETE  extract_sfmt_lsl:// OBSOLETE   {// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];// OBSOLETE     CGEN_INSN_INT insn = base_insn;// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f// OBSOLETE     UINT f_Rj;// OBSOLETE     UINT f_Ri;// OBSOLETE // OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);// OBSOLETE // OBSOLETE   /* Record the fields for the semantic handler.  */// OBSOLETE   FLD (f_Ri) = f_Ri;// OBSOLETE   FLD (f_Rj) = f_Rj;// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsl", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));// OBSOLETE // OBSOLETE #if WITH_PROFILE_MODEL_P// OBSOLETE   /* Record the fields for profiling.  */// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))// OBSOLETE     {// OBSOLETE       FLD (in_Ri) = f_Ri;// OBSOLETE       FLD (in_Rj) = f_Rj;// OBSOLETE       FLD (out_Ri) = f_Ri;// OBSOLETE     }// OBSOLETE #end

⌨️ 快捷键说明

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