edu.usp.ime.hipo.hipomachine
Class HipoProcessor

java.lang.Object
  extended by edu.usp.ime.hipo.core.Processor
      extended by edu.usp.ime.hipo.hipomachine.HipoProcessor

public class HipoProcessor
extends Processor

Representa o Processador HIPO

Author:
Rafael Crivellari Saliba Schouery (schouery@gmail.com)

Field Summary
private  MemoryCell accumulator
          O acumulador.
private  HipoInstructionFactory factory
          A f?
private  int IAR
          Indica a posi??
private  MemoryCell selectedMemoryCell
          A c?
 
Constructor Summary
HipoProcessor(Memory memory, In in, Out out)
          Cria um novo processador, definindo a mem?
 
Method Summary
 void begin(int pos)
          Come?
 boolean decode(MemoryCell mc)
          Descobre qual instru??
 MemoryCell getAccumulator()
           
 HipoInstructionFactory getFactory()
           
 int getIAR()
           
 MemoryCell getSelectedMemoryCell()
           
 void setAccumulator(MemoryCell accumulator)
           
 void setFactory(HipoInstructionFactory factory)
           
 void setIAR(int IAR)
           
 void setSelectedMemoryCell(MemoryCell selectedMemoryCell)
           
 
Methods inherited from class edu.usp.ime.hipo.core.Processor
executeCurrentInstruction, getCurrentInstruction, getIn, getMemory, getOut, isExecuting, setCurrentInstruction, setExecuting, setIn, setMemory, setOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IAR

private int IAR
Indica a posi??o atual do registrador de endre?o de instru??es, ou seja, a posi??o de mem?ria a ser executada em seguida


selectedMemoryCell

private MemoryCell selectedMemoryCell
A c?lula de mem?ria atualmente selecionada.


accumulator

private MemoryCell accumulator
O acumulador.


factory

private HipoInstructionFactory factory
A f?brica que gera as instru??es a serem executadas.

Constructor Detail

HipoProcessor

public HipoProcessor(Memory memory,
                     In in,
                     Out out)
Cria um novo processador, definindo a mem?ria, a entrada e a sa?da

Parameters:
memory - A mem?ria a ser usada
in - A entrada a ser usada
out - A sa?da a ser usada
Method Detail

begin

public void begin(int pos)
Come?a executar o programa

Parameters:
pos - A posi??o inicial do IAR

decode

public boolean decode(MemoryCell mc)
Descobre qual instru??o a ser executada

Parameters:
mc - A mem?ria a ser analisada
Returns:
True se consiguiu decodificar

getAccumulator

public MemoryCell getAccumulator()

setAccumulator

public void setAccumulator(MemoryCell accumulator)

getIAR

public int getIAR()

setIAR

public void setIAR(int IAR)

getSelectedMemoryCell

public MemoryCell getSelectedMemoryCell()

setSelectedMemoryCell

public void setSelectedMemoryCell(MemoryCell selectedMemoryCell)

getFactory

public HipoInstructionFactory getFactory()

setFactory

public void setFactory(HipoInstructionFactory factory)