summaryrefslogtreecommitdiff
path: root/ws2015/oss/blaetter/01/abgabe.md
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2015-11-13 23:45:26 +0000
committerGregor Kleen <gkleen@yggdrasil.li>2015-11-13 23:45:26 +0000
commitab9484b343abd995cba915bb0ba4be8907dfa6ec (patch)
treef441968094bec070499d24e45e8a29f1315da1f4 /ws2015/oss/blaetter/01/abgabe.md
parent14dc76bda755c850f859a4b974c793e694f2b0b4 (diff)
downloaduni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.tar
uni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.tar.gz
uni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.tar.bz2
uni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.tar.xz
uni-ab9484b343abd995cba915bb0ba4be8907dfa6ec.zip
Shorter lecture names
Diffstat (limited to 'ws2015/oss/blaetter/01/abgabe.md')
-rw-r--r--ws2015/oss/blaetter/01/abgabe.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/ws2015/oss/blaetter/01/abgabe.md b/ws2015/oss/blaetter/01/abgabe.md
new file mode 100644
index 0000000..405ab62
--- /dev/null
+++ b/ws2015/oss/blaetter/01/abgabe.md
@@ -0,0 +1,27 @@
1# Aufgabe 4 -- Realisierung von Unterprogrammen
2
3a)
4 - Code duplication -- Etwaige spätere Änderungen müssen manuell an alle Stellen kopiert werden.
5 - Argumente müssen manuell an jede Stelle eingepflegt werden.
6b) Die Kosten der Befehle für das Springen ins Unterprogramm und das kopieren der Argumente/Return-Values können groß sein gegen die Kosten des Unterprogramms.
7c)
8 - Die Parameter können auf den Stack gepusht werden, bevor in das Unterprogramm gesprungen wird.
9 - Manche Maschinen bieten spezielle Register für diesen Zweck.
10d) Während der Ausführung unterhält die Maschine ein Register, das die Adresse des nächsten auszuführenden Befehls enthält.
11 Diese kann beliebig überschrieben werden.
12e)
13 `JMP`
14 ~ überschreibt nur das Adress-Register.
15
16 `CALL`
17 ~ speichert vor dem Überschreiben des Adressregisters noch eine Adresse an die, nach Ausführung des Unterprogramms, in das gesprungen wird, zurückgesprungen werden soll.
18f) `RET` muss so implementiert werden, dass es die Rücksprungadresse aus dem selben Register zu lesen versucht, in das `CALL` sie speichert.
19 `CALL` speichert die Adresse entweder in einem speziellen Register oder auf dem Stack.
20
21# Aufgabe 5 -- Das Betriebssystem
22
23a) $2^n \cdot m~\text{Byte}$
24b) Maschinensprache
25c) Textverabeitung
26d) Gerätetreiber
27e) offene