/*
 * ShortWord.java:
 *
 * Currently an abstract class, representing a 17 bit value, such as
 * the Order Code register, or the short contents of a memory
 * location.
 *
 * Changes:
 *   25/01/1999 - sgf22 - Created.
 */

abstract class ShortWord {
  // Constructor methods
  abstract ShortWord(long i);
  abstract ShortWord(Character i);
  abstract ShortWord(LongWord i);

  // Return the value in an integer
  abstract int intValue();

  // Return the opcode part of this ShortWord, interpreted as an instruction
  abstract Character getOpcode();

  // Return the address part of this ShortWord, interpreted as an instruction
  abstract Address getAddress();
  
  // Return whether this is an instruction dealing with LongWords
  abstract boolean isLongOperation();

  // Routines for debugging:

  // Return the value as a fraction -1 < x < 1
  abstract double fractValue();

  // Display information on the contents
  abstract String toString();
}
