From 5a94ad1f5af0a073e1b9ecaa656aea1840092797 Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Tue, 22 Jan 2019 22:01:51 +0100 Subject: [PATCH] =?UTF-8?q?Beispiel-Programme=2021.1.2019,=20Musterl=C3=B6?= =?UTF-8?q?sung=2019.11.2018?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 20181119/hp-musterloesung-20181119.pdf | Bin 0 -> 72603 bytes 20181119/hp-musterloesung-20181119.tex | 329 +++++++++++++++++++++++++ 20190121/fifo-1.c | 31 +++ 20190121/fifo-2.c | 31 +++ 20190121/fifo-3.c | 32 +++ 20190121/fifo-4.c | 30 +++ 20190121/fifo-5.c | 32 +++ 20190121/fifo-6.c | 33 +++ 20190121/fifo-7.c | 35 +++ 20190121/fifo-8.c | 50 ++++ 20190121/fifo-9.c | 55 +++++ 20190121/lists-1.c | 12 + 20190121/lists-2.c | 12 + 20190121/lists-3.c | 21 ++ 20190121/lists-4.c | 25 ++ 20190121/lists-5.c | 29 +++ 20190121/stack-0.c | 21 ++ 20190121/stack-1.c | 28 +++ 20190121/stack-1.s | 73 ++++++ 20190121/stack-2.c | 27 ++ 20190121/stack-2.s | 73 ++++++ 20190121/stack-3.c | 28 +++ 20190121/stack-4.c | 27 ++ 20190121/stack-5.c | 40 +++ 20190121/stack-6.c | 39 +++ 20190121/stack-7.c | 39 +++ 26 files changed, 1152 insertions(+) create mode 100644 20181119/hp-musterloesung-20181119.pdf create mode 100644 20181119/hp-musterloesung-20181119.tex create mode 100644 20190121/fifo-1.c create mode 100644 20190121/fifo-2.c create mode 100644 20190121/fifo-3.c create mode 100644 20190121/fifo-4.c create mode 100644 20190121/fifo-5.c create mode 100644 20190121/fifo-6.c create mode 100644 20190121/fifo-7.c create mode 100644 20190121/fifo-8.c create mode 100644 20190121/fifo-9.c create mode 100644 20190121/lists-1.c create mode 100644 20190121/lists-2.c create mode 100644 20190121/lists-3.c create mode 100644 20190121/lists-4.c create mode 100644 20190121/lists-5.c create mode 100644 20190121/stack-0.c create mode 100644 20190121/stack-1.c create mode 100644 20190121/stack-1.s create mode 100644 20190121/stack-2.c create mode 100644 20190121/stack-2.s create mode 100644 20190121/stack-3.c create mode 100644 20190121/stack-4.c create mode 100644 20190121/stack-5.c create mode 100644 20190121/stack-6.c create mode 100644 20190121/stack-7.c diff --git a/20181119/hp-musterloesung-20181119.pdf b/20181119/hp-musterloesung-20181119.pdf new file mode 100644 index 0000000000000000000000000000000000000000..84aa7860ad17a31227ae228b2413c74985f57ae6 GIT binary patch literal 72603 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 literal 0 HcmV?d00001 diff --git a/20181119/hp-musterloesung-20181119.tex b/20181119/hp-musterloesung-20181119.tex new file mode 100644 index 0000000..4e44498 --- /dev/null +++ b/20181119/hp-musterloesung-20181119.tex @@ -0,0 +1,329 @@ +% hp-musterloesung-20181112.pdf - Solutions to the Exercises on Low-Level Programming / Applied Computer Sciences +% Copyright (C) 2013, 2015, 2016, 2017, 2018 Peter Gerwinski +% +% This document is free software: you can redistribute it and/or +% modify it either under the terms of the Creative Commons +% Attribution-ShareAlike 3.0 License, or under the terms of the +% GNU General Public License as published by the Free Software +% Foundation, either version 3 of the License, or (at your option) +% any later version. +% +% This document is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this document. If not, see <http://www.gnu.org/licenses/>. +% +% You should have received a copy of the Creative Commons +% Attribution-ShareAlike 3.0 Unported License along with this +% document. If not, see <http://creativecommons.org/licenses/>. + +% README: Arrays mit Zahlen, hüpfender Ball + +\documentclass[a4paper]{article} + +\usepackage{pgscript} +\usepackage{gnuplot-lua-tikz} + +\begin{document} + + \section*{Hardwarenahe Programmierung\\ + Musterlösung zu den Übungsaufgaben -- 19.\ November 2018} + + \exercise{Arrays mit Zahlen} + + \begin{minipage}[t]{0.5\textwidth} + Wir betrachten das folgende Programm\\ + (Datei: \gitfile{hp}{20181119}{aufgabe-1.c}): + \begin{lstlisting}[gobble=6] + #include <stdio.h> + + void f (int *s0, int *s1) + { + while (*s0 >= 0) + { + int *s = s1; + while (*s >= 0) + if (*s0 == *s++) + printf ("%d ", *s0); + s0++; + } + printf ("\n"); + } + + int main (void) + { + int a[] = { 10, 4, 3, 7, 12, 0, 1, -1 }; + int b[] = { 7, 14, 0, 8, 9, 22, 10, -1 }; + f (a, b); + return 0; + } + \end{lstlisting} + \end{minipage}\hfill + \begin{minipage}[t]{0.5\textwidth} + \vspace*{-\bigskipamount} + \begin{enumerate}[\quad(a)] + \item + Was bewirkt die Funktion \lstinline{f},\\ + und wie funktioniert sie? + \points{4} +% \item +% Von welcher Ordnung (Landau-Symbol) ist die Funktion und warum? +% +% Wir beziehen uns hierbei auf die Anzahl der Vergleiche +% in Abhängigkeit von der Länge der Eingabedaten \lstinline{s0} und \lstinline{s1}. +% Für die Rechnung dürfen Sie beide Längen mit $n$ gleichsetzen, +% obwohl sie normalerweise nicht gleich sind. +% \points{2} + \item + Was passiert, wenn Sie beim Aufruf der Funktion für einen der + Parameter den Wert \lstinline{NULL} übergeben und warum? + \points{2} + \item + Was kann passieren, wenn Sie das Hauptprogramm wie folgt abändern + (\gitfile{hp}{20181119}{aufgabe-1d.c}) und warum? + \begin{lstlisting}[gobble=8] + int main (void) + { + int a[] = { 10, 4, 3, 7, 12, 0, 1 }; + int b[] = { 7, 14, 0, 8, 9, 22, 10 }; + f (a, b); + return 0; + } + \end{lstlisting} + \points{2} +% \item +% Beschreiben Sie -- in Worten und/oder als C-Quelltext --, wie +% sich die Funktion \lstinline{f} effizienter gestalten läßt, +% wenn man die ihr übergebenen Arrays \lstinline{s0} und +% \lstinline{s1} als sortiert voraussetzt. +% \points{5} +% +% Hinweis: Wie würden Sie als Mensch die Aufgabe erledigen? +% \item +% Von welcher +% Ordnung (Landau-Symbol) ist Ihre effizientere Version der Funktion und warum? +% \points{2} + \end{enumerate} + \end{minipage} + + \solution + + \begin{enumerate}[\quad(a)] + \item + \textbf{Was bewirkt die Funktion \lstinline{f} und wie funktioniert sie?} + + Die Funktion gibt alle Zahlen aus, die sowohl im Array \lstinline{s0} + als auch im Array \lstinline{s1} vorkommen (Schnittmenge). + + Dies geschieht, indem der Zeiger \lstinline{s0} das gesamte Array durchläuft + (äußere Schleife). + Für jedes Element des ersten Arrays durchläuft der Zeiger \lstinline{s} + das gesamte zweite Array (innere Schleife). + Auf diese Weise wird jedes Element von \lstinline{s0} + mit jedem von \lstinline{s1} verglichen und bei Gleichheit ausgegeben. + + Um die Schleifen abbrechen zu können, enthalten beide Arrays + als Ende-Markierung eine negative Zahl (\lstinline{-1}). + + \item + \textbf{Was passiert, wenn Sie beim Aufruf der Funktion für einen der + Parameter den Wert \lstinline{NULL} übergeben und warum?} + + In dem Moment, wo auf den jeweiligen Parameter-Zeiger zugegriffen wird + (\lstinline{while (*s0 >= 0)} für \lstinline{s0} bzw.\ + \lstinline{int *s = s1; while (*s >= 0)} für \lstinline{s1}), + kommt es zu einem Absturz (Speicherzugriffsfehler). + Die Dereferenzierung eines Zeigers mit dem Wert \lstinline{NULL} + ist nicht zulässig. + + \item + \textbf{Was kann passieren, wenn Sie das Hauptprogramm wie folgt abändern + (\gitfile{hp}{20181119}{aufgabe-1d.c}) und warum?} + + \begin{minipage}{0.35\textwidth} + \begin{lstlisting}[gobble=10] + int main (void) + { + int a[] = { 10, 4, 3, 7, 12, 0, 1 }; + int b[] = { 7, 14, 0, 8, 9, 22, 10 }; + f (a, b); + return 0; + } + \end{lstlisting} + \end{minipage}\hfill + \begin{minipage}{0.575\textwidth} + Durch die fehlenden Ende-Markierungen der Arrays + laufen die Schleifen immer weiter, + bis sie irgendwann zufällig auf Speicherzellen stoßen, + die sich als Ende-Markierungen interpretieren lassen (negative Zahlen). + Dadurch kann es zu einem Lesezugriff auf Speicher kommen, + für den das Programm kein Lesezugriffsrecht hat, + also zu einem Absturz (Speicherzugriffsfehler). + \end{minipage} + \end{enumerate} + + \exercise{Fehlerhaftes Programm: Hüpfender Ball} + + Das auf der nächsten Seite abgedruckte GTK+-Programm + (Datei: \gitfile{hp}{20181119}{aufgabe-2.c}) soll einen + hüpfenden Ball darstellen, ist jedoch fehlerhaft. + + \begin{enumerate}[\quad(a)] + \item + Warum sieht man lediglich ein leeres Fenster? + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben? + \points{3} + \item + Nach der Fehlerbehebung in Aufgabenteil (a) + zeigt das Programm einen unbeweglichen Ball. + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben, und warum? + \points{2} + \item + Erklären Sie das merkwürdige Hüpfverhalten des Balls. + Wie kommt es zustande? + Was an diesem Verhalten ist korrekt, und was ist fehlerhaft? \points{5} + \item + Welche Befehle muß man in welcher Weise ändern, + um ein realistischeres Hüpf-Verhalten zu bekommen? \points{2} + \end{enumerate} + + Hinweis: Das Hinzuziehen von Beispiel-Programmen aus der Vorlesung + ist ausdrücklich erlaubt -- auch in der Klausur. + + Allgemeiner Hinweis: + Wenn Sie die Übungsaufgaben zu dieser Lehrveranstaltung + als PDF-Datei betrachten und darin auf die Dateinamen klicken, + können Sie die Beispiel-Programme direkt herunterladen. + Dadurch vermeiden Sie Übertragungsfehler. + + \solution + + \begin{enumerate}[\quad(a)] + \item + \textbf{Warum sieht man lediglich ein leeres Fenster? + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben?} + + Die für das Zeichnen zuständige Callback-Funktion wurde zwar geschrieben, + aber nicht installiert. + Um dies zu beheben, ergänze man den folgenden Befehl im Hauptprogramm: + + \lstinline{g_signal_connect (drawing_area, "draw", G_CALLBACK (draw), NULL);} + + Dies erkennt man sehr schnell durch Vergleich mit dem Beispiel-Programm + \gitfile{hp}{20181112}{gtk-13.c}. + + \item + \textbf{Nach der Fehlerbehebung in Aufgabenteil (a) + zeigt das Programm einen unbeweglichen Ball. + Welchen Befehl muß man ergänzen, um diesen Fehler zu beheben, und warum?} + + Die Timer-Callback-Funktion wurde zwar geschrieben, aber nicht installiert. + Um dies zu beheben, ergänze man den folgenden Befehl im Hauptprogramm: + + \lstinline{g_timeout_add (50, (GSourceFunc) timer, drawing_area);} + + Auch dies erkennt man sehr schnell durch Vergleich mit dem Beispiel-Programm + \gitfile{hp}{20181112}{gtk-13.c}. + + \item + \textbf{Erklären Sie das merkwürdige Hüpfverhalten des Balls. + Wie kommt es zustande? + Was an diesem Verhalten ist korrekt, und was ist fehlerhaft?} + + Die Geschwindigkeit in $y$-Richtung wächst immer weiter. + Der Grund dafür ist, daß die $y$-Komponente der Geschwindigkeit + nicht auf physikalisch sinnvolle Weise berechnet wird. + In der dafür zuständigen Zeile + \lstinline{vy = 0.5 * g * (t * t);} + wird stattdessen der Weg in $y$-Richtung bei einer gleichmäßig + beschleunigten Bewegung berechnet und als Geschwindigkeit verwendet. + + \item + \textbf{Welche Befehle muß man in welcher Weise ändern, + um ein realistischeres Hüpf-Verhalten zu bekommen?} + + Da der Ball am Boden abprallen soll, ist es \emph{nicht\/} sinnvoll, + die $y$-Komponente der Geschwindigkeit über die bekannte physikalische + Formel $v_y = -g\cdot t$ für die Geschwindigkeit in einer + gleichmäßig beschleunigten Bewegung zu berechnen. + + Stattdessen ist es sinnvoll, die \emph{Geschwindigkeitsänderung\/} + innerhalb des Zeitintervalls \lstinline{dt} + zur Geschwindigkeitskomponente zu addieren: + \lstinline{vy += g * dt;} + + Auch dies erkennt man sehr schnell durch Vergleich mit dem Beispiel-Programm + \gitfile{hp}{20181112}{gtk-13.c}. + \end{enumerate} + + \clearpage + + \vbox to \textheight{\vspace*{-0.5cm}\begin{lstlisting} + #include <gtk/gtk.h> + + #define WIDTH 320 + #define HEIGHT 240 + + double t = 0.0; + double dt = 0.2; + + int r = 5; + + double x = 10; + double y = 200; + double vx = 20; + double vy = -60; + double g = 9.81; + + gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data) + { + GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 }; + + gdk_cairo_set_source_rgba (c, &blue); + cairo_arc (c, x, y, r, 0, 2 * G_PI); + cairo_fill (c); + + return FALSE; + } + + gboolean timer (GtkWidget *widget) + { + t += dt; + x += vx * dt; + y += vy * dt; + vx = vx; + vy = 0.5 * g * (t * t); + if (y + r >= HEIGHT) + vy = -vy * 0.9; + if (x + r >= WIDTH) + vx = -vx * 0.9; + if (x - r <= 0) + vx = -vx * 0.9; + gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT); + g_timeout_add (50, (GSourceFunc) timer, widget); + return FALSE; + } + + int main (int argc, char **argv) + { + gtk_init (&argc, &argv); + + GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_show (window); + gtk_window_set_title (GTK_WINDOW (window), "Hello"); + g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); + + GtkWidget *drawing_area = gtk_drawing_area_new (); + gtk_widget_show (drawing_area); + gtk_container_add (GTK_CONTAINER (window), drawing_area); + gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT); + + gtk_main (); + return 0; + } + \end{lstlisting}\vss} + +\end{document} diff --git a/20190121/fifo-1.c b/20190121/fifo-1.c new file mode 100644 index 0000000..8bce6c0 --- /dev/null +++ b/20190121/fifo-1.c @@ -0,0 +1,31 @@ +#include <stdio.h> + +#define FIFO_SIZE 10 + +int fifo[FIFO_SIZE]; +int fifo_pointer = 0; + +void push (int x) +{ + fifo[fifo_pointer++] = x; +} + +int pop (void) +{ + return fifo[0]; + fifo[0] = fifo[1]; + fifo[1] = fifo[2]; + fifo[2] = fifo[3]; + /* ... */ +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/fifo-2.c b/20190121/fifo-2.c new file mode 100644 index 0000000..f955798 --- /dev/null +++ b/20190121/fifo-2.c @@ -0,0 +1,31 @@ +#include <stdio.h> + +#define FIFO_SIZE 10 + +int fifo[FIFO_SIZE]; +int fifo_pointer = 0; + +void push (int x) +{ + fifo[fifo_pointer++] = x; +} + +int pop (void) +{ + fifo[0] = fifo[1]; + fifo[1] = fifo[2]; + fifo[2] = fifo[3]; + /* ... */ + return fifo[0]; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/fifo-3.c b/20190121/fifo-3.c new file mode 100644 index 0000000..5214e1b --- /dev/null +++ b/20190121/fifo-3.c @@ -0,0 +1,32 @@ +#include <stdio.h> + +#define FIFO_SIZE 10 + +int fifo[FIFO_SIZE]; +int fifo_pointer = 0; + +void push (int x) +{ + fifo[fifo_pointer++] = x; +} + +int pop (void) +{ + int result = fifo[0]; + fifo[0] = fifo[1]; + fifo[1] = fifo[2]; + fifo[2] = fifo[3]; + /* ... */ + return result; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/fifo-4.c b/20190121/fifo-4.c new file mode 100644 index 0000000..957d5f1 --- /dev/null +++ b/20190121/fifo-4.c @@ -0,0 +1,30 @@ +#include <stdio.h> + +#define FIFO_SIZE 10 + +int fifo[FIFO_SIZE]; +int fifo_pointer = 0; + +void push (int x) +{ + fifo[fifo_pointer++] = x; +} + +int pop (void) +{ + int result = fifo[0]; + for (int i = 1; i < FIFO_SIZE; i++) + fifo[i - 1] = fifo[i]; + return result; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/fifo-5.c b/20190121/fifo-5.c new file mode 100644 index 0000000..092c1cd --- /dev/null +++ b/20190121/fifo-5.c @@ -0,0 +1,32 @@ +#include <stdio.h> + +#define FIFO_SIZE 10 + +int fifo[FIFO_SIZE]; +int fifo_pointer = 0; + +void push (int x) +{ + fifo[fifo_pointer++] = x; +} + +int pop (void) +{ + int result = fifo[0]; + for (int i = 1; i < FIFO_SIZE; i++) + fifo[i - 1] = fifo[i]; + return result; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + push (42); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/fifo-6.c b/20190121/fifo-6.c new file mode 100644 index 0000000..2f055d6 --- /dev/null +++ b/20190121/fifo-6.c @@ -0,0 +1,33 @@ +#include <stdio.h> + +#define FIFO_SIZE 10 + +int fifo[FIFO_SIZE]; +int fifo_pointer = 0; + +void push (int x) +{ + fifo[fifo_pointer++] = x; +} + +int pop (void) +{ + int result = fifo[0]; + for (int i = 1; i < FIFO_SIZE; i++) + fifo[i - 1] = fifo[i]; + fifo_pointer--; + return result; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + push (42); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/fifo-7.c b/20190121/fifo-7.c new file mode 100644 index 0000000..0d73911 --- /dev/null +++ b/20190121/fifo-7.c @@ -0,0 +1,35 @@ +#include <stdio.h> + +#define FIFO_SIZE 10 + +int fifo[FIFO_SIZE]; +int fifo_write_pointer = 0; +int fifo_read_pointer = 0; + +void push (int x) +{ + fifo[fifo_write_pointer++] = x; + if (fifo_write_pointer >= FIFO_SIZE) + fifo_write_pointer = 0; +} + +int pop (void) +{ + int result = fifo[fifo_read_pointer++]; + if (fifo_read_pointer >= FIFO_SIZE) + fifo_read_pointer = 0; + return result; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + push (42); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/fifo-8.c b/20190121/fifo-8.c new file mode 100644 index 0000000..b4ff687 --- /dev/null +++ b/20190121/fifo-8.c @@ -0,0 +1,50 @@ +#include <stdio.h> +#include <stdlib.h> + +#define FIFO_SIZE 10 + +int fifo[FIFO_SIZE]; +int fifo_write_pointer = 0; +int fifo_read_pointer = 0; + +void push (int x) +{ + fifo[fifo_write_pointer++] = x; + if (fifo_write_pointer >= FIFO_SIZE) + fifo_write_pointer = 0; + if (fifo_write_pointer == fifo_read_pointer) + { + fprintf (stderr, "fifo overflow\n"); + exit (1); + } +} + +int pop (void) +{ + if (fifo_read_pointer == fifo_write_pointer) + { + fprintf (stderr, "fifo underflow\n"); + exit (1); + } + else + { + int result = fifo[fifo_read_pointer++]; + if (fifo_read_pointer >= FIFO_SIZE) + fifo_read_pointer = 0; + return result; + } +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + push (42); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/fifo-9.c b/20190121/fifo-9.c new file mode 100644 index 0000000..27f7741 --- /dev/null +++ b/20190121/fifo-9.c @@ -0,0 +1,55 @@ +#include <stdio.h> +#include <stdlib.h> + +#define FIFO_SIZE 10 + +int fifo[FIFO_SIZE]; +int fifo_write_pointer = 0; +int fifo_read_pointer = 0; + +void push (int x) +{ + int old_fifo_write_pointer = fifo_write_pointer; + fifo_write_pointer++; + if (fifo_write_pointer >= FIFO_SIZE) + fifo_write_pointer = 0; + if (fifo_write_pointer == fifo_read_pointer) + { + fprintf (stderr, "fifo overflow\n"); + exit (1); + } + else + fifo[old_fifo_write_pointer] = x; +} + +int pop (void) +{ + if (fifo_read_pointer == fifo_write_pointer) + { + fprintf (stderr, "fifo underflow\n"); + exit (1); + } + else + { + int result = fifo[fifo_read_pointer++]; + if (fifo_read_pointer >= FIFO_SIZE) + fifo_read_pointer = 0; + return result; + } +} + +int main (void) +{ + push (3); + push (7); + push (137); + for (int i = 0; i < 42; i++) + push (i); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + push (42); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/lists-1.c b/20190121/lists-1.c new file mode 100644 index 0000000..a04067e --- /dev/null +++ b/20190121/lists-1.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +typedef struct +{ + int content; + node *next; +} node; + +int main (void) +{ + return 0; +} diff --git a/20190121/lists-2.c b/20190121/lists-2.c new file mode 100644 index 0000000..f27d1d5 --- /dev/null +++ b/20190121/lists-2.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +int main (void) +{ + return 0; +} diff --git a/20190121/lists-3.c b/20190121/lists-3.c new file mode 100644 index 0000000..9c90297 --- /dev/null +++ b/20190121/lists-3.c @@ -0,0 +1,21 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +int main (void) +{ + node node3 = { 3, NULL }; + node node7 = { 7, NULL }; + node node137 = { 137, NULL }; + + node *first = &node3; + + for (node *p = first; p; p = p->next) + printf ("%d\n", p->content); + + return 0; +} diff --git a/20190121/lists-4.c b/20190121/lists-4.c new file mode 100644 index 0000000..e048736 --- /dev/null +++ b/20190121/lists-4.c @@ -0,0 +1,25 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +int main (void) +{ + node node3 = { 3, NULL }; + node node7 = { 7, NULL }; + node node137 = { 137, NULL }; + + node3.next = &node7; + node7.next = &node137; + node137.next = NULL; + + node *first = &node3; + + for (node *p = first; p; p = p->next) + printf ("%d\n", p->content); + + return 0; +} diff --git a/20190121/lists-5.c b/20190121/lists-5.c new file mode 100644 index 0000000..a0cc620 --- /dev/null +++ b/20190121/lists-5.c @@ -0,0 +1,29 @@ +#include <stdio.h> + +typedef struct node +{ + int content; + struct node *next; +} node; + +int main (void) +{ + node node3 = { 3, NULL }; + node node7 = { 7, NULL }; + node node137 = { 137, NULL }; + + node3.next = &node7; + node7.next = &node137; + node137.next = NULL; + + node node5 = { 5, NULL }; + node5.next = node3.next; + node3.next = &node5; + + node *first = &node3; + + for (node *p = first; p; p = p->next) + printf ("%d\n", p->content); + + return 0; +} diff --git a/20190121/stack-0.c b/20190121/stack-0.c new file mode 100644 index 0000000..289aab7 --- /dev/null +++ b/20190121/stack-0.c @@ -0,0 +1,21 @@ +#include <stdio.h> + +void push (int x) +{ +} + +int pop (void) +{ + return 42; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/stack-1.c b/20190121/stack-1.c new file mode 100644 index 0000000..d1de6e0 --- /dev/null +++ b/20190121/stack-1.c @@ -0,0 +1,28 @@ +#include <stdio.h> + +#define STACK_SIZE 10 + +int stack[STACK_SIZE]; +int stack_pointer = 0; + +void push (int x) +{ + stack[stack_pointer] = x; + stack_pointer++; +} + +int pop (void) +{ + return 42; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/stack-1.s b/20190121/stack-1.s new file mode 100644 index 0000000..7cfe1cf --- /dev/null +++ b/20190121/stack-1.s @@ -0,0 +1,73 @@ + .file "stack-1.c" + .text + .globl push + .type push, @function +push: +.LFB11: + .cfi_startproc + movl stack_pointer(%rip), %eax + movslq %eax, %rcx + leaq stack(%rip), %rdx + movl %edi, (%rdx,%rcx,4) + addl $1, %eax + movl %eax, stack_pointer(%rip) + ret + .cfi_endproc +.LFE11: + .size push, .-push + .globl pop + .type pop, @function +pop: +.LFB12: + .cfi_startproc + movl $42, %eax + ret + .cfi_endproc +.LFE12: + .size pop, .-pop + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "%d\n" + .text + .globl main + .type main, @function +main: +.LFB13: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + movl $3, %edi + call push + movl $7, %edi + call push + movl $137, %edi + call push + movl $42, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $42, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $42, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $0, %eax + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE13: + .size main, .-main + .globl stack_pointer + .bss + .align 4 + .type stack_pointer, @object + .size stack_pointer, 4 +stack_pointer: + .zero 4 + .comm stack,40,32 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/20190121/stack-2.c b/20190121/stack-2.c new file mode 100644 index 0000000..20bed36 --- /dev/null +++ b/20190121/stack-2.c @@ -0,0 +1,27 @@ +#include <stdio.h> + +#define STACK_SIZE 10 + +int stack[STACK_SIZE]; +int stack_pointer = 0; + +void push (int x) +{ + stack[stack_pointer++] = x; +} + +int pop (void) +{ + return 42; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/stack-2.s b/20190121/stack-2.s new file mode 100644 index 0000000..80ecf1d --- /dev/null +++ b/20190121/stack-2.s @@ -0,0 +1,73 @@ + .file "stack-2.c" + .text + .globl push + .type push, @function +push: +.LFB11: + .cfi_startproc + movl stack_pointer(%rip), %eax + leal 1(%rax), %edx + movl %edx, stack_pointer(%rip) + cltq + leaq stack(%rip), %rdx + movl %edi, (%rdx,%rax,4) + ret + .cfi_endproc +.LFE11: + .size push, .-push + .globl pop + .type pop, @function +pop: +.LFB12: + .cfi_startproc + movl $42, %eax + ret + .cfi_endproc +.LFE12: + .size pop, .-pop + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "%d\n" + .text + .globl main + .type main, @function +main: +.LFB13: + .cfi_startproc + subq $8, %rsp + .cfi_def_cfa_offset 16 + movl $3, %edi + call push + movl $7, %edi + call push + movl $137, %edi + call push + movl $42, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $42, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $42, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $0, %eax + addq $8, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE13: + .size main, .-main + .globl stack_pointer + .bss + .align 4 + .type stack_pointer, @object + .size stack_pointer, 4 +stack_pointer: + .zero 4 + .comm stack,40,32 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/20190121/stack-3.c b/20190121/stack-3.c new file mode 100644 index 0000000..b20a444 --- /dev/null +++ b/20190121/stack-3.c @@ -0,0 +1,28 @@ +#include <stdio.h> + +#define STACK_SIZE 10 + +int stack[STACK_SIZE]; +int stack_pointer = 0; + +void push (int x) +{ + stack[stack_pointer++] = x; +} + +int pop (void) +{ + stack_pointer--; + return stack[stack_pointer]; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/stack-4.c b/20190121/stack-4.c new file mode 100644 index 0000000..0d738f9 --- /dev/null +++ b/20190121/stack-4.c @@ -0,0 +1,27 @@ +#include <stdio.h> + +#define STACK_SIZE 10 + +int stack[STACK_SIZE]; +int stack_pointer = 0; + +void push (int x) +{ + stack[stack_pointer++] = x; +} + +int pop (void) +{ + return stack[--stack_pointer]; +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/stack-5.c b/20190121/stack-5.c new file mode 100644 index 0000000..38a1872 --- /dev/null +++ b/20190121/stack-5.c @@ -0,0 +1,40 @@ +#include <stdio.h> +#include <stdlib.h> + +#define STACK_SIZE 10 + +int stack[STACK_SIZE]; +int stack_pointer = 0; + +void push (int x) +{ + if (stack_pointer < STACK_SIZE) + stack[stack_pointer++] = x; + else + { + fprintf (stderr, "stack overflow\n"); + exit (1); + } +} + +int pop (void) +{ + if (stack_pointer > 0) + return stack[--stack_pointer]; + else + { + fprintf (stderr, "stack underflow\n"); + exit (1); + } +} + +int main (void) +{ + push (3); + push (7); + push (137); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/stack-6.c b/20190121/stack-6.c new file mode 100644 index 0000000..be00e16 --- /dev/null +++ b/20190121/stack-6.c @@ -0,0 +1,39 @@ +#include <stdio.h> +#include <stdlib.h> + +#define STACK_SIZE 10 + +int stack[STACK_SIZE]; +int stack_pointer = 0; + +void push (int x) +{ + if (stack_pointer < STACK_SIZE) + stack[stack_pointer++] = x; + else + { + fprintf (stderr, "stack overflow\n"); + exit (1); + } +} + +int pop (void) +{ + if (stack_pointer > 0) + return stack[--stack_pointer]; + else + { + fprintf (stderr, "stack underflow\n"); + exit (1); + } +} + +int main (void) +{ + for (int i = 0; i < 42; i++) + push (i); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + printf ("%d\n", pop ()); + return 0; +} diff --git a/20190121/stack-7.c b/20190121/stack-7.c new file mode 100644 index 0000000..b583bc2 --- /dev/null +++ b/20190121/stack-7.c @@ -0,0 +1,39 @@ +#include <stdio.h> +#include <stdlib.h> + +#define STACK_SIZE 10 + +int stack[STACK_SIZE]; +int stack_pointer = 0; + +void push (int x) +{ + if (stack_pointer < STACK_SIZE) + stack[stack_pointer++] = x; + else + { + fprintf (stderr, "stack overflow\n"); + exit (1); + } +} + +int pop (void) +{ + if (stack_pointer > 0) + return stack[--stack_pointer]; + else + { + fprintf (stderr, "stack underflow\n"); + exit (1); + } +} + +int main (void) +{ + push (3); + push (7); + push (137); + for (int i = 0; i < 42; i++) + printf ("%d\n", pop ()); + return 0; +} -- GitLab