#include <AlphaOperation.h>
Public メソッド | |
u64 | operator() (EmulatorUtility::OpEmulationState *opState) const |
AlphaOperation.h の 325 行で定義されています。
u64 Onikiri::AlphaLinux::Operation::AlphaMskxh< Type, TSrc1, TSrc2 >::operator() | ( | EmulatorUtility::OpEmulationState * | opState | ) | const [inline] |
AlphaOperation.h の 327 行で定義されています。
参照先 Type.
00328 { 00329 u64 lhs = TSrc1()(opState); 00330 u64 rhs = TSrc2()(opState); 00331 00332 int shift_cnt = static_cast<int>( (rhs & 0x7) << 3 ); 00333 u64 bit_mask; 00334 00335 if (shift_cnt + sizeof(Type)*8 > 64 ) { 00336 bit_mask = ~(u64)0 << (shift_cnt + sizeof(Type)*8 - 64); 00337 } 00338 else { 00339 bit_mask = ~(u64)0; 00340 } 00341 00342 u64 result; 00343 result = lhs & bit_mask; 00344 00345 return result; 00346 }