Maschinennahe Programmierung

Maschinennahe Programmierung

Vorlesung: Maschinennahe Programmierung

6 ECTS

INHALT

Verständnis für

  • Begrifflichkeit,
  • Aufbau,
  • Funktionsweise,
  • Konzeption,
  • Kernproblematiken und -paradigmen,
  • wesentliche (Lösungs-)konzepte

der Programmiersprache C, des NASM-Assemblers und der strukturierten, systematischen Programmierung in Assembler.

Es wird insbesondere erlernt, ein in der Programmiersprache C geschriebenes Programm systematisch in ein NASM-Assemblerprogramm zu übersetzen; der ursprüngliche C-Programmcode erscheint letztlich als Kommentar im resultierenden Assemblerprogramm. Um dies zu erreichen, werden u.a. Übersetzungstemplates von C-Programmiersprachenkonstrukten in Assemblerbefehlssequenzen vermittelt.

VORLESUNGSUNTERLAGEN

Die Vorlesungsunterlagen (Übungszettel und Folienkopien) sind StudIP und hier zu finden.

VORLESUNG

Termin: donnerstags, 12:00 bis 14:00 Uhr in Hörsaal 3 (A14 1-103)

Beginn: 21. Oktober 2021

ÜBUNG

Es gibt eine Übungsgruppe.

Termin: freitags, 10:00 bis 12:00 Uhr in Raum A1 0-007

Beginn: 29. Oktober 2021

PRÜFUNG UND WIEDERHOLUNGSPRÜFUNG

Bitte beachten: Prüfungsanmeldung bis maximal eine Woche vor Prüfungstermin durch Eintragung in StudIP!

  - die Pruefung findet nach derzeitigem Stand in Präsenz

    entweder in der letzten Woche der Vorlesungszeit zum

    Übungstermin oder in der ersten Woche der

    vorlesungsfreien Zeit statt

LEISTUNGSNACHWEIS

Das Modul gilt als bestanden, wenn folgende Bedingung erfüllt ist:

  1. Mindestens 40% der in der Prüfung erzielbaren Punkte werden erreicht.

Die Gesamtnote errechnen sich in diesem Fall folgendermaßen:
Gesamtmodulnote = 4,0 -x (0 <= x <= 3; x ist leistungsabhängig).

LITERATUR

  • Brian W. Kernighan and Dennis M. Ritchie: The C Programming Language, 2nd Edition, Prentice Hall Software Series, ISBN 0-13-110362-8, 1988, 272 Seiten
  • Jeff Duntemann: Assembly Language Step by Step, 3rd Edition
    Wiley Publishing, Inc., ISBN 978-0-470-49702-9, 2009, 609 Seiten
(Stand: 11.10.2021)