diff --git a/20220531/blink-asm-05.S b/20220531/blink-asm-05.S
new file mode 100644
index 0000000000000000000000000000000000000000..f147f7b6925f5b7d549c946009f564e665bd876b
--- /dev/null
+++ b/20220531/blink-asm-05.S
@@ -0,0 +1,53 @@
+	.file	"blink.c"
+__SP_H__ = 0x3e
+__SP_L__ = 0x3d
+__SREG__ = 0x3f
+__tmp_reg__ = 0
+__zero_reg__ = 1
+	.section	.text.startup,"ax",@progbits
+.global	pruzzel
+	.type	pruzzel, @function
+pruzzel:
+/* prologue: function */
+/* frame size = 0 */
+/* stack size = 0 */
+.L__stack_usage = 0
+
+	ldi r24,0xff          /* Lade die Zahl 0xff (unmittelbar - immediately) in das Register r24 */
+	sts 0x24,r24          /* Speichere das Register r24 in der Speicherzelle Nr. 0x24 (= DDRB) */
+                        /* --> Wir verwenden alle 8 Bit von PORTB als Outputs. */
+ 
+.L3:  /* Hier beginnt die Endlosschleife. */
+
+  sts 0x25,__zero_reg__  /* Speichere ein Register mit dem Inhalt 0 in der Speicherzelle Nr. 0x25 (= PORTB) --> alle LEDs aus */
+
+  ldi r18,lo8(799999)    /* Warte 0.5 Sekunden: zähle von 799999 bis 0 */
+	ldi r19,hi8(799999)    /* Jeder Assembler-Befehl dauert 1 Takt = 1 / 16000000 Sekunde */
+	ldi r25,hlo8(799999)   /* Wir haben ausgerechnet, daß dann die ganze Schleife ziemlich genau */
+1:	subi r18,1           /* 0.5 Sekunden dauert. */
+	sbci r19,0
+	sbci r25,0
+	brne 1b                /* Ende der Schleife */
+	rjmp .                 /* 2 Befehle, die nichts tun: auf genau 0.5 Sekunden aufrunden */
+	nop
+
+  /* Schalte die rote LED ein */
+  /* In C: PORTB |= 0x10 */
+  lds r24,0x25  /* Register r24 von Speicherzelle 0x25 laden */
+  ori r24,0x10  /* Register r24 mit Maske Oder-verknüpfen */
+  sts 0x25,r24  /* Register r24 an Speicherzelle 0x25 speichern */
+ 
+	ldi r18,lo8(799999)  /* 0.5 Sekunden warten */
+	ldi r19,hi8(799999)
+	ldi r25,hlo8(799999)
+1:	subi r18,1
+	sbci r19,0
+	sbci r25,0
+	brne 1b
+	rjmp .
+	nop
+ 
+	rjmp .L3  /* Sprung nach oben: Endlosschleife */
+  
+	.size	pruzzel, .-pruzzel
+	.ident	"GCC: (GNU) 5.4.0"
diff --git a/20220531/rtech-20220531.txt b/20220531/rtech-20220531.txt
index c1288d395115ac5d82f875897edbf792efccb736..6dd989c47148d2bf9d661a222cb1d6e1d0782b9b 100644
--- a/20220531/rtech-20220531.txt
+++ b/20220531/rtech-20220531.txt
@@ -2,3 +2,8 @@ Aus dem Datenblatt des ATMega 328P, Seite 615, erfahren wir:
 
   Die Variable DDRD liegt an Speicherzelle 0x2a.
   Die Variable PORTD liegt an Speicherzelle 0x2b.
+
+
+Aufgabe für nächste Woche:
+Programmiere eine Verkehrsampel (rot, rot-gelb, grün, gelb, Schleife)
+auf einem ATMega-Prozessor (Arduino) in Assembler.
diff --git a/20220531/variables-03.c b/20220531/variables-03.c
new file mode 100644
index 0000000000000000000000000000000000000000..82a0bd272056abb7d328c66ce28fa39743b33877
--- /dev/null
+++ b/20220531/variables-03.c
@@ -0,0 +1,10 @@
+#include <stdint.h>
+
+uint8_t x = 3;
+
+int main (void)
+{
+  x |= 6;
+  x &= 4;
+  return 1117;
+}
diff --git a/20220531/variables-03.s0 b/20220531/variables-03.s0
new file mode 100644
index 0000000000000000000000000000000000000000..98d1defe057d5d7aadb0c3da9d3777437e80fd5e
--- /dev/null
+++ b/20220531/variables-03.s0
@@ -0,0 +1,39 @@
+	.file	"variables-03.c"
+__SP_H__ = 0x3e
+__SP_L__ = 0x3d
+__SREG__ = 0x3f
+__tmp_reg__ = 0
+__zero_reg__ = 1
+.global	x
+	.data
+	.type	x, @object
+	.size	x, 1
+x:
+	.byte	3
+	.text
+.global	main
+	.type	main, @function
+main:
+	push r28
+	push r29
+	in r28,__SP_L__
+	in r29,__SP_H__
+/* prologue: function */
+/* frame size = 0 */
+/* stack size = 2 */
+.L__stack_usage = 2
+	lds r24,x
+	ori r24,lo8(6)
+	sts x,r24
+	lds r24,x
+	andi r24,lo8(4)
+	sts x,r24
+	ldi r24,lo8(93)
+	ldi r25,lo8(4)
+/* epilogue start */
+	pop r29
+	pop r28
+	ret
+	.size	main, .-main
+	.ident	"GCC: (GNU) 5.4.0"
+.global __do_copy_data
diff --git a/20220531/variables-03.ss b/20220531/variables-03.ss
new file mode 100644
index 0000000000000000000000000000000000000000..ef5f74caf8dd078b2dde95d91ebded6c02b7e242
--- /dev/null
+++ b/20220531/variables-03.ss
@@ -0,0 +1,28 @@
+	.file	"variables-03.c"
+__SP_H__ = 0x3e
+__SP_L__ = 0x3d
+__SREG__ = 0x3f
+__tmp_reg__ = 0
+__zero_reg__ = 1
+	.section	.text.startup,"ax",@progbits
+.global	main
+	.type	main, @function
+main:
+/* prologue: function */
+/* frame size = 0 */
+/* stack size = 0 */
+.L__stack_usage = 0
+	ldi r24,lo8(4)
+	sts x,r24
+	ldi r24,lo8(93)
+	ldi r25,lo8(4)
+	ret
+	.size	main, .-main
+.global	x
+	.data
+	.type	x, @object
+	.size	x, 1
+x:
+	.byte	3
+	.ident	"GCC: (GNU) 5.4.0"
+.global __do_copy_data