Beispiel #1
0
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;
}
Beispiel #2
0
 bool IsCellPresent(Address const& rAddress) const
 {
   if (GetBaseAddress().GetBase() != rAddress.GetBase())
     return false;
   return IsCellPresent(rAddress.GetOffset());
 }
Beispiel #3
0
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);
}