LMC ist eine weitere Simulation eines Rechners. Sie lässt sich online starten: http://www.peterhigginson.co.uk/LMC/ (opens new window)
- Der PROGRAM COUNTER beinhaltet zweistellige Zahlen (0 bis 99).
- Der ACCUMULATOR beinhaltet dreistellige Zahlen und ein Vorzeichen (-999 bis 999).
- Der OUTPUT beinhaltet Informationen in einer Liste (in zwei Kolonnen, Inhalt scrollt).
- Die INPUT-Instruktion erwartet nach der Eingabe einer Zahl noch ein ENTER.
Die erste Ziffer in einem vom Memory gelesenen Befehl gibt die Instruktion an («was ist zu tun»). Damit wir uns die Instruktion besser merken können, besitzt sie auch einen Kurznamen. Die zwei weiteren Ziffern beinhalten die Adresse, die mit der Instruktion verwendet wird.
Code | Name | Description |
---|---|---|
0 | HLT | Stop (Little Man has a rest). |
1 | ADD | Add the contents of the memory address to the Accumulator |
2 | SUB | Subtract the contents of the memory address from the Accumulator |
3 | STA or STO | Store the value in the Accumulator in the memory address given. |
4 | This code is unused and gives an error. | |
5 | LDA | Load the Accumulator with the contents of the memory address given |
6 | BRA | Branch - use the address given as the address of the next instruction |
7 | BRZ | Branch to the address given if the Accumulator is zero |
8 | BRP | Branch to the address given if the Accumulator is zero or positive |
9 | INP or OUT | Input or Output. Take from Input if address is 1, copy to Output if address is 2. |
9 | OTC | Output accumulator as a character if address is 22. (Non- standard instruction) |
DAT | Used to indicate a location that contains data. |
Aufgabe
Untersuchen Sie die eingebauten Beispielprogramme add
, max
, overwrite
, ascii table
- Lesen Sie die Erläuterung in der LMC-Help: http://www.peterhigginson.co.uk/LMC/help.html (opens new window)
- Spielen Sie die Programme langsam und schnell durch.
Aufgabe
Erstellen Sie ein Programm max3
, das drei Zahlen einliest und die grösste der drei Zahlen ausgibt.
Aufgabe
- Erstellen Sie einen «Bootloader»:
- Ein Programm, das so lange Zahlen einliest, bis die Zahl 0 eingegeben wird, die Zahlen der Reihe nach ab Adresse 30 in den Speicher füllt.
- Nach Eingabe der Zahl 0 soll das Programm zur Adresse 30 springen und dort mit der Programmausführung weiterfahren.
- Testen Sie den Bootloader, indem Sie über den Input das Programm
add
eingeben und ausführen lassen.