Public メソッド | |
Decoder (const disasm::NameConverter &converter, v8::internal::Vector< char > out_buffer) | |
~Decoder () | |
int | InstructionDecode (byte *instruction) |
Private メソッド | |
void | PrintChar (const char ch) |
void | Print (const char *str) |
void | PrintRegister (int reg) |
void | PrintCondition (Instr *instr) |
void | PrintShiftRm (Instr *instr) |
void | PrintShiftImm (Instr *instr) |
int | FormatOption (Instr *instr, const char *option) |
void | Format (Instr *instr, const char *format) |
void | Unknown (Instr *instr) |
void | DecodeType0 (Instr *instr) |
void | DecodeType1 (Instr *instr) |
void | DecodeType2 (Instr *instr) |
void | DecodeType3 (Instr *instr) |
void | DecodeType4 (Instr *instr) |
void | DecodeType5 (Instr *instr) |
void | DecodeType6 (Instr *instr) |
void | DecodeType7 (Instr *instr) |
Private 変数 | |
const disasm::NameConverter & | converter_ |
v8::internal::Vector< char > | out_buffer_ |
int | out_buffer_pos_ |
disasm-arm.cc の 49 行で定義されています。
assembler::arm::Decoder::Decoder | ( | const disasm::NameConverter & | converter, | |
v8::internal::Vector< char > | out_buffer | |||
) | [inline] |
disasm-arm.cc の 41 行で定義されています。
参照元 ~Decoder().
assembler::arm::Decoder::~Decoder | ( | ) | [inline] |
disasm-arm.cc の 49 行で定義されています。
参照先 Decoder().
void assembler::arm::Decoder::DecodeType0 | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 439 行で定義されています。
参照元 InstructionDecode().
void assembler::arm::Decoder::DecodeType1 | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 596 行で定義されています。
参照元 InstructionDecode().
void assembler::arm::Decoder::DecodeType2 | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 691 行で定義されています。
参照元 InstructionDecode().
void assembler::arm::Decoder::DecodeType3 | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 726 行で定義されています。
参照元 InstructionDecode().
void assembler::arm::Decoder::DecodeType4 | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 755 行で定義されています。
参照元 InstructionDecode().
void assembler::arm::Decoder::DecodeType5 | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 765 行で定義されています。
参照元 InstructionDecode().
void assembler::arm::Decoder::DecodeType6 | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 770 行で定義されています。
参照元 InstructionDecode().
void assembler::arm::Decoder::DecodeType7 | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 776 行で定義されています。
参照元 InstructionDecode().
void assembler::arm::Decoder::Format | ( | Instr * | instr, | |
const char * | format | |||
) | [private] |
disasm-arm.cc の 418 行で定義されています。
参照先 FormatOption(), v8::internal::Vector< T >::length(), out_buffer_, と out_buffer_pos_.
参照元 InstructionDecode(), と Unknown().
int assembler::arm::Decoder::FormatOption | ( | Instr * | instr, | |
const char * | option | |||
) | [private] |
disasm-arm.cc の 183 行で定義されています。
参照先 ASSERT, assembler::arm::Instr::Bit(), assembler::arm::break_point, assembler::arm::call_rt_r2, assembler::arm::call_rt_r5, converter_, assembler::arm::Instr::HasB(), assembler::arm::Instr::HasH(), assembler::arm::Instr::HasL(), assembler::arm::Instr::HasLink(), assembler::arm::Instr::HasS(), assembler::arm::Instr::HasSign(), assembler::arm::Instr::HasW(), assembler::arm::Instr::ImmedHField(), assembler::arm::Instr::ImmedLField(), assembler::arm::Instr::InstructionBits(), disasm::NameConverter::NameInCode(), disasm::NameConverter::NameOfAddress(), assembler::arm::Instr::Offset12Field(), out_buffer_, out_buffer_pos_, Print(), PrintCondition(), PrintRegister(), PrintShiftImm(), PrintShiftRm(), assembler::arm::Instr::PUField(), assembler::arm::Instr::RdField(), assembler::arm::Instr::RlistField(), assembler::arm::Instr::RmField(), assembler::arm::Instr::RnField(), assembler::arm::Instr::RsField(), assembler::arm::Instr::SImmed24Field(), v8::internal::OS::SNPrintF(), assembler::arm::Instr::SwiField(), と UNREACHABLE.
参照元 Format().
int assembler::arm::Decoder::InstructionDecode | ( | byte * | instruction | ) |
disasm-arm.cc の 787 行で定義されています。
参照先 assembler::arm::Instr::At(), assembler::arm::Instr::ConditionField(), DecodeType0(), DecodeType1(), DecodeType2(), DecodeType3(), DecodeType4(), DecodeType5(), DecodeType6(), DecodeType7(), Format(), assembler::arm::Instr::InstructionBits(), out_buffer_, out_buffer_pos_, v8::internal::OS::SNPrintF(), assembler::arm::Instr::TypeField(), と UNREACHABLE.
void assembler::arm::Decoder::Print | ( | const char * | str | ) | [private] |
disasm-arm.cc の 100 行で定義されています。
参照先 v8::internal::Vector< T >::length(), out_buffer_, out_buffer_pos_, と PrintChar().
参照元 FormatOption(), PrintCondition(), PrintRegister(), と PrintShiftRm().
void assembler::arm::Decoder::PrintChar | ( | const char | ch | ) | [private] |
void assembler::arm::Decoder::PrintCondition | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 117 行で定義されています。
参照先 assembler::arm::cond_names, assembler::arm::Instr::ConditionField(), と Print().
参照元 FormatOption().
void assembler::arm::Decoder::PrintRegister | ( | int | reg | ) | [private] |
disasm-arm.cc の 123 行で定義されています。
参照先 converter_, disasm::NameConverter::NameOfCPURegister(), と Print().
参照元 FormatOption(), と PrintShiftRm().
void assembler::arm::Decoder::PrintShiftImm | ( | Instr * | instr | ) | [private] |
void assembler::arm::Decoder::PrintShiftRm | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 135 行で定義されています。
参照先 assembler::arm::ASR, assembler::arm::LSL, assembler::arm::LSR, out_buffer_, out_buffer_pos_, Print(), PrintRegister(), assembler::arm::Instr::RegShiftField(), assembler::arm::Instr::RmField(), assembler::arm::ROR, assembler::arm::Instr::RsField(), assembler::arm::shift_names, assembler::arm::Instr::ShiftAmountField(), assembler::arm::Instr::ShiftField(), と v8::internal::OS::SNPrintF().
参照元 FormatOption().
void assembler::arm::Decoder::Unknown | ( | Instr * | instr | ) | [private] |
disasm-arm.cc の 434 行で定義されています。
参照先 Format().
const disasm::NameConverter& assembler::arm::Decoder::converter_ [private] |
disasm-arm.cc の 56 行で定義されています。
参照元 FormatOption(), と PrintRegister().
v8::internal::Vector<char> assembler::arm::Decoder::out_buffer_ [private] |
disasm-arm.cc の 57 行で定義されています。
参照元 Format(), FormatOption(), InstructionDecode(), Print(), PrintChar(), PrintShiftImm(), と PrintShiftRm().
int assembler::arm::Decoder::out_buffer_pos_ [private] |
disasm-arm.cc の 58 行で定義されています。
参照元 Format(), FormatOption(), InstructionDecode(), Print(), PrintChar(), PrintShiftImm(), と PrintShiftRm().