#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 | ( | n | ) |
値:
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.cpp の 505 行で定義されています。
enum OperandType |
PPC64Decoder.cpp の 72 行で定義されています。
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.cpp の 94 行で定義されています。
int BitIndex |
PPC64Decoder.cpp の 93 行で定義されています。
int DecodedPlace |
PPC64Decoder.cpp の 97 行で定義されています。
struct DecodeInfo DecodeInfo |
struct DecodeInfoElem DecodeInfoElem[MaxOperands] |
PPC64Decoder.cpp の 103 行で定義されています。
PPC64Decoder.cpp の 265 行で定義されています。
OperandFormat Operand |
PPC64Decoder.cpp の 98 行で定義されています。
PPC64Decoder.cpp の 92 行で定義されています。
参照元 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().