/*
 * Memory.java:
 *
 * An abstract class representing the main memory of the EDSAC.
 *
 * Changes:
 *   25/01/1999 - sgf22 - Created.
 */

// FIXME: We may want exceptions thrown for misaligned long accesses.

abstract class Memory {
  // Constructor methods
  abstract Memory();

  // Get value from a memory location
  abstract ShortWord shortValue(Address addr);
  abstract LongWord longValue(Address addr);

  // Set value for a memory location
  abstract setShort(Address addr, ShortWord value);
  abstract setLong(Address addr, LongWord value);

  // Debugging information - could dump all memory contents...
  abstract String toString();
}
