|
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
|