hades.models.mcs4
Class AluRegion

java.lang.Object
  extended byhades.models.mcs4.AluRegion

class AluRegion
extends java.lang.Object

ALU-Bereich des 4004.


Field Summary
(package private) static int A_ADD_T
          Opcode f?r eine Addition von A und T.
(package private) static int A_SUB_T
          Opcode f?r eine Subtraktion von A und T.
(package private) static int DECIMAL_ADJUST
          Opcode f?r ein Decimal Adjust des Akkumulators.
(package private) static int ROL
          Opcode f?r eine Linksrotation des Akkumulators.
(package private) static int ROR
          Opcode f?r eine Rechtsrotation des Akkumulators.
 
Constructor Summary
(package private) AluRegion()
           
 
Method Summary
(package private)  void calculate(int opCode)
          F?hrt eine Berechnung in der ALU durch.
(package private)  void elaborate()
          Initialisiert den ALU-Bereich.
(package private)  i4004InternalReg getAccu()
          Gibt den Akkumulator zur?ck.
(package private)  i4004InternalReg getCarry()
          Gibt das Carry-Flag zur?ck.
(package private)  i4004InternalReg getResult()
          Gibt den Output der ALU zur?ck.
(package private)  i4004InternalReg getTempReg()
          Gibt das TempRegister zur?ck.
(package private)  boolean isCarrySet()
          Gibt an, ob das Carry-Flag gesetzt ist.
(package private)  void setAccu(long data)
          Setzt den Inhalt des Akkumulators.
(package private)  void setCarry(long data)
          Setzt den Inhalt des Carry-Flags.
(package private)  void setTempReg(long data)
          Setzt den Inhalt des TempRegisters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

A_ADD_T

static final int A_ADD_T
Opcode f?r eine Addition von A und T. Carry wird ber?cksichtigt.

See Also:
Constant Field Values

A_SUB_T

static final int A_SUB_T
Opcode f?r eine Subtraktion von A und T. Borrow wird ber?cksichtigt.

See Also:
Constant Field Values

ROL

static final int ROL
Opcode f?r eine Linksrotation des Akkumulators. Carry wird ber?cksichtigt.

See Also:
Constant Field Values

ROR

static final int ROR
Opcode f?r eine Rechtsrotation des Akkumulators. Carry wird ber?cksichtigt.

See Also:
Constant Field Values

DECIMAL_ADJUST

static final int DECIMAL_ADJUST
Opcode f?r ein Decimal Adjust des Akkumulators.

See Also:
Constant Field Values
Constructor Detail

AluRegion

AluRegion()
Method Detail

elaborate

void elaborate()
Initialisiert den ALU-Bereich. L?scht das Carry-Flag.


setAccu

void setAccu(long data)
Setzt den Inhalt des Akkumulators.

Parameters:
data - Neuer Inhalt

setTempReg

void setTempReg(long data)
Setzt den Inhalt des TempRegisters.

Parameters:
data - Neuer Inhalt

setCarry

void setCarry(long data)
Setzt den Inhalt des Carry-Flags.

Parameters:
data - Neuer Inhalt

getResult

i4004InternalReg getResult()
Gibt den Output der ALU zur?ck.

Returns:
Register mit Output

getAccu

i4004InternalReg getAccu()
Gibt den Akkumulator zur?ck.

Returns:
Register mit Akku-Inhalt

getTempReg

i4004InternalReg getTempReg()
Gibt das TempRegister zur?ck.

Returns:
Register mit Inhalt des TempRegisters

getCarry

i4004InternalReg getCarry()
Gibt das Carry-Flag zur?ck.

Returns:
Register mit Carry-Flag

isCarrySet

boolean isCarrySet()
Gibt an, ob das Carry-Flag gesetzt ist.

Returns:
true, falls ja

calculate

void calculate(int opCode)
F?hrt eine Berechnung in der ALU durch.

Parameters:
opCode - Operation