Select Git revision
This project manages its dependencies using Yarn.
Learn more
blink-01.s0 4.76 KiB
.file "blink-01.c"
__SP_H__ = 0x3e
__SP_L__ = 0x3d
__SREG__ = 0x3f
__tmp_reg__ = 0
__zero_reg__ = 1
.global __mulsf3
.global __ltsf2
.global __gtsf2
.global __fixunssfsi
.text
.global main
.type main, @function
main: ; #include <avr/io.h>
push r28 ;
push r29 ; #define F_CPU 8000000
in r28,__SP_L__ ; #include <util/delay.h>
in r29,__SP_H__ ;
sbiw r28,28 ; int main (void)
in __tmp_reg__,__SREG__ ; {
cli ; DDRB = 0xff; // alle 8 Ausgänge als Outputs verwenden ("pinMode" für alle 8)
out __SP_H__,r29 ; PORTB = 0x20; // Bit Nr. 5 auf 1 setzen, alle anderen auf 0 ("digitalWrite" für alle 8)
out __SREG__,__tmp_reg__ ; while (1)
out __SP_L__,r28 ; {
/* prologue: function */ ; _delay_ms (500);
/* frame size = 28 */ ; PORTB = 0x00;
/* stack size = 30 */ ; _delay_ms (500);
.L__stack_usage = 30 ; PORTB = 0x20;
ldi r24,lo8(36) ; }
ldi r25,0 ; return 0;
ldi r18,lo8(-1) ; }
movw r30,r24
st Z,r18
ldi r24,lo8(37)
ldi r25,0
ldi r18,lo8(32)
movw r30,r24
st Z,r18
.L18:
ldi r24,0
ldi r25,0
ldi r26,lo8(-6)
ldi r27,lo8(67)
std Y+1,r24
std Y+2,r25
std Y+3,r26
std Y+4,r27
ldi r18,0
ldi r19,0
ldi r20,lo8(-6)
ldi r21,lo8(68)
ldd r22,Y+1
ldd r23,Y+2
ldd r24,Y+3
ldd r25,Y+4
call __mulsf3
movw r26,r24
movw r24,r22
std Y+19,r24
std Y+20,r25
std Y+21,r26
std Y+22,r27
ldi r18,0
ldi r19,0
ldi r20,lo8(-128)
ldi r21,lo8(63)
ldd r22,Y+19
ldd r23,Y+20
ldd r24,Y+21
ldd r25,Y+22
call __ltsf2
tst r24
brge .L23
ldi r24,lo8(1)
ldi r25,0
std Y+24,r25
std Y+23,r24
rjmp .L4
.L23:
ldi r18,0
ldi r19,lo8(-1)
ldi r20,lo8(127)
ldi r21,lo8(71)
ldd r22,Y+19
ldd r23,Y+20
ldd r24,Y+21
ldd r25,Y+22
call __gtsf2
cp __zero_reg__,r24
brge .L24
ldi r18,0
ldi r19,0
ldi r20,lo8(32)
ldi r21,lo8(65)
ldd r22,Y+1
ldd r23,Y+2
ldd r24,Y+3
ldd r25,Y+4
call __mulsf3
movw r26,r24
movw r24,r22
movw r22,r24
movw r24,r26
call __fixunssfsi
movw r26,r24
movw r24,r22
std Y+24,r25
std Y+23,r24
rjmp .L7
.L8:
ldi r24,lo8(-56)
ldi r25,0
std Y+26,r25
std Y+25,r24
ldd r24,Y+25
ldd r25,Y+26
/* #APP */
; 105 "/usr/lib/avr/include/util/delay_basic.h" 1
1: sbiw r24,1
brne 1b
; 0 "" 2
/* #NOAPP */
std Y+26,r25
std Y+25,r24
ldd r24,Y+23
ldd r25,Y+24
sbiw r24,1
std Y+24,r25
std Y+23,r24
.L7:
ldd r24,Y+23
ldd r25,Y+24
or r24,r25
brne .L8
rjmp .L9
.L24:
ldd r22,Y+19
ldd r23,Y+20
ldd r24,Y+21
ldd r25,Y+22
call __fixunssfsi
movw r26,r24
movw r24,r22
std Y+24,r25
std Y+23,r24
.L4:
ldd r24,Y+23
ldd r25,Y+24
std Y+28,r25
std Y+27,r24
ldd r24,Y+27
ldd r25,Y+28
/* #APP */
; 105 "/usr/lib/avr/include/util/delay_basic.h" 1
1: sbiw r24,1
brne 1b
; 0 "" 2
/* #NOAPP */
std Y+28,r25
std Y+27,r24
.L9:
ldi r24,lo8(37)
ldi r25,0
movw r30,r24
st Z,__zero_reg__
ldi r24,0
ldi r25,0
ldi r26,lo8(-6)
ldi r27,lo8(67)
std Y+5,r24
std Y+6,r25
std Y+7,r26
std Y+8,r27
ldi r18,0
ldi r19,0
ldi r20,lo8(-6)
ldi r21,lo8(68)
ldd r22,Y+5
ldd r23,Y+6
ldd r24,Y+7
ldd r25,Y+8
call __mulsf3
movw r26,r24
movw r24,r22
std Y+9,r24
std Y+10,r25
std Y+11,r26
std Y+12,r27
ldi r18,0
ldi r19,0
ldi r20,lo8(-128)
ldi r21,lo8(63)
ldd r22,Y+9
ldd r23,Y+10
ldd r24,Y+11
ldd r25,Y+12
call __ltsf2
tst r24
brge .L25
ldi r24,lo8(1)
ldi r25,0
std Y+14,r25
std Y+13,r24
rjmp .L12
.L25:
ldi r18,0
ldi r19,lo8(-1)
ldi r20,lo8(127)
ldi r21,lo8(71)
ldd r22,Y+9
ldd r23,Y+10
ldd r24,Y+11
ldd r25,Y+12
call __gtsf2
cp __zero_reg__,r24
brge .L26
ldi r18,0
ldi r19,0
ldi r20,lo8(32)
ldi r21,lo8(65)
ldd r22,Y+5
ldd r23,Y+6
ldd r24,Y+7
ldd r25,Y+8
call __mulsf3
movw r26,r24
movw r24,r22
movw r22,r24
movw r24,r26
call __fixunssfsi
movw r26,r24
movw r24,r22
std Y+14,r25
std Y+13,r24
rjmp .L15
.L16:
ldi r24,lo8(-56)
ldi r25,0
std Y+16,r25
std Y+15,r24
ldd r24,Y+15
ldd r25,Y+16
/* #APP */
; 105 "/usr/lib/avr/include/util/delay_basic.h" 1
1: sbiw r24,1
brne 1b
; 0 "" 2
/* #NOAPP */
std Y+16,r25
std Y+15,r24
ldd r24,Y+13
ldd r25,Y+14
sbiw r24,1
std Y+14,r25
std Y+13,r24
.L15:
ldd r24,Y+13
ldd r25,Y+14
or r24,r25
brne .L16
rjmp .L17
.L26:
ldd r22,Y+9
ldd r23,Y+10
ldd r24,Y+11
ldd r25,Y+12
call __fixunssfsi
movw r26,r24
movw r24,r22
std Y+14,r25
std Y+13,r24
.L12:
ldd r24,Y+13
ldd r25,Y+14
std Y+18,r25
std Y+17,r24
ldd r24,Y+17
ldd r25,Y+18
/* #APP */
; 105 "/usr/lib/avr/include/util/delay_basic.h" 1
1: sbiw r24,1
brne 1b
; 0 "" 2
/* #NOAPP */
std Y+18,r25
std Y+17,r24
.L17:
ldi r24,lo8(37)
ldi r25,0
ldi r18,lo8(32)
movw r30,r24
st Z,r18
rjmp .L18
.size main, .-main
.ident "GCC: (GNU) 5.4.0"