From 46ccf994228ee91c3ed423460fe72ae0148d1283 Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Tue, 31 May 2022 14:42:15 +0200 Subject: [PATCH] Weitere Beispiele 31.5.2022 --- 20220531/blink-asm-02.S | 40 ++++++++++++++++++++++++++++++++++++++++ 20220531/blink-asm-03.S | 40 ++++++++++++++++++++++++++++++++++++++++ 20220531/blink-asm-04.S | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 20220531/blink-asm-02.S create mode 100644 20220531/blink-asm-03.S create mode 100644 20220531/blink-asm-04.S diff --git a/20220531/blink-asm-02.S b/20220531/blink-asm-02.S new file mode 100644 index 0000000..eaf9e20 --- /dev/null +++ b/20220531/blink-asm-02.S @@ -0,0 +1,40 @@ + .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,0x20 /* Lade die Zahl 0x20 (unmittelbar - immediately) in das Register r24 */ + sts 0x24,r24 /* Speichere das Register r24 in der Speicherzelle Nr. 0x24 */ +.L3: + sts 0x25,r24 /* Speichere das Register r24 in der Speicherzelle Nr. 0x25 (= PORTB) */ + ldi r18,lo8(799999) + ldi r19,hi8(799999) + ldi r25,hlo8(799999) +1: subi r18,1 + sbci r19,0 + sbci r25,0 + brne 1b + rjmp . + nop + sts 0x25,__zero_reg__ /* Speichere ein Register mit dem Inhalt 0 in der Speicherzelle Nr. 0x25 */ + ldi r18,lo8(799999) + ldi r19,hi8(799999) + ldi r25,hlo8(799999) +1: subi r18,1 + sbci r19,0 + sbci r25,0 + brne 1b + rjmp . + nop + rjmp .L3 + .size pruzzel, .-pruzzel + .ident "GCC: (GNU) 5.4.0" diff --git a/20220531/blink-asm-03.S b/20220531/blink-asm-03.S new file mode 100644 index 0000000..52bec4d --- /dev/null +++ b/20220531/blink-asm-03.S @@ -0,0 +1,40 @@ + .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 24,0x20 /* Lade die Zahl 0x20 (unmittelbar - immediately) in das Register Nr. 24 */ + sts 0x24,24 /* Speichere das Register Nr. 24 in der Speicherzelle Nr. 0x24 */ +.L3: + sts 0x25,24 /* Speichere das Register Nr.24 in der Speicherzelle Nr. 0x25 (= PORTB) */ + ldi 18,lo8(799999) + ldi 19,hi8(799999) + ldi 25,hlo8(799999) +1: subi 18,1 + sbci 19,0 + sbci 25,0 + brne 1b + rjmp . + nop + sts 0x25,__zero_reg__ /* Speichere ein Register mit dem Inhalt 0 in der Speicherzelle Nr. 0x25 */ + ldi 18,lo8(799999) + ldi 19,hi8(799999) + ldi 25,hlo8(799999) +1: subi 18,1 + sbci 19,0 + sbci 25,0 + brne 1b + rjmp . + nop + rjmp .L3 + .size pruzzel, .-pruzzel + .ident "GCC: (GNU) 5.4.0" diff --git a/20220531/blink-asm-04.S b/20220531/blink-asm-04.S new file mode 100644 index 0000000..b769b1c --- /dev/null +++ b/20220531/blink-asm-04.S @@ -0,0 +1,40 @@ + .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,0x30 /* Lade die Zahl 0x20 (unmittelbar - immediately) in das Register r24 */ + sts 0x24,r24 /* Speichere das Register r24 in der Speicherzelle Nr. 0x24 (= DDRB) */ +.L3: + sts 0x25,r24 /* Speichere das Register r24 in der Speicherzelle Nr. 0x25 (= PORTB) */ + ldi r18,lo8(799999) + ldi r19,hi8(799999) + ldi r25,hlo8(799999) +1: subi r18,1 + sbci r19,0 + sbci r25,0 + brne 1b + rjmp . + nop + sts 0x25,__zero_reg__ /* Speichere ein Register mit dem Inhalt 0 in der Speicherzelle Nr. 0x25 */ + ldi r18,lo8(799999) + ldi r19,hi8(799999) + ldi r25,hlo8(799999) +1: subi r18,1 + sbci r19,0 + sbci r25,0 + brne 1b + rjmp . + nop + rjmp .L3 + .size pruzzel, .-pruzzel + .ident "GCC: (GNU) 5.4.0" -- GitLab