Befehl |
Code |
Funktion |
ld adr |
10 |
load: Lade
den Wert an der Adresse adr in den Akku |
ld val |
11 |
load: Lade
den Wert val in den Akku |
st adr |
12 |
store:
Speichere den Wert des Akku an der Adresse adr |
in adr |
20 |
input:
Schreibe den Wert des Eingaberegisters an die Adresse adr |
out adr |
22 |
output:
Schreibe den Wert an der Adresse adr ins Ausgaberegister |
out val |
23 |
output:
Schreibe den Wert val ins Ausgaberegister |
add adr |
30 |
add:
Addiere den Wert an der Adresse adr zum Akku |
add val |
31 |
add:
Addiere den Wert val zum Akku |
sub adr |
32 |
subtract:
Subtrahiere den Wert an der Adresse adr vom Akku |
sub val |
33 |
subtract:
Subtrahiere den Wert val vom Akku |
mul adr |
34 |
multiply:
Multipliziere den Wert an der Adresse adr mit dem Akku |
mul val |
35 |
multiply:
Multipliziere den Wert val mit dem Akku |
div adr |
36 |
divide:
Dividiere den Akku durch den Wert an der Adresse adr |
div val |
37 |
divide:
Dividiere den Akku durch den Wert val - nur ganzzahliger Teil |
mod adr |
38 |
modulo:
Rest bei Division des Akku durch den Wert an der Adresse adr |
mod val |
39 |
modulo:
Rest bei Division des Akku durch den Wert val |
cmp adr |
40 |
compare:
Vergleiche den Akkuinhalt mit dem Wert an der Adresse adr |
cmp val |
41 |
compare:
Vergleiche den Akkuinhalt mit dem Wert val |
jmp tar |
50 |
jump:
Springe zum Zielpunkt tar (Zeilennummer oder Marke) |
jlt tar |
52 |
jump if
less then: Springe ..., wenn bei cmp der Akkuinhalt kleiner war |
jeq tar |
54 |
jump if
equal: Springe ..., wenn bei cmp der Akkuinhalt gleich war |
jgt tar |
56 |
jump if
greater then: Springe ..., wenn bei cmp der Akkuinhalt größer war |
end |
60 |
end:
Beendet ein Programm |
- adr ist eine Adresse
- val bildet einen Wert ab
- der Akku ist das "Rechenregister" der CPU
- In und Out stellen die Ein- und Ausgabeports dar - hier können
Werte zur externen Verarbeitung abgeholt werden
- tar für "target" ist
das Ziel einer Sprunganweisung
|