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

📄 decode.c

📁 这个是LINUX下的GDB调度工具的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
          case 4 : itype = I960BASE_INSN_CMPOBLE_LIT; goto extract_sfmt_cmpobl_lit;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 55 :        {          unsigned int val = (((insn >> 11) & (1 << 2)) | ((insn >> 0) & (3 << 0)));          switch (val)          {          case 0 : itype = I960BASE_INSN_BBS_REG; goto extract_sfmt_bbc_reg;          case 4 : itype = I960BASE_INSN_BBS_LIT; goto extract_sfmt_bbc_lit;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 57 :        {          unsigned int val = (((insn >> 11) & (1 << 2)) | ((insn >> 0) & (3 << 0)));          switch (val)          {          case 0 : itype = I960BASE_INSN_CMPIBG_REG; goto extract_sfmt_cmpobe_reg;          case 4 : itype = I960BASE_INSN_CMPIBG_LIT; goto extract_sfmt_cmpobe_lit;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 58 :        {          unsigned int val = (((insn >> 11) & (1 << 2)) | ((insn >> 0) & (3 << 0)));          switch (val)          {          case 0 : itype = I960BASE_INSN_CMPIBE_REG; goto extract_sfmt_cmpobe_reg;          case 4 : itype = I960BASE_INSN_CMPIBE_LIT; goto extract_sfmt_cmpobe_lit;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 59 :        {          unsigned int val = (((insn >> 11) & (1 << 2)) | ((insn >> 0) & (3 << 0)));          switch (val)          {          case 0 : itype = I960BASE_INSN_CMPIBGE_REG; goto extract_sfmt_cmpobe_reg;          case 4 : itype = I960BASE_INSN_CMPIBGE_LIT; goto extract_sfmt_cmpobe_lit;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 60 :        {          unsigned int val = (((insn >> 11) & (1 << 2)) | ((insn >> 0) & (3 << 0)));          switch (val)          {          case 0 : itype = I960BASE_INSN_CMPIBL_REG; goto extract_sfmt_cmpobe_reg;          case 4 : itype = I960BASE_INSN_CMPIBL_LIT; goto extract_sfmt_cmpobe_lit;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 61 :        {          unsigned int val = (((insn >> 11) & (1 << 2)) | ((insn >> 0) & (3 << 0)));          switch (val)          {          case 0 : itype = I960BASE_INSN_CMPIBNE_REG; goto extract_sfmt_cmpobe_reg;          case 4 : itype = I960BASE_INSN_CMPIBNE_LIT; goto extract_sfmt_cmpobe_lit;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 62 :        {          unsigned int val = (((insn >> 11) & (1 << 2)) | ((insn >> 0) & (3 << 0)));          switch (val)          {          case 0 : itype = I960BASE_INSN_CMPIBLE_REG; goto extract_sfmt_cmpobe_reg;          case 4 : itype = I960BASE_INSN_CMPIBLE_LIT; goto extract_sfmt_cmpobe_lit;          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 88 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 0 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_NOTBIT; goto extract_sfmt_notbit;              case 2 : itype = I960BASE_INSN_AND; goto extract_sfmt_mulo;              case 4 : itype = I960BASE_INSN_ANDNOT; goto extract_sfmt_mulo;              case 6 : itype = I960BASE_INSN_SETBIT; goto extract_sfmt_notbit;              case 8 : itype = I960BASE_INSN_NOTAND; goto extract_sfmt_mulo;              case 12 : itype = I960BASE_INSN_XOR; goto extract_sfmt_mulo;              case 14 : itype = I960BASE_INSN_OR; goto extract_sfmt_mulo;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 1 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_NOR; goto extract_sfmt_mulo;              case 2 : itype = I960BASE_INSN_XNOR; goto extract_sfmt_mulo;              case 4 : itype = I960BASE_INSN_NOT; goto extract_sfmt_not;              case 6 : itype = I960BASE_INSN_ORNOT; goto extract_sfmt_mulo;              case 8 : itype = I960BASE_INSN_CLRBIT; goto extract_sfmt_notbit;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 2 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_NOTBIT1; goto extract_sfmt_notbit1;              case 2 : itype = I960BASE_INSN_AND1; goto extract_sfmt_mulo1;              case 4 : itype = I960BASE_INSN_ANDNOT1; goto extract_sfmt_mulo1;              case 6 : itype = I960BASE_INSN_SETBIT1; goto extract_sfmt_notbit1;              case 8 : itype = I960BASE_INSN_NOTAND1; goto extract_sfmt_mulo1;              case 12 : itype = I960BASE_INSN_XOR1; goto extract_sfmt_mulo1;              case 14 : itype = I960BASE_INSN_OR1; goto extract_sfmt_mulo1;              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_NOR1; goto extract_sfmt_mulo1;              case 2 : itype = I960BASE_INSN_XNOR1; goto extract_sfmt_mulo1;              case 4 : itype = I960BASE_INSN_NOT1; goto extract_sfmt_not1;              case 6 : itype = I960BASE_INSN_ORNOT1; goto extract_sfmt_mulo1;              case 8 : itype = I960BASE_INSN_CLRBIT1; goto extract_sfmt_notbit1;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 4 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_NOTBIT2; goto extract_sfmt_notbit2;              case 2 : itype = I960BASE_INSN_AND2; goto extract_sfmt_mulo2;              case 4 : itype = I960BASE_INSN_ANDNOT2; goto extract_sfmt_mulo2;              case 6 : itype = I960BASE_INSN_SETBIT2; goto extract_sfmt_notbit2;              case 8 : itype = I960BASE_INSN_NOTAND2; goto extract_sfmt_mulo2;              case 12 : itype = I960BASE_INSN_XOR2; goto extract_sfmt_mulo2;              case 14 : itype = I960BASE_INSN_OR2; goto extract_sfmt_mulo2;              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_NOR2; goto extract_sfmt_mulo2;              case 2 : itype = I960BASE_INSN_XNOR2; goto extract_sfmt_mulo2;              case 4 : itype = I960BASE_INSN_NOT2; goto extract_sfmt_not;              case 6 : itype = I960BASE_INSN_ORNOT2; goto extract_sfmt_mulo2;              case 8 : itype = I960BASE_INSN_CLRBIT2; goto extract_sfmt_notbit2;              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_NOTBIT3; goto extract_sfmt_notbit3;              case 2 : itype = I960BASE_INSN_AND3; goto extract_sfmt_mulo3;              case 4 : itype = I960BASE_INSN_ANDNOT3; goto extract_sfmt_mulo3;              case 6 : itype = I960BASE_INSN_SETBIT3; goto extract_sfmt_notbit3;              case 8 : itype = I960BASE_INSN_NOTAND3; goto extract_sfmt_mulo3;              case 12 : itype = I960BASE_INSN_XOR3; goto extract_sfmt_mulo3;              case 14 : itype = I960BASE_INSN_OR3; 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_NOR3; goto extract_sfmt_mulo3;              case 2 : itype = I960BASE_INSN_XNOR3; goto extract_sfmt_mulo3;              case 4 : itype = I960BASE_INSN_NOT3; goto extract_sfmt_not1;              case 6 : itype = I960BASE_INSN_ORNOT3; goto extract_sfmt_mulo3;              case 8 : itype = I960BASE_INSN_CLRBIT3; goto extract_sfmt_notbit3;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;          }        }      case 89 :        {          unsigned int val = (((insn >> 10) & (15 << 0)));          switch (val)          {          case 0 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_ADDO; goto extract_sfmt_mulo;              case 4 : itype = I960BASE_INSN_SUBO; goto extract_sfmt_mulo;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 1 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_SHRO; goto extract_sfmt_shlo;              case 6 : itype = I960BASE_INSN_SHRI; goto extract_sfmt_shlo;              case 8 : itype = I960BASE_INSN_SHLO; goto extract_sfmt_shlo;              case 12 : itype = I960BASE_INSN_SHLI; goto extract_sfmt_shlo;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 2 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_ADDO1; goto extract_sfmt_mulo1;              case 4 : itype = I960BASE_INSN_SUBO1; goto extract_sfmt_mulo1;              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_SHRO1; goto extract_sfmt_shlo1;              case 6 : itype = I960BASE_INSN_SHRI1; goto extract_sfmt_shlo1;              case 8 : itype = I960BASE_INSN_SHLO1; goto extract_sfmt_shlo1;              case 12 : itype = I960BASE_INSN_SHLI1; goto extract_sfmt_shlo1;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;              }            }          case 4 :            {              unsigned int val = (((insn >> 6) & (15 << 0)));              switch (val)              {              case 0 : itype = I960BASE_INSN_ADDO2; goto extract_sfmt_mulo2;              case 4 : itype = I960BASE_INSN_SUBO2; goto extract_sfmt_mulo2;              default : itype = I960BASE_INSN_X_INVALID; goto extract_sfmt_empty;

⌨️ 快捷键说明

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