Example #1
0
        /// <summary>Translate a PA to a VA and write it to a stream</summary>
        /// <param name="s">Stream to write to</param>
        /// <param name="pa">PA to translate to a VA (ie, PA - <see cref="CurrentAddress"/>)</param>
        /// <remarks>If <paramref name="pa"/> is a <see cref="PtrHandle.IsInvalidHandle">InvalidHandle</see>, it streamed without fix-up</remarks>
        public void WritePhysicalAsVirtualAddress(IO.EndianWriter s, Values.PtrHandle pa)
        {
            var va = pa.IsInvalidHandle
                                ? pa
                                : pa - CurrentAddress;

            s.WriteRawPointer(va);
        }