Mikrobefehle2
Bedeutung → Befehl
Wert aus RAM (Zelle wie im AB festgelegt) auf DB
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Wert aus DB in RAM (Zelle wie im AB festgelegt)
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Wert von DB in INS
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Zerlege den Befehl in Befehlsnummer und Adresse und springe zum ersten Mikrobefehl der Befehlsnummer
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Zerlege den Befehl in Befehlsnummer und Adresse und schreibe die Adresse auf den AB
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Zerlege den Befehl in Befehlsnummer und Adresse und schreibe die Adresse in PC
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Wert aus PC (program counter) auf AB (address bus)
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Erhöhe den PC um 1, falls Akku = 0
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Erhöhe den PC um 1
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Setze den Mikrobefehlszähler zurück
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Setze den Akku auf 0
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Erhöhe den Akku um 1 (maximal 19999)
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Vermindere den Akku um 1 (minimal 0)
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Erhöhe den Akku um Wert auf DB (maximal 19999)
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Vermindere den Akku um Wert auf DB (minimal 0)
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Schreibe Wert von DB in Akku
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Schreibe Wert von Akku auf DB
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Programm endet
0=:pc++
acc--
acc → db
acc:=0
acc++
db → acc
db → ins
db → ram
ins → ab
ins → mc
ins → pc
mc:=0
minus
pc → ab
pc++
plus
ram → db
stop
Check
OK