public AddressSpace(MachineBase m, int addrSpaceShift, int pageShift) { if (m == null) { throw new ArgumentNullException("m"); } M = m; AddrSpaceShift = addrSpaceShift; AddrSpaceSize = 1 << AddrSpaceShift; AddrSpaceMask = AddrSpaceSize - 1; PageShift = pageShift; PageSize = 1 << PageShift; MemoryMap = new IDevice[1 << addrSpaceShift >> PageShift]; IDevice nullDev = new NullDevice(M); for (var pageno = 0; pageno < MemoryMap.Length; pageno++) { MemoryMap[pageno] = nullDev; } }
public AddressSpace(MachineBase m, int addrSpaceShift, int pageShift) { if (m == null) throw new ArgumentNullException("m"); M = m; AddrSpaceShift = addrSpaceShift; AddrSpaceSize = 1 << AddrSpaceShift; AddrSpaceMask = AddrSpaceSize - 1; PageShift = pageShift; PageSize = 1 << PageShift; MemoryMap = new IDevice[1 << addrSpaceShift >> PageShift]; IDevice nullDev = new NullDevice(M); for (var pageno=0; pageno < MemoryMap.Length; pageno++) { MemoryMap[pageno] = nullDev; } }