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

📄 sem.c

📁 这个是LINUX下的GDB调度工具的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = ORSI (* FLD (i_src2), INVSI (FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* ornot2: ornot $src1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,ornot2) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul2.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = ORSI (FLD (f_src2), INVSI (* FLD (i_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* ornot3: ornot $lit1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,ornot3) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul3.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = ORSI (FLD (f_src2), INVSI (FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* clrbit: clrbit $src1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,clrbit) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = ANDSI (INVSI (SLLSI (1, * FLD (i_src1))), * FLD (i_src2));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* clrbit1: clrbit $lit1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,clrbit1) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul1.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = ANDSI (INVSI (SLLSI (1, FLD (f_src1))), * FLD (i_src2));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* clrbit2: clrbit $src1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,clrbit2) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul2.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = ANDSI (INVSI (SLLSI (1, * FLD (i_src1))), FLD (f_src2));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* clrbit3: clrbit $lit1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,clrbit3) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul3.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = ANDSI (INVSI (SLLSI (1, FLD (f_src1))), FLD (f_src2));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shlo: shlo $src1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,shlo) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (* FLD (i_src1), 32)) ? (0) : (SLLSI (* FLD (i_src2), * FLD (i_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shlo1: shlo $lit1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,shlo1) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul1.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (FLD (f_src1), 32)) ? (0) : (SLLSI (* FLD (i_src2), FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shlo2: shlo $src1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,shlo2) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul2.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (* FLD (i_src1), 32)) ? (0) : (SLLSI (FLD (f_src2), * FLD (i_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shlo3: shlo $lit1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,shlo3) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul3.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (FLD (f_src1), 32)) ? (0) : (SLLSI (FLD (f_src2), FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shro: shro $src1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,shro) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (* FLD (i_src1), 32)) ? (0) : (SRLSI (* FLD (i_src2), * FLD (i_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shro1: shro $lit1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,shro1) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul1.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (FLD (f_src1), 32)) ? (0) : (SRLSI (* FLD (i_src2), FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shro2: shro $src1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,shro2) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul2.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (* FLD (i_src1), 32)) ? (0) : (SRLSI (FLD (f_src2), * FLD (i_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shro3: shro $lit1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,shro3) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul3.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (FLD (f_src1), 32)) ? (0) : (SRLSI (FLD (f_src2), FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shli: shli $src1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,shli) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (* FLD (i_src1), 32)) ? (0) : (SLLSI (* FLD (i_src2), * FLD (i_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shli1: shli $lit1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,shli1) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul1.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (FLD (f_src1), 32)) ? (0) : (SLLSI (* FLD (i_src2), FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shli2: shli $src1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,shli2) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul2.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (* FLD (i_src1), 32)) ? (0) : (SLLSI (FLD (f_src2), * FLD (i_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shli3: shli $lit1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,shli3) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul3.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (FLD (f_src1), 32)) ? (0) : (SLLSI (FLD (f_src2), FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shri: shri $src1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,shri) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (* FLD (i_src1), 32)) ? (SRASI (* FLD (i_src2), 31)) : (SRASI (* FLD (i_src2), * FLD (i_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shri1: shri $lit1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,shri1) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul1.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (FLD (f_src1), 32)) ? (SRASI (* FLD (i_src2), 31)) : (SRASI (* FLD (i_src2), FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shri2: shri $src1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,shri2) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul2.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (* FLD (i_src1), 32)) ? (SRASI (FLD (f_src2), 31)) : (SRASI (FLD (f_src2), * FLD (i_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* shri3: shri $lit1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,shri3) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul3.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);  {    SI opval = (GEUSI (FLD (f_src1), 32)) ? (SRASI (FLD (f_src2), 31)) : (SRASI (FLD (f_src2), FLD (f_src1)));    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  return vpc;#undef FLD}/* emul: emul $src1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,emul) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);{  DI tmp_temp;  SI tmp_dregno;  tmp_temp = MULDI (ZEXTSIDI (* FLD (i_src1)), ZEXTSIDI (* FLD (i_src2)));  tmp_dregno = FLD (f_srcdst);  {    SI opval = TRUNCDISI (tmp_temp);    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  {    SI opval = TRUNCDISI (SRLDI (tmp_temp, 32));    CPU (h_gr[((FLD (f_srcdst)) + (1))]) = opval;    TRACE_RESULT (current_cpu, abuf, "gr-add--DFLT-index-of--DFLT-dst-1", 'x', opval);  }}  return vpc;#undef FLD}/* emul1: emul $lit1, $src2, $dst */static SEM_PCSEM_FN_NAME (i960base,emul1) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul1.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);{  DI tmp_temp;  SI tmp_dregno;  tmp_temp = MULDI (ZEXTSIDI (FLD (f_src1)), ZEXTSIDI (* FLD (i_src2)));  tmp_dregno = FLD (f_srcdst);  {    SI opval = TRUNCDISI (tmp_temp);    * FLD (i_dst) = opval;    TRACE_RESULT (current_cpu, abuf, "dst", 'x', opval);  }  {    SI opval = TRUNCDISI (SRLDI (tmp_temp, 32));    CPU (h_gr[((FLD (f_srcdst)) + (1))]) = opval;    TRACE_RESULT (current_cpu, abuf, "gr-add--DFLT-index-of--DFLT-dst-1", 'x', opval);  }}  return vpc;#undef FLD}/* emul2: emul $src1, $lit2, $dst */static SEM_PCSEM_FN_NAME (i960base,emul2) (SIM_CPU *current_cpu, SEM_ARG sem_arg){#define FLD(f) abuf->fields.sfmt_emul2.f  ARGBUF *abuf = SEM_ARGBUF (sem_arg);  int UNUSED written = 0;  IADDR UNUSED pc = abuf->addr;

⌨️ 快捷键说明

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