📄 decode.c
字号:
// 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 + -