Public 型 | Public メソッド | Static Public メソッド | Private 型 | Private メソッド | Private 変数 | フレンド

クラス assembler::arm::Simulator

#include <simulator-arm.h>

すべてのメンバ一覧

Public 型

enum  Register {
  no_reg = -1, r0 = 0, r1, r2,
  r3, r4, r5, r6,
  r7, r8, r9, r10,
  r11, r12, r13, r14,
  r15, num_registers, sp = 13, lr = 14,
  pc = 15
}

Public メソッド

 Simulator ()
 ~Simulator ()
void set_register (int reg, int32_t value)
int32_t get_register (int reg) const
void set_pc (int32_t value)
int32_t get_pc () const
uintptr_t StackLimit () const
void execute ()
v8::internal::Objectcall (int32_t entry, int32_t p0, int32_t p1, int32_t p2, int32_t p3, int32_t p4)

Static Public メソッド

static Simulatorcurrent ()

Private 型

enum  special_values { bad_lr = -1, end_sim_pc = -2 }

Private メソッド

void Format (Instr *instr, const char *format)
bool ConditionallyExecute (Instr *instr)
void SetNZFlags (int32_t val)
void SetCFlag (bool val)
void SetVFlag (bool val)
bool CarryFrom (int32_t left, int32_t right)
bool BorrowFrom (int32_t left, int32_t right)
bool OverflowFrom (int32_t alu_out, int32_t left, int32_t right, bool addition)
int32_t GetShiftRm (Instr *instr, bool *carry_out)
int32_t GetImm (Instr *instr, bool *carry_out)
void HandleRList (Instr *instr, bool load)
void SoftwareInterrupt (Instr *instr)
uint8_t ReadBU (int32_t addr)
int8_t ReadB (int32_t addr)
void WriteB (int32_t addr, uint8_t value)
void WriteB (int32_t addr, int8_t value)
uint16_t ReadHU (int32_t addr, Instr *instr)
int16_t ReadH (int32_t addr, Instr *instr)
void WriteH (int32_t addr, uint16_t value, Instr *instr)
void WriteH (int32_t addr, int16_t value, Instr *instr)
int ReadW (int32_t addr, Instr *instr)
void WriteW (int32_t addr, int value, Instr *instr)
void DecodeType01 (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)
void InstructionDecode (Instr *instr)

Private 変数

int32_t registers_ [16]
bool n_flag_
bool z_flag_
bool c_flag_
bool v_flag_
char * stack_
bool pc_modified_
int icount_
Instrbreak_pc_
instr_t break_instr_

フレンド

class Debugger

説明

simulator-arm.h71 行で定義されています。


列挙型

列挙型の値:
no_reg 
r0 
r1 
r2 
r3 
r4 
r5 
r6 
r7 
r8 
r9 
r10 
r11 
r12 
r13 
r14 
r15 
num_registers 
sp 
lr 
pc 

simulator-arm.h75 行で定義されています。

列挙型の値:
bad_lr 
end_sim_pc 

simulator-arm.h115 行で定義されています。


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

assembler::arm::Simulator::Simulator (  ) 

simulator-arm.cc348 行で定義されています。

参照元 current().

assembler::arm::Simulator::~Simulator (  ) 

関数

bool assembler::arm::Simulator::BorrowFrom ( int32_t  left,
int32_t  right 
) [private]

simulator-arm.cc596 行で定義されています。

参照元 DecodeType01().

Object * assembler::arm::Simulator::call ( int32_t  entry,
int32_t  p0,
int32_t  p1,
int32_t  p2,
int32_t  p3,
int32_t  p4 
)

simulator-arm.cc1523 行で定義されています。

bool assembler::arm::Simulator::CarryFrom ( int32_t  left,
int32_t  right 
) [private]

simulator-arm.cc586 行で定義されています。

参照元 DecodeType01().

bool assembler::arm::Simulator::ConditionallyExecute ( Instr instr  )  [private]
Simulator * assembler::arm::Simulator::current (  )  [static]

simulator-arm.cc387 行で定義されています。

参照先 NULL, Simulator(), と assembler::arm::the_sim.

void assembler::arm::Simulator::DecodeType01 ( Instr instr  )  [private]
void assembler::arm::Simulator::DecodeType2 ( Instr instr  )  [private]

simulator-arm.cc1278 行で定義されています。

void assembler::arm::Simulator::DecodeType3 ( Instr instr  )  [private]

simulator-arm.cc1342 行で定義されています。

void assembler::arm::Simulator::DecodeType4 ( Instr instr  )  [private]

simulator-arm.cc1393 行で定義されています。

void assembler::arm::Simulator::DecodeType5 ( Instr instr  )  [private]

simulator-arm.cc1405 行で定義されています。

void assembler::arm::Simulator::DecodeType6 ( Instr instr  )  [private]

simulator-arm.cc1416 行で定義されています。

void assembler::arm::Simulator::DecodeType7 ( Instr instr  )  [private]

simulator-arm.cc1421 行で定義されています。

void assembler::arm::Simulator::execute (  ) 

simulator-arm.cc1491 行で定義されています。

void assembler::arm::Simulator::Format ( Instr instr,
const char *  format 
) [private]

simulator-arm.cc534 行で定義されています。

参照元 DecodeType01().

int32_t assembler::arm::Simulator::get_pc (  )  const

simulator-arm.cc422 行で定義されています。

int32_t assembler::arm::Simulator::get_register ( int  reg  )  const
int32_t assembler::arm::Simulator::GetImm ( Instr instr,
bool *  carry_out 
) [private]
int32_t assembler::arm::Simulator::GetShiftRm ( Instr instr,
bool *  carry_out 
) [private]
void assembler::arm::Simulator::HandleRList ( Instr instr,
bool  load 
) [private]

simulator-arm.cc791 行で定義されています。

void assembler::arm::Simulator::InstructionDecode ( Instr instr  )  [private]

simulator-arm.cc1432 行で定義されています。

bool assembler::arm::Simulator::OverflowFrom ( int32_t  alu_out,
int32_t  left,
int32_t  right,
bool  addition 
) [private]

simulator-arm.cc605 行で定義されています。

参照元 DecodeType01().

int8_t assembler::arm::Simulator::ReadB ( int32_t  addr  )  [inline, private]

simulator-arm.cc507 行で定義されています。

参照元 DecodeType01().

uint8_t assembler::arm::Simulator::ReadBU ( int32_t  addr  )  [inline, private]

simulator-arm.cc501 行で定義されています。

int16_t assembler::arm::Simulator::ReadH ( int32_t  addr,
Instr instr 
) [inline, private]

simulator-arm.cc468 行で定義されています。

参照元 DecodeType01().

uint16_t assembler::arm::Simulator::ReadHU ( int32_t  addr,
Instr instr 
) [inline, private]

simulator-arm.cc457 行で定義されています。

参照元 DecodeType01().

int assembler::arm::Simulator::ReadW ( int32_t  addr,
Instr instr 
) [inline, private]

simulator-arm.cc435 行で定義されています。

参照先 v8::internal::PrintF(), と UNIMPLEMENTED.

void assembler::arm::Simulator::set_pc ( int32_t  value  ) 

simulator-arm.cc415 行で定義されています。

参照元 SoftwareInterrupt().

void assembler::arm::Simulator::set_register ( int  reg,
int32_t  value 
)

simulator-arm.cc397 行で定義されています。

参照先 ASSERT, num_registers, pc, pc_modified_, と registers_.

参照元 DecodeType01(), と SoftwareInterrupt().

void assembler::arm::Simulator::SetCFlag ( bool  val  )  [private]

simulator-arm.cc574 行で定義されています。

参照元 DecodeType01().

void assembler::arm::Simulator::SetNZFlags ( int32_t  val  )  [private]

simulator-arm.cc567 行で定義されています。

参照元 DecodeType01().

void assembler::arm::Simulator::SetVFlag ( bool  val  )  [private]

simulator-arm.cc580 行で定義されています。

参照元 DecodeType01().

void assembler::arm::Simulator::SoftwareInterrupt ( Instr instr  )  [private]
uintptr_t assembler::arm::Simulator::StackLimit (  )  const

simulator-arm.cc526 行で定義されています。

void assembler::arm::Simulator::WriteB ( int32_t  addr,
int8_t  value 
) [inline, private]

simulator-arm.cc519 行で定義されています。

void assembler::arm::Simulator::WriteB ( int32_t  addr,
uint8_t  value 
) [inline, private]

simulator-arm.cc513 行で定義されています。

void assembler::arm::Simulator::WriteH ( int32_t  addr,
uint16_t  value,
Instr instr 
) [inline, private]

simulator-arm.cc479 行で定義されています。

参照元 DecodeType01().

void assembler::arm::Simulator::WriteH ( int32_t  addr,
int16_t  value,
Instr instr 
) [inline, private]

simulator-arm.cc490 行で定義されています。

void assembler::arm::Simulator::WriteW ( int32_t  addr,
int  value,
Instr instr 
) [inline, private]

simulator-arm.cc446 行で定義されています。


フレンドと関連する関数

friend class Debugger [friend]

simulator-arm.h73 行で定義されています。


変数

simulator-arm.h191 行で定義されています。

simulator-arm.h190 行で定義されています。

simulator-arm.h181 行で定義されています。

参照元 ConditionallyExecute(), GetImm(), と GetShiftRm().

simulator-arm.h187 行で定義されています。

simulator-arm.h179 行で定義されています。

参照元 ConditionallyExecute().

simulator-arm.h186 行で定義されています。

参照元 set_register().

simulator-arm.h178 行で定義されています。

参照元 get_register(), と set_register().

simulator-arm.h185 行で定義されています。

simulator-arm.h182 行で定義されています。

参照元 ConditionallyExecute().

simulator-arm.h180 行で定義されています。

参照元 ConditionallyExecute().


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