#include <ISAInfo.h>
Static Public メソッド | |
static bool | TestISAInfo (ISAInfoIF *info) |
Static Public 変数 | |
static const int | INSTRUCTION_WORD_BIT_SIZE = 32 |
static const int | INSTRUCTION_WORD_BYTE_SHIFT = 2 |
static const int | INSTRUCTION_WORD_BYTE_SIZE = 4 |
static const int | MAX_DST_REG_COUNT = 3 |
static const int | MAX_OP_INFO_COUNT_PER_PC = 4 |
static const int | MAX_REG_COUNT = 80 |
static const int | MAX_REG_SEGMENT_COUNT = 6 |
static const int | MAX_SRC_REG_COUNT = 4 |
bool SimISAInfoDef::SimISAInfo_IW32_RW64_AS64::TestISAInfo | ( | ISAInfoIF * | info | ) | [static] |
ISAInfo.cpp の 38 行で定義されています。
参照先 Onikiri::ISAInfoIF::GetAddressSpaceBitSize()・Onikiri::ISAInfoIF::GetInstructionWordBitSize()・Onikiri::ISAInfoIF::GetMaxDstRegCount()・Onikiri::ISAInfoIF::GetMaxOpInfoCountPerPC()・Onikiri::ISAInfoIF::GetMaxSrcRegCount()・Onikiri::ISAInfoIF::GetRegisterCount()・Onikiri::ISAInfoIF::GetRegisterSegmentCount()・Onikiri::ISAInfoIF::GetRegisterWordBitSize()・MAX_DST_REG_COUNT・MAX_OP_INFO_COUNT_PER_PC・MAX_REG_COUNT・MAX_REG_SEGMENT_COUNT・MAX_SRC_REG_COUNT・THROW_RUNTIME_ERROR.
参照元 Onikiri::SystemManager::InitializeEmulator().
00039 { 00040 int iw = info->GetInstructionWordBitSize(); 00041 if(iw != 32){ 00042 THROW_RUNTIME_ERROR( 00043 "An emulator of ISA with instruction" 00044 "word size(%d) is not supported.", iw ); 00045 } 00046 00047 int rw = info->GetRegisterWordBitSize(); 00048 if(rw > 64){ 00049 THROW_RUNTIME_ERROR( 00050 "An emulator of ISA with register" 00051 "word size(%d) is not supported.", rw ); 00052 } 00053 00054 int as = info->GetAddressSpaceBitSize(); 00055 if(as > 64){ 00056 THROW_RUNTIME_ERROR( 00057 "An emulator of ISA with address" 00058 "space size(%d) is not supported.", as ); 00059 } 00060 00061 int maxSN = info->GetMaxSrcRegCount(); 00062 if(maxSN > MAX_SRC_REG_COUNT){ 00063 THROW_RUNTIME_ERROR( 00064 "An emulator of ISA with max source register" 00065 "number(%d) is not supported.", maxSN ); 00066 } 00067 00068 int maxDN = info->GetMaxDstRegCount(); 00069 if(maxDN > MAX_DST_REG_COUNT){ 00070 THROW_RUNTIME_ERROR( 00071 "An emulator of ISA with max destination register" 00072 "number(%d) is not supported.", maxDN ); 00073 } 00074 00075 int regCnt = info->GetRegisterCount(); 00076 if(regCnt > MAX_REG_COUNT){ 00077 THROW_RUNTIME_ERROR( 00078 "An emulator of ISA with register" 00079 "number(%d) is not supported.", regCnt ); 00080 } 00081 00082 int maxOpInfo = info->GetMaxOpInfoCountPerPC(); 00083 if(maxOpInfo > MAX_OP_INFO_COUNT_PER_PC){ 00084 THROW_RUNTIME_ERROR( 00085 "An emulator of ISA with register" 00086 "number(%d) is not supported.", maxOpInfo ); 00087 } 00088 00089 int regSegmentCount = info->GetRegisterSegmentCount(); 00090 if( regSegmentCount > MAX_REG_SEGMENT_COUNT ){ 00091 THROW_RUNTIME_ERROR( 00092 "An emulator of ISA with register" 00093 "segments(%d) is not supported.", regSegmentCount ); 00094 } 00095 00096 return true; 00097 }
関数の呼び出しグラフ:
Here is the caller graph for this function:
const int Onikiri::SimISAInfoDef::SimISAInfo_IW32_RW64_AS64::INSTRUCTION_WORD_BIT_SIZE = 32 [static] |
const int Onikiri::SimISAInfoDef::SimISAInfo_IW32_RW64_AS64::INSTRUCTION_WORD_BYTE_SHIFT = 2 [static] |
const int Onikiri::SimISAInfoDef::SimISAInfo_IW32_RW64_AS64::INSTRUCTION_WORD_BYTE_SIZE = 4 [static] |
const int Onikiri::SimISAInfoDef::SimISAInfo_IW32_RW64_AS64::MAX_DST_REG_COUNT = 3 [static] |
const int Onikiri::SimISAInfoDef::SimISAInfo_IW32_RW64_AS64::MAX_OP_INFO_COUNT_PER_PC = 4 [static] |
const int Onikiri::SimISAInfoDef::SimISAInfo_IW32_RW64_AS64::MAX_REG_COUNT = 80 [static] |
const int Onikiri::SimISAInfoDef::SimISAInfo_IW32_RW64_AS64::MAX_REG_SEGMENT_COUNT = 6 [static] |
const int Onikiri::SimISAInfoDef::SimISAInfo_IW32_RW64_AS64::MAX_SRC_REG_COUNT = 4 [static] |