Public メソッド | Private 型 | Private メソッド | Static Private メソッド | Private 変数

クラス disasm::DisassemblerIA32

すべてのメンバ一覧

Public メソッド

 DisassemblerIA32 (const NameConverter &converter, bool abort_on_unimplemented=true)
virtual ~DisassemblerIA32 ()
int InstructionDecode (v8::internal::Vector< char > buffer, byte *instruction)

Private 型

enum  {
  eax = 0, ecx = 1, edx = 2, ebx = 3,
  esp = 4, ebp = 5, esi = 6, edi = 7
}

Private メソッド

const char * NameOfCPURegister (int reg) const
const char * NameOfXMMRegister (int reg) const
const char * NameOfAddress (byte *addr) const
int PrintRightOperand (byte *modrmp)
int PrintOperands (const char *mnem, OperandOrder op_order, byte *data)
int PrintImmediateOp (byte *data)
int F7Instruction (byte *data)
int D1D3C1Instruction (byte *data)
int JumpShort (byte *data)
int JumpConditional (byte *data, const char *comment)
int JumpConditionalShort (byte *data, const char *comment)
int FPUInstruction (byte *data)
void AppendToBuffer (const char *format,...)
void UnimplementedInstruction ()

Static Private メソッド

static void get_modrm (byte data, int *mod, int *regop, int *rm)
static void get_sib (byte data, int *scale, int *index, int *base)

Private 変数

const NameConverterconverter_
v8::internal::EmbeddedVector
< char, 128 > 
tmp_buffer_
unsigned int tmp_buffer_pos_
bool abort_on_unimplemented_

説明

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


列挙型

anonymous enum [private]
列挙型の値:
eax 
ecx 
edx 
ebx 
esp 
ebp 
esi 
edi 

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


コンストラクタとデストラクタ

disasm::DisassemblerIA32::DisassemblerIA32 ( const NameConverter converter,
bool  abort_on_unimplemented = true 
) [inline]

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

参照先 tmp_buffer_.

virtual disasm::DisassemblerIA32::~DisassemblerIA32 (  )  [inline, virtual]

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


関数

void disasm::DisassemblerIA32::AppendToBuffer ( const char *  format,
  ... 
) [private]
int disasm::DisassemblerIA32::D1D3C1Instruction ( byte data  )  [private]

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

参照先 AppendToBuffer(), ebp, edi, edx, esp, get_modrm(), NameOfCPURegister(), NULL, と UnimplementedInstruction().

参照元 InstructionDecode().

int disasm::DisassemblerIA32::F7Instruction ( byte data  )  [private]
int disasm::DisassemblerIA32::FPUInstruction ( byte data  )  [private]

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

参照先 AppendToBuffer(), eax, ebp, ebx, edi, edx, get_modrm(), NULL, PrintRightOperand(), と UnimplementedInstruction().

参照元 InstructionDecode().

static void disasm::DisassemblerIA32::get_modrm ( byte  data,
int *  mod,
int *  regop,
int *  rm 
) [inline, static, private]
static void disasm::DisassemblerIA32::get_sib ( byte  data,
int *  scale,
int *  index,
int *  base 
) [inline, static, private]

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

参照元 PrintRightOperand().

int disasm::DisassemblerIA32::InstructionDecode ( v8::internal::Vector< char >  buffer,
byte instruction 
)
int disasm::DisassemblerIA32::JumpConditional ( byte data,
const char *  comment 
) [private]

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

参照先 AppendToBuffer(), disasm::jump_conditional_mnem, NameOfAddress(), と NULL.

参照元 InstructionDecode().

int disasm::DisassemblerIA32::JumpConditionalShort ( byte data,
const char *  comment 
) [private]

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

参照先 AppendToBuffer(), disasm::jump_conditional_mnem, NameOfAddress(), と NULL.

参照元 InstructionDecode().

int disasm::DisassemblerIA32::JumpShort ( byte data  )  [private]

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

参照先 AppendToBuffer(), と NameOfAddress().

参照元 InstructionDecode().

const char* disasm::DisassemblerIA32::NameOfAddress ( byte addr  )  const [inline, private]
const char* disasm::DisassemblerIA32::NameOfCPURegister ( int  reg  )  const [inline, private]
const char* disasm::DisassemblerIA32::NameOfXMMRegister ( int  reg  )  const [inline, private]

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

参照先 converter_, と disasm::NameConverter::NameOfXMMRegister().

参照元 InstructionDecode().

int disasm::DisassemblerIA32::PrintImmediateOp ( byte data  )  [private]

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

参照先 AppendToBuffer(), get_modrm(), PrintRightOperand(), と UnimplementedInstruction().

参照元 InstructionDecode().

int disasm::DisassemblerIA32::PrintOperands ( const char *  mnem,
OperandOrder  op_order,
byte data 
) [private]
int disasm::DisassemblerIA32::PrintRightOperand ( byte modrmp  )  [private]
void disasm::DisassemblerIA32::UnimplementedInstruction (  )  [inline, private]

変数

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

参照元 UnimplementedInstruction().

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

参照元 NameOfAddress(), NameOfCPURegister(), と NameOfXMMRegister().

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

参照元 AppendToBuffer(), DisassemblerIA32(), と InstructionDecode().

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

参照元 AppendToBuffer(), と InstructionDecode().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義