20121220-183258

This commit is contained in:
BlubbFish 2012-12-20 17:32:43 +00:00
parent cd1215f33d
commit 02c08df9ad
6 changed files with 637 additions and 285 deletions

View File

@ -4,7 +4,7 @@
#define MIN 29
volatile uint8_t segs[18] = {
volatile uint8_t segs[] = {
0b00111111, //0
0b00000110, //1
0b01011011, //2
@ -20,10 +20,32 @@ volatile uint8_t segs[18] = {
0b01000110, //-1
0b01110110, //+1
0b00000000, //Blank
0b01111001, //E
0b00110111, //N
0b01011110 //d
//15
0b01111001, //E 15
0b00110111, //N 16
0b01011110, //d 17
0b01110001, //F 18
0b00110001, //R 19
0b01011100, //o 20
0b01110110, //H 21
0b00111100, //WL 22
0b00011110, //WR 23
0b00000110, //I 24
0b01110111, //A 25
0b00111001, //C 26
0b00000111, //T 27
0b00111110, //U 28
0b00001111, //J 29
};
// uint8_t text[] = {18,19,20,21,15,14, //Frohe
// 22,23,15,24,21,16,25,26,21,27,15,16,14, //Weihnachten
// 27,16,17,14, //und
// 15,24,16,14, //ein
// 18,19,20,21,15,5,14, //frohes
// 16,15,28,15,5,14, //neues
// 29,25,21,19,14, //Jahr
// 2,0,1,3,14,2,0,1,3,14,2,0,1,3}; //2013 2013 2013
// 14,14,18,18,19,19,20,20};
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
char var = 0;
@ -214,6 +236,50 @@ void endeblink() {
}
}
void weihnachten() {
uint8_t text1[] = {18,19,20,21,15,14, //Frohe
22,23,15,24,21,16,25,26,21,27,15,16,14}; //Weihnachten
frame[0] = 14;
frame[1] = 14;
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
frame[5] = 14;
for(uint8_t i=0;i<sizeof(text1)+5;i++) {
for(uint8_t j=0;j<5;j++) {
uint8_t z = i+j-4;
if(z>=0 && z < sizeof(text1)) {
frame[j+1] = text1[z];
} else {
frame[j+1] = 14;
}
}
for(uint8_t k=0;k<30;k++) {
render();
}
}
}
void blink2013() {
frame[0] = 14;
frame[1] = 14;
for(uint8_t i=0;i<30;i++) {
frame[2] = 2;
frame[3] = 0;
frame[4] = 1;
frame[5] = 3;
for(uint8_t k=0;k<20;k++) {
render();
}
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
frame[5] = 14;
for(uint8_t k=0;k<20;k++) {
render();
}
}
}
int main(void) {
DDRB = 0;
@ -231,13 +297,17 @@ int main(void) {
start();
//Timer $MIN nach unten
timerdown(MIN);
for(int i=0;i<5;i++) {
weihnachten();
}
blink2013();
//Lauflicht 10s;
endelauflicht();
//Lauflicht Rand 10s
enderand();
//enderand();
//Blinklicht
endeblink();
//Timer UP 1Min Start
timerup(1);
timerup(2);
}
}

Binary file not shown.

View File

@ -1,9 +1,9 @@
:1000000012C02AC029C028C027C026C025C024C0CD
:1000100023C022C021C020C01FC01EC01DC01CC0E4
:100020001BC01AC019C011241FBECFEDCDBF10E0F8
:10003000A0E6B0E0E8EFF4E002C005900D92A8372A
:10004000B107D9F710E0A8E7B0E001C01D92A937C9
:10005000B107E1F712D24EC2D3CFE82FF0E0E05A59
:10003000A0E6B0E0EAE1F6E002C005900D92A83932
:10004000B107D9F710E0A8E9B0E001C01D92A939C5
:10005000B107E1F79ED2DFC2D3CFE82FF0E0E05A3C
:10006000FF4F8081880F87BB8081880F88BB71E03C
:1000700041E050E023C027B3872F90E030E0072E07
:1000800002C0359527950A94E2F7019720FF0AC030
@ -17,68 +17,88 @@
:100100008A95E2F7CF018095822388BB7F5F6717CE
:10011000D8F627B381E090E002C0880F991F6A9556
:10012000E2F7282B27BB98B38095892388BB0895D5
:100130001F93CF93DF9317E0C0E0D0E0FE01EE58AD
:100130001F93CF93DF9317E0C0E0D0E0FE01E258B9
:10014000FF4F8081612F89DF8FE99FE00197F1F7F1
:1001500000C0000021961150113081F7DF91CF913E
:100160001F9108958F929F92BF92CF92DF92EF924C
:10017000FF920F931F93DF93CF930F92CDB7DEB70C
:10018000C82E8BE080937200DD242DE1E22EF12C4D
:100190000AE010E0C7018D199109B80184D160937C
:1001A0007400809375009BE3892E912C20E0C4019C
:1001B000B80179D1609376008093770020FF02C068
:1001C0008EE001C08BE08093720082E5B82E298317
:10018000C82E8BE080937E00DD242DE1E22EF12C41
:100190000AE010E0C7018D199109B80115D26093EA
:1001A0008000809381009BE3892E912C20E0C40184
:1001B000B8010AD2609382008093830020FF02C0BE
:1001C0008EE001C08BE080937E0082E5B82E29830B
:1001D000AFDFBA942981BB20D1F72F5F0894810843
:1001E00091082C3321F7D394CD14A0F60F90CF9122
:1001F000DF911F910F91FF90EF90DF90CF90BF9014
:100200009F908F900895EF92FF920F931F939AE023
:1002100090937200082F4AE0F42E1FC0802F6F2D9C
:1002200036D1809374009093750010E0812F6F2D6C
:100230002ED1809376009093770010FF02C08EE05D
:1002400001C08AE08093720032E5E32E71DFEA9408
:1002100090937E00082F4AE0F42E1FC0802F6F2D90
:10022000C7D1809380009093810010E0812F6F2DC3
:10023000BFD1809382009093830010FF02C08EE0B4
:1002400001C08AE080937E0032E5E32E71DFEA94FC
:10025000E9F71F5F1C3351F70F5F0436F8F21F9167
:100260000F91FF90EF9008958C9A9498959A8FEF44
:1002700094E3ACE081509040A040E1F700C0000062
:100280008599FECF0895DF92EF92FF920F931F930F
:100290008AE08093720009E27FE0F72E1EE060E1C1
:1002A000D62E51E1E52EF092740010937500109354
:1002B0007600109377003CDF3BDF3ADF39DF38DF31
:1002C00010937400D092750033DF32DF31DF30DFFE
:1002D0002FDF10937500E09276002ADF29DF28DFF8
:1002E00027DF26DF10937600F092770021DF20DFF2
:100290008AE080937E0009E27FE0F72E1EE060E1B5
:1002A000D62E51E1E52EF09280001093810010933C
:1002B0008200109383003CDF3BDF3ADF39DF38DF19
:1002C00010938000D092810033DF32DF31DF30DFE6
:1002D0002FDF10938100E09282002ADF29DF28DFE0
:1002E00027DF26DF10938200F092830021DF20DFDA
:1002F0001FDF1EDF1DDF0150B1F61F910F91FF9030
:10030000EF90DF900895DF92EF92FF920F931F938B
:100310008AE08093720009E21EE0AFE0FA2EF0E17D
:10032000DF2EE1E1EE2E1093740010937500109310
:100330007600F0927700FCDEFBDEFADEF9DEF8DE16
:1003400010937700D0927500F3DEF2DEF1DEF0DE7E
:10035000EFDE10937500E0927600EADEE9DEE8DE7B
:10036000E7DEE6DEF092740010937600E1DEE0DE78
:100310008AE080937E0009E21EE0AFE0FA2EF0E171
:10032000DF2EE1E1EE2E10938000109381001093F8
:100330008200F0928300FCDEFBDEFADEF9DEF8DEFE
:1003400010938300D0928100F3DEF2DEF1DEF0DE66
:10035000EFDE10938100E0928200EADEE9DEE8DE63
:10036000E7DEE6DEF092800010938200E1DEE0DE60
:10037000DFDEDEDEDDDE0150B1F61F910F91FF9072
:10038000EF90DF9008957F928F929F92AF92BF92ED
:10039000CF92DF92EF92FF920F931F93CF93DF9351
:1003A0008AE08093720006E010E0C0E0D0E05FE0F9
:1003A0008AE080937E0006E010E0C0E0D0E05FE0ED
:1003B000C52E40E1A42E31E1B32E23E0822E9EE033
:1003C000D92E8AE0982EC0927400A0927500B09247
:1003D0007600C0927700EE2420C08E2D682D57D075
:1003E0009923C9F4809174008E3059F49092720070
:1003F000C0927400A0927500B0927600C09277000F
:100400000AC0D0927200D0927400D0927500D0923F
:100410007600D09277008CDEE3948E2D90E08017EA
:100420009107DCF2D0927400D0927500D0927600E1
:10043000D09277007724B4E0EB2EF12CEC0EFD1E69
:1003C000D92E8AE0982EC0928000A0928100B0922F
:1003D0008200C0928300EE2420C08E2D682DE8D0CC
:1003E0009923C9F4809180008E3059F490927E0058
:1003F000C0928000A0928100B0928200C0928300DF
:100400000AC0D0927E00D0928000D0928100D0921B
:100410008200D09283008CDEE3948E2D90E08017D2
:100420009107DCF2D0928000D0928100D0928200BD
:10043000D09283007724B4E0EB2EF12CEC0EFD1E5D
:1004400002C076DE7394872D90E0E816F906CCF7AB
:1004500021960E5F1F4FCC32D10509F0B4CFDF914A
:10046000CF911F910F91FF90EF90DF90CF90BF90B1
:10047000AF909F908F907F90089517BAF5DE8DE131
:1004800071DE01DF40DF7FDF81E0BDDEF7CF991B4A
:1004900079E004C0991F961708F0961B881F7A957B
:1004A000C9F78095089597FB092E07260AD077FD96
:1004B00004D00CD006D000201AF4709561957F4FBF
:1004C0000895F6F7909581959F4F0895AA1BBB1B41
:1004D00051E107C0AA1FBB1FA617B70710F0A61B44
:1004E000B70B881F991F5A95A9F780959095BC0165
:0804F000CD010895F894FFCF3F
:1004F8003F065B4F666D7D077F6F407046760079DB
:08050800375E0E0E0E0E0E0E02
:10047000AF909F908F907F900895EF92FF920F938F
:100480001F93DF93CF93CDB7DEB7C451CDBFDE014D
:100490001196E4E8F0E083E101900D928150E1F7DC
:1004A0008EE080937E0080937F0080938000809315
:1004B000810080938200809383004CEF7EE0E72EE2
:1004C0008E010F5F1F4F22C09C012F5F3F4F5331A2
:1004D00048F4F801E50FF11D608122583F4FF90102
:1004E000608304C022583F4FF901E08201965F5FAC
:1004F0008530910549F76EE1F62E4C8B19DEFA94A2
:100500004C89FF20D1F74F5F443121F0542F80E018
:1005100090E0DACFCC5ECDBFCF91DF911F910F91EC
:10052000FF90EF900895CF92DF92EF92FF920F939A
:100530001F938EE080937E0080937F000EE1B2E0F7
:10054000CB2EDD24D394A3E0EA2E1EE0C0928000DF
:1005500010928100D0928200E0928300F4E1FF2E9D
:10056000E7DDFA94E9F7109380001093810010936F
:10057000820010938300E4E1FE2EDADDFA94E9F7BD
:10058000015021F71F910F91FF90EF90DF90CF90D6
:10059000089517BA69DE8DE1E5DD6FDF6EDF6DDF8F
:1005A0006CDF6BDFC0DF6FDEEEDE82E02CDEF2CFD1
:1005B000991B79E004C0991F961708F0961B881FB5
:1005C0007A95C9F78095089597FB092E07260AD0DA
:1005D00077FD04D00CD006D000201AF470956195F8
:1005E0007F4F0895F6F7909581959F4F0895AA1B28
:1005F000BB1B51E107C0AA1FBB1FA617B70710F00E
:10060000A61BB70B881F991F5A95A9F7809590953F
:0A061000BC01CD010895F894FFCF5E
:10061A003F065B4F666D7D077F6F407046760079B7
:10062A00375E71315C763C1E067739073E0F0E0E37
:10063A000E0E0E0E121314150F0E16170F18151094
:08064A00191A151B0F100E0018
:04000003000002688F
:00000001FF

View File

@ -3,35 +3,35 @@ Timer.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000004f8 00000000 00000000 00000094 2**1
0 .text 0000061a 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000018 00800060 000004f8 0000058c 2**0
1 .data 00000038 00800060 0000061a 000006ae 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000001 00800078 00800078 000005a4 2**0
2 .bss 00000001 00800098 00800098 000006e6 2**0
ALLOC
3 .stab 000006b4 00000000 00000000 000005a4 2**2
3 .stab 000006b4 00000000 00000000 000006e8 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000085 00000000 00000000 00000c58 2**0
4 .stabstr 00000085 00000000 00000000 00000d9c 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 00000020 00000000 00000000 00000cdd 2**0
5 .debug_aranges 00000020 00000000 00000000 00000e21 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 0000009e 00000000 00000000 00000cfd 2**0
6 .debug_pubnames 000000bc 00000000 00000000 00000e41 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 000005ab 00000000 00000000 00000d9b 2**0
7 .debug_info 000006c3 00000000 00000000 00000efd 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 000001b7 00000000 00000000 00001346 2**0
8 .debug_abbrev 000001f9 00000000 00000000 000015c0 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 00000626 00000000 00000000 000014fd 2**0
9 .debug_line 00000786 00000000 00000000 000017b9 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_frame 000000a0 00000000 00000000 00001b24 2**2
10 .debug_frame 000000c0 00000000 00000000 00001f40 2**2
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00000147 00000000 00000000 00001bc4 2**0
11 .debug_str 00000163 00000000 00000000 00002000 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 00000474 00000000 00000000 00001d0b 2**0
12 .debug_loc 00000548 00000000 00000000 00002163 2**0
CONTENTS, READONLY, DEBUGGING
13 .debug_pubtypes 00000038 00000000 00000000 0000217f 2**0
13 .debug_pubtypes 00000038 00000000 00000000 000026ab 2**0
CONTENTS, READONLY, DEBUGGING
14 .debug_ranges 00000018 00000000 00000000 000021b7 2**0
14 .debug_ranges 00000018 00000000 00000000 000026e3 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
@ -67,18 +67,18 @@ Disassembly of section .text:
2e: 10 e0 ldi r17, 0x00 ; 0
30: a0 e6 ldi r26, 0x60 ; 96
32: b0 e0 ldi r27, 0x00 ; 0
34: e8 ef ldi r30, 0xF8 ; 248
36: f4 e0 ldi r31, 0x04 ; 4
34: ea e1 ldi r30, 0x1A ; 26
36: f6 e0 ldi r31, 0x06 ; 6
38: 02 c0 rjmp .+4 ; 0x3e <__SP_H__>
3a: 05 90 lpm r0, Z+
3c: 0d 92 st X+, r0
3e: a8 37 cpi r26, 0x78 ; 120
3e: a8 39 cpi r26, 0x98 ; 152
40: b1 07 cpc r27, r17
42: d9 f7 brne .-10 ; 0x3a <__CCP__+0x6>
00000044 <__do_clear_bss>:
44: 10 e0 ldi r17, 0x00 ; 0
46: a8 e7 ldi r26, 0x78 ; 120
46: a8 e9 ldi r26, 0x98 ; 152
48: b0 e0 ldi r27, 0x00 ; 0
4a: 01 c0 rjmp .+2 ; 0x4e <.do_clear_bss_start>
@ -86,17 +86,17 @@ Disassembly of section .text:
4c: 1d 92 st X+, r1
0000004e <.do_clear_bss_start>:
4e: a9 37 cpi r26, 0x79 ; 121
4e: a9 39 cpi r26, 0x99 ; 153
50: b1 07 cpc r27, r17
52: e1 f7 brne .-8 ; 0x4c <.do_clear_bss_loop>
54: 12 d2 rcall .+1060 ; 0x47a <main>
56: 4e c2 rjmp .+1180 ; 0x4f4 <_exit>
54: 9e d2 rcall .+1340 ; 0x592 <main>
56: df c2 rjmp .+1470 ; 0x616 <_exit>
00000058 <__bad_interrupt>:
58: d3 cf rjmp .-90 ; 0x0 <__vectors>
0000005a <display>:
};
// 14,14,18,18,19,19,20,20};
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
char var = 0;
@ -272,7 +272,7 @@ void render() {
for(uint8_t f = 0;f<6;f++) {
display(frame[f],(5-f)+2);
13c: fe 01 movw r30, r28
13e: ee 58 subi r30, 0x8E ; 142
13e: e2 58 subi r30, 0x82 ; 130
140: ff 4f sbci r31, 0xFF ; 255
142: 80 81 ld r24, Z
144: 61 2f mov r22, r17
@ -332,7 +332,7 @@ void timerdown(uint8_t min) {
180: c8 2e mov r12, r24
frame[0] = 11;
182: 8b e0 ldi r24, 0x0B ; 11
184: 80 93 72 00 sts 0x0072, r24
184: 80 93 7e 00 sts 0x007E, r24
for(uint8_t j=0;j<=min;j++) {
188: dd 24 eor r13, r13
frame[2] = (uint8_t)((MIN-j)/10);
@ -345,10 +345,10 @@ void timerdown(uint8_t min) {
196: 8d 19 sub r24, r13
198: 91 09 sbc r25, r1
19a: b8 01 movw r22, r16
19c: 84 d1 rcall .+776 ; 0x4a6 <__divmodhi4>
19e: 60 93 74 00 sts 0x0074, r22
19c: 15 d2 rcall .+1066 ; 0x5c8 <__divmodhi4>
19e: 60 93 80 00 sts 0x0080, r22
frame[3] = (uint8_t)((MIN-j)%10);
1a2: 80 93 75 00 sts 0x0075, r24
1a2: 80 93 81 00 sts 0x0081, r24
1a6: 9b e3 ldi r25, 0x3B ; 59
1a8: 89 2e mov r8, r25
1aa: 91 2c mov r9, r1
@ -357,17 +357,17 @@ void timerdown(uint8_t min) {
frame[4] = (uint8_t)((59-i)/10);
1ae: c4 01 movw r24, r8
1b0: b8 01 movw r22, r16
1b2: 79 d1 rcall .+754 ; 0x4a6 <__divmodhi4>
1b4: 60 93 76 00 sts 0x0076, r22
1b2: 0a d2 rcall .+1044 ; 0x5c8 <__divmodhi4>
1b4: 60 93 82 00 sts 0x0082, r22
frame[5] = (uint8_t)((59-i)%10);
1b8: 80 93 77 00 sts 0x0077, r24
1b8: 80 93 83 00 sts 0x0083, r24
frame[0] = (i%2==0)?11:14;
1bc: 20 ff sbrs r18, 0
1be: 02 c0 rjmp .+4 ; 0x1c4 <timerdown+0x60>
1c0: 8e e0 ldi r24, 0x0E ; 14
1c2: 01 c0 rjmp .+2 ; 0x1c6 <timerdown+0x62>
1c4: 8b e0 ldi r24, 0x0B ; 11
1c6: 80 93 72 00 sts 0x0072, r24
1c6: 80 93 7e 00 sts 0x007E, r24
1ca: 82 e5 ldi r24, 0x52 ; 82
1cc: b8 2e mov r11, r24
for(uint8_t k=0;k<82;k++) {
@ -434,7 +434,7 @@ void timerup(uint8_t min) {
20c: 1f 93 push r17
frame[0] = 10;
20e: 9a e0 ldi r25, 0x0A ; 10
210: 90 93 72 00 sts 0x0072, r25
210: 90 93 7e 00 sts 0x007E, r25
for(uint8_t j=min;j<=99;j++) {
214: 08 2f mov r16, r24
frame[2] = (uint8_t)(j/10);
@ -450,26 +450,26 @@ void timerup(uint8_t min) {
frame[2] = (uint8_t)(j/10);
21c: 80 2f mov r24, r16
21e: 6f 2d mov r22, r15
220: 36 d1 rcall .+620 ; 0x48e <__udivmodqi4>
222: 80 93 74 00 sts 0x0074, r24
220: c7 d1 rcall .+910 ; 0x5b0 <__udivmodqi4>
222: 80 93 80 00 sts 0x0080, r24
frame[3] = (uint8_t)(j%10);
226: 90 93 75 00 sts 0x0075, r25
226: 90 93 81 00 sts 0x0081, r25
for(uint8_t i=0;i<=59;i++) {
22a: 10 e0 ldi r17, 0x00 ; 0
frame[4] = (uint8_t)(i/10);
22c: 81 2f mov r24, r17
22e: 6f 2d mov r22, r15
230: 2e d1 rcall .+604 ; 0x48e <__udivmodqi4>
232: 80 93 76 00 sts 0x0076, r24
230: bf d1 rcall .+894 ; 0x5b0 <__udivmodqi4>
232: 80 93 82 00 sts 0x0082, r24
frame[5] = (uint8_t)(i%10);
236: 90 93 77 00 sts 0x0077, r25
236: 90 93 83 00 sts 0x0083, r25
frame[0] = (i%2==0)?10:14;
23a: 10 ff sbrs r17, 0
23c: 02 c0 rjmp .+4 ; 0x242 <timerup+0x3c>
23e: 8e e0 ldi r24, 0x0E ; 14
240: 01 c0 rjmp .+2 ; 0x244 <timerup+0x3e>
242: 8a e0 ldi r24, 0x0A ; 10
244: 80 93 72 00 sts 0x0072, r24
244: 80 93 7e 00 sts 0x007E, r24
248: 32 e5 ldi r19, 0x52 ; 82
24a: e3 2e mov r14, r19
for(uint8_t k=0;k<82;k++) {
@ -558,7 +558,7 @@ void endelauflicht() {
28e: 1f 93 push r17
frame[0] = 10;
290: 8a e0 ldi r24, 0x0A ; 10
292: 80 93 72 00 sts 0x0072, r24
292: 80 93 7e 00 sts 0x007E, r24
296: 09 e2 ldi r16, 0x29 ; 41
for(uint8_t j=0;j<41;j++) {
frame[2] = 15;
@ -587,13 +587,13 @@ void endelauflicht() {
frame[0] = 10;
for(uint8_t j=0;j<41;j++) {
frame[2] = 15;
2a6: f0 92 74 00 sts 0x0074, r15
2a6: f0 92 80 00 sts 0x0080, r15
frame[3] = 14;
2aa: 10 93 75 00 sts 0x0075, r17
2aa: 10 93 81 00 sts 0x0081, r17
frame[4] = 14;
2ae: 10 93 76 00 sts 0x0076, r17
2ae: 10 93 82 00 sts 0x0082, r17
frame[5] = 14;
2b2: 10 93 77 00 sts 0x0077, r17
2b2: 10 93 83 00 sts 0x0083, r17
for(uint8_t k=0;k<5;k++) {
render();
2b6: 3c df rcall .-392 ; 0x130 <render>
@ -603,9 +603,9 @@ void endelauflicht() {
2be: 38 df rcall .-400 ; 0x130 <render>
}
frame[2] = 14;
2c0: 10 93 74 00 sts 0x0074, r17
2c0: 10 93 80 00 sts 0x0080, r17
frame[3] = 16;
2c4: d0 92 75 00 sts 0x0075, r13
2c4: d0 92 81 00 sts 0x0081, r13
for(uint8_t k=0;k<5;k++) {
render();
2c8: 33 df rcall .-410 ; 0x130 <render>
@ -615,9 +615,9 @@ void endelauflicht() {
2d0: 2f df rcall .-418 ; 0x130 <render>
}
frame[3] = 14;
2d2: 10 93 75 00 sts 0x0075, r17
2d2: 10 93 81 00 sts 0x0081, r17
frame[4] = 17;
2d6: e0 92 76 00 sts 0x0076, r14
2d6: e0 92 82 00 sts 0x0082, r14
for(uint8_t k=0;k<5;k++) {
render();
2da: 2a df rcall .-428 ; 0x130 <render>
@ -627,9 +627,9 @@ void endelauflicht() {
2e2: 26 df rcall .-436 ; 0x130 <render>
}
frame[4] = 14;
2e4: 10 93 76 00 sts 0x0076, r17
2e4: 10 93 82 00 sts 0x0082, r17
frame[5] = 15;
2e8: f0 92 77 00 sts 0x0077, r15
2e8: f0 92 83 00 sts 0x0083, r15
for(uint8_t k=0;k<5;k++) {
render();
2ec: 21 df rcall .-446 ; 0x130 <render>
@ -668,7 +668,7 @@ void enderand() {
30e: 1f 93 push r17
frame[0] = 10;
310: 8a e0 ldi r24, 0x0A ; 10
312: 80 93 72 00 sts 0x0072, r24
312: 80 93 7e 00 sts 0x007E, r24
316: 09 e2 ldi r16, 0x29 ; 41
for(uint8_t j=0;j<41;j++) {
frame[2] = 14;
@ -698,13 +698,13 @@ void enderand() {
frame[0] = 10;
for(uint8_t j=0;j<41;j++) {
frame[2] = 14;
326: 10 93 74 00 sts 0x0074, r17
326: 10 93 80 00 sts 0x0080, r17
frame[3] = 14;
32a: 10 93 75 00 sts 0x0075, r17
32a: 10 93 81 00 sts 0x0081, r17
frame[4] = 14;
32e: 10 93 76 00 sts 0x0076, r17
32e: 10 93 82 00 sts 0x0082, r17
frame[5] = 15;
332: f0 92 77 00 sts 0x0077, r15
332: f0 92 83 00 sts 0x0083, r15
for(uint8_t k=0;k<5;k++) {
render();
336: fc de rcall .-520 ; 0x130 <render>
@ -714,9 +714,9 @@ void enderand() {
33e: f8 de rcall .-528 ; 0x130 <render>
}
frame[5] = 14;
340: 10 93 77 00 sts 0x0077, r17
340: 10 93 83 00 sts 0x0083, r17
frame[3] = 16;
344: d0 92 75 00 sts 0x0075, r13
344: d0 92 81 00 sts 0x0081, r13
for(uint8_t k=0;k<5;k++) {
render();
348: f3 de rcall .-538 ; 0x130 <render>
@ -726,9 +726,9 @@ void enderand() {
350: ef de rcall .-546 ; 0x130 <render>
}
frame[3] = 14;
352: 10 93 75 00 sts 0x0075, r17
352: 10 93 81 00 sts 0x0081, r17
frame[4] = 17;
356: e0 92 76 00 sts 0x0076, r14
356: e0 92 82 00 sts 0x0082, r14
for(uint8_t k=0;k<5;k++) {
render();
35a: ea de rcall .-556 ; 0x130 <render>
@ -738,9 +738,9 @@ void enderand() {
362: e6 de rcall .-564 ; 0x130 <render>
}
frame[2] = 15;
364: f0 92 74 00 sts 0x0074, r15
364: f0 92 80 00 sts 0x0080, r15
frame[4] = 14;
368: 10 93 76 00 sts 0x0076, r17
368: 10 93 82 00 sts 0x0082, r17
for(uint8_t k=0;k<5;k++) {
render();
36c: e1 de rcall .-574 ; 0x130 <render>
@ -787,7 +787,7 @@ void endeblink() {
39e: df 93 push r29
frame[0] = 10;
3a0: 8a e0 ldi r24, 0x0A ; 10
3a2: 80 93 72 00 sts 0x0072, r24
3a2: 80 93 7e 00 sts 0x007E, r24
3a6: 06 e0 ldi r16, 0x06 ; 6
3a8: 10 e0 ldi r17, 0x00 ; 0
3aa: c0 e0 ldi r28, 0x00 ; 0
@ -829,48 +829,48 @@ void endeblink() {
frame[0] = 10;
for(uint8_t j=0;j<44;j++) {
frame[2] = 15;
3c6: c0 92 74 00 sts 0x0074, r12
3c6: c0 92 80 00 sts 0x0080, r12
frame[3] = 16;
3ca: a0 92 75 00 sts 0x0075, r10
3ca: a0 92 81 00 sts 0x0081, r10
frame[4] = 17;
3ce: b0 92 76 00 sts 0x0076, r11
3ce: b0 92 82 00 sts 0x0082, r11
frame[5] = 15;
3d2: c0 92 77 00 sts 0x0077, r12
3d2: c0 92 83 00 sts 0x0083, r12
for(uint8_t k=0;k<6+(j*2);k++) {
3d6: ee 24 eor r14, r14
3d8: 20 c0 rjmp .+64 ; 0x41a <endeblink+0x94>
if(k%3==0) {
3da: 8e 2d mov r24, r14
3dc: 68 2d mov r22, r8
3de: 57 d0 rcall .+174 ; 0x48e <__udivmodqi4>
3de: e8 d0 rcall .+464 ; 0x5b0 <__udivmodqi4>
3e0: 99 23 and r25, r25
3e2: c9 f4 brne .+50 ; 0x416 <endeblink+0x90>
if(frame[2] == 14) {
3e4: 80 91 74 00 lds r24, 0x0074
3e4: 80 91 80 00 lds r24, 0x0080
3e8: 8e 30 cpi r24, 0x0E ; 14
3ea: 59 f4 brne .+22 ; 0x402 <endeblink+0x7c>
frame[0] = 10;
3ec: 90 92 72 00 sts 0x0072, r9
3ec: 90 92 7e 00 sts 0x007E, r9
frame[2] = 15;
3f0: c0 92 74 00 sts 0x0074, r12
3f0: c0 92 80 00 sts 0x0080, r12
frame[3] = 16;
3f4: a0 92 75 00 sts 0x0075, r10
3f4: a0 92 81 00 sts 0x0081, r10
frame[4] = 17;
3f8: b0 92 76 00 sts 0x0076, r11
3f8: b0 92 82 00 sts 0x0082, r11
frame[5] = 15;
3fc: c0 92 77 00 sts 0x0077, r12
3fc: c0 92 83 00 sts 0x0083, r12
400: 0a c0 rjmp .+20 ; 0x416 <endeblink+0x90>
} else {
frame[0] = 14;
402: d0 92 72 00 sts 0x0072, r13
402: d0 92 7e 00 sts 0x007E, r13
frame[2] = 14;
406: d0 92 74 00 sts 0x0074, r13
406: d0 92 80 00 sts 0x0080, r13
frame[3] = 14;
40a: d0 92 75 00 sts 0x0075, r13
40a: d0 92 81 00 sts 0x0081, r13
frame[4] = 14;
40e: d0 92 76 00 sts 0x0076, r13
40e: d0 92 82 00 sts 0x0082, r13
frame[5] = 14;
412: d0 92 77 00 sts 0x0077, r13
412: d0 92 83 00 sts 0x0083, r13
}
}
render();
@ -893,13 +893,13 @@ void endeblink() {
render();
}
frame[2] = 14;
424: d0 92 74 00 sts 0x0074, r13
424: d0 92 80 00 sts 0x0080, r13
frame[3] = 14;
428: d0 92 75 00 sts 0x0075, r13
428: d0 92 81 00 sts 0x0081, r13
frame[4] = 14;
42c: d0 92 76 00 sts 0x0076, r13
42c: d0 92 82 00 sts 0x0082, r13
frame[5] = 14;
430: d0 92 77 00 sts 0x0077, r13
430: d0 92 83 00 sts 0x0083, r13
for(uint8_t k=0;k<5+j;k++) {
434: 77 24 eor r7, r7
render();
@ -968,111 +968,370 @@ void endeblink() {
476: 7f 90 pop r7
478: 08 95 ret
0000047a <main>:
0000047a <weihnachten>:
void weihnachten() {
47a: ef 92 push r14
47c: ff 92 push r15
47e: 0f 93 push r16
480: 1f 93 push r17
482: df 93 push r29
484: cf 93 push r28
486: cd b7 in r28, 0x3d ; 61
488: de b7 in r29, 0x3e ; 62
48a: c4 51 subi r28, 0x14 ; 20
48c: cd bf out 0x3d, r28 ; 61
uint8_t text1[] = {18,19,20,21,15,14, //Frohe
48e: de 01 movw r26, r28
490: 11 96 adiw r26, 0x01 ; 1
492: e4 e8 ldi r30, 0x84 ; 132
494: f0 e0 ldi r31, 0x00 ; 0
496: 83 e1 ldi r24, 0x13 ; 19
498: 01 90 ld r0, Z+
49a: 0d 92 st X+, r0
49c: 81 50 subi r24, 0x01 ; 1
49e: e1 f7 brne .-8 ; 0x498 <weihnachten+0x1e>
22,23,15,24,21,16,25,26,21,27,15,16,14}; //Weihnachten
frame[0] = 14;
4a0: 8e e0 ldi r24, 0x0E ; 14
4a2: 80 93 7e 00 sts 0x007E, r24
frame[1] = 14;
4a6: 80 93 7f 00 sts 0x007F, r24
frame[2] = 14;
4aa: 80 93 80 00 sts 0x0080, r24
frame[3] = 14;
4ae: 80 93 81 00 sts 0x0081, r24
frame[4] = 14;
4b2: 80 93 82 00 sts 0x0082, r24
frame[5] = 14;
4b6: 80 93 83 00 sts 0x0083, r24
4ba: 4c ef ldi r20, 0xFC ; 252
for(uint8_t j=0;j<5;j++) {
uint8_t z = i+j-4;
if(z>=0 && z < sizeof(text1)) {
frame[j+1] = text1[z];
} else {
frame[j+1] = 14;
4bc: 7e e0 ldi r23, 0x0E ; 14
4be: e7 2e mov r14, r23
frame[5] = 14;
for(uint8_t i=0;i<sizeof(text1)+5;i++) {
for(uint8_t j=0;j<5;j++) {
uint8_t z = i+j-4;
if(z>=0 && z < sizeof(text1)) {
frame[j+1] = text1[z];
4c0: 8e 01 movw r16, r28
4c2: 0f 5f subi r16, 0xFF ; 255
4c4: 1f 4f sbci r17, 0xFF ; 255
4c6: 22 c0 rjmp .+68 ; 0x50c <weihnachten+0x92>
4c8: 9c 01 movw r18, r24
4ca: 2f 5f subi r18, 0xFF ; 255
4cc: 3f 4f sbci r19, 0xFF ; 255
frame[4] = 14;
frame[5] = 14;
for(uint8_t i=0;i<sizeof(text1)+5;i++) {
for(uint8_t j=0;j<5;j++) {
uint8_t z = i+j-4;
if(z>=0 && z < sizeof(text1)) {
4ce: 53 31 cpi r21, 0x13 ; 19
4d0: 48 f4 brcc .+18 ; 0x4e4 <weihnachten+0x6a>
frame[j+1] = text1[z];
4d2: f8 01 movw r30, r16
4d4: e5 0f add r30, r21
4d6: f1 1d adc r31, r1
4d8: 60 81 ld r22, Z
4da: 22 58 subi r18, 0x82 ; 130
4dc: 3f 4f sbci r19, 0xFF ; 255
4de: f9 01 movw r30, r18
4e0: 60 83 st Z, r22
4e2: 04 c0 rjmp .+8 ; 0x4ec <weihnachten+0x72>
} else {
frame[j+1] = 14;
4e4: 22 58 subi r18, 0x82 ; 130
4e6: 3f 4f sbci r19, 0xFF ; 255
4e8: f9 01 movw r30, r18
4ea: e0 82 st Z, r14
4ec: 01 96 adiw r24, 0x01 ; 1
4ee: 5f 5f subi r21, 0xFF ; 255
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
frame[5] = 14;
for(uint8_t i=0;i<sizeof(text1)+5;i++) {
for(uint8_t j=0;j<5;j++) {
4f0: 85 30 cpi r24, 0x05 ; 5
4f2: 91 05 cpc r25, r1
4f4: 49 f7 brne .-46 ; 0x4c8 <weihnachten+0x4e>
4f6: 6e e1 ldi r22, 0x1E ; 30
4f8: f6 2e mov r15, r22
} else {
frame[j+1] = 14;
}
}
for(uint8_t k=0;k<30;k++) {
render();
4fa: 4c 8b std Y+20, r20 ; 0x14
4fc: 19 de rcall .-974 ; 0x130 <render>
4fe: fa 94 dec r15
frame[j+1] = text1[z];
} else {
frame[j+1] = 14;
}
}
for(uint8_t k=0;k<30;k++) {
500: 4c 89 ldd r20, Y+20 ; 0x14
502: ff 20 and r15, r15
504: d1 f7 brne .-12 ; 0x4fa <weihnachten+0x80>
506: 4f 5f subi r20, 0xFF ; 255
frame[1] = 14;
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
frame[5] = 14;
for(uint8_t i=0;i<sizeof(text1)+5;i++) {
508: 44 31 cpi r20, 0x14 ; 20
50a: 21 f0 breq .+8 ; 0x514 <weihnachten+0x9a>
render();
}
}
}
void weihnachten() {
50c: 54 2f mov r21, r20
50e: 80 e0 ldi r24, 0x00 ; 0
510: 90 e0 ldi r25, 0x00 ; 0
512: da cf rjmp .-76 ; 0x4c8 <weihnachten+0x4e>
}
for(uint8_t k=0;k<30;k++) {
render();
}
}
}
514: cc 5e subi r28, 0xEC ; 236
516: cd bf out 0x3d, r28 ; 61
518: cf 91 pop r28
51a: df 91 pop r29
51c: 1f 91 pop r17
51e: 0f 91 pop r16
520: ff 90 pop r15
522: ef 90 pop r14
524: 08 95 ret
00000526 <blink2013>:
void blink2013() {
526: cf 92 push r12
528: df 92 push r13
52a: ef 92 push r14
52c: ff 92 push r15
52e: 0f 93 push r16
530: 1f 93 push r17
frame[0] = 14;
532: 8e e0 ldi r24, 0x0E ; 14
534: 80 93 7e 00 sts 0x007E, r24
frame[1] = 14;
538: 80 93 7f 00 sts 0x007F, r24
53c: 0e e1 ldi r16, 0x1E ; 30
for(uint8_t i=0;i<30;i++) {
frame[2] = 2;
53e: b2 e0 ldi r27, 0x02 ; 2
540: cb 2e mov r12, r27
frame[3] = 0;
frame[4] = 1;
542: dd 24 eor r13, r13
544: d3 94 inc r13
frame[5] = 3;
546: a3 e0 ldi r26, 0x03 ; 3
548: ea 2e mov r14, r26
for(uint8_t k=0;k<20;k++) {
render();
}
frame[2] = 14;
54a: 1e e0 ldi r17, 0x0E ; 14
void blink2013() {
frame[0] = 14;
frame[1] = 14;
for(uint8_t i=0;i<30;i++) {
frame[2] = 2;
54c: c0 92 80 00 sts 0x0080, r12
frame[3] = 0;
550: 10 92 81 00 sts 0x0081, r1
frame[4] = 1;
554: d0 92 82 00 sts 0x0082, r13
frame[5] = 3;
558: e0 92 83 00 sts 0x0083, r14
55c: f4 e1 ldi r31, 0x14 ; 20
55e: ff 2e mov r15, r31
for(uint8_t k=0;k<20;k++) {
render();
560: e7 dd rcall .-1074 ; 0x130 <render>
562: fa 94 dec r15
for(uint8_t i=0;i<30;i++) {
frame[2] = 2;
frame[3] = 0;
frame[4] = 1;
frame[5] = 3;
for(uint8_t k=0;k<20;k++) {
564: e9 f7 brne .-6 ; 0x560 <blink2013+0x3a>
render();
}
frame[2] = 14;
566: 10 93 80 00 sts 0x0080, r17
frame[3] = 14;
56a: 10 93 81 00 sts 0x0081, r17
frame[4] = 14;
56e: 10 93 82 00 sts 0x0082, r17
frame[5] = 14;
572: 10 93 83 00 sts 0x0083, r17
576: e4 e1 ldi r30, 0x14 ; 20
578: fe 2e mov r15, r30
for(uint8_t k=0;k<20;k++) {
render();
57a: da dd rcall .-1100 ; 0x130 <render>
57c: fa 94 dec r15
}
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
frame[5] = 14;
for(uint8_t k=0;k<20;k++) {
57e: e9 f7 brne .-6 ; 0x57a <blink2013+0x54>
580: 01 50 subi r16, 0x01 ; 1
}
void blink2013() {
frame[0] = 14;
frame[1] = 14;
for(uint8_t i=0;i<30;i++) {
582: 21 f7 brne .-56 ; 0x54c <blink2013+0x26>
frame[5] = 14;
for(uint8_t k=0;k<20;k++) {
render();
}
}
}
584: 1f 91 pop r17
586: 0f 91 pop r16
588: ff 90 pop r15
58a: ef 90 pop r14
58c: df 90 pop r13
58e: cf 90 pop r12
590: 08 95 ret
00000592 <main>:
int main(void) {
DDRB = 0;
47a: 17 ba out 0x17, r1 ; 23
592: 17 ba out 0x17, r1 ; 23
OCR0A = 250; //geladen mit 10ms
TIMSK |= (1<<OCIE0A);
sei();//*/
while(1){
//Warten bis Startknopf
start();
47c: f5 de rcall .-534 ; 0x268 <start>
594: 69 de rcall .-814 ; 0x268 <start>
//Timer $MIN nach unten
timerdown(MIN);
47e: 8d e1 ldi r24, 0x1D ; 29
480: 71 de rcall .-798 ; 0x164 <timerdown>
596: 8d e1 ldi r24, 0x1D ; 29
598: e5 dd rcall .-1078 ; 0x164 <timerdown>
for(int i=0;i<5;i++) {
weihnachten();
59a: 6f df rcall .-290 ; 0x47a <weihnachten>
59c: 6e df rcall .-292 ; 0x47a <weihnachten>
59e: 6d df rcall .-294 ; 0x47a <weihnachten>
5a0: 6c df rcall .-296 ; 0x47a <weihnachten>
5a2: 6b df rcall .-298 ; 0x47a <weihnachten>
}
blink2013();
5a4: c0 df rcall .-128 ; 0x526 <blink2013>
//Lauflicht 10s;
endelauflicht();
482: 01 df rcall .-510 ; 0x286 <endelauflicht>
5a6: 6f de rcall .-802 ; 0x286 <endelauflicht>
//Lauflicht Rand 10s
enderand();
484: 40 df rcall .-384 ; 0x306 <enderand>
//enderand();
//Blinklicht
endeblink();
486: 7f df rcall .-258 ; 0x386 <endeblink>
5a8: ee de rcall .-548 ; 0x386 <endeblink>
//Timer UP 1Min Start
timerup(1);
488: 81 e0 ldi r24, 0x01 ; 1
48a: bd de rcall .-646 ; 0x206 <timerup>
48c: f7 cf rjmp .-18 ; 0x47c <main+0x2>
timerup(2);
5aa: 82 e0 ldi r24, 0x02 ; 2
5ac: 2c de rcall .-936 ; 0x206 <timerup>
5ae: f2 cf rjmp .-28 ; 0x594 <main+0x2>
0000048e <__udivmodqi4>:
48e: 99 1b sub r25, r25
490: 79 e0 ldi r23, 0x09 ; 9
492: 04 c0 rjmp .+8 ; 0x49c <__udivmodqi4_ep>
000005b0 <__udivmodqi4>:
5b0: 99 1b sub r25, r25
5b2: 79 e0 ldi r23, 0x09 ; 9
5b4: 04 c0 rjmp .+8 ; 0x5be <__udivmodqi4_ep>
00000494 <__udivmodqi4_loop>:
494: 99 1f adc r25, r25
496: 96 17 cp r25, r22
498: 08 f0 brcs .+2 ; 0x49c <__udivmodqi4_ep>
49a: 96 1b sub r25, r22
000005b6 <__udivmodqi4_loop>:
5b6: 99 1f adc r25, r25
5b8: 96 17 cp r25, r22
5ba: 08 f0 brcs .+2 ; 0x5be <__udivmodqi4_ep>
5bc: 96 1b sub r25, r22
0000049c <__udivmodqi4_ep>:
49c: 88 1f adc r24, r24
49e: 7a 95 dec r23
4a0: c9 f7 brne .-14 ; 0x494 <__udivmodqi4_loop>
4a2: 80 95 com r24
4a4: 08 95 ret
000005be <__udivmodqi4_ep>:
5be: 88 1f adc r24, r24
5c0: 7a 95 dec r23
5c2: c9 f7 brne .-14 ; 0x5b6 <__udivmodqi4_loop>
5c4: 80 95 com r24
5c6: 08 95 ret
000004a6 <__divmodhi4>:
4a6: 97 fb bst r25, 7
4a8: 09 2e mov r0, r25
4aa: 07 26 eor r0, r23
4ac: 0a d0 rcall .+20 ; 0x4c2 <__divmodhi4_neg1>
4ae: 77 fd sbrc r23, 7
4b0: 04 d0 rcall .+8 ; 0x4ba <__divmodhi4_neg2>
4b2: 0c d0 rcall .+24 ; 0x4cc <__udivmodhi4>
4b4: 06 d0 rcall .+12 ; 0x4c2 <__divmodhi4_neg1>
4b6: 00 20 and r0, r0
4b8: 1a f4 brpl .+6 ; 0x4c0 <__divmodhi4_exit>
000005c8 <__divmodhi4>:
5c8: 97 fb bst r25, 7
5ca: 09 2e mov r0, r25
5cc: 07 26 eor r0, r23
5ce: 0a d0 rcall .+20 ; 0x5e4 <__divmodhi4_neg1>
5d0: 77 fd sbrc r23, 7
5d2: 04 d0 rcall .+8 ; 0x5dc <__divmodhi4_neg2>
5d4: 0c d0 rcall .+24 ; 0x5ee <__udivmodhi4>
5d6: 06 d0 rcall .+12 ; 0x5e4 <__divmodhi4_neg1>
5d8: 00 20 and r0, r0
5da: 1a f4 brpl .+6 ; 0x5e2 <__divmodhi4_exit>
000004ba <__divmodhi4_neg2>:
4ba: 70 95 com r23
4bc: 61 95 neg r22
4be: 7f 4f sbci r23, 0xFF ; 255
000005dc <__divmodhi4_neg2>:
5dc: 70 95 com r23
5de: 61 95 neg r22
5e0: 7f 4f sbci r23, 0xFF ; 255
000004c0 <__divmodhi4_exit>:
4c0: 08 95 ret
000005e2 <__divmodhi4_exit>:
5e2: 08 95 ret
000004c2 <__divmodhi4_neg1>:
4c2: f6 f7 brtc .-4 ; 0x4c0 <__divmodhi4_exit>
4c4: 90 95 com r25
4c6: 81 95 neg r24
4c8: 9f 4f sbci r25, 0xFF ; 255
4ca: 08 95 ret
000005e4 <__divmodhi4_neg1>:
5e4: f6 f7 brtc .-4 ; 0x5e2 <__divmodhi4_exit>
5e6: 90 95 com r25
5e8: 81 95 neg r24
5ea: 9f 4f sbci r25, 0xFF ; 255
5ec: 08 95 ret
000004cc <__udivmodhi4>:
4cc: aa 1b sub r26, r26
4ce: bb 1b sub r27, r27
4d0: 51 e1 ldi r21, 0x11 ; 17
4d2: 07 c0 rjmp .+14 ; 0x4e2 <__udivmodhi4_ep>
000005ee <__udivmodhi4>:
5ee: aa 1b sub r26, r26
5f0: bb 1b sub r27, r27
5f2: 51 e1 ldi r21, 0x11 ; 17
5f4: 07 c0 rjmp .+14 ; 0x604 <__udivmodhi4_ep>
000004d4 <__udivmodhi4_loop>:
4d4: aa 1f adc r26, r26
4d6: bb 1f adc r27, r27
4d8: a6 17 cp r26, r22
4da: b7 07 cpc r27, r23
4dc: 10 f0 brcs .+4 ; 0x4e2 <__udivmodhi4_ep>
4de: a6 1b sub r26, r22
4e0: b7 0b sbc r27, r23
000005f6 <__udivmodhi4_loop>:
5f6: aa 1f adc r26, r26
5f8: bb 1f adc r27, r27
5fa: a6 17 cp r26, r22
5fc: b7 07 cpc r27, r23
5fe: 10 f0 brcs .+4 ; 0x604 <__udivmodhi4_ep>
600: a6 1b sub r26, r22
602: b7 0b sbc r27, r23
000004e2 <__udivmodhi4_ep>:
4e2: 88 1f adc r24, r24
4e4: 99 1f adc r25, r25
4e6: 5a 95 dec r21
4e8: a9 f7 brne .-22 ; 0x4d4 <__udivmodhi4_loop>
4ea: 80 95 com r24
4ec: 90 95 com r25
4ee: bc 01 movw r22, r24
4f0: cd 01 movw r24, r26
4f2: 08 95 ret
00000604 <__udivmodhi4_ep>:
604: 88 1f adc r24, r24
606: 99 1f adc r25, r25
608: 5a 95 dec r21
60a: a9 f7 brne .-22 ; 0x5f6 <__udivmodhi4_loop>
60c: 80 95 com r24
60e: 90 95 com r25
610: bc 01 movw r22, r24
612: cd 01 movw r24, r26
614: 08 95 ret
000004f4 <_exit>:
4f4: f8 94 cli
00000616 <_exit>:
616: f8 94 cli
000004f6 <__stop_program>:
4f6: ff cf rjmp .-2 ; 0x4f6 <__stop_program>
00000618 <__stop_program>:
618: ff cf rjmp .-2 ; 0x618 <__stop_program>

View File

@ -122,7 +122,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
.rela.plt
*(.rela.plt)
.text 0x00000000 0x4f8
.text 0x00000000 0x61a
*(.vectors)
.vectors 0x00000000 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
0x00000000 __vector_default
@ -197,7 +197,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
0x00000058 __vector_10
0x00000058 __vector_16
0x00000058 __vector_18
.text 0x0000005a 0x434 Timer.o
.text 0x0000005a 0x556 Timer.o
0x0000005a display
0x00000130 render
0x00000164 timerdown
@ -206,30 +206,32 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
0x00000286 endelauflicht
0x00000306 enderand
0x00000386 endeblink
0x0000047a main
.text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
.text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
0x0000048e . = ALIGN (0x2)
0x0000047a weihnachten
0x00000526 blink2013
0x00000592 main
.text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
.text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
0x000005b0 . = ALIGN (0x2)
*(.text.*)
.text.libgcc 0x0000048e 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
0x0000048e __udivmodqi4
.text.libgcc 0x000004a6 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
0x000004a6 _div
0x000004a6 __divmodhi4
.text.libgcc 0x000004cc 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text.libgcc 0x000004cc 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text.libgcc 0x000004cc 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.text.libgcc 0x000004cc 0x28 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
0x000004cc __udivmodhi4
0x000004f4 . = ALIGN (0x2)
.text.libgcc 0x000005b0 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
0x000005b0 __udivmodqi4
.text.libgcc 0x000005c8 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
0x000005c8 _div
0x000005c8 __divmodhi4
.text.libgcc 0x000005ee 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text.libgcc 0x000005ee 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text.libgcc 0x000005ee 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.text.libgcc 0x000005ee 0x28 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
0x000005ee __udivmodhi4
0x00000616 . = ALIGN (0x2)
*(.fini9)
.fini9 0x000004f4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x000004f4 _exit
0x000004f4 exit
.fini9 0x00000616 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x00000616 _exit
0x00000616 exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -248,55 +250,56 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x000004f4 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.fini0 0x00000616 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
*(.fini0)
0x000004f8 _etext = .
0x0000061a _etext = .
.data 0x00800060 0x18 load address 0x000004f8
.data 0x00800060 0x38 load address 0x0000061a
0x00800060 PROVIDE (__data_start, .)
*(.data)
.data 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.data 0x00800060 0x18 Timer.o
.data 0x00800060 0x37 Timer.o
0x00800060 segs
0x00800072 frame
.data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
.data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
0x0080007e frame
.data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
.data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x00800078 . = ALIGN (0x2)
0x00800078 _edata = .
0x00800078 PROVIDE (__data_end, .)
0x00800098 . = ALIGN (0x2)
*fill* 0x00800097 0x1 00
0x00800098 _edata = .
0x00800098 PROVIDE (__data_end, .)
.bss 0x00800078 0x1
0x00800078 PROVIDE (__bss_start, .)
.bss 0x00800098 0x1
0x00800098 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.bss 0x00800078 0x1 Timer.o
0x00800078 var
.bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
.bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
.bss 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.bss 0x00800098 0x1 Timer.o
0x00800098 var
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o)
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
*(.bss*)
*(COMMON)
0x00800079 PROVIDE (__bss_end, .)
0x000004f8 __data_load_start = LOADADDR (.data)
0x00000510 __data_load_end = (__data_load_start + SIZEOF (.data))
0x00800099 PROVIDE (__bss_end, .)
0x0000061a __data_load_start = LOADADDR (.data)
0x00000652 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800079 0x0
0x00800079 PROVIDE (__noinit_start, .)
.noinit 0x00800099 0x0
0x00800099 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800079 PROVIDE (__noinit_end, .)
0x00800079 _end = .
0x00800079 PROVIDE (__heap_start, .)
0x00800099 PROVIDE (__noinit_end, .)
0x00800099 _end = .
0x00800099 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
@ -355,36 +358,36 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
0x00000000 0x20 Timer.o
.debug_pubnames
0x00000000 0x9e
0x00000000 0xbc
*(.debug_pubnames)
.debug_pubnames
0x00000000 0x9e Timer.o
0x00000000 0xbc Timer.o
.debug_info 0x00000000 0x5ab
.debug_info 0x00000000 0x6c3
*(.debug_info)
.debug_info 0x00000000 0x5ab Timer.o
.debug_info 0x00000000 0x6c3 Timer.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x1b7
.debug_abbrev 0x00000000 0x1f9
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x1b7 Timer.o
.debug_abbrev 0x00000000 0x1f9 Timer.o
.debug_line 0x00000000 0x626
.debug_line 0x00000000 0x786
*(.debug_line)
.debug_line 0x00000000 0x626 Timer.o
.debug_line 0x00000000 0x786 Timer.o
.debug_frame 0x00000000 0xa0
.debug_frame 0x00000000 0xc0
*(.debug_frame)
.debug_frame 0x00000000 0xa0 Timer.o
.debug_frame 0x00000000 0xc0 Timer.o
.debug_str 0x00000000 0x147
.debug_str 0x00000000 0x163
*(.debug_str)
.debug_str 0x00000000 0x147 Timer.o
0x180 (size before relaxing)
.debug_str 0x00000000 0x163 Timer.o
0x19c (size before relaxing)
.debug_loc 0x00000000 0x474
.debug_loc 0x00000000 0x548
*(.debug_loc)
.debug_loc 0x00000000 0x474 Timer.o
.debug_loc 0x00000000 0x548 Timer.o
.debug_macinfo
*(.debug_macinfo)

View File

@ -1 +1 @@
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATTINY2313"/><Files><File00000 Name="D:\Doc's\Basteleien\Timer\Timer\Timer.c" Position="189 67 676 412" LineCol="233 18" State="Maximized"/></Files></AVRWorkspace>
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATTINY2313"/><Files><File00000 Name="D:\Doc's\Basteleien\Timer\Timer\Timer.c" Position="189 67 676 412" LineCol="301 3" State="Maximized"/></Files></AVRWorkspace>