#include <AlphaOperation.h>
Public メソッド | |
u64 | operator() (EmulatorUtility::OpEmulationState *opState) |
AlphaOperation.h の 661 行で定義されています。
u64 Onikiri::AlphaLinux::Operation::AlphaLds< TAddr >::operator() | ( | EmulatorUtility::OpEmulationState * | opState | ) | [inline] |
AlphaOperation.h の 663 行で定義されています。
00664 { 00665 u64 result; 00666 u64 va = ReadMemory<u32>( opState, TAddr()(opState) ); 00667 00668 result = ((va & 0x7fffffff) << 29) | ((va & 0x80000000) << 32); 00669 if ((va & 0x7f800000) == 0x7f800000) { // exp = ~0 00670 result |= (u64)0x7ff << 52; 00671 } 00672 else if ((va & 0x7f800000) == 0x00000000) { // exp = 0 00673 // do nothing 00674 } 00675 else { 00676 result += (u64)(1023-127) << 52; // exp' = exp+896 00677 } 00678 00679 return result; 00680 }