LocalazyLocalazy
LC-3 ist eine Low-Level-Programmiersprache für den Informatikunterricht. Sie wurde von Dr. Joel Adams und Dr. Sanjay Patel am Calvin College entwickelt. LC-3 basiert auf dem Little Computer 3 (LC-3), einem 16-Bit-Mikroprozessor, der 1985 von James L. Peterson entwickelt wurde. Der LC-3 ist eine beliebte Wahl für den Informatikunterricht, da er einfach genug ist, um von den Schülern leicht verstanden zu werden, aber dennoch in der Lage ist, komplexe Programme auszuführen. Der LC-3-Befehlssatz umfasst etwas mehr als 50 Befehle, die einfach genug sind, um in Hardware implementiert zu werden, ohne dass ein Mikrocode-ROM erforderlich ist. Dadurch ist der LC-3 einfach zu entwerfen und zu bauen und auch leicht zu unterrichten. LC-3 ist eine Assemblersprache, was bedeutet, dass Programme in einem Texteditor geschrieben und dann in Maschinencode assembliert werden, der dann auf dem LC-3 ausgeführt werden kann. Assemblersprache ist eine Low-Level-Programmiersprache, was bedeutet, dass sie dem Maschinencode, den das LC-3 ausführt, sehr ähnlich ist. Das macht es einfach zu verstehen, was das LC-3 tut, aber es macht es auch schwierig, komplexe Programme zu schreiben. LC-3 ist eine von-Neumann-Architektur, was bedeutet, dass es einen einzigen gemeinsamen Speicherbereich für Code und Daten hat. Das macht es einfach, Programme zu schreiben, die sich selbst verändern, aber es macht es auch schwierig, Programme zu schreiben, die auf mehrere Speicher zugreifen müssen. LC-3 ist eine Harvard-Architektur, was bedeutet, dass es getrennte Speicherbereiche für Code und Daten hat. Das macht es einfach, Programme zu schreiben, die auf mehrere Speicher zugreifen, aber es macht es auch schwierig, Programme zu schreiben, die sich selbst verändern. LC-3 ist eine RISC-Architektur, was bedeutet, dass es eine kleine Anzahl von Anweisungen hat, die sehr schnell ausgeführt werden. Das macht den LC-3 schnell, aber es macht es auch schwierig, Programme zu schreiben, die komplexe Operationen ausführen müssen. LC-3 ist eine CISC-Architektur, was bedeutet, dass es eine große Anzahl von Befehlen hat, die langsam ausgeführt werden. Dies macht den LC-3 langsam, aber es macht es auch einfach, Programme zu schreiben, die komplexe Operationen ausführen müssen. LC-3 ist ein 8-Bit-Mikroprozessor, d. h. er kann 8-Bit-Zahlen speichern und verarbeiten. Dadurch ist der LC-3 in der Größe der Zahlen, die er speichern und verarbeiten kann, begrenzt, aber er macht es auch einfach, mit Bytes von Daten zu arbeiten. LC-3 ist ein 16-Bit-Mikroprozessor, d. h. er kann 16-Bit-Zahlen speichern und verarbeiten. Dadurch ist der LC-3 in der Größe der Zahlen, die er speichern und verarbeiten kann, begrenzt, aber er macht es auch einfach, mit Daten in Worten zu arbeiten. LC-3 ist ein 32-Bit-Mikroprozessor, d. h. er kann 32-Bit-Zahlen speichern und verarbeiten. Dadurch ist der LC-3 in der Größe der Zahlen, die er speichern und verarbeiten kann, begrenzt, aber er macht es auch einfach, mit Doppelwörtern von Daten zu arbeiten. Das LC-3 hat eine kleine Anzahl von Registern, die zum Speichern von Daten und Speicheradressen verwendet werden. Das LC-3 hat acht Allzweckregister, die zum Speichern von Daten verwendet werden können. Das LC-3 verfügt außerdem über zwei Spezialregister, die zum Speichern von Speicheradressen verwendet werden. Das LC-3 hat eine begrenzte Anzahl von Adressierungsmodi, die zur Berechnung von Speicheradressen verwendet werden. Das LC-3 hat fünf Adressierungsmodi: Sofort, Register direkt, Register indirekt, Auto-Inkrement und Auto-Dekrement. Das LC-3 hat einen begrenzten Befehlssatz, d.h. einen kleinen Satz von Befehlen, die vom LC-3 ausgeführt werden können. Das LC-3 hat etwas mehr als 50 Befehle, die einfach genug sind, um in Hardware implementiert zu werden, ohne dass ein Microcode-ROM erforderlich ist. Der LC-3 ist ein einfacher Mikroprozessor, der leicht zu verstehen und zu lehren ist. Der LC-3 ist außerdem schnell und in der Lage, komplexe Programme auszuführen.