private void ValidateMemoryAccess(Word index) { if (index >= _memorySize) { throw new MemoryAccessException(); } }
public void SetWordAt(Word location, Word value) { for (var i = 0 ; i < Word.Width ; ++i) { this[location + i] = value.GetByte(i); } }
public Word GetWordAt(Word location) { var ret = new Word(); for (var i = 0 ; i < Word.Width ; ++i) { ret.SetByte(i, this[location + i]); } return ret; }
public byte this[Word index] { get { ValidateMemoryAccess(index); return _space[index]; } set { ValidateMemoryAccess(index); _space[index] = value; } }
public SystemMemory(Word memorySize) { _memorySize = memorySize; InitializeSpace(); }
public CpuInstruction(Word raw) { _raw = raw; }
public bool Equals(Word other) { return other._value == _value; }
public void Store(Word value) { _value = value; }