diff --git a/20250130/rtech-20250130.txt b/20250130/rtech-20250130.txt
index 47d807d9fae4a81d76472ae34bab2e58ecc95ea3..42e04e32855d84fdf4070d7ccff7bc3e435c4252 100644
--- a/20250130/rtech-20250130.txt
+++ b/20250130/rtech-20250130.txt
@@ -180,3 +180,172 @@ Aufgabe 1:
             `-----'    `-----'
                |          |
                D          E
+
+
+Aufgabe 3: 16-Bit-Rechenwerk
+
+(a) 1025 - 2
+
+Umrechnen nach Binär:
+  1025 = 0000 0100 0000 0001
+     2 = 0000 0000 0000 0010
+
+2er-Komplement von 2:
+
+Umklappen: 1111 1111 1111 1101
+      + 1: 1111 1111 1111 1110
+
+Addieren:
+
+        0000 0100 0000 0001
+      + 1111 1111 1111 1110
+        1111-1-------------
+      1 0000 0011 1111 1111
+      ^
+   paßt nicht ins 16-Bit-Rechenwerk --> fällt weg. Überlauf.
+
+Ergebnis: 0000 0011 1111 1111 = 1023
+
+(b) 4 · 8193
+
+Umrechnen nach Binär:
+
+   4 = 0000 0000 0000 0100
+8193 = 0010 0000 0000 0001
+
+Variante 1: 4mal addieren
+
+       0010 0000 0000 0001
+     + 0010 0000 0000 0001
+       -1---------------1-
+       0100 0000 0000 0010
+     + 0010 0000 0000 0001
+       -------------------
+       0110 0000 0000 0011
+     + 0010 0000 0000 0001
+       11--------------11-
+       1000 0000 0000 0100   <-- negative Zahl, weil vorzeichenbehaftetes 16-Bit-Rechenwerk,
+       ^                         oberstes Bit = 1
+
+Problem: Das Ergebnis ist für ein vorzeichenbehaftetes 16-Bit-Rechenwerk zu groß.
+
+--> Zweierkomplement
+
+Umklappen: 0111 1111 1111 1011
+      + 1: 0000 0000 0000 0001
+           ----------------11-
+           0111 1111 1111 1100
+
+Nach Dezimal umrechnen (mit bc):
+
+ibase=2
+0111111111111100
+32764
+
+Ergebnis: -32764
+
+Probe: 4 * 8193 - 65536 = -32764. Stimmt.
+
+(Auf einem vorzeichenlosen 16-Bit-Rechenwerk wäre das Ergebnis: 4 * 8193 = 32772.)
+
+Aufgabe 4
+
+Bj=C3=83=C2=B6rn M=C3=83=C2=BC=C3=83=C2=9Fig
+Ole-R=C3=83=C2=B8mer-Stra=C3=83=C2=9Fe 42
+12345 Beispielhausen
+
+Vermutlich ist "=C3=83=C2=B6" ein "ö" (für "Björn")
+und "=C3=83=C2=9F" ein "ß" (für "Straße")
+
+Vermutung: UTF-8 ist im Spiel.
+
+"ö" in UTF-8:
+
+  echo -n "ö" | hexdump -C
+  00000000  c3 b6                                             |..|
+  00000002
+
+"ß" in UTF-8:
+
+  echo -n "ß" | hexdump -C
+  00000000  c3 9f                                             |..|
+  00000002
+
+Vermutung: UTF-8 wurde nochmals UTF-8-kodiert.
+
+"ö" --> c3 b6 --> interpretieren als Latin-1 (= ISO 8859-1), nochmals nach UTF-8 kodieren
+                  (Alternative: Latin-9 = ISO 8859-15 --> dasselbe Ergebnis)
+
+  echo -n "ö" | recode latin1..utf8 | hexdump -C
+  00000000  c3 83 c2 b6                                       |....|
+  00000004
+
+  echo -n "ß" | recode latin1..utf8 | hexdump -C
+  00000000  c3 83 c2 9f                                       |....|
+  00000004
+
+(a) UTF-8.
+
+(b) Interpretation als Latin-1, nochmals Umwandlung nach UTF-8.
+
+(c) "ö" und "ß" ersetzen:
+
+  Björn M=C3=83=C2=BCßig
+  Ole-R=C3=83=C2=B8mer-Straße 42
+  12345 Beispielhausen
+
+Rate: "ü"
+
+  echo -n "ü" | recode latin1..utf8 | hexdump -C
+  00000000  c3 83 c2 bc                                       |....|
+  00000004
+
+  Björn Müßig
+  Ole-R=C3=83=C2=B8mer-Straße 42
+  12345 Beispielhausen
+
+Letztes Problem: Wofür steht "=C3=83=C2=B8"?
+Ähnlich "ö", aber mit "B8" statt "B6".
+Wahrscheinlich: ó ò ô ø ...
+
+  echo -n "ø" | recode latin1..utf8 | hexdump -C
+  00000000  c3 83 c2 b8                                       |....|
+  00000004
+
+Lösung:
+
+  Björn Müßig
+  Ole-Rømer-Straße 42
+  12345 Beispielhausen
+
+Aufgabe 5:
+
+(a)
+
+  x0: ähnlich wie Knirps, aber mit Doppelsprüngen:
+      In jedem Taktzyklus kopiert das Program seinen ersten Befehl,
+      also das halbe Programm, um 2 Speicherzellen weiter.
+
+  x1: Dasselbe, aber einmal geteilt.
+      Das Programm führt den Code mit 2 Threads gleichzeitig aus.
+      Dadurch ist es nur noch halb so schnell,
+      weil jeder Thread nur die halbe Rechenzeit bekommt.
+
+  x2: Dasselbe, aber so oft geteilt, wie zulässig, hier: 64mal.
+      Das Programm führt den Code mit 64 Threads gleichzeitig aus.
+      Dadurch ist es nur noch 1/64 so schnell,
+      weil jeder Thread nur 1/64 der Rechenzeit bekommt.
+
+(b) x0 überschreibt nothing; nothing wird zu x0 --> Untentschieden. Wie bei Knirps.
+
+    x1 überschreibt nothing, aber langsamer.
+       nothing führt den dat-Befehl hinter dem "mov 0 2" aus,
+       noch bevor das - langsamere - x1 auch dort einen "mov 0 2" hinschreibt.
+
+(c) Wenn x2 von dwarf getroffen wird,
+    schreiben dahinterliegende Threads von x2 direkt wieder "mov 0 2"
+    über den von dwarf stammenden dat-Befehl. x2 repariert sich selbst.
+
+    Für x1 gilt dies im Prinzip auch,
+    aber die Wahrscheinlichkeit, daß es funktioniert, ist geringer,
+    weil x1 nur 2 Threads hat.