src/Emu/PPC64Linux/PPC64Decoder.cpp

#include <pch.h>
#include "Emu/PPC64Linux/PPC64Decoder.h"
#include "SysDeps/Endian.h"
#include "Emu/Utility/DecoderUtility.h"

PPC64Decoder.cppのインクルード依存関係図

ソースコードを見る。

マクロ定義

#define MakeBeginAndEnd(n)

列挙型

enum  OperandType {
  GPR, FPR, CRN, CRI,
  UIM, SIM, SH6, MB5
}

変数

int BitCount
int BitIndex
int DecodedPlace
DecodeInfo DecodeInfo
DecodeInfoElem DecodeInfoElem [MaxOperands]
u32 Opcode
OperandFormat Operand
OperandType Type


マクロ定義

#define MakeBeginAndEnd (  ) 

値:

const OpcodeDecodeInfoPair* const OpCode##n##ExtToDecodeInfoBegin = OpCode##n##ExtToDecodeInfo; \
    const OpcodeDecodeInfoPair* const OpCode##n##ExtToDecodeInfoEnd = OpCode##n##ExtToDecodeInfoBegin + sizeof(OpCode##n##ExtToDecodeInfo)/sizeof(OpCode##n##ExtToDecodeInfo[0]);

PPC64Decoder.cpp505 行で定義されています。


列挙型

enum OperandType

列挙型の値:
GPR 
FPR 
CRN 
CRI 
UIM 
SIM 
SH6 
MB5 

PPC64Decoder.cpp72 行で定義されています。

00072                      {
00073         // Reg
00074         GPR,    // GPR number
00075         FPR,    // FPR number
00076         CRN,    // CR number
00077 //      SPR,    // SPR number
00078         // special form
00079         // (no special form)
00080 
00081         // Imm
00082         CRI,    // CR bit index
00083         UIM,    // unsigned imm
00084         SIM,    // signed imm
00085 
00086         // special form
00087         SH6,    // MD-Form/XS-Form 6-bit shift count
00088         MB5,    // MD-Form/MDS-Form 5-bit mask begin/end
00089     };


変数

int BitCount

PPC64Decoder.cpp94 行で定義されています。

int BitIndex

PPC64Decoder.cpp93 行で定義されています。

int DecodedPlace

PPC64Decoder.cpp97 行で定義されています。

struct DecodeInfo DecodeInfo

PPC64Decoder.cpp266 行で定義されています。

参照元 Onikiri::PPC64Linux::PPC64Decoder::Decode().

struct DecodeInfoElem DecodeInfoElem[MaxOperands]

PPC64Decoder.cpp103 行で定義されています。

u32 Opcode

PPC64Decoder.cpp265 行で定義されています。

OperandFormat Operand

PPC64Decoder.cpp98 行で定義されています。

OperandType Type

PPC64Decoder.cpp92 行で定義されています。

参照元 Onikiri::EmulatorUtility::Operation::FPSubTest< Type, TSrc1, TSrc2, RoundMode >::operator()()Onikiri::EmulatorUtility::Operation::FPSqrt< Type, TSrc1, RoundMode >::operator()()Onikiri::EmulatorUtility::Operation::FPDiv< Type, TSrc1, TSrc2, RoundMode >::operator()()Onikiri::EmulatorUtility::Operation::FPMul< Type, TSrc1, TSrc2, RoundMode >::operator()()Onikiri::EmulatorUtility::Operation::FPSub< Type, TSrc1, TSrc2, RoundMode >::operator()()Onikiri::EmulatorUtility::Operation::FPAdd< Type, TSrc1, TSrc2, RoundMode >::operator()()Onikiri::EmulatorUtility::Operation::BitExtract< Type, TSrc, TBegin, TCount >::operator()()Onikiri::EmulatorUtility::Operation::BitNot< Type, TSrc1 >::operator()()Onikiri::EmulatorUtility::Operation::BitXorNot< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::BitXor< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::BitNor< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::BitOrNot< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::BitOr< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::BitNand< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::BitAndNot< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::BitAnd< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::RotateR< Type, TSrcValue, TSrcCount >::operator()()Onikiri::EmulatorUtility::Operation::RotateL< Type, TSrcValue, TSrcCount >::operator()()Onikiri::EmulatorUtility::Operation::LShiftL< Type, TSrc1, TSrc2, count_mask >::operator()()Onikiri::EmulatorUtility::Operation::LShiftR< Type, TSrc1, TSrc2, count_mask >::operator()()Onikiri::EmulatorUtility::Operation::AShiftR< Type, TSrc1, TSrc2, count_mask >::operator()()Onikiri::EmulatorUtility::Operation::BorrowOfSubWithBorrow< Type, TSrc1, TSrc2, TSrcBorrow >::operator()()Onikiri::EmulatorUtility::Operation::BorrowOfSub< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::CarryOfAddWithCarry< Type, TSrc1, TSrc2, TSrcCarry >::operator()()Onikiri::EmulatorUtility::Operation::CarryOfAdd< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::IntDiv< Type, TSrc1, TSrc2 >::operator()()Onikiri::EmulatorUtility::Operation::CastFP< Type, TValue, RoundMode >::operator()()Onikiri::EmulatorUtility::Operation::IntCondNotEqualNthBit< Type, n, ArgType >::operator()()Onikiri::EmulatorUtility::Operation::IntCondEqualNthBit< Type, n, ArgType >::operator()()Onikiri::PPC64Linux::Operation::PPC64LoadWithUpdate< Type, TAddrDest, TAddr >::operator()()Onikiri::PPC64Linux::Operation::PPC64CarryOfAShiftR< Type, TSrc1, TSrc2, count_mask >::operator()()Onikiri::PPC64Linux::Operation::PPC64MaskInsert< Type, TSrc1, TSrc2, TMaskBegin, TMaskEnd >::operator()()Onikiri::PPC64Linux::Operation::PPC64Mask< Type, TSrc, TMaskBegin, TMaskEnd >::operator()()Onikiri::PPC64Linux::Operation::PPC64Cntlz< Type, TSrc >::operator()()Onikiri::AlphaLinux::Operation::AlphaVectorMax< Type, TSrc1, TSrc2 >::operator()()Onikiri::AlphaLinux::Operation::AlphaVectorMin< Type, TSrc1, TSrc2 >::operator()()Onikiri::AlphaLinux::Operation::AlphaMskxh< Type, TSrc1, TSrc2 >::operator()()Onikiri::AlphaLinux::Operation::AlphaMskxl< Type, TSrc1, TSrc2 >::operator()()Onikiri::AlphaLinux::Operation::AlphaInsxh< Type, TSrc1, TSrc2 >::operator()()Onikiri::AlphaLinux::Operation::AlphaExtxh< Type, TSrc1, TSrc2 >::operator()()Onikiri::PPC64Linux::Operation::PPC64GenMask().


Onikiri2に対してTue Jun 18 14:35:00 2013に生成されました。  doxygen 1.4.7