Packages

abstract class Processor extends AnyRef

An abstract class defining a processor in a system.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Processor
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Processor(descriptor: ProcessorDescriptor)

    descriptor

    the descriptor of the processor.

Abstract Value Members

  1. abstract def calculateRomStart(romSize: Long): Option[Long]

    Calculates the start address for a ROM/BIOS based on the size.

    Calculates the start address for a ROM/BIOS based on the size. The start address may be constant or dynamic depending on the size (e.g. for x86). The start address is not necessarily the start address for the processor. The start address is None if the ROM/BIOS is too large for the processor.

    returns

    the start address for the ROM/BIOS depending on the architecture

  2. abstract def register(register: Register): Try[Register]

    Sets the register of the processor to the given content.

    Sets the register of the processor to the given content.

    The returned register (in case of Success(_)) contains the new register content. Failure is returned in case that

    • the processor is running and therefore the register cannot be set
    • the register is unknown to the processor
    • the value of the register is invalid
    register

    the register to set

    returns

    Success with the new register value or Failure if the register cannot be set.

  3. abstract def register(core: Int, name: String): Try[Register]

    Return the register with the given name of the given core, e.g.

    Return the register with the given name of the given core, e.g. "AX" or "D1".

    core

    the core for which the register should be returned

    name

    the name of the register to return

    returns

    the register named by name. Failure if the register does not exist or cannot be returned.

  4. abstract def registers(core: Int): Try[Map[String, Register]]

    All registers of a core when the core is stopped.

    All registers of a core when the core is stopped.

    The result is Success if the core can return the registers. When Failure is returned then the core cannot return the registers at the moment, e.g. because it is running at the moment.

    The key of the map is the register name.

    core

    the core for which the registers should be queried

    returns

    A Try containing a Map with the register name as key and the register as value.

  5. abstract def registers: Try[Map[Int, Map[String, Register]]]

    All registers of all cores when the cores are stopped.

    All registers of all cores when the cores are stopped.

    The result is Success if the cores can return the registers. When Failure is returned then the cores cannot return the registers at the moment, e.g. because any is running at the moment.

    The key of the map is the register name.

    returns

    A Try containing a Map with the core as key and a Map with the register name as key and the register as value.

  6. abstract def reset(): Unit

    Resets the processor and starts it new.

  7. abstract def step(): Unit

    Do a single step of the processor (normally execute the next instruction).

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addMemory(baseAddress: Long, memory: Memory): Unit

    Adds a memory area to this processor.

    Adds a memory area to this processor. The memory has a base address (the lowest address handled by this processor).

    baseAddress

    the base address of the memory to add

    memory

    the memory to add

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. val descriptor: ProcessorDescriptor
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. val maxMemory: Long
  15. val memoryMap: Map[Long, Memory]

    The memory map of the processor.

  16. val name: String
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. val romName: String
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped