MEDUSA_NAMESPACE_BEGIN bool CpuContext::Translate(Address const& rLogicalAddress, u64& rLinearAddress) const { auto itAddr = m_AddressMap.find(Address(rLogicalAddress.GetBase(), 0x0)); if (itAddr != std::end(m_AddressMap)) { rLinearAddress = itAddr->second + rLogicalAddress.GetOffset(); return true; } rLinearAddress = rLogicalAddress.GetOffset(); return true; }
bool IsCellPresent(Address const& rAddress) const { if (GetBaseAddress().GetBase() != rAddress.GetBase()) return false; return IsCellPresent(rAddress.GetOffset()); }
void FormatDisassembly::_FormatAddress(Address const& rAddress, u32 Flags) { if (rAddress.GetBase() != 0x0 && rAddress.GetBaseSize() != 0x0) m_rPrintData.AppendImmediate(rAddress.GetBase(), rAddress.GetBaseSize()).AppendOperator(":"); m_rPrintData.AppendImmediate(rAddress.GetOffset(), rAddress.GetOffsetSize()).AppendSpace(8); }