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.
Screenshot LMC

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

  1. Lesen Sie die Erläuterung in der LMC-Help: http://www.peterhigginson.co.uk/LMC/help.html (opens new window)
  2. 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

  1. 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.
  2. Testen Sie den Bootloader, indem Sie über den Input das Programm add eingeben und ausführen lassen.
Letzte Änderung: 10.3.2021, 11:48:41