Die Hardwareentwicklungen moderner Prozessoren hat große Fortschritte gemacht. Die Prozessoren sind schneller, ihre Register sind breiter und die Hardwareunterstützung für Betriebssysteme hat zugenommen.
Dennoch sind die grundlegenden Techniken der maschinennahen Programmierung dieselben geblieben. Diese bilden den Schwerpunkt dieses Buches, welches in der 2., durchgesehenen und verbesserten Auflage vorliegt. Was hier anhand zweier prototypischer Vertreter der Prozessor-Architekturlinien von INTEL und MOTOROLA gezeigt wird, lässt sich problemlos auf die modernen Prozessoren übertragen.
Ausgehend von Pascal behandelt dieses Werk die systematische Umsetzung von Hochsprachenkonstrukten auf Maschinenebene. Damit verbunden ist die generelle Verwendung der Hochsprache als Kommentar in den zahlreichen Assemblerprogrammen. Es wird ein guter Einblick in die Codeerzeugung von Übersetzern geschaffen. Weiterhin werden die Grundlagen für das Verständnis der Systemprogrammierung an der Hardware- und Softwareschnittstelle solide und verständlich vermittelt.
Auflage
2., durchges. und verb. Auflage 2001
Sprache
Verlagsort
Verlagsgruppe
Zielgruppe
Für Beruf und Forschung
Upper undergraduate
Editions-Typ
Illustrationen
Maße
Höhe: 244 mm
Breite: 170 mm
Dicke: 15 mm
Gewicht
ISBN-13
978-3-528-15590-2 (9783528155902)
DOI
10.1007/978-3-322-87276-0
Schweitzer Klassifikation
Peter Kammerer war bis zu seiner Emeritierung Professor für Betriebssysteme an der Technischen Universität Darmstadt.
1 Einleitung.- 1.1 Einsatzgebiete maschinennaher Programmierung.- 1.2 Die Entwicklungsgeschichte elektronischer Rechner.- 2 Darstellung von Informationen.- 2.1 Datenformate.- 2.2 Zahlensysteme und Arithmetik.- 2.3 Kodierung von Informationen.- 3 Rechnerorganisation.- 3.1 Aufbau und Struktur von Rechnern.- 3.2 Speicherorganisation.- 3.3 Modell des Rechnerkerns.- 3.4 Kodierung von Befehlen.- 3.5 Operandenarten und Adressierungsmodi.- 3.6 Adressierungsmodi bei Operanden.- 3.7 Zugriff zum Speicher.- 3.8 Sprungbefehle.- 3.9 Bedingte Sprünge.- 4 Prozessorarchitekturen.- 4.1 Intel 8086.- 4.2 Motorola 68000.- 5 Assembler.- 5.1 Assemblersprache.- 5.2 Intel-Assembler.- 5.3 Motorola-Assembler.- 6 Arithmetischer Ausdruck.- 6.1 Linearisierung des Baumes.- 6.2 Auswertung mittels Stapel.- 6.3 Intel: Arithmetik-Befehle und Stapelzugriff.- 6.4 Motorola: Arithmetik-Befehle und Stapelzugriff.- 6.5 Motorola-Programme zur Auswertung arithmetischer Ausdrücke.- 7 Bedingte Anweisungen.- 7.1 Optimale Auswertung Boolescher Ausdrücke.- 7.2 Programmbeispiele zu bedingten Anweisungen.- 8 Fallanweisungen.- 8.1 Intel-Programmbeispiele für Fallanweisung.- 8.2 Motorola-Programmbeispiele für Fallanweisung.- 9 Speicherabbildung von Datentypen.- 9.1 Reihungen (array).- 9.2 Verbunde (record).- 10 Schleifen.- 10.1 Intel: Programmbeispiele zu Schleifen.- 10.2 Motorola: Programmbeispiele zu Schleifen.- 11 Unterprogramme.- 11.1 Prozeduren.- 11.2 Programmbeispiele zu Prozeduren.- 11.3 Rekursive Prozeduren.- 12 Dynamische Variable und Zeiger.- 12.1 Zeigervariable.- 12.2 Beispiel: lineare Liste.- 13 Unterbrechungen.- 13.1 Intel: Unterbrechungen.- 13.2 Motorola: Unterbrechungen.- 14 Ein-/Ausgabe.- 14.1 Beispiel zur Ein-/Ausgabe.- 14.2 Intel-Programmbeispiele.- 14.3 Motorola-Programmbeispiele.- AZeichensätze.- B Literaturverzeichnis.- C Sachwortverzeichnis.