![]() |
PrakSIS - Praktika-Studenten-Informations-System für das Praktikum "DV-Anwendungen in der Technik" |
|
Informationen Praktikumsversuche Labore Kurse&Termine Anmeldung Neues Benutzerkonto | ||
Auswahlhinweise Nach Themen Nach Laboren |
Versuchsbeschreibung: | nicht angemeldet |
Versuch: "C-Verbindung mit Assembler (Linker)" im Labor "Prozeßrechentechnik" (G215) Betriebssystem: Unix oder VxWorks Aufgabenstellung ================ Schreiben Sie für VxWorks oder Unix ein C-Programm, das seine Aufruf-Argumente (argv[i]) zentriert auf dem Bildschirm darstellt. Verwenden Sie dabei ein getrennt übersetztes Assemblerprogramm, welches an einer angegebenen Bildschirmkoordinate einen angegebenen Text darstellt: putxy(zeile,spalte,string) int zeile,spalte; char *string; "putxy" löscht den Bildschirm, wenn "string" ein Null-Pointer ist. Ansonsten gibt "putxy" die Steuerzeichenfolge zur Cusorpositionierung "HOME" aus und steuert dann den Cursor "zeile"-mal nach unten und "spalte"-mal nach rechts. Danach wird der Nutztext, auf dessen Anfang der Pointer "string" zeigt, ausgegeben. Verwenden Sie lokale Variable, mit/ohne Schlüsselwort "register". VxWorks: Wie kann das Programm anstelle mit argv[] parametrisiert werden? VxWorks: Übersetzen Sie die Routinen einzeln und laden Sie sie einzeln. Verfolgen Sie in beiden Fällen den Programmlauf im Debugger. Betrachten und erklären Sie die Assemblerumsetzung des Compilers (Assemblerlisting des C-Programms). Kolloquium ========== Erklären Sie die Parameter-Übergabe und Mechanismus der link/unlink - Systematik bei Funktionsaufrufen des C-Compilers (Assembler-Listing des C-Programms). Wie wirkt das Schlüsselwort "register"? Vorbereitung ============ ESC-Folgen für Terminals: Home: Clear: Cursor down: Cursor right: VT52 (Atari) ESC H ESC J ESC B ESC C VT100 (NCD) ESC [ 1 ; 1 H ESC [ J ESC [ B ESC [ C Ampex 0x1F 0x1A 0x16 0x0C |