41 lines
1.3 KiB
C#
41 lines
1.3 KiB
C#
using System;
|
|
|
|
namespace CPUSimulation
|
|
{
|
|
public class CPU
|
|
{
|
|
static int numberOfMemoryBanks = 4;
|
|
static int memoryBankSize = 1024;
|
|
static MC _memoryController;
|
|
|
|
|
|
public static void Main(string[] args)
|
|
{
|
|
InitilizeMemoryController();
|
|
|
|
_memoryController.Write("0000000000000001","0000000011110000");
|
|
_memoryController.Write("0000000000000010","1111000000001111");
|
|
for (int i = 0; i < 16; i++)
|
|
{
|
|
Word dataRead = _memoryController.Read((Int16)i);
|
|
Console.WriteLine($"Data read from address {new Address((Int16)i).ToString()}: {dataRead.ToString()}");
|
|
}
|
|
}
|
|
|
|
private static void InitilizeMemoryController()
|
|
{
|
|
_memoryController = new MC(numberOfMemoryBanks, memoryBankSize);
|
|
for (int i = 0; i < memoryBankSize; i++)
|
|
{
|
|
Word dataToWrite = Utils.GenerateRandomWord(numberOfMemoryBanks);
|
|
_memoryController.Write((Int16)i, dataToWrite);
|
|
//Word dataRead = _memoryController.Read((Int16)i);
|
|
//Console.WriteLine($"Data read from address {new Address((Int16)i).ToString()}: {dataRead.ToString()}");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|