Logisim Cpu if ?

...komplette Frage anzeigen

1 Antwort

erstens kann eine Bedingung nur richtig oder falsch sein. Angenommen es soll bei richtig direkt dahinter weiter gehen, dann ist Programmzähler entsprechend zu setzen, dann folgt Programteil für Bedingung richtig und an dessen Ende ein Sprung zur Stelle hinter dem Teil für Bedingung = nein.

Bevor Alu zur Bedingungsprüfung verwendet wird, muss das Flagregister eindeutig sein, also kein Flag gesetzt sein. Flag darf erst nach Aluvergleich gesetzt sein und du musst passend das entsprechende Flag verwenden.

Welche Flags gibt es denn, üblich ist das Zeroflag, das Carryflag, das Overflowflag, das Negativflag und das Parityflag. Du solltest dir vorher im klaren sein, welches Flag zur Prüfung verwendet werden sollte, also welches Flag die Aluoperation setzt. Kenne deine CPU jetzt nicht, kann deswegen nichts näheres zu sagen. Richtig funktionieren kann es nur, wenn die Prüfbedingung eindeutig ein Flag setzt, das die Bedingung für den Programmzähler entsprechend setzt.

https://de.wikipedia.org/wiki/Statusregister

dirtbuilder 06.07.2017, 22:32

Danke ich gucke mahl ihn zu richten XD

0

Was möchtest Du wissen?