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: dienstags, 10:00 bis 12:00 Uhr per Videokonferenz in StudIP; Konferenzraum siehe unter dem Reiter "Meetings" des StudIP-Auftritts.

Beginn: 20. Oktober 2020

ÜBUNG

Es gibt eine Übungsgruppe.

Termin: freitags, 08:00 bis 10:00 Uhr per Videokonferenz in StudIP; Konferenzraum siehe unter dem Reiter "Meetings" des StudIP-Auftritts.

Beginn: 30. Oktober 2020

PRÜFUNG UND WIEDERHOLUNGSPRÜFUNG

Bitte beachten: Prüfungsanmeldung bis maximal eine Woche vor Prüfungstermin!

Achtung: Änderungen im Püfungsablauf:

  nachdem der uni-interne Lockdown nun bis zum 31.3.2021 verlaendert
  worden ist - und damit i.d.R.auch die Moeglichkeit,
  Praesenzklausuren durchzufuehren - hat dies verschiedene
  Auswirkungen auf die Modulabschlusspruefung des Moduls
  "Maschienennahe Progrsmmierung". Diese sind wie folgt:

  1) die angesetzte Praesenzklausur am 12.2.2021 findet *nicht* statt. 
     Studierende, die sich fuer diese Klausur bereits angemeldet
     haben, bitte ich - der Einfachheit halber - sich eigenstaendig
     aus dieser Pruefung wieder auszutragen.

  2) die angesetzte Praesenzklausur am 25.3.2021 (vormals als Nachhol-
     oder Wiederholungsklausur bezeichnet) findet so ebenfalls nicht
     statt (siehe Punkt 3)

  3) am *25.3.2021* in der Zeit von 10:00 bis 12:00 Uhr bieten wir
     eine *Online-Klausur* (mit 90 Minuten Bearbeitungzeit) an. Wenn
     Sie an dieser Klausur teilnehmen moechten, dann tragen Sie sich
     ueber StudIP in diese Pruefung ein
(ggf. warten Sie ab heutigem
     Datum (29.1.2021) noch eine Woche, um dem Pruefungsamt Zeit zu
     geben,  ggf. notwendige Aenderungen im Pruefungsmanagement in
     StudIP einzugeben).

  4) ggf. haben Sie noch nie an einer Online-Klausur teilgenommen;
     auch fur uns als Veranstalter ist das eine neue Situation. Damit
     wir die Ablaeufe gemeinsam trainieren koennen, bieten wir ein
     oder zwei Wochen vor dem 25.3.2021 eine kurze Online-Test-Klausur
     an, an der Sie teilnehmen koennen, aber natuerlich nicht muessen.
     Es geht dabei nur darum, die technischen Ablaeufe und einige
     Aufgabentypen, so wie sie StupIP fuer Online-Klausuren vorhaelt,
     stressfrei kennenzulernen. Ihre Testklausurteilnahme hat keine
     Auswirkungen auf Ihre letztendliche Modulnote. Wie genau Sie an
     der Testklausur teilnehmen koennen und wann sie stattfindet, werden
     wir Ihnen rechtzeitig mitteilen.

  5) Ob und wann es eine Wiederholungs-Online-Klausur o.ae. geben
     wird, steht derzeit noch nicht fest. Wir gehen derzeit davon aus,
     dass eine Wiederholungspruefung nicht notwendig sein wird.

Die Prüfung zum Modul "Maschinennahe Programmierung" findet am 12. Februar 2021 von 09:30 bis 11:00 in Raum A5 0-056 statt (Einlass: 09:00 Uhr, Ende der Desinfektionsmassnahmen etc.: 12:00 Uhr). Bitte melden Sie sich bis 5. Februar 2021 per StudIP zur Klausur an.

Vorzugsweise findet sie als Präsenzklausur statt. Ggf. wird aufgrund der aktuellen Lage kurzfristig auf eine alternative Prüfungsform ausgewichen. Eine entsprechende Entscheidung trifft der Veranstalter, und sie wird rechtzeitig kommuniziert.

Die Wiederholungsprüfung findet am 25. März 2021 von 09:30 Uhr bis 11:00 Uhr in Raum A5 0-056 statt (Einlass: 09:00 Uhr, Ende der Desinfektionsmassnahmen etc.: 12:00 Uhr), ebenfalls vorzugsweise als Präsenzklausur. Bitte melden Sie sich ab dem 13. Februar 2021 bis spätestens 17. März 2021 zur Wiederholungsklausur an.

Sollte die aktuelle Lage dies nicht zulassen, wird auf eine alternative Prüfungsform ausgewichen. Eine entsprechende Entscheidung trifft der Veranstalter, und sie wird rechtzeitig kommuniziert.

Zu beiden Klausuren sind Hilfsmittel jenseits einen Stiftes nicht zugelassen.  Ein Ausnahme bildet eine Zusammenfassung der Maschinenbefehle, die den Teilnehmern im Vorfeld zukommt (Näheres in der Vorlesung).

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: 29.01.2021)