package hardware; public class Memory { public static String[] data = new String[4096]; public static String MemRead = "0"; public static String MemWrite = "0"; public Memory() { /* * filling memory here with random values in case of pipe */ for (int i = 0; i < data.length; i++) { data[i] = "00000000000000000000000000011111"; } } public static String Read(String address) { int decimal = Integer.parseInt(address, 2); MemRead = "1"; if (MemRead.equalsIgnoreCase("1")) { System.out.print(data[decimal] + " "); } System.out.println("MemRead" + " " + MemRead); MemRead = "0"; return data[decimal]; } public static void write(String address, String info) { MemWrite = "1"; int decimal = Integer.parseInt(address, 2); if (MemWrite.equalsIgnoreCase("1")) { data[decimal] = info; } System.out.println("MemWrite" + " " + MemWrite); MemWrite = "0"; } public static void main(String[] args) { // Memory x = new Memory(); // x.write(1, 50); // x.Read(1); } }