C insn代表什么?

C insn代表什么?,c,intel,instruction-set,disassembly,C,Intel,Instruction Set,Disassembly,我需要一个x86(-64)反汇编程序,所以我开始阅读objdump的源代码。在搜索了一点之后,我在一个文件“ia64 asmtab.h”中。内部是一个结构“ia64\u main\u table”: struct ia64_main_table { /* The entry in the string table that corresponds to the name of this opcode. */ unsigned short name_index; /* Th

我需要一个x86(-64)反汇编程序,所以我开始阅读objdump的源代码。在搜索了一点之后,我在一个文件“ia64 asmtab.h”中。内部是一个结构“ia64\u main\u table”:

struct ia64_main_table
{
  /* The entry in the string table that corresponds to the name of this
     opcode. */
  unsigned short name_index;

  /* The type of opcode; corresponds to the TYPE field in 
     struct ia64_opcode. */
  unsigned char opcode_type;

  /* The number of outputs for this opcode. */
  unsigned char num_outputs;

  /* The base insn value for this opcode.  It may be modified by completers. */
  ia64_insn opcode;

  /* The mask of valid bits in OPCODE. Zeros indicate operand fields. */
  ia64_insn mask;

  /* The operands of this instruction.  Corresponds to the OPERANDS field
     in struct ia64_opcode. */
  unsigned char operands[5];

  /* The flags for this instruction.  Corresponds to the FLAGS field in
     struct ia64_opcode. */
  short flags;

  /* The tree of completers for this instruction; this is an offset into
     completer_table. */
  short completers;
};

在谷歌上搜索一下,没有显示出任何有用的结果,我感到很困惑。有人知道insn代表什么吗?我觉得它应该代表指导,但它似乎还意味着其他东西。

在这里回答我自己的问题。insn唯一可行的意义似乎是指令。谢谢你的链接,杰夫。

有些INSN是实际的说明;其他代表switch语句的调度表;另一些则表示要跳转到的标签或各种声明性信息。 有关INSN的更详细说明,请参见此链接

如果有任何指示,
insn
可能意味着指令。是的,它一定意味着指令。我想不出别的了。再看一遍那个网站,我可能错了。我觉得这是英特尔官方代码的官方变更日志。它似乎是从所以可能不一定是它。但是,同样的,这个变化来自一个有英特尔电子邮件的人。如果你试图创建一个x86-64反汇编程序,IA-64是一个错误的地方。安腾是一个完全独立的体系结构,具有完全不相关的机器代码格式。固定宽度VLIW bundle与x86指令的复杂程度不同,因此它不是一个好的起点。这是因为GCC RTL使用缩写,而不是Binutils
objdump
。当然,它是同一个英语单词(“指令”)的缩写,但实际对象不同。这只是一个明显的缩写,是独立发明的。我自己也用过,事实上,我想知道这个问题是不是关于我的答案,直到我看到它有多老。