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

📄 tic4x.h

📁 这个是LINUX下的GDB调度工具的源码
💻 H
📖 第 1 页 / 共 4 页
字号:
       dst2 = Indirect 0,1,IR0,IR1, ENH: register (i)   Instr: 2/0 - STF||STF, STI||STI   Alias: i||i, i1||i2, i2||i1.*/#define LS_CLASS_INSN(name, opcode, level) \  { name "_"  name    , opcode, 0xfe000000, "L;i|H,J", level }, \  { name "2_" name "1", opcode, 0xfe000000, "L;i|H,J", level }, \  { name "1_" name "2", opcode, 0xfe000000, "H,J|L;i", level }/* M: General multiply and add/sub operations   Syntax: <ia> src3,src4,dst1 || <ib> src2,src1,dst2 [00] - Manual           <ia> src3,src1,dst1 || <ib> src2,src4,dst2 [01] - Manual           <ia> src1,src3,dst1 || <ib> src2,src4,dst2 [01]           <ia> src1,src2,dst1 || <ib> src4,src3,dst2 [02] - Manual           <ia> src3,src1,dst1 || <ib> src4,src2,dst2 [03] - Manual           <ia> src1,src3,dst1 || <ib> src4,src2,dst2 [03]       src1 = Register 0-7 (K)       src2 = Register 0-7 (H)       src3 = Indirect 0,1,IR0,IR1, ENH: register (j)       src4 = Indirect 0,1,IR0,IR1, ENH: register (i)       dst1 = Register 0-1 (N)       dst2 = Register 2-3 (M)   Instr: 4/0 - MPYF3||ADDF3, MPYF3||SUBF3, MPYI3||ADDI3, MPYI3||SUBI3   Alias: a||b, a3||n, a||b3, a3||b3, b||a, b3||a, b||a3, b3||a3*/#define M_CLASS_INSN(namea, nameb, opcode, level) \  { namea "_" nameb, opcode|0x00000000, 0xff000000, "i;j;N|H;K;M", level }, \  { namea "_" nameb, opcode|0x01000000, 0xff000000, "j;K;N|H;i;M", level }, \  { namea "_" nameb, opcode|0x01000000, 0xff000000, "K;j;N|H;i;M", level }, \  { namea "_" nameb, opcode|0x02000000, 0xff000000, "H;K;N|i;j;M", level }, \  { namea "_" nameb, opcode|0x03000000, 0xff000000, "j;K;N|i;H;M", level }, \  { namea "_" nameb, opcode|0x03000000, 0xff000000, "K;j;N|i;H;M", level }, \  { namea "3_" nameb, opcode|0x00000000, 0xff000000, "i;j;N|H;K;M", level }, \  { namea "3_" nameb, opcode|0x01000000, 0xff000000, "j;K;N|H;i;M", level }, \  { namea "3_" nameb, opcode|0x01000000, 0xff000000, "K;j;N|H;i;M", level }, \  { namea "3_" nameb, opcode|0x02000000, 0xff000000, "H;K;N|i;j;M", level }, \  { namea "3_" nameb, opcode|0x03000000, 0xff000000, "j;K;N|i;H;M", level }, \  { namea "3_" nameb, opcode|0x03000000, 0xff000000, "K;j;N|i;H;M", level }, \  { namea "_" nameb "3", opcode|0x00000000, 0xff000000, "i;j;N|H;K;M", level }, \  { namea "_" nameb "3", opcode|0x01000000, 0xff000000, "j;K;N|H;i;M", level }, \  { namea "_" nameb "3", opcode|0x01000000, 0xff000000, "K;j;N|H;i;M", level }, \  { namea "_" nameb "3", opcode|0x02000000, 0xff000000, "H;K;N|i;j;M", level }, \  { namea "_" nameb "3", opcode|0x03000000, 0xff000000, "j;K;N|i;H;M", level }, \  { namea "_" nameb "3", opcode|0x03000000, 0xff000000, "K;j;N|i;H;M", level }, \  { namea "3_" nameb "3", opcode|0x00000000, 0xff000000, "i;j;N|H;K;M", level }, \  { namea "3_" nameb "3", opcode|0x01000000, 0xff000000, "j;K;N|H;i;M", level }, \  { namea "3_" nameb "3", opcode|0x01000000, 0xff000000, "K;j;N|H;i;M", level }, \  { namea "3_" nameb "3", opcode|0x02000000, 0xff000000, "H;K;N|i;j;M", level }, \  { namea "3_" nameb "3", opcode|0x03000000, 0xff000000, "j;K;N|i;H;M", level }, \  { namea "3_" nameb "3", opcode|0x03000000, 0xff000000, "K;j;N|i;H;M", level }, \  { nameb "_" namea, opcode|0x00000000, 0xff000000, "H;K;M|i;j;N", level }, \  { nameb "_" namea, opcode|0x01000000, 0xff000000, "H;i;M|j;K;N", level }, \  { nameb "_" namea, opcode|0x01000000, 0xff000000, "H;i;M|K;j;N", level }, \  { nameb "_" namea, opcode|0x02000000, 0xff000000, "i;j;M|H;K;N", level }, \  { nameb "_" namea, opcode|0x03000000, 0xff000000, "i;H;M|j;K;N", level }, \  { nameb "_" namea, opcode|0x03000000, 0xff000000, "i;H;M|K;j;N", level }, \  { nameb "3_" namea, opcode|0x00000000, 0xff000000, "H;K;M|i;j;N", level }, \  { nameb "3_" namea, opcode|0x01000000, 0xff000000, "H;i;M|j;K;N", level }, \  { nameb "3_" namea, opcode|0x01000000, 0xff000000, "H;i;M|K;j;N", level }, \  { nameb "3_" namea, opcode|0x02000000, 0xff000000, "i;j;M|H;K;N", level }, \  { nameb "3_" namea, opcode|0x03000000, 0xff000000, "i;H;M|j;K;N", level }, \  { nameb "3_" namea, opcode|0x03000000, 0xff000000, "i;H;M|K;j;N", level }, \  { nameb "_" namea "3", opcode|0x00000000, 0xff000000, "H;K;M|i;j;N", level }, \  { nameb "_" namea "3", opcode|0x01000000, 0xff000000, "H;i;M|j;K;N", level }, \  { nameb "_" namea "3", opcode|0x01000000, 0xff000000, "H;i;M|K;j;N", level }, \  { nameb "_" namea "3", opcode|0x02000000, 0xff000000, "i;j;M|H;K;N", level }, \  { nameb "_" namea "3", opcode|0x03000000, 0xff000000, "i;H;M|j;K;N", level }, \  { nameb "_" namea "3", opcode|0x03000000, 0xff000000, "i;H;M|K;j;N", level }, \  { nameb "3_" namea "3", opcode|0x00000000, 0xff000000, "H;K;M|i;j;N", level }, \  { nameb "3_" namea "3", opcode|0x01000000, 0xff000000, "H;i;M|j;K;N", level }, \  { nameb "3_" namea "3", opcode|0x01000000, 0xff000000, "H;i;M|K;j;N", level }, \  { nameb "3_" namea "3", opcode|0x02000000, 0xff000000, "i;j;M|H;K;N", level }, \  { nameb "3_" namea "3", opcode|0x03000000, 0xff000000, "i;H;M|j;K;N", level }, \  { nameb "3_" namea "3", opcode|0x03000000, 0xff000000, "i;H;M|K;j;N", level }/* P: General 2-operand operation with parallell store   Syntax: <ia> src2, dst1 || <ib> src3, dst2       src2 = Indirect 0,1,IR0,IR1, ENH: register (i)       dst1 = Register 0-7 (L)       src3 = Register 0-7 (H)       dst2 = Indirect 0,1,IR0,IR1 (J)   Instr: 9/2 - ABSF||STF, ABSI||STI, FIX||STI, FLOAT||STF, LDF||STF,                LDI||STI, NEGF||STF, NEGI||STI, NOT||STI, C4x: FRIEEE||STF,                TOIEEE||STF   Alias: a||b, b||a*/#define P_CLASS_INSN(namea, nameb, opcode, level) \  { namea "_" nameb, opcode, 0xfe000000, "i;L|H,J", level }, \  { nameb "_" namea, opcode, 0xfe000000, "H,J|i;L", level }/* Q: General 3-operand operation with parallell store   Syntax: <ia> src1, src2, dst1 || <ib> src3, dst2       src1 = Register 0-7 (K)       src2 = Indirect 0,1,IR0,IR1, ENH: register (i)       dst1 = Register 0-7 (L)       src3 = Register 0-7 (H)       dst2 = Indirect 0,1,IR0,IR1 (J)   Instr: 4/0 - ASH3||STI, LSH3||STI, SUBF3||STF, SUBI3||STI   Alias: a||b, b||a, a3||b, b||a3*/#define Q_CLASS_INSN(namea, nameb, opcode, level) \  { namea "_"  nameb    , opcode, 0xfe000000, "K,i;L|H,J", level }, \  { nameb "_"  namea    , opcode, 0xfe000000, "H,J|K,i;L", level }, \  { namea "3_" nameb    , opcode, 0xfe000000, "K,i;L|H,J", level }, \  { nameb "_"  namea "3", opcode, 0xfe000000, "H,J|K,i;L", level }/* QC: General commutative 3-operand operation with parallell store   Syntax: <ia> src2, src1, dst1 || <ib> src3, dst2           <ia> src1, src2, dst1 || <ib> src3, dst2 - Manual       src1 = Register 0-7 (K)       src2 = Indirect 0,1,IR0,IR1, ENH: register (i)       dst1 = Register 0-7 (L)       src3 = Register 0-7 (H)       dst2 = Indirect 0,1,IR0,IR1 (J)   Instr: 7/0 - ADDF3||STF, ADDI3||STI, AND3||STI, MPYF3||STF, MPYI3||STI,                OR3||STI, XOR3||STI   Alias: a||b, b||a, a3||b, b||a3*/#define QC_CLASS_INSN(namea, nameb, opcode, level) \  { namea "_"  nameb    , opcode, 0xfe000000, "i;K;L|H,J", level }, \  { namea "_"  nameb    , opcode, 0xfe000000, "K;i;L|H,J", level }, \  { nameb "_"  namea    , opcode, 0xfe000000, "H,J|i;K;L", level }, \  { nameb "_"  namea    , opcode, 0xfe000000, "H,J|K;i;L", level }, \  { namea "3_" nameb    , opcode, 0xfe000000, "i;K;L|H,J", level }, \  { namea "3_" nameb    , opcode, 0xfe000000, "K;i;L|H,J", level }, \  { nameb "_"  namea "3", opcode, 0xfe000000, "H,J|i;K;L", level }, \  { nameb "_"  namea "3", opcode, 0xfe000000, "H,J|K;i;L", level }/* R: General register integer operation   Syntax: <i> dst       dst = Register (R)   Instr: 6/0 - POP, PUSH, ROL, ROLC, ROR, RORC*/#define R_CLASS_INSN(name, opcode, level) \  { name, opcode, 0xffe0ffff, "R", level }/* RF: General register float operation   Syntax: <i> dst       dst = Register 0-11 (r)   Instr: 2/0 - POPF, PUSHF*/#define RF_CLASS_INSN(name, opcode, level) \  { name, opcode, 0xffe0ffff, "r", level }/* S: General 3-operand float operation   Syntax: <i> src2, src1, dst       src2 = Register 0-11 (e), Indirect 0,1,IR0,IR1 (I), C4x T2: Indirect (C)       src1 = Register 0-11 (g), Indirect 0,1,IR0,IR1 (J), C4x T2: Indirect (O)       dst  = Register 0-11 (r)   Instr: 1/0 - SUBF3   Alias: i, i3*/#define S_CLASS_INSN(name, opcode, level) \  { name, opcode|0x20000000, 0xffe00000, "e,g;r", level  }, \  { name, opcode|0x20200000, 0xffe00000, "e,J,r", level  }, \  { name, opcode|0x20400000, 0xffe00000, "I,g;r", level  }, \  { name, opcode|0x20600000, 0xffe00000, "I,J,r", level  }, \  { name, opcode|0x30200000, 0xffe00000, "C,g;r", OP_C4X }, \  { name, opcode|0x30600000, 0xffe00000, "C,O,r", OP_C4X }, \  { name "3", opcode|0x20000000, 0xffe00000, "e,g;r", level  }, \  { name "3", opcode|0x20200000, 0xffe00000, "e,J,r", level  }, \  { name "3", opcode|0x20400000, 0xffe00000, "I,g;r", level  }, \  { name "3", opcode|0x20600000, 0xffe00000, "I,J,r", level  }, \  { name "3", opcode|0x30200000, 0xffe00000, "C,g;r", OP_C4X }, \  { name "3", opcode|0x30600000, 0xffe00000, "C,O,r", OP_C4X }/* SC: General commutative 3-operand float operation   Syntax: <i> src2, src1, dst - Manual           <i> src1, src2, dst       src2 = Register 0-11 (e), Indirect 0,1,IR0,IR1 (I), C4x T2: Indirect (C)       src1 = Register 0-11 (g), Indirect 0,1,IR0,IR1 (J), C4x T2: Indirect (O)       dst  = Register 0-11 (r)   Instr: 2/0 - ADDF3, MPYF3   Alias: i, i3*/#define SC_CLASS_INSN(name, opcode, level) \  { name, opcode|0x20000000, 0xffe00000, "e,g;r", level  }, \  { name, opcode|0x20200000, 0xffe00000, "e,J,r", level  }, \  { name, opcode|0x20400000, 0xffe00000, "I,g;r", level  }, \  { name, opcode|0x20600000, 0xffe00000, "I,J,r", level  }, \  { name, opcode|0x30200000, 0xffe00000, "C,g;r", OP_C4X }, \  { name, opcode|0x30200000, 0xffe00000, "g,C,r", OP_C4X }, \  { name, opcode|0x30600000, 0xffe00000, "C,O,r", OP_C4X }, \  { name "3", opcode|0x20000000, 0xffe00000, "e,g;r", level  }, \  { name "3", opcode|0x20200000, 0xffe00000, "e,J,r", level  }, \  { name "3", opcode|0x20400000, 0xffe00000, "I,g;r", level  }, \  { name "3", opcode|0x20600000, 0xffe00000, "I,J,r", level  }, \  { name "3", opcode|0x30200000, 0xffe00000, "g,C,r", OP_C4X }, \  { name "3", opcode|0x30200000, 0xffe00000, "C,g;r", OP_C4X }, \  { name "3", opcode|0x30600000, 0xffe00000, "C,O,r", OP_C4X }/* S2: General 3-operand float operation with 2 args   Syntax: <i> src2, src1       src2 = Register 0-11 (e), Indirect 0,1,IR0,IR1 (I), C4x T2: Indirect (C)       src1 = Register 0-11 (g), Indirect 0,1,IR0,IR1 (J), C4x T2: Indirect (O)   Instr: 1/0 - CMPF3   Alias: i, i3*/#define S2_CLASS_INSN(name, opcode, level) \  { name, opcode|0x20000000, 0xffe00000, "e,g", level  }, \  { name, opcode|0x20200000, 0xffe00000, "e,J", level  }, \  { name, opcode|0x20400000, 0xffe00000, "I,g", level  }, \  { name, opcode|0x20600000, 0xffe00000, "I,J", level  }, \  { name, opcode|0x30200000, 0xffe00000, "C,g", OP_C4X }, \  { name, opcode|0x30600000, 0xffe00000, "C,O", OP_C4X }, \  { name "3", opcode|0x20000000, 0xffe00000, "e,g", level  }, \  { name "3", opcode|0x20200000, 0xffe00000, "e,J", level  }, \  { name "3", opcode|0x20400000, 0xffe00000, "I,g", level  }, \  { name "3", opcode|0x20600000, 0xffe00000, "I,J", level  }, \  { name "3", opcode|0x30200000, 0xffe00000, "C,g", OP_C4X }, \  { name "3", opcode|0x30600000, 0xffe00000, "C,O", OP_C4X }/* T: General 3-operand integer operand   Syntax: <i> src2, src1, dst       src2 = Register (E), Indirect 0,1,IR0,IR1 (I), C4x T2: Indirect (C), Immediate (W)       src1 = Register (G), Indirect 0,1,IR0,IR1 (J), C4x T2: Indirect (O)       dst  = Register (R)   Instr: 5/0 - ANDN3, ASH3, LSH3, SUBB3, SUBI3   Alias: i, i3*/#define T_CLASS_INSN(name, opcode, level) \  { name, opcode|0x20000000, 0xffe00000, "E,G;R", level  }, \  { name, opcode|0x20200000, 0xffe00000, "E,J,R", level  }, \  { name, opcode|0x20400000, 0xffe00000, "I,G;R", level  }, \  { name, opcode|0x20600000, 0xffe00000, "I,J,R", level  }, \  { name, opcode|0x30000000, 0xffe00000, "W,G;R", OP_C4X }, \  { name, opcode|0x30200000, 0xffe00000, "C,G;R", OP_C4X }, \  { name, opcode|0x30400000, 0xffe00000, "W,O,R", OP_C4X }, \  { name, opcode|0x30600000, 0xffe00000, "C,O,R", OP_C4X }, \  { name "3", opcode|0x20000000, 0xffe00000, "E,G;R", level  }, \  { name "3", opcode|0x20200000, 0xffe00000, "E,J,R", level  }, \  { name "3", opcode|0x20400000, 0xffe00000, "I,G;R", level  }, \  { name "3", opcode|0x20600000, 0xffe00000, "I,J,R", level  }, \  { name "3", opcode|0x30000000, 0xffe00000, "W,G;R", OP_C4X }, \  { name "3", opcode|0x30200000, 0xffe00000, "C,G;R", OP_C4X }, \  { name "3", opcode|0x30400000, 0xffe00000, "W,O,R", OP_C4X }, \  { name "3", opcode|0x30600000, 0xffe00000, "C,O,R", OP_C4X }/* TC: General commutative 3-operand integer operation   Syntax: <i> src2, src1, dst           <i> src1, src2, dst       src2 = Register (E), Indirect 0,1,IR0,IR1 (I), C4x T2: Indirect (C), Immediate (W)       src1 = Register (G), Indirect 0,1,IR0,IR1 (J), C4x T2: Indirect (O)       dst  = Register (R)   Instr: 6/2 - ADDC3, ADDI3, AND3, MPYI3, OR3, XOR3, C4x: MPYSHI, MPYUHI   Alias: i, i3*/#define TC_CLASS_INSN(name, opcode, level) \  { name, opcode|0x20000000, 0xffe00000, "E,G;R", level  }, \  { name, opcode|0x20200000, 0xffe00000, "E,J,R", level  }, \  { name, opcode|0x20400000, 0xffe00000, "I,G;R", level  }, \  { name, opcode|0x20600000, 0xffe00000, "I,J,R", level  }, \  { name, opcode|0x30000000, 0xffe00000, "W,G;R", OP_C4X }, \  { name, opcode|0x30000000, 0xffe00000, "G,W,R", OP_C4X }, \  { name, opcode|0x30200000, 0xffe00000, "C,G;R", OP_C4X }, \  { name, opcode|0x30200000, 0xffe00000, "G,C,R", OP_C4X }, \  { name, opcode|0x30400000, 0xffe00000, "W,O,R", OP_C4X }, \  { name, opcode|0x30400000, 0xffe00000, "O,W,R", OP_C4X }, \  { name, opcode|0x30600000, 0xffe00000, "C,O,R", OP_C4X }, \  { name "3", opcode|0x20000000, 0xffe00000, "E,G;R", level  }, \  { name "3", opcode|0x20200000, 0xffe00000, "E,J,R", level  }, \  { name "3", opcode|0x20400000, 0xffe00000, "I,G;R", level  }, \  { name "3", opcode|0x20600000, 0xffe00000, "I,J,R", level  }, \  { name "3", opcode|0x30000000, 0xffe00000, "W,G;R", OP_C4X }, \  { name "3", opcode|0x30000000, 0xffe00000, "G,W,R", OP_C4X }, \  { name "3", opcode|0x30200000, 0xffe00000, "C,G;R", OP_C4X }, \  { name "3", opcode|0x30200000, 0xffe00000, "G,C,R", OP_C4X }, \  { name "3", opcode|0x30400000, 0xffe00000, "W,O,R", OP_C4X }, \  { name "3", opcode|0x30400000, 0xffe00000, "O,W,R", OP_C4X }, \  { name "3", opcode|0x30600000, 0xffe00000, "C,O,R", OP_C4X }

⌨️ 快捷键说明

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