pike.git / src / code / amd64.c

version» Context lines:

pike.git/src/code/amd64.c:4528:   #define AI (OP_IMPLICIT_A|OP_IMM)   #define RM8OP (OP_RM|OP_8|OP_OPS)   #define RMOP (OP_RM|OP_OPS)   #define RMC8OP (OP_RM|OP_8|OP_OPS|OP_IMPLICIT_C)   #define RMCOP (OP_RM|OP_OPS|OP_IMPLICIT_C)   #define PCREL (OP_PCREL)   #define PCREL8 (OP_PCREL|OP_8)   #define RM (OP_RM)      static const char *modrm_ops[5][8] = { -  /* #0: ALU operations */ +  /* #0: ALU operations (Opcodes 0x80, 0x81, 0x83). */    { -  "add", "or", NULL, "and", +  "add", "or", "adc", "and",    NULL, "sub", NULL, "cmp",    },    /* #1: Shift operations */    {    NULL, NULL, NULL, NULL,    "sal", "shr", NULL, "sar",    }, -  /* #2: More ALU operations */ +  /* #2: More ALU operations (Opcodes 0xf6, 0xf7). */    { -  NULL, NULL, NULL, "neg", +  "test", NULL, NULL, "neg",    "imul", NULL, NULL, "idiv",    }, -  /* #3: Inc/dec */ +  /* #3: Inc/dec (Opcode 0xff) */    {    "inc", "dec", "call", "call",    "jmp", "jmp", NULL, NULL,    }, -  /* #4: Test */ +  /* #4: Mov (Opcodes 0xc6, 0xc7). */    { -  "test", NULL, NULL, NULL, +  "mov", NULL, NULL, NULL,    NULL, NULL, NULL, NULL,    }, -  +  /* #5: Bit tests (Opcode 0xba) */ +  { +  NULL, NULL, NULL, NULL, +  "bt", "bts", "btr", "btc", +  },   };      struct amd64_opcode {    const char *name;    unsigned INT64 flags;   };      static struct amd64_opcode amd64_opcodes[3][256] = {    /* Main table. */   {