Emul8.Peripherals.Memory.MappedMemory.ReadWord C# (CSharp) 메소드

ReadWord() 공개 메소드

public ReadWord ( long offset ) : ushort
offset long
리턴 ushort
        public ushort ReadWord(long offset)
        {
            var localOffset = GetLocalOffset((uint)offset);
            var segment = segments[GetSegmentNo((uint)offset)];
            if(localOffset == SegmentSize - 1) // cross segment read
            {
                var bytes = new byte[2];
                bytes[0] = Marshal.ReadByte(segment + localOffset);
                var secondSegment = segments[GetSegmentNo((uint)offset + 1)];
                bytes[1] = Marshal.ReadByte(secondSegment);
                return BitConverter.ToUInt16(bytes, 0);
            }
            return unchecked((ushort)Marshal.ReadInt16(segment + localOffset));
        }