クラス テンプレート Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >

#include <ExtraOpInfoWrapper.h>

Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >に対する継承グラフ

Inheritance graph
[凡例]
Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >のコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

 ExtraOpInfoWrapper ()
int GetDstNum () const
int GetDstOperand (const int index) const
ExtraOpInfoIFGetExtraOpInfo () const
int GetMicroOpIndex () const
int GetMicroOpNum () const
const char * GetMnemonic () const
const OpClassGetOpClass () const
int GetSrcNum () const
int GetSrcOperand (const int index) const
void SetExtraOpInfo (ExtraOpInfoIF *exOp)

Static Public メソッド

static void EmulationFunctionProxy (OpEmulationState *emuState)

説明

template<class TISAInfo>
class Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >

ExtraOpInfoWrapper.h121 行で定義されています。


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

template<class TISAInfo>
Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::ExtraOpInfoWrapper (  )  [inline]

ExtraOpInfoWrapper.h133 行で定義されています。

参照先 Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::EmulationFunctionProxy()Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >::SetEmulationFunc().

00133                                  : 
00134                 CommonOpInfo<TISAInfo>( OpClass( OpClassCode::UNDEF ) ),
00135                 m_exOp(0)
00136             {
00137                 SetEmulationFunc( &EmulationFunctionProxy );
00138             }

関数の呼び出しグラフ:


関数

template<class TISAInfo>
static void Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::EmulationFunctionProxy ( OpEmulationState emuState  )  [inline, static]

ExtraOpInfoWrapper.h163 行で定義されています。

参照先 ASSERTOnikiri::ExtraOpInfoIF::Execute()Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetExtraOpInfo()Onikiri::EmulatorUtility::OpEmulationState::GetOpInfo().

参照元 Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::ExtraOpInfoWrapper().

00164             {
00165                 OpInfo* base = emuState->GetOpInfo();
00166                 ExtraOpInfoWrapper* wrapper = static_cast<ExtraOpInfoWrapper*>(base);
00167                 ASSERT( wrapper != 0 );
00168 
00169                 ExtraOpEmuStateWrapper<TISAInfo> tmpState( emuState );
00170 
00171                 // タs
00172                 ExtraOpInfoIF* exOpInfo = wrapper->GetExtraOpInfo();
00173                 exOpInfo->Execute( &tmpState );
00174             }

関数の呼び出しグラフ:

Here is the caller graph for this function:

template<class TISAInfo>
int Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetDstNum (  )  const [inline, virtual]

Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >を再定義しています。

ExtraOpInfoWrapper.h197 行で定義されています。

参照先 ASSERTOnikiri::OpInfo::GetDstNum().

00198             {
00199                 ASSERT( m_exOp != 0 );
00200                 return m_exOp->GetDstNum();
00201             }

関数の呼び出しグラフ:

template<class TISAInfo>
int Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetDstOperand ( const int  index  )  const [inline, virtual]

Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >を再定義しています。

ExtraOpInfoWrapper.h187 行で定義されています。

参照先 ASSERTOnikiri::OpInfo::GetDstOperand().

00188             {
00189                 ASSERT( m_exOp != 0 );
00190                 return m_exOp->GetDstOperand(index);
00191             }

関数の呼び出しグラフ:

template<class TISAInfo>
ExtraOpInfoIF* Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetExtraOpInfo (  )  const [inline]

ExtraOpInfoWrapper.h158 行で定義されています。

参照元 Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::EmulationFunctionProxy().

00159             {
00160                 return m_exOp;
00161             }

Here is the caller graph for this function:

template<class TISAInfo>
int Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetMicroOpIndex (  )  const [inline, virtual]

Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >を再定義しています。

ExtraOpInfoWrapper.h207 行で定義されています。

参照先 ASSERTOnikiri::OpInfo::GetMicroOpIndex().

00208             {
00209                 ASSERT( m_exOp != 0 );
00210                 return m_exOp->GetMicroOpIndex();
00211             }

関数の呼び出しグラフ:

template<class TISAInfo>
int Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetMicroOpNum (  )  const [inline, virtual]

Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >を再定義しています。

ExtraOpInfoWrapper.h202 行で定義されています。

参照先 ASSERTOnikiri::OpInfo::GetMicroOpNum().

00203             {
00204                 ASSERT( m_exOp != 0 );
00205                 return m_exOp->GetMicroOpNum();
00206             }

関数の呼び出しグラフ:

template<class TISAInfo>
const char* Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetMnemonic (  )  const [inline, virtual]

Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >を再定義しています。

ExtraOpInfoWrapper.h212 行で定義されています。

参照先 ASSERTOnikiri::OpInfo::GetMnemonic().

00213             {
00214                 ASSERT( m_exOp != 0 );
00215                 return m_exOp->GetMnemonic();
00216             }

関数の呼び出しグラフ:

template<class TISAInfo>
const OpClass& Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetOpClass (  )  const [inline, virtual]

Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >を再定義しています。

ExtraOpInfoWrapper.h177 行で定義されています。

参照先 ASSERTOnikiri::OpInfo::GetOpClass().

00178             {
00179                 ASSERT( m_exOp != 0 );
00180                 return m_exOp->GetOpClass();
00181             }

関数の呼び出しグラフ:

template<class TISAInfo>
int Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetSrcNum (  )  const [inline, virtual]

Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >を再定義しています。

ExtraOpInfoWrapper.h192 行で定義されています。

参照先 ASSERTOnikiri::OpInfo::GetSrcNum().

00193             {
00194                 ASSERT( m_exOp != 0 );
00195                 return m_exOp->GetSrcNum();
00196             }

関数の呼び出しグラフ:

template<class TISAInfo>
int Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::GetSrcOperand ( const int  index  )  const [inline, virtual]

Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >を再定義しています。

ExtraOpInfoWrapper.h182 行で定義されています。

参照先 ASSERTOnikiri::OpInfo::GetSrcOperand().

00183             {
00184                 ASSERT( m_exOp != 0 );
00185                 return m_exOp->GetSrcOperand(index);
00186             }

関数の呼び出しグラフ:

template<class TISAInfo>
void Onikiri::EmulatorUtility::ExtraOpInfoWrapper< TISAInfo >::SetExtraOpInfo ( ExtraOpInfoIF exOp  )  [inline]

ExtraOpInfoWrapper.h140 行で定義されています。

参照先 Onikiri::OpInfo::GetDstNum()Onikiri::OpInfo::GetDstOperand()Onikiri::OpInfo::GetSrcNum()Onikiri::OpInfo::GetSrcOperand()Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >::SetDstReg()Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >::SetDstRegNum()Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >::SetDstRegOpMap()Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >::SetSrcReg()Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >::SetSrcRegNum()Onikiri::EmulatorUtility::CommonOpInfo< TISAInfo >::SetSrcRegOpMap().

00141             {
00142                 m_exOp = exOp;
00143 
00144                 // CommonOpInfo f
00145                 SetDstRegNum( m_exOp->GetDstNum() );
00146                 SetSrcRegNum( m_exOp->GetSrcNum() );
00147                 
00148                 for( int i = 0; i < m_exOp->GetDstNum(); i++ ){
00149                     SetDstRegOpMap( i, i );
00150                     SetDstReg( i, m_exOp->GetDstOperand( i ) );
00151                 }
00152                 for( int i = 0; i < m_exOp->GetSrcNum(); i++ ){
00153                     SetSrcRegOpMap( i, i );
00154                     SetSrcReg( i, m_exOp->GetSrcOperand( i ) );
00155                 }
00156             }

関数の呼び出しグラフ:


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:26:05 2013に生成されました。  doxygen 1.4.7