構成 | 型定義 | 列挙型 | 関数 | 変数

ネームスペース disasm

構成

struct  ByteMnemonic
struct  InstructionDesc
class  InstructionTable
class  DisassemblerIA32
class  NameConverter
class  Disassembler

型定義

typedef unsigned char byte

列挙型

enum  OperandOrder { UNSET_OP_ORDER = 0, REG_OPER_OP_ORDER, OPER_REG_OP_ORDER }
enum  InstructionType {
  NO_INSTR, ZERO_OPERANDS_INSTR, TWO_OPERANDS_INSTR, JUMP_CONDITIONAL_SHORT_INSTR,
  REGISTER_INSTR, MOVE_REG_INSTR, CALL_JUMP_INSTR, SHORT_IMMEDIATE_INSTR
}

関数

static const char * F0Mnem (byte f0byte)

変数

static const char * reg_names [16]
static NameConverter defaultConverter
static ByteMnemonic two_operands_instr []
static ByteMnemonic zero_operands_instr []
static ByteMnemonic call_jump_instr []
static ByteMnemonic short_immediate_instr []
static const char * jump_conditional_mnem []
static InstructionTable instruction_table
static const char * cpu_regs [8]
static const char * xmm_regs [8]

型定義

typedef unsigned char disasm::byte

disasm.h33 行で定義されています。


列挙型

列挙型の値:
NO_INSTR 
ZERO_OPERANDS_INSTR 
TWO_OPERANDS_INSTR 
JUMP_CONDITIONAL_SHORT_INSTR 
REGISTER_INSTR 
MOVE_REG_INSTR 
CALL_JUMP_INSTR 
SHORT_IMMEDIATE_INSTR 

disasm-ia32.cc118 行で定義されています。

列挙型の値:
UNSET_OP_ORDER 
REG_OPER_OP_ORDER 
OPER_REG_OP_ORDER 

disasm-ia32.cc37 行で定義されています。


関数

static const char* disasm::F0Mnem ( byte  f0byte  )  [static]

disasm-ia32.cc686 行で定義されています。

参照先 NULL.

参照元 disasm::DisassemblerIA32::InstructionDecode().


変数

初期値:
 {
  {0xE8, "call", UNSET_OP_ORDER},
  {0xE9, "jmp", UNSET_OP_ORDER},
  {-1, "", UNSET_OP_ORDER}
}

disasm-ia32.cc91 行で定義されています。

参照元 disasm::InstructionTable::Init().

const char* disasm::cpu_regs[8] [static]
初期値:
 {
  "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi",
}

disasm-ia32.cc1055 行で定義されています。

disasm-arm.cc895 行で定義されています。

disasm-ia32.cc218 行で定義されています。

参照元 disasm::DisassemblerIA32::InstructionDecode().

const char* disasm::jump_conditional_mnem[] [static]
初期値:
 {
   "jo", "jno", "jc", "jnc",
   "jz", "jnz", "jna", "ja",
   "js", "jns", "jpe", "jpo",
   "jl", "jnl", "jng", "jg"
}

disasm-ia32.cc110 行で定義されています。

参照元 disasm::InstructionTable::AddJumpConditionalShort(), disasm::DisassemblerIA32::JumpConditional(), と disasm::DisassemblerIA32::JumpConditionalShort().

const char* disasm::reg_names[16] [static]
初期値:
 {
  "r0", "r1", "r2" , "r3" , "r4" , "r5" , "r6" , "r7" ,
  "r8", "r9", "sl", "fp", "ip", "sp", "lr", "pc",
}

disasm-arm.cc851 行で定義されています。

参照元 disasm::NameConverter::NameOfCPURegister().

初期値:
 {
  {0x05, "add", UNSET_OP_ORDER},
  {0x0D, "or", UNSET_OP_ORDER},
  {0x15, "adc", UNSET_OP_ORDER},
  {0x25, "and", UNSET_OP_ORDER},
  {0x2D, "sub", UNSET_OP_ORDER},
  {0x35, "xor", UNSET_OP_ORDER},
  {0x3D, "cmp", UNSET_OP_ORDER},
  {-1, "", UNSET_OP_ORDER}
}

disasm-ia32.cc98 行で定義されています。

参照元 disasm::InstructionTable::Init().

初期値:
 {
  {0x03, "add", REG_OPER_OP_ORDER},
  {0x21, "and", OPER_REG_OP_ORDER},
  {0x23, "and", REG_OPER_OP_ORDER},
  {0x3B, "cmp", REG_OPER_OP_ORDER},
  {0x8D, "lea", REG_OPER_OP_ORDER},
  {0x09, "or", OPER_REG_OP_ORDER},
  {0x0B, "or", REG_OPER_OP_ORDER},
  {0x1B, "sbb", REG_OPER_OP_ORDER},
  {0x29, "sub", OPER_REG_OP_ORDER},
  {0x2B, "sub", REG_OPER_OP_ORDER},
  {0x85, "test", REG_OPER_OP_ORDER},
  {0x31, "xor", OPER_REG_OP_ORDER},
  {0x33, "xor", REG_OPER_OP_ORDER},
  {0x8A, "mov_b", REG_OPER_OP_ORDER},
  {0x8B, "mov", REG_OPER_OP_ORDER},
  {-1, "", UNSET_OP_ORDER}
}

disasm-ia32.cc54 行で定義されています。

参照元 disasm::InstructionTable::Init().

const char* disasm::xmm_regs[8] [static]
初期値:
 {
  "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7",
}

disasm-ia32.cc1060 行で定義されています。

初期値:
 {
  {0xC3, "ret", UNSET_OP_ORDER},
  {0xC9, "leave", UNSET_OP_ORDER},
  {0x90, "nop", UNSET_OP_ORDER},
  {0xF4, "hlt", UNSET_OP_ORDER},
  {0xCC, "int3", UNSET_OP_ORDER},
  {0x60, "pushad", UNSET_OP_ORDER},
  {0x61, "popad", UNSET_OP_ORDER},
  {0x9C, "pushfd", UNSET_OP_ORDER},
  {0x9D, "popfd", UNSET_OP_ORDER},
  {0x9E, "sahf", UNSET_OP_ORDER},
  {0x99, "cdq", UNSET_OP_ORDER},
  {0x9B, "fwait", UNSET_OP_ORDER},
  {-1, "", UNSET_OP_ORDER}
}

disasm-ia32.cc74 行で定義されています。

参照元 disasm::InstructionTable::Init().

 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義