Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Justus

Junior Schreiberling

  • "Justus" is male
  • "Justus" started this thread

Posts: 152

Date of registration: Oct 16th 2004

Occupation: ich will auch mal Käptain sein!

1

Monday, November 13th 2006, 5:59pm

Der Befehl ISZ (Versuch 3)

Hi

Ich krieg es einfach nicht hin den Befahl ISZ zu realisieren. Zu zwar soll ich "Increment M(AD) and skip if zero".

Ich muss also erst den Wert aus der Adresse AD lesen. Da AD in MBR steht brauch ich schon mal zwei Zyklen.

t0 MAR <- MBR

t1 MBR <- RAM(MAR)

Danach muss ich den Wert um eins erhöhen. Mir ist kein anderer Weg eingefallen als das so zu machen.

t2 ALU <- MBR

t3 MBR <- ALU + 1

Noch muss ich den Wert ja noch speichern, ich habe aber alle vier Zyklen schon verbraucht. Was tun?

Dunkelbunt

Trainee

  • "Dunkelbunt" is female

Posts: 40

Date of registration: Oct 11th 2005

2

Monday, November 13th 2006, 9:56pm

Deine zwei Operationen in t2 und t3 sind eigentlich nur eine. Ein ALU-"Zugriff" funktioniert ähnlich wie´n Ram-Zugriff. (du legst den MBR-Inhalt ja nicht in der ALU ab, sondern schaltest ihn direkt durch; Ergebnis landet sofort in MBR)

t2 MBR <- (F(ALU)=...)+1

.. F(ALU) muss natürlich "MBR-Eingang auswählen" sein, ..musste nachgucken..