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

📄 decode.c

📁 这个是LINUX下的GDB调度工具的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
              }            }          case 5 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_SHRO2; goto extract_sfmt_shlo2;              case 6 : itype = I960BASE_INSN_SHRI2; goto extract_sfmt_shlo2;              case 8 : itype = I960BASE_INSN_SHLO2; goto extract_sfmt_shlo2;              case 12 : itype = I960BASE_INSN_SHLI2; goto extract_sfmt_shlo2;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 6 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_ADDO3; goto extract_sfmt_mulo3;              case 4 : itype = I960BASE_INSN_SUBO3; goto extract_sfmt_mulo3;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 7 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_SHRO3; goto extract_sfmt_shlo3;              case 6 : itype = I960BASE_INSN_SHRI3; goto extract_sfmt_shlo3;              case 8 : itype = I960BASE_INSN_SHLO3; goto extract_sfmt_shlo3;              case 12 : itype = I960BASE_INSN_SHLI3; goto extract_sfmt_shlo3;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 90 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 8 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_CMPO; goto extract_sfmt_cmpo;              case 2 : itype = I960BASE_INSN_CMPI; goto extract_sfmt_cmpi;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 10 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_CMPO1; goto extract_sfmt_cmpo1;              case 2 : itype = I960BASE_INSN_CMPI1; goto extract_sfmt_cmpi1;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 12 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_CMPO2; goto extract_sfmt_cmpo2;              case 2 : itype = I960BASE_INSN_CMPI2; goto extract_sfmt_cmpi2;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 14 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_CMPO3; goto extract_sfmt_cmpo3;              case 2 : itype = I960BASE_INSN_CMPI3; goto extract_sfmt_cmpi3;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 92 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 5 : itype = I960BASE_INSN_MOV; goto extract_sfmt_not;          case 7 : itype = I960BASE_INSN_MOV1; goto extract_sfmt_not1;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 93 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 5 : itype = I960BASE_INSN_MOVL; goto extract_sfmt_movl;          case 7 : itype = I960BASE_INSN_MOVL1; goto extract_sfmt_movl1;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 94 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 5 : itype = I960BASE_INSN_MOVT; goto extract_sfmt_movt;          case 7 : itype = I960BASE_INSN_MOVT1; goto extract_sfmt_movt1;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 95 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 5 : itype = I960BASE_INSN_MOVQ; goto extract_sfmt_movq;          case 7 : itype = I960BASE_INSN_MOVQ1; goto extract_sfmt_movq1;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 100 : itype = I960BASE_INSN_MODAC; goto extract_sfmt_modpc;      case 101 : itype = I960BASE_INSN_MODPC; goto extract_sfmt_modpc;      case 102 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 12 : itype = I960BASE_INSN_CALLS; goto extract_sfmt_calls;          case 15 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 8 : itype = I960BASE_INSN_FMARK; goto extract_sfmt_fmark;              case 10 : itype = I960BASE_INSN_FLUSHREG; goto extract_sfmt_flushreg;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 103 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 0 : itype = I960BASE_INSN_EMUL; goto extract_sfmt_emul;          case 2 : itype = I960BASE_INSN_EMUL1; goto extract_sfmt_emul1;          case 4 : itype = I960BASE_INSN_EMUL2; goto extract_sfmt_emul2;          case 6 : itype = I960BASE_INSN_EMUL3; goto extract_sfmt_emul3;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 112 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 0 : itype = I960BASE_INSN_MULO; goto extract_sfmt_mulo;          case 1 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_REMO; goto extract_sfmt_mulo;              case 6 : itype = I960BASE_INSN_DIVO; goto extract_sfmt_mulo;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 2 : itype = I960BASE_INSN_MULO1; goto extract_sfmt_mulo1;          case 3 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_REMO1; goto extract_sfmt_mulo1;              case 6 : itype = I960BASE_INSN_DIVO1; goto extract_sfmt_mulo1;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 4 : itype = I960BASE_INSN_MULO2; goto extract_sfmt_mulo2;          case 5 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_REMO2; goto extract_sfmt_mulo2;              case 6 : itype = I960BASE_INSN_DIVO2; goto extract_sfmt_mulo2;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 6 : itype = I960BASE_INSN_MULO3; goto extract_sfmt_mulo3;          case 7 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_REMO3; goto extract_sfmt_mulo3;              case 6 : itype = I960BASE_INSN_DIVO3; goto extract_sfmt_mulo3;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 116 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 1 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_REMI; goto extract_sfmt_mulo;              case 6 : itype = I960BASE_INSN_DIVI; goto extract_sfmt_mulo;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 3 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_REMI1; goto extract_sfmt_mulo1;              case 6 : itype = I960BASE_INSN_DIVI1; goto extract_sfmt_mulo1;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 5 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_REMI2; goto extract_sfmt_mulo2;              case 6 : itype = I960BASE_INSN_DIVI2; goto extract_sfmt_mulo2;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 7 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)

⌨️ 快捷键说明

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