diff --git a/Writerside/images/image_477.png b/Writerside/images/image_477.png
new file mode 100644
index 0000000..697ac5d
Binary files /dev/null and b/Writerside/images/image_477.png differ
diff --git a/Writerside/images/image_478.png b/Writerside/images/image_478.png
new file mode 100644
index 0000000..697ac5d
Binary files /dev/null and b/Writerside/images/image_478.png differ
diff --git a/Writerside/images/image_479.png b/Writerside/images/image_479.png
new file mode 100644
index 0000000..69781a9
Binary files /dev/null and b/Writerside/images/image_479.png differ
diff --git a/Writerside/images/image_480.png b/Writerside/images/image_480.png
new file mode 100644
index 0000000..f93d1ce
Binary files /dev/null and b/Writerside/images/image_480.png differ
diff --git a/Writerside/images/image_481.png b/Writerside/images/image_481.png
new file mode 100644
index 0000000..150eac0
Binary files /dev/null and b/Writerside/images/image_481.png differ
diff --git a/Writerside/images/image_482.png b/Writerside/images/image_482.png
new file mode 100644
index 0000000..097a7e3
Binary files /dev/null and b/Writerside/images/image_482.png differ
diff --git a/Writerside/images/image_483.png b/Writerside/images/image_483.png
new file mode 100644
index 0000000..20af735
Binary files /dev/null and b/Writerside/images/image_483.png differ
diff --git a/Writerside/images/image_484.png b/Writerside/images/image_484.png
new file mode 100644
index 0000000..20af735
Binary files /dev/null and b/Writerside/images/image_484.png differ
diff --git a/Writerside/images/image_485.png b/Writerside/images/image_485.png
new file mode 100644
index 0000000..6244195
Binary files /dev/null and b/Writerside/images/image_485.png differ
diff --git a/Writerside/images/image_486.png b/Writerside/images/image_486.png
new file mode 100644
index 0000000..c3f24f8
Binary files /dev/null and b/Writerside/images/image_486.png differ
diff --git a/Writerside/images/image_487.png b/Writerside/images/image_487.png
new file mode 100644
index 0000000..61fd8ad
Binary files /dev/null and b/Writerside/images/image_487.png differ
diff --git a/Writerside/images/image_488.png b/Writerside/images/image_488.png
new file mode 100644
index 0000000..02bb9b4
Binary files /dev/null and b/Writerside/images/image_488.png differ
diff --git a/Writerside/images/image_489.png b/Writerside/images/image_489.png
new file mode 100644
index 0000000..c3e750f
Binary files /dev/null and b/Writerside/images/image_489.png differ
diff --git a/Writerside/images/image_490.png b/Writerside/images/image_490.png
new file mode 100644
index 0000000..d7e30d2
Binary files /dev/null and b/Writerside/images/image_490.png differ
diff --git a/Writerside/images/image_491.png b/Writerside/images/image_491.png
new file mode 100644
index 0000000..aef9fb2
Binary files /dev/null and b/Writerside/images/image_491.png differ
diff --git a/Writerside/images/image_492.png b/Writerside/images/image_492.png
new file mode 100644
index 0000000..0d0a460
Binary files /dev/null and b/Writerside/images/image_492.png differ
diff --git a/Writerside/images/image_493.png b/Writerside/images/image_493.png
new file mode 100644
index 0000000..f71da56
Binary files /dev/null and b/Writerside/images/image_493.png differ
diff --git a/Writerside/images/image_494.png b/Writerside/images/image_494.png
new file mode 100644
index 0000000..8a009c8
Binary files /dev/null and b/Writerside/images/image_494.png differ
diff --git a/Writerside/in.tree b/Writerside/in.tree
index f3d1a9a..13c2bfd 100644
--- a/Writerside/in.tree
+++ b/Writerside/in.tree
@@ -59,6 +59,10 @@
+
+
+
+
diff --git a/Writerside/topics/EWI/9_Internetökonomie.md b/Writerside/topics/EWI/9_Internetökonomie.md
index 9e6db9d..3f36258 100644
--- a/Writerside/topics/EWI/9_Internetökonomie.md
+++ b/Writerside/topics/EWI/9_Internetökonomie.md
@@ -35,7 +35,7 @@
#### Kosten
- Teuer in Produktion
- Günstig in Verteilung/Reproduktion
-- erste Digitale Kopie hat einmaligen Aufwand an Fixkosten
+- erste digitale Kopie hat einmaligen Aufwand an Fixkosten
- **First Copy Costs**
- Stückkostendegression
- "The Winner takes it all!"
diff --git a/Writerside/topics/RA/arm_adressierung.md b/Writerside/topics/RA/arm_adressierung.md
index c8f7d7e..431880f 100644
--- a/Writerside/topics/RA/arm_adressierung.md
+++ b/Writerside/topics/RA/arm_adressierung.md
@@ -127,4 +127,32 @@
## Beispiel Kopieren indiziert
- 
- 
--
\ No newline at end of file
+
+
+## Load/Store - Befehlsformat
+
+
+## Adressierungsarten übersicht
+| Art | ARM-Beispiel | Alternativer Name |
+|-----------------------------|----------------------------------------------------------------------------------|--------------------------------------------------------------------------|
+| Immediate | `mov r0, #8` | Literal |
+| Direkt | wird nicht unterstützt | Absolute |
+| PC-relativ | `ldr r1, [pc, #offset]`
Pseudobefehl, `label` in `.text`
`ldr r1, label` | |
+| Register | `mov r0, r1` | Register-to-Register
Register Direct |
+| Register-Indirect | `ldr r0, [r1]` | Indexed |
+| Indiziert / Index | `ldr r0, [r1, #4]`
`ldr r0, [r1, #4]!`
`ldr r0, [r1], #4` | Pre-indexed
Post-indexed,
pre-incrementing
post-incrementing |
+| Basis-indizierte | `ldr r0, [r1, r0, LSL#2]` | |
+| Basis-indizierte mit Offset | wird nicht unterstützt | |
+
+
+## Blocktransfer-Befehle
+
+- Register mit niedrigster Nummer wird geladen von/gespeichert nach der niedrigsten Adresse
+- Reihenfolge der angegebenen Register im Befehl spielt keine Rolle
+
+### Beispiel
+
+
+## Stacks
+- push {}
+- pop {}
\ No newline at end of file
diff --git a/Writerside/topics/RA/arm_hochsprache_strukturen.md b/Writerside/topics/RA/arm_hochsprache_strukturen.md
new file mode 100644
index 0000000..b385a73
--- /dev/null
+++ b/Writerside/topics/RA/arm_hochsprache_strukturen.md
@@ -0,0 +1,170 @@
+# ARM Hochsprache Strukturen
+## Unterprogrammtechnik
+- wird durch `bl Unterprogramm` aufgerufen
+ - _Unterprogramm_ muss zu dem Zeitpunkt bereits ein bekanntes Label sein
+
+| Blatt-Routinen | Nicht-Blatt-Routinen |
+|--------------------------------|--------------------------|
+| rufen keine Unterprogramme auf | rufen Unterprogramme auf |
+
+
+## Unterprogrammaufruf
+
+
+## Indirekte Unterprogrammaufrufe
+- Falls Adresse zur Compilezeit nicht bekannt ist
+
+- Annahme: aufzurufende Programmadresse steht in r0
+ - `mov lr, pc`
+ - `mov pc, r0`
+ - Durch Pipelining entsteht im PC die aktuelle Bitadresse +8
+ - Da jeder Befehl Länge von 4 Byte hat
+ - Linkregister zeigt auf Rücksprungadresse
+
+## ARM Procedure Calling Standard (APCS)
+- Schnittstelle zwischen Programmteilen
+ - Wie werden Parameter an Unterprogramme übergeben
+ - Welche Register dürfen zerstört werden
+ - Wie werden Ereignisse zurückgegeben
+ - Wie sieht das Stackframe eines Unterprogramms aus
+
+### Konvention zur Parameterübergabe von 32Bit-Daten
+- 
+- Parameter 1-4 werden in den Registern r0-r3 übergeben
+- Rückgabewert von Funktionen steht im Register r0 oder r0/r1
+- Register r0-r3 und Register ip sind Scratch Register
+ - Inhalt darf im Unterprogramm zerstört werden
+- Informationen in r4-r10, fp, sp müssen erhalten werden
+- Inhalt von lr wird zur Rückkehr ins aufrufende Programm benötigt
+
+## Parameterübergabe bei anderen Prozessoren (CISC)
+- 
+- Übergabe in Registern typisch für Load/Store-Architekturen
+ - vermeidet Zugriffe auf Speicher
+- Andere Prozessoren verwenden Stack
+ - Parameter
+ - Rücksprungadresse (PC)
+- Ergebnis im ACC zurückgeben
+
+## Blatt-Funktionen
+- können lokale Variablen in Scratch-Registern speichern
+- Rückkehradresse kann im Linkregister bleiben
+- 
+
+## Nicht-Blatt-Funktionen
+- Linkregister wird durch neue Rücksprungadresse überschrieben
+ - vorher auf Stack retten
+- Scratchregister dürfen durch neues Unterprogramm frei verwendet werden
+ - keine lokalen Variablen speichern
+- Variablenregister verwenden
+ - von Anfang an auf Stack
+- 
+
+## Unterprogramm
+- Unterprogrammaufruf mit Parameterübergabe
+- Dokumentation
+ - Übergabewerte & lokale Variablen
+- Eingangsprüfung Parameter
+ - ggf. Abbruch
+- ggf. Register retten
+- Initialisation Rückgabeparameter, lokale Variablen
+- Programmkörper beachten
+ - Anweisungen, Schleifen, Verzweigungen: Grenzfälle der Indizes
+- Speicherzugriffe passend zur Datengröße
+- ggf. Register restaurieren
+- Rückgabewert setzen
+- Rücksprung
+
+## Operanden in Ausdrücken
+- Argument im Register
+- Argument auf dem Stack
+ - Stackpointer
+ - Relative Adressierung
+ - Stackpointer + Offset
+- Als Konstante im Literal-Bereich der Prozedur
+ - PC-relative Adressierung mit Offset
+- Als lokale Variable
+ - liegt im Stack
+ - Zugriff relativ zum Stack-Pointer / Frame-Pointer mit LDR
+- Als globale Variable
+ - liegt im statischen Datenbereich im Speicher
+ - Adresse liegt relativ zur statischen Basisadresse
+- Zeiger
+- Array
+ - Kurzschreibweise für Zeiger + Offset
+
+
+## Kontrollfluss
+### IF-ELSE
+
+
+### Switch
+
+```c++
+int testswitch( int a, int* b, int c ) {
+ switch (a) {
+ case 0:
+ *b = 0;
+ break;
+ case 1:
+ if ( c > 100 ) *b = 0;
+ else *b = 3;
+ break;
+ case 2:
+ *b = 1;
+ break;
+ case 3:
+ break;
+ case 4:
+ *b = 2;
+ break;
+ }
+}
+```
+
+### While
+
+
+### Do-While
+
+
+### For
+
+```c++
+void testfor( int a[]) {
+ for (int i = 0; i < 10; i++){
+ a[i] = 0;
+ }
+}
+```
+
+## Objekte, (virtuelle) Methoden
+### Methodenaufrufe bei Objekten
+- Methode bekommt als ersten Parameter immer einen Zeiger auf das betreffende Objekt (this)
+ - Zugriff auf Daten des Objektes gewährleistet
+
+### Statischer Objektaufruf
+- Falls Methoden einer Klasse nicht virtuell
+ - Compiler kann zur Compile-Zeit schon Klasse bestimmen und Adresse der Methode einsetzen
+
+### Dynamischer Methodenaufruf
+- 
+
+## Beispiele Assemblerprogramme
+### my_max
+```c++
+#include
+void my_max(int a, int b, int* c) {}
+ if (a > b)
+ *c = a;
+ else
+ *c = b;
+}
+```
+
+#### my_max ohne Optimierung
+
+
+#### my_max mit Optimierung
+
+
diff --git a/Writerside/topics/RA/arm_hochsprache_typen.md b/Writerside/topics/RA/arm_hochsprache_typen.md
new file mode 100644
index 0000000..6383aea
--- /dev/null
+++ b/Writerside/topics/RA/arm_hochsprache_typen.md
@@ -0,0 +1,55 @@
+# ARM Hochsprache Typen
+## Abstraktion
+- Assembler
+ - Programme auf Basis von
+ - Befehlen, Adressen, Register, Byte, Wort, ...
+ - Abstraktion
+ - wird durch Software erreicht
+ - keine explizite Sprachunterstützung
+- Hochsprachen
+ - unterstützen besser das Denken in abstrakten Begriffen
+ - CPU-unabhängig
+
+## Datentypen
+- Kennzeichnen sich durch
+ - Anzahl benötigte Bits
+ - Anordnung der Bits
+ - Art der Verwendung der Bits
+- Datentypen
+ - Positive/Negative Ganzzahlen
+ - binär, dezimal, hexadezimal, Wertbereiche
+ - Gleitkommazahlen
+ - [Zeichen](#zeichen)
+
+## Zeichen
+- Erste Mainframes
+ - Uneinheitliche Codierung von Buchstaben
+- ASCII:
+ - 7Bit
+- diverse ISO
+
+## ANSI C Basisdatentypen
+- Char
+- Short Integer
+- Integer
+- Long Integer
+- Float
+- Double
+- Long Double
+- Aufzählungstypen
+- Bitfelder
+
+### Abgeleitete ANSI C Datentypen
+- Arrays
+- Funktionen
+- Strukturen
+- Zeiger/Pointer
+- Varianten/Unions
+
+## Gleitkommazahlen
+### ISO IEEE754
+
+
+- Beispiele
+ - 
+