Emul8.Peripherals.Memory.MappedMemory.WriteWord C# (CSharp) Method

WriteWord() public method

public WriteWord ( long offset, ushort value ) : void
offset long
value ushort
return void
        public void WriteWord(long offset, ushort value)
        {
            var localOffset = GetLocalOffset((uint)offset);			
            var segment = segments[GetSegmentNo((uint)offset)];
            if(localOffset == SegmentSize - 1) // cross segment write
            {
                var bytes = BitConverter.GetBytes(value);			
                Marshal.WriteByte(segment + localOffset, bytes[0]);
                var secondSegment = segments[GetSegmentNo((uint)(offset + 1))];
                Marshal.WriteByte(secondSegment, bytes[1]);
                return;
            }
            Marshal.WriteInt16(segment + localOffset, unchecked((short)value));
        }