20121129-151327

This commit is contained in:
BlubbFish 2012-11-29 14:12:28 +00:00
parent 33b1e63a68
commit a7df6142c8
6 changed files with 583 additions and 365 deletions

View File

@ -1,5 +1,6 @@
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
volatile uint8_t segs[15] = {
0b00111111, //0
@ -19,6 +20,7 @@ volatile uint8_t segs[15] = {
0b00000000 //Blank
};
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
char var = 0;
void display(uint8_t z, uint8_t p) {
DDRB = (segs[z]<<1);
@ -47,40 +49,54 @@ void render() {
}
}
//ISR// (TIMER1_//OVF_vect)
ISR(TIMER0_COMPA_vect)
{
// TCNT1L = 250;
/* Interrupt Aktion alle
(8000000/256)/256 Hz = 122,0703125 Hz
1/122,0703125 s = 8,192 ms
*/
/*DDRB = 0b10111011;
PORTB = 0b10110011;*/
if (var++ >= 100) //wenn Zustand mindestens 200x10ms = 2sec. andauert
{
if(frame[2] == 14) {
frame[2] = 0;
frame[3] = 1;
frame[4] = 2;
} else {
frame[2] = 14;
frame[3] = 14;
frame[4] = 14;
}
}
}
int main(void) {
DDRB = 0;
/*cli();
//TCCR1B |= (1<<CS12);
//TIMSK |= (1<<TOIE1);
//TCNT1L = 200;
TCCR0A |= (1<<WGM01) | (0<<WGM00);
TCCR0B |= (1<<CS00 ) | (1<<CS02);
OCR0A = 250; //geladen mit 10ms
TIMSK |= (1<<OCIE0A);
sei();//*/
while(1){
//frame = {14,5, 14,5, 14,5};
frame[0] = 11;
for(uint8_t l=0;l<10;l++) {
frame[2] = 9-l;
for(uint8_t k=0;k<10;k++) {
frame[3] = 9-k;
for(uint8_t j=0;j<10;j++) {
frame[4] = 9-j;
for(uint8_t i=0;i<10;i++) {
frame[5] = 9-i;
render();
}
for(uint8_t j=0;j<=30;j++) {
frame[2] = (uint8_t)((30-j)/10);
frame[3] = (uint8_t)((30-j)%10);
for(uint8_t i=0;i<=59;i++) {
frame[4] = (uint8_t)((59-i)/10);
frame[5] = (uint8_t)((59-i)%10);
for(uint8_t k=0;k<82;k++) {
render();
}
}
}
}
/*DDRB = 0b11100110;
PORTB = 0b11000110;
_delay_ms(5);
DDRB = 0b11111101;
PORTB = 0b11101101;
_delay_ms(5);
DDRB = 0b10111011;
PORTB = 0b10110011;
_delay_ms(5);
DDRB = 0b01111111;
PORTB = 0b01111011;*/
/*display(0,2);
_delay_ms(10);
display(0,3);
_delay_ms(10);
display(10,7);
_delay_ms(10);*/
}
}

Binary file not shown.

View File

@ -1,30 +1,43 @@
:1000000012C022C021C020C01FC01EC01DC01CC005
:100010001BC01AC019C018C017C016C015C014C024
:1000200013C012C011C011241FBECFEDCDBF10E010
:10003000A0E6B0E0E8EAF1E002C005900D92A63734
:10004000B107D9F787D0AEC0DBCFE82FF0E0E05A98
:10005000FF4F8081880F87BB8081880F88BB71E04C
:1000600041E050E023C027B3872F90E030E0072E17
:1000700002C0359527950A94E2F7019720FF0AC040
:1000800027B3FA0102C0EE0FFF1F8A95E2F72E2B6D
:1000900027BB0BC027B3FA0102C0EE0FFF1F8A95E2
:1000A000E2F7CF018095822387BB7F5F6717D8F681
:1000B00071E041E050E023C028B3872F90E030E0AA
:1000C000072E02C0359527950A94E2F7019720FF85
:1000D0000AC028B3FA0102C0EE0FFF1F8A95E2F7AB
:1000E0002E2B28BB0BC028B3FA0102C0EE0FFF1F56
:1000F0008A95E2F7CF018095822388BB7F5F6717DF
:10010000D8F627B381E090E002C0880F991F6A9566
:10011000E2F7282B27BB98B38095892388BB0895E5
:100120001F93CF93DF9317E0C0E0D0E0FE01E159C9
:10013000FF4F8081612F89DF8FE99FE00197F1F701
:1001400000C0000021961150113081F7DF91CF914E
:100150001F910895FF920F931F93DF93CF9300D0C9
:10016000CDB7DEB717BA8BE0F82EF0926F0019E02A
:100170001093710009E00093720089E0809373008E
:1001800099E09093740089839A83CADF9A81915091
:1001900089819F3FB1F7815088F7015060F7115076
:0801A00038F7E3CFF894FFCF1C
:1001A8003F065B4F666D7D077F6F40704676000E99
:0601B8000E0E0E0E0E00FB
:1000000012C02AC029C028C027C026C025C024C0CD
:1000100023C022C021C020C01FC0A4C01DC01CC05E
:100020001BC01AC019C011241FBECFEDCDBF10E0F8
:10003000A0E6B0E0E0E8F2E002C005900D92A6373D
:10004000B107D9F710E0A6E7B0E001C01D92A737CD
:10005000B107E1F7AFD012C1D3CFE82FF0E0E05AFB
:10006000FF4F8081880F87BB8081880F88BB71E03C
:1000700041E050E023C027B3872F90E030E0072E07
:1000800002C0359527950A94E2F7019720FF0AC030
:1000900027B3FA0102C0EE0FFF1F8A95E2F72E2B5D
:1000A00027BB0BC027B3FA0102C0EE0FFF1F8A95D2
:1000B000E2F7CF018095822387BB7F5F6717D8F671
:1000C00071E041E050E023C028B3872F90E030E09A
:1000D000072E02C0359527950A94E2F7019720FF75
:1000E0000AC028B3FA0102C0EE0FFF1F8A95E2F79B
:1000F0002E2B28BB0BC028B3FA0102C0EE0FFF1F46
:100100008A95E2F7CF018095822388BB7F5F6717CE
:10011000D8F627B381E090E002C0880F991F6A9556
:10012000E2F7282B27BB98B38095892388BB0895D5
:100130001F93CF93DF9317E0C0E0D0E0FE01E159B9
:10014000FF4F8081612F89DF8FE99FE00197F1F7F1
:1001500000C0000021961150113081F7DF91CF913E
:100160001F9108951F920F920FB60F9211248F9333
:100170009F9380917600982F9F5F909376008436AE
:1001800090F0809171008E3039F41092710081E00E
:100190008093720082E005C08EE0809371008093AE
:1001A0007200809373009F918F910F900FBE0F90FC
:1001B0001F901895AF92BF92DF92EF92FF920F932C
:1001C0001F93DF93CF930F92CDB7DEB717BA2BE013
:1001D000D22E9AE0E92EF12CD0926F000EE110E0C1
:1001E000C801B70124D060937100809372008BE343
:1001F000A82EB12CC501B7011AD06093730080936B
:10020000740080E0898394DF89818F5F8235D1F724
:100210000894A108B1088FEFA8168FEFB80651F720
:1002200001501040EFEF0F3F1E07D1F6D5CF97FBDF
:10023000092E07260AD077FD04D00CD006D0002066
:100240001AF4709561957F4F0895F6F79095819512
:100250009F4F0895AA1BBB1B51E107C0AA1FBB1FDC
:10026000A617B70710F0A61BB70B881F991F5A9542
:10027000A9F780959095BC01CD010895F894FFCF22
:100280003F065B4F666D7D077F6F40704676000EC0
:060290000E0E0E0E0E0022
:00000001FF

View File

@ -3,55 +3,59 @@ Timer.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000001a8 00000000 00000000 00000074 2**1
0 .text 00000280 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000016 00800060 000001a8 0000021c 2**0
1 .data 00000016 00800060 00000280 00000314 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .stab 000006b4 00000000 00000000 00000234 2**2
2 .bss 00000001 00800076 00800076 0000032a 2**0
ALLOC
3 .stab 000006b4 00000000 00000000 0000032c 2**2
CONTENTS, READONLY, DEBUGGING
3 .stabstr 00000085 00000000 00000000 000008e8 2**0
4 .stabstr 00000085 00000000 00000000 000009e0 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_aranges 00000020 00000000 00000000 0000096d 2**0
5 .debug_aranges 00000020 00000000 00000000 00000a65 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_pubnames 00000045 00000000 00000000 0000098d 2**0
6 .debug_pubnames 0000005d 00000000 00000000 00000a85 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_info 000002af 00000000 00000000 000009d2 2**0
7 .debug_info 000002cf 00000000 00000000 00000ae2 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_abbrev 00000196 00000000 00000000 00000c81 2**0
8 .debug_abbrev 000001d4 00000000 00000000 00000db1 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 0000024a 00000000 00000000 00000e17 2**0
9 .debug_line 000002b2 00000000 00000000 00000f85 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_frame 00000040 00000000 00000000 00001064 2**2
10 .debug_frame 00000050 00000000 00000000 00001238 2**2
CONTENTS, READONLY, DEBUGGING
10 .debug_str 000000f6 00000000 00000000 000010a4 2**0
11 .debug_str 00000102 00000000 00000000 00001288 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_loc 000000bf 00000000 00000000 0000119a 2**0
12 .debug_loc 000000b6 00000000 00000000 0000138a 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_pubtypes 0000002b 00000000 00000000 00001259 2**0
13 .debug_pubtypes 0000002b 00000000 00000000 00001440 2**0
CONTENTS, READONLY, DEBUGGING
14 .debug_ranges 00000018 00000000 00000000 0000146b 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end>
2: 22 c0 rjmp .+68 ; 0x48 <__bad_interrupt>
4: 21 c0 rjmp .+66 ; 0x48 <__bad_interrupt>
6: 20 c0 rjmp .+64 ; 0x48 <__bad_interrupt>
8: 1f c0 rjmp .+62 ; 0x48 <__bad_interrupt>
a: 1e c0 rjmp .+60 ; 0x48 <__bad_interrupt>
c: 1d c0 rjmp .+58 ; 0x48 <__bad_interrupt>
e: 1c c0 rjmp .+56 ; 0x48 <__bad_interrupt>
10: 1b c0 rjmp .+54 ; 0x48 <__bad_interrupt>
12: 1a c0 rjmp .+52 ; 0x48 <__bad_interrupt>
14: 19 c0 rjmp .+50 ; 0x48 <__bad_interrupt>
16: 18 c0 rjmp .+48 ; 0x48 <__bad_interrupt>
18: 17 c0 rjmp .+46 ; 0x48 <__bad_interrupt>
1a: 16 c0 rjmp .+44 ; 0x48 <__bad_interrupt>
1c: 15 c0 rjmp .+42 ; 0x48 <__bad_interrupt>
1e: 14 c0 rjmp .+40 ; 0x48 <__bad_interrupt>
20: 13 c0 rjmp .+38 ; 0x48 <__bad_interrupt>
22: 12 c0 rjmp .+36 ; 0x48 <__bad_interrupt>
24: 11 c0 rjmp .+34 ; 0x48 <__bad_interrupt>
2: 2a c0 rjmp .+84 ; 0x58 <__bad_interrupt>
4: 29 c0 rjmp .+82 ; 0x58 <__bad_interrupt>
6: 28 c0 rjmp .+80 ; 0x58 <__bad_interrupt>
8: 27 c0 rjmp .+78 ; 0x58 <__bad_interrupt>
a: 26 c0 rjmp .+76 ; 0x58 <__bad_interrupt>
c: 25 c0 rjmp .+74 ; 0x58 <__bad_interrupt>
e: 24 c0 rjmp .+72 ; 0x58 <__bad_interrupt>
10: 23 c0 rjmp .+70 ; 0x58 <__bad_interrupt>
12: 22 c0 rjmp .+68 ; 0x58 <__bad_interrupt>
14: 21 c0 rjmp .+66 ; 0x58 <__bad_interrupt>
16: 20 c0 rjmp .+64 ; 0x58 <__bad_interrupt>
18: 1f c0 rjmp .+62 ; 0x58 <__bad_interrupt>
1a: a4 c0 rjmp .+328 ; 0x164 <__vector_13>
1c: 1d c0 rjmp .+58 ; 0x58 <__bad_interrupt>
1e: 1c c0 rjmp .+56 ; 0x58 <__bad_interrupt>
20: 1b c0 rjmp .+54 ; 0x58 <__bad_interrupt>
22: 1a c0 rjmp .+52 ; 0x58 <__bad_interrupt>
24: 19 c0 rjmp .+50 ; 0x58 <__bad_interrupt>
00000026 <__ctors_end>:
26: 11 24 eor r1, r1
@ -63,305 +67,460 @@ 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 ea ldi r30, 0xA8 ; 168
36: f1 e0 ldi r31, 0x01 ; 1
34: e0 e8 ldi r30, 0x80 ; 128
36: f2 e0 ldi r31, 0x02 ; 2
38: 02 c0 rjmp .+4 ; 0x3e <__SP_H__>
3a: 05 90 lpm r0, Z+
3c: 0d 92 st X+, r0
3e: a6 37 cpi r26, 0x76 ; 118
40: b1 07 cpc r27, r17
42: d9 f7 brne .-10 ; 0x3a <__CCP__+0x6>
44: 87 d0 rcall .+270 ; 0x154 <main>
46: ae c0 rjmp .+348 ; 0x1a4 <_exit>
00000048 <__bad_interrupt>:
48: db cf rjmp .-74 ; 0x0 <__vectors>
00000044 <__do_clear_bss>:
44: 10 e0 ldi r17, 0x00 ; 0
46: a6 e7 ldi r26, 0x76 ; 118
48: b0 e0 ldi r27, 0x00 ; 0
4a: 01 c0 rjmp .+2 ; 0x4e <.do_clear_bss_start>
0000004a <display>:
0b00000000 //Blank
0000004c <.do_clear_bss_loop>:
4c: 1d 92 st X+, r1
0000004e <.do_clear_bss_start>:
4e: a7 37 cpi r26, 0x77 ; 119
50: b1 07 cpc r27, r17
52: e1 f7 brne .-8 ; 0x4c <.do_clear_bss_loop>
54: af d0 rcall .+350 ; 0x1b4 <main>
56: 12 c1 rjmp .+548 ; 0x27c <_exit>
00000058 <__bad_interrupt>:
58: d3 cf rjmp .-90 ; 0x0 <__vectors>
0000005a <display>:
};
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
char var = 0;
void display(uint8_t z, uint8_t p) {
DDRB = (segs[z]<<1);
4a: e8 2f mov r30, r24
4c: f0 e0 ldi r31, 0x00 ; 0
4e: e0 5a subi r30, 0xA0 ; 160
50: ff 4f sbci r31, 0xFF ; 255
52: 80 81 ld r24, Z
54: 88 0f add r24, r24
56: 87 bb out 0x17, r24 ; 23
5a: e8 2f mov r30, r24
5c: f0 e0 ldi r31, 0x00 ; 0
5e: e0 5a subi r30, 0xA0 ; 160
60: ff 4f sbci r31, 0xFF ; 255
62: 80 81 ld r24, Z
64: 88 0f add r24, r24
66: 87 bb out 0x17, r24 ; 23
PORTB = (segs[z]<<1);
58: 80 81 ld r24, Z
5a: 88 0f add r24, r24
5c: 88 bb out 0x18, r24 ; 24
68: 80 81 ld r24, Z
6a: 88 0f add r24, r24
6c: 88 bb out 0x18, r24 ; 24
for(uint8_t i = 1;i<=p;i++) {
5e: 71 e0 ldi r23, 0x01 ; 1
6e: 71 e0 ldi r23, 0x01 ; 1
if(DDRB & (1<<i)) {
DDRB |= (1<<(i-1));
} else {
DDRB &= ~(1<<(i-1));
60: 41 e0 ldi r20, 0x01 ; 1
62: 50 e0 ldi r21, 0x00 ; 0
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
70: 41 e0 ldi r20, 0x01 ; 1
72: 50 e0 ldi r21, 0x00 ; 0
char var = 0;
void display(uint8_t z, uint8_t p) {
DDRB = (segs[z]<<1);
PORTB = (segs[z]<<1);
for(uint8_t i = 1;i<=p;i++) {
64: 23 c0 rjmp .+70 ; 0xac <display+0x62>
74: 23 c0 rjmp .+70 ; 0xbc <display+0x62>
if(DDRB & (1<<i)) {
66: 27 b3 in r18, 0x17 ; 23
68: 87 2f mov r24, r23
6a: 90 e0 ldi r25, 0x00 ; 0
6c: 30 e0 ldi r19, 0x00 ; 0
6e: 07 2e mov r0, r23
70: 02 c0 rjmp .+4 ; 0x76 <display+0x2c>
72: 35 95 asr r19
74: 27 95 ror r18
76: 0a 94 dec r0
78: e2 f7 brpl .-8 ; 0x72 <display+0x28>
7a: 01 97 sbiw r24, 0x01 ; 1
7c: 20 ff sbrs r18, 0
7e: 0a c0 rjmp .+20 ; 0x94 <display+0x4a>
76: 27 b3 in r18, 0x17 ; 23
78: 87 2f mov r24, r23
7a: 90 e0 ldi r25, 0x00 ; 0
7c: 30 e0 ldi r19, 0x00 ; 0
7e: 07 2e mov r0, r23
80: 02 c0 rjmp .+4 ; 0x86 <display+0x2c>
82: 35 95 asr r19
84: 27 95 ror r18
86: 0a 94 dec r0
88: e2 f7 brpl .-8 ; 0x82 <display+0x28>
8a: 01 97 sbiw r24, 0x01 ; 1
8c: 20 ff sbrs r18, 0
8e: 0a c0 rjmp .+20 ; 0xa4 <display+0x4a>
DDRB |= (1<<(i-1));
80: 27 b3 in r18, 0x17 ; 23
82: fa 01 movw r30, r20
84: 02 c0 rjmp .+4 ; 0x8a <display+0x40>
86: ee 0f add r30, r30
88: ff 1f adc r31, r31
8a: 8a 95 dec r24
8c: e2 f7 brpl .-8 ; 0x86 <display+0x3c>
8e: 2e 2b or r18, r30
90: 27 bb out 0x17, r18 ; 23
92: 0b c0 rjmp .+22 ; 0xaa <display+0x60>
90: 27 b3 in r18, 0x17 ; 23
92: fa 01 movw r30, r20
94: 02 c0 rjmp .+4 ; 0x9a <display+0x40>
96: ee 0f add r30, r30
98: ff 1f adc r31, r31
9a: 8a 95 dec r24
9c: e2 f7 brpl .-8 ; 0x96 <display+0x3c>
9e: 2e 2b or r18, r30
a0: 27 bb out 0x17, r18 ; 23
a2: 0b c0 rjmp .+22 ; 0xba <display+0x60>
} else {
DDRB &= ~(1<<(i-1));
94: 27 b3 in r18, 0x17 ; 23
96: fa 01 movw r30, r20
98: 02 c0 rjmp .+4 ; 0x9e <display+0x54>
9a: ee 0f add r30, r30
9c: ff 1f adc r31, r31
9e: 8a 95 dec r24
a0: e2 f7 brpl .-8 ; 0x9a <display+0x50>
a2: cf 01 movw r24, r30
a4: 80 95 com r24
a6: 82 23 and r24, r18
a8: 87 bb out 0x17, r24 ; 23
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
a4: 27 b3 in r18, 0x17 ; 23
a6: fa 01 movw r30, r20
a8: 02 c0 rjmp .+4 ; 0xae <display+0x54>
aa: ee 0f add r30, r30
ac: ff 1f adc r31, r31
ae: 8a 95 dec r24
b0: e2 f7 brpl .-8 ; 0xaa <display+0x50>
b2: cf 01 movw r24, r30
b4: 80 95 com r24
b6: 82 23 and r24, r18
b8: 87 bb out 0x17, r24 ; 23
char var = 0;
void display(uint8_t z, uint8_t p) {
DDRB = (segs[z]<<1);
PORTB = (segs[z]<<1);
for(uint8_t i = 1;i<=p;i++) {
aa: 7f 5f subi r23, 0xFF ; 255
ac: 67 17 cp r22, r23
ae: d8 f6 brcc .-74 ; 0x66 <display+0x1c>
b0: 71 e0 ldi r23, 0x01 ; 1
ba: 7f 5f subi r23, 0xFF ; 255
bc: 67 17 cp r22, r23
be: d8 f6 brcc .-74 ; 0x76 <display+0x1c>
c0: 71 e0 ldi r23, 0x01 ; 1
}
for(uint8_t i = 1;i<=p;i++) {
if(PORTB & (1<<i)) {
PORTB |= (1<<(i-1));
} else {
PORTB &= ~(1<<(i-1));
b2: 41 e0 ldi r20, 0x01 ; 1
b4: 50 e0 ldi r21, 0x00 ; 0
b6: 23 c0 rjmp .+70 ; 0xfe <__stack+0x1f>
c2: 41 e0 ldi r20, 0x01 ; 1
c4: 50 e0 ldi r21, 0x00 ; 0
c6: 23 c0 rjmp .+70 ; 0x10e <__stack+0x2f>
} else {
DDRB &= ~(1<<(i-1));
}
}
for(uint8_t i = 1;i<=p;i++) {
if(PORTB & (1<<i)) {
b8: 28 b3 in r18, 0x18 ; 24
ba: 87 2f mov r24, r23
bc: 90 e0 ldi r25, 0x00 ; 0
be: 30 e0 ldi r19, 0x00 ; 0
c0: 07 2e mov r0, r23
c2: 02 c0 rjmp .+4 ; 0xc8 <display+0x7e>
c4: 35 95 asr r19
c6: 27 95 ror r18
c8: 0a 94 dec r0
ca: e2 f7 brpl .-8 ; 0xc4 <display+0x7a>
cc: 01 97 sbiw r24, 0x01 ; 1
ce: 20 ff sbrs r18, 0
d0: 0a c0 rjmp .+20 ; 0xe6 <__stack+0x7>
c8: 28 b3 in r18, 0x18 ; 24
ca: 87 2f mov r24, r23
cc: 90 e0 ldi r25, 0x00 ; 0
ce: 30 e0 ldi r19, 0x00 ; 0
d0: 07 2e mov r0, r23
d2: 02 c0 rjmp .+4 ; 0xd8 <display+0x7e>
d4: 35 95 asr r19
d6: 27 95 ror r18
d8: 0a 94 dec r0
da: e2 f7 brpl .-8 ; 0xd4 <display+0x7a>
dc: 01 97 sbiw r24, 0x01 ; 1
de: 20 ff sbrs r18, 0
e0: 0a c0 rjmp .+20 ; 0xf6 <__stack+0x17>
PORTB |= (1<<(i-1));
d2: 28 b3 in r18, 0x18 ; 24
d4: fa 01 movw r30, r20
d6: 02 c0 rjmp .+4 ; 0xdc <display+0x92>
d8: ee 0f add r30, r30
da: ff 1f adc r31, r31
dc: 8a 95 dec r24
de: e2 f7 brpl .-8 ; 0xd8 <display+0x8e>
e0: 2e 2b or r18, r30
e2: 28 bb out 0x18, r18 ; 24
e4: 0b c0 rjmp .+22 ; 0xfc <__stack+0x1d>
e2: 28 b3 in r18, 0x18 ; 24
e4: fa 01 movw r30, r20
e6: 02 c0 rjmp .+4 ; 0xec <__stack+0xd>
e8: ee 0f add r30, r30
ea: ff 1f adc r31, r31
ec: 8a 95 dec r24
ee: e2 f7 brpl .-8 ; 0xe8 <__stack+0x9>
f0: 2e 2b or r18, r30
f2: 28 bb out 0x18, r18 ; 24
f4: 0b c0 rjmp .+22 ; 0x10c <__stack+0x2d>
} else {
PORTB &= ~(1<<(i-1));
e6: 28 b3 in r18, 0x18 ; 24
e8: fa 01 movw r30, r20
ea: 02 c0 rjmp .+4 ; 0xf0 <__stack+0x11>
ec: ee 0f add r30, r30
ee: ff 1f adc r31, r31
f0: 8a 95 dec r24
f2: e2 f7 brpl .-8 ; 0xec <__stack+0xd>
f4: cf 01 movw r24, r30
f6: 80 95 com r24
f8: 82 23 and r24, r18
fa: 88 bb out 0x18, r24 ; 24
f6: 28 b3 in r18, 0x18 ; 24
f8: fa 01 movw r30, r20
fa: 02 c0 rjmp .+4 ; 0x100 <__stack+0x21>
fc: ee 0f add r30, r30
fe: ff 1f adc r31, r31
100: 8a 95 dec r24
102: e2 f7 brpl .-8 ; 0xfc <__stack+0x1d>
104: cf 01 movw r24, r30
106: 80 95 com r24
108: 82 23 and r24, r18
10a: 88 bb out 0x18, r24 ; 24
DDRB |= (1<<(i-1));
} else {
DDRB &= ~(1<<(i-1));
}
}
for(uint8_t i = 1;i<=p;i++) {
fc: 7f 5f subi r23, 0xFF ; 255
fe: 67 17 cp r22, r23
100: d8 f6 brcc .-74 ; 0xb8 <display+0x6e>
10c: 7f 5f subi r23, 0xFF ; 255
10e: 67 17 cp r22, r23
110: d8 f6 brcc .-74 ; 0xc8 <display+0x6e>
PORTB |= (1<<(i-1));
} else {
PORTB &= ~(1<<(i-1));
}
}
DDRB |= (1<<p);
102: 27 b3 in r18, 0x17 ; 23
104: 81 e0 ldi r24, 0x01 ; 1
106: 90 e0 ldi r25, 0x00 ; 0
108: 02 c0 rjmp .+4 ; 0x10e <__stack+0x2f>
10a: 88 0f add r24, r24
10c: 99 1f adc r25, r25
10e: 6a 95 dec r22
110: e2 f7 brpl .-8 ; 0x10a <__stack+0x2b>
112: 28 2b or r18, r24
114: 27 bb out 0x17, r18 ; 23
112: 27 b3 in r18, 0x17 ; 23
114: 81 e0 ldi r24, 0x01 ; 1
116: 90 e0 ldi r25, 0x00 ; 0
118: 02 c0 rjmp .+4 ; 0x11e <__stack+0x3f>
11a: 88 0f add r24, r24
11c: 99 1f adc r25, r25
11e: 6a 95 dec r22
120: e2 f7 brpl .-8 ; 0x11a <__stack+0x3b>
122: 28 2b or r18, r24
124: 27 bb out 0x17, r18 ; 23
PORTB &= ~(1<<p);
116: 98 b3 in r25, 0x18 ; 24
118: 80 95 com r24
11a: 89 23 and r24, r25
11c: 88 bb out 0x18, r24 ; 24
126: 98 b3 in r25, 0x18 ; 24
128: 80 95 com r24
12a: 89 23 and r24, r25
12c: 88 bb out 0x18, r24 ; 24
}
11e: 08 95 ret
12e: 08 95 ret
00000120 <render>:
00000130 <render>:
void render() {
120: 1f 93 push r17
122: cf 93 push r28
124: df 93 push r29
126: 17 e0 ldi r17, 0x07 ; 7
128: c0 e0 ldi r28, 0x00 ; 0
12a: d0 e0 ldi r29, 0x00 ; 0
130: 1f 93 push r17
132: cf 93 push r28
134: df 93 push r29
136: 17 e0 ldi r17, 0x07 ; 7
138: c0 e0 ldi r28, 0x00 ; 0
13a: d0 e0 ldi r29, 0x00 ; 0
for(uint8_t f = 0;f<6;f++) {
display(frame[f],(5-f)+2);
12c: fe 01 movw r30, r28
12e: e1 59 subi r30, 0x91 ; 145
130: ff 4f sbci r31, 0xFF ; 255
132: 80 81 ld r24, Z
134: 61 2f mov r22, r17
136: 89 df rcall .-238 ; 0x4a <display>
13c: fe 01 movw r30, r28
13e: e1 59 subi r30, 0x91 ; 145
140: ff 4f sbci r31, 0xFF ; 255
142: 80 81 ld r24, Z
144: 61 2f mov r22, r17
146: 89 df rcall .-238 ; 0x5a <display>
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
138: 8f e9 ldi r24, 0x9F ; 159
13a: 9f e0 ldi r25, 0x0F ; 15
13c: 01 97 sbiw r24, 0x01 ; 1
13e: f1 f7 brne .-4 ; 0x13c <render+0x1c>
140: 00 c0 rjmp .+0 ; 0x142 <render+0x22>
142: 00 00 nop
144: 21 96 adiw r28, 0x01 ; 1
146: 11 50 subi r17, 0x01 ; 1
148: 8f e9 ldi r24, 0x9F ; 159
14a: 9f e0 ldi r25, 0x0F ; 15
14c: 01 97 sbiw r24, 0x01 ; 1
14e: f1 f7 brne .-4 ; 0x14c <render+0x1c>
150: 00 c0 rjmp .+0 ; 0x152 <render+0x22>
152: 00 00 nop
154: 21 96 adiw r28, 0x01 ; 1
156: 11 50 subi r17, 0x01 ; 1
}
DDRB |= (1<<p);
PORTB &= ~(1<<p);
}
void render() {
for(uint8_t f = 0;f<6;f++) {
148: 11 30 cpi r17, 0x01 ; 1
14a: 81 f7 brne .-32 ; 0x12c <render+0xc>
158: 11 30 cpi r17, 0x01 ; 1
15a: 81 f7 brne .-32 ; 0x13c <render+0xc>
display(frame[f],(5-f)+2);
_delay_us(2000);
}
}
14c: df 91 pop r29
14e: cf 91 pop r28
150: 1f 91 pop r17
152: 08 95 ret
15c: df 91 pop r29
15e: cf 91 pop r28
160: 1f 91 pop r17
162: 08 95 ret
00000154 <main>:
00000164 <__vector_13>:
//ISR// (TIMER1_//OVF_vect)
ISR(TIMER0_COMPA_vect)
{
164: 1f 92 push r1
166: 0f 92 push r0
168: 0f b6 in r0, 0x3f ; 63
16a: 0f 92 push r0
16c: 11 24 eor r1, r1
16e: 8f 93 push r24
170: 9f 93 push r25
(8000000/256)/256 Hz = 122,0703125 Hz
1/122,0703125 s = 8,192 ms
*/
/*DDRB = 0b10111011;
PORTB = 0b10110011;*/
if (var++ >= 100) //wenn Zustand mindestens 200x10ms = 2sec. andauert
172: 80 91 76 00 lds r24, 0x0076
176: 98 2f mov r25, r24
178: 9f 5f subi r25, 0xFF ; 255
17a: 90 93 76 00 sts 0x0076, r25
17e: 84 36 cpi r24, 0x64 ; 100
180: 90 f0 brcs .+36 ; 0x1a6 <__vector_13+0x42>
{
if(frame[2] == 14) {
182: 80 91 71 00 lds r24, 0x0071
186: 8e 30 cpi r24, 0x0E ; 14
188: 39 f4 brne .+14 ; 0x198 <__vector_13+0x34>
frame[2] = 0;
18a: 10 92 71 00 sts 0x0071, r1
frame[3] = 1;
18e: 81 e0 ldi r24, 0x01 ; 1
190: 80 93 72 00 sts 0x0072, r24
frame[4] = 2;
194: 82 e0 ldi r24, 0x02 ; 2
196: 05 c0 rjmp .+10 ; 0x1a2 <__vector_13+0x3e>
} else {
frame[2] = 14;
198: 8e e0 ldi r24, 0x0E ; 14
19a: 80 93 71 00 sts 0x0071, r24
frame[3] = 14;
19e: 80 93 72 00 sts 0x0072, r24
frame[4] = 14;
1a2: 80 93 73 00 sts 0x0073, r24
}
}
}
1a6: 9f 91 pop r25
1a8: 8f 91 pop r24
1aa: 0f 90 pop r0
1ac: 0f be out 0x3f, r0 ; 63
1ae: 0f 90 pop r0
1b0: 1f 90 pop r1
1b2: 18 95 reti
000001b4 <main>:
int main(void) {
154: ff 92 push r15
156: 0f 93 push r16
158: 1f 93 push r17
15a: df 93 push r29
15c: cf 93 push r28
15e: 00 d0 rcall .+0 ; 0x160 <main+0xc>
160: cd b7 in r28, 0x3d ; 61
162: de b7 in r29, 0x3e ; 62
1b4: af 92 push r10
1b6: bf 92 push r11
1b8: df 92 push r13
1ba: ef 92 push r14
1bc: ff 92 push r15
1be: 0f 93 push r16
1c0: 1f 93 push r17
1c2: df 93 push r29
1c4: cf 93 push r28
1c6: 0f 92 push r0
1c8: cd b7 in r28, 0x3d ; 61
1ca: de b7 in r29, 0x3e ; 62
DDRB = 0;
164: 17 ba out 0x17, r1 ; 23
1cc: 17 ba out 0x17, r1 ; 23
TCCR0B |= (1<<CS00 ) | (1<<CS02);
OCR0A = 250; //geladen mit 10ms
TIMSK |= (1<<OCIE0A);
sei();//*/
while(1){
//frame = {14,5, 14,5, 14,5};
frame[0] = 11;
166: 8b e0 ldi r24, 0x0B ; 11
168: f8 2e mov r15, r24
16a: f0 92 6f 00 sts 0x006F, r15
16e: 19 e0 ldi r17, 0x09 ; 9
for(uint8_t l=0;l<10;l++) {
frame[2] = 9-l;
170: 10 93 71 00 sts 0x0071, r17
174: 09 e0 ldi r16, 0x09 ; 9
for(uint8_t k=0;k<10;k++) {
frame[3] = 9-k;
176: 00 93 72 00 sts 0x0072, r16
17a: 89 e0 ldi r24, 0x09 ; 9
for(uint8_t j=0;j<10;j++) {
frame[4] = 9-j;
17c: 80 93 73 00 sts 0x0073, r24
180: 99 e0 ldi r25, 0x09 ; 9
for(uint8_t i=0;i<10;i++) {
frame[5] = 9-i;
182: 90 93 74 00 sts 0x0074, r25
render();
186: 89 83 std Y+1, r24 ; 0x01
188: 9a 83 std Y+2, r25 ; 0x02
18a: ca df rcall .-108 ; 0x120 <render>
18c: 9a 81 ldd r25, Y+2 ; 0x02
18e: 91 50 subi r25, 0x01 ; 1
frame[2] = 9-l;
for(uint8_t k=0;k<10;k++) {
frame[3] = 9-k;
for(uint8_t j=0;j<10;j++) {
frame[4] = 9-j;
for(uint8_t i=0;i<10;i++) {
190: 89 81 ldd r24, Y+1 ; 0x01
192: 9f 3f cpi r25, 0xFF ; 255
194: b1 f7 brne .-20 ; 0x182 <main+0x2e>
196: 81 50 subi r24, 0x01 ; 1
198: 88 f7 brcc .-30 ; 0x17c <main+0x28>
frame[0] = 11;
for(uint8_t l=0;l<10;l++) {
frame[2] = 9-l;
for(uint8_t k=0;k<10;k++) {
frame[3] = 9-k;
for(uint8_t j=0;j<10;j++) {
19a: 01 50 subi r16, 0x01 ; 1
19c: 60 f7 brcc .-40 ; 0x176 <main+0x22>
1ce: 2b e0 ldi r18, 0x0B ; 11
1d0: d2 2e mov r13, r18
for(uint8_t j=0;j<=30;j++) {
frame[2] = (uint8_t)((30-j)/10);
1d2: 9a e0 ldi r25, 0x0A ; 10
1d4: e9 2e mov r14, r25
1d6: f1 2c mov r15, r1
TCCR0B |= (1<<CS00 ) | (1<<CS02);
OCR0A = 250; //geladen mit 10ms
TIMSK |= (1<<OCIE0A);
sei();//*/
while(1){
//frame = {14,5, 14,5, 14,5};
frame[0] = 11;
for(uint8_t l=0;l<10;l++) {
frame[2] = 9-l;
for(uint8_t k=0;k<10;k++) {
19e: 11 50 subi r17, 0x01 ; 1
1a0: 38 f7 brcc .-50 ; 0x170 <main+0x1c>
1a2: e3 cf rjmp .-58 ; 0x16a <main+0x16>
1d8: d0 92 6f 00 sts 0x006F, r13
1dc: 0e e1 ldi r16, 0x1E ; 30
1de: 10 e0 ldi r17, 0x00 ; 0
for(uint8_t j=0;j<=30;j++) {
frame[2] = (uint8_t)((30-j)/10);
1e0: c8 01 movw r24, r16
1e2: b7 01 movw r22, r14
1e4: 24 d0 rcall .+72 ; 0x22e <__divmodhi4>
1e6: 60 93 71 00 sts 0x0071, r22
frame[3] = (uint8_t)((30-j)%10);
1ea: 80 93 72 00 sts 0x0072, r24
1ee: 8b e3 ldi r24, 0x3B ; 59
1f0: a8 2e mov r10, r24
1f2: b1 2c mov r11, r1
for(uint8_t i=0;i<=59;i++) {
frame[4] = (uint8_t)((59-i)/10);
1f4: c5 01 movw r24, r10
1f6: b7 01 movw r22, r14
1f8: 1a d0 rcall .+52 ; 0x22e <__divmodhi4>
1fa: 60 93 73 00 sts 0x0073, r22
frame[5] = (uint8_t)((59-i)%10);
1fe: 80 93 74 00 sts 0x0074, r24
for(uint8_t k=0;k<82;k++) {
202: 80 e0 ldi r24, 0x00 ; 0
render();
204: 89 83 std Y+1, r24 ; 0x01
206: 94 df rcall .-216 ; 0x130 <render>
frame[2] = (uint8_t)((30-j)/10);
frame[3] = (uint8_t)((30-j)%10);
for(uint8_t i=0;i<=59;i++) {
frame[4] = (uint8_t)((59-i)/10);
frame[5] = (uint8_t)((59-i)%10);
for(uint8_t k=0;k<82;k++) {
208: 89 81 ldd r24, Y+1 ; 0x01
20a: 8f 5f subi r24, 0xFF ; 255
20c: 82 35 cpi r24, 0x52 ; 82
20e: d1 f7 brne .-12 ; 0x204 <main+0x50>
210: 08 94 sec
212: a1 08 sbc r10, r1
214: b1 08 sbc r11, r1
while(1){
frame[0] = 11;
for(uint8_t j=0;j<=30;j++) {
frame[2] = (uint8_t)((30-j)/10);
frame[3] = (uint8_t)((30-j)%10);
for(uint8_t i=0;i<=59;i++) {
216: 8f ef ldi r24, 0xFF ; 255
218: a8 16 cp r10, r24
21a: 8f ef ldi r24, 0xFF ; 255
21c: b8 06 cpc r11, r24
21e: 51 f7 brne .-44 ; 0x1f4 <main+0x40>
220: 01 50 subi r16, 0x01 ; 1
222: 10 40 sbci r17, 0x00 ; 0
OCR0A = 250; //geladen mit 10ms
TIMSK |= (1<<OCIE0A);
sei();//*/
while(1){
frame[0] = 11;
for(uint8_t j=0;j<=30;j++) {
224: ef ef ldi r30, 0xFF ; 255
226: 0f 3f cpi r16, 0xFF ; 255
228: 1e 07 cpc r17, r30
22a: d1 f6 brne .-76 ; 0x1e0 <main+0x2c>
22c: d5 cf rjmp .-86 ; 0x1d8 <main+0x24>
000001a4 <_exit>:
1a4: f8 94 cli
0000022e <__divmodhi4>:
22e: 97 fb bst r25, 7
230: 09 2e mov r0, r25
232: 07 26 eor r0, r23
234: 0a d0 rcall .+20 ; 0x24a <__divmodhi4_neg1>
236: 77 fd sbrc r23, 7
238: 04 d0 rcall .+8 ; 0x242 <__divmodhi4_neg2>
23a: 0c d0 rcall .+24 ; 0x254 <__udivmodhi4>
23c: 06 d0 rcall .+12 ; 0x24a <__divmodhi4_neg1>
23e: 00 20 and r0, r0
240: 1a f4 brpl .+6 ; 0x248 <__divmodhi4_exit>
000001a6 <__stop_program>:
1a6: ff cf rjmp .-2 ; 0x1a6 <__stop_program>
00000242 <__divmodhi4_neg2>:
242: 70 95 com r23
244: 61 95 neg r22
246: 7f 4f sbci r23, 0xFF ; 255
00000248 <__divmodhi4_exit>:
248: 08 95 ret
0000024a <__divmodhi4_neg1>:
24a: f6 f7 brtc .-4 ; 0x248 <__divmodhi4_exit>
24c: 90 95 com r25
24e: 81 95 neg r24
250: 9f 4f sbci r25, 0xFF ; 255
252: 08 95 ret
00000254 <__udivmodhi4>:
254: aa 1b sub r26, r26
256: bb 1b sub r27, r27
258: 51 e1 ldi r21, 0x11 ; 17
25a: 07 c0 rjmp .+14 ; 0x26a <__udivmodhi4_ep>
0000025c <__udivmodhi4_loop>:
25c: aa 1f adc r26, r26
25e: bb 1f adc r27, r27
260: a6 17 cp r26, r22
262: b7 07 cpc r27, r23
264: 10 f0 brcs .+4 ; 0x26a <__udivmodhi4_ep>
266: a6 1b sub r26, r22
268: b7 0b sbc r27, r23
0000026a <__udivmodhi4_ep>:
26a: 88 1f adc r24, r24
26c: 99 1f adc r25, r25
26e: 5a 95 dec r21
270: a9 f7 brne .-22 ; 0x25c <__udivmodhi4_loop>
272: 80 95 com r24
274: 90 95 com r25
276: bc 01 movw r22, r24
278: cd 01 movw r24, r26
27a: 08 95 ret
0000027c <_exit>:
27c: f8 94 cli
0000027e <__stop_program>:
27e: ff cf rjmp .-2 ; 0x27e <__stop_program>

View File

@ -1,9 +1,15 @@
Archive member included because of file (symbol)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
Timer.o (__divmodhi4)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o (exit)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
Timer.o (__do_copy_data)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
Timer.o (__do_clear_bss)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) (__udivmodhi4)
Memory Configuration
@ -114,7 +120,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
.rela.plt
*(.rela.plt)
.text 0x00000000 0x1a8
.text 0x00000000 0x280
*(.vectors)
.vectors 0x00000000 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
0x00000000 __vector_default
@ -154,6 +160,8 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
*(.init4)
.init4 0x0000002e 0x16 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
0x0000002e __do_copy_data
.init4 0x00000044 0x10 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
0x00000044 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
@ -164,44 +172,53 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
*(.init8)
*(.init8)
*(.init9)
.init9 0x00000044 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.init9 0x00000054 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
*(.init9)
*(.text)
.text 0x00000048 0x2 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
0x00000048 __vector_1
0x00000048 __vector_12
0x00000048 __bad_interrupt
0x00000048 __vector_6
0x00000048 __vector_3
0x00000048 __vector_11
0x00000048 __vector_13
0x00000048 __vector_17
0x00000048 __vector_7
0x00000048 __vector_5
0x00000048 __vector_4
0x00000048 __vector_9
0x00000048 __vector_2
0x00000048 __vector_15
0x00000048 __vector_8
0x00000048 __vector_14
0x00000048 __vector_10
0x00000048 __vector_16
0x00000048 __vector_18
.text 0x0000004a 0x15a Timer.o
0x0000004a display
0x00000120 render
0x00000154 main
.text 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
0x000001a4 . = ALIGN (0x2)
.text 0x00000058 0x2 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
0x00000058 __vector_1
0x00000058 __vector_12
0x00000058 __bad_interrupt
0x00000058 __vector_6
0x00000058 __vector_3
0x00000058 __vector_11
0x00000058 __vector_17
0x00000058 __vector_7
0x00000058 __vector_5
0x00000058 __vector_4
0x00000058 __vector_9
0x00000058 __vector_2
0x00000058 __vector_15
0x00000058 __vector_8
0x00000058 __vector_14
0x00000058 __vector_10
0x00000058 __vector_16
0x00000058 __vector_18
.text 0x0000005a 0x1d4 Timer.o
0x0000005a display
0x00000130 render
0x00000164 __vector_13
0x000001b4 main
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
0x0000022e . = ALIGN (0x2)
*(.text.*)
.text.libgcc 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text.libgcc 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
0x000001a4 . = ALIGN (0x2)
.text.libgcc 0x0000022e 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
0x0000022e _div
0x0000022e __divmodhi4
.text.libgcc 0x00000254 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text.libgcc 0x00000254 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text.libgcc 0x00000254 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.text.libgcc 0x00000254 0x28 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
0x00000254 __udivmodhi4
0x0000027c . = ALIGN (0x2)
*(.fini9)
.fini9 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x000001a4 _exit
0x000001a4 exit
.fini9 0x0000027c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x0000027c _exit
0x0000027c exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -220,19 +237,22 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x000001a4 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.fini0 0x0000027c 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
*(.fini0)
0x000001a8 _etext = .
0x00000280 _etext = .
.data 0x00800060 0x16 load address 0x000001a8
.data 0x00800060 0x16 load address 0x00000280
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 0x15 Timer.o
0x00800060 segs
0x0080006f frame
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
*(.data*)
*(.rodata)
*(.rodata*)
@ -242,25 +262,29 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
0x00800076 _edata = .
0x00800076 PROVIDE (__data_end, .)
.bss 0x00800076 0x0
.bss 0x00800076 0x1
0x00800076 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800076 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.bss 0x00800076 0x0 Timer.o
.bss 0x00800076 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.bss 0x00800076 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.bss 0x00800076 0x1 Timer.o
0x00800076 var
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
*(.bss*)
*(COMMON)
0x00800076 PROVIDE (__bss_end, .)
0x000001a8 __data_load_start = LOADADDR (.data)
0x000001be __data_load_end = (__data_load_start + SIZEOF (.data))
0x00800077 PROVIDE (__bss_end, .)
0x00000280 __data_load_start = LOADADDR (.data)
0x00000296 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800076 0x0
0x00800076 PROVIDE (__noinit_start, .)
.noinit 0x00800077 0x0
0x00800077 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800076 PROVIDE (__noinit_end, .)
0x00800076 _end = .
0x00800076 PROVIDE (__heap_start, .)
0x00800077 PROVIDE (__noinit_end, .)
0x00800077 _end = .
0x00800077 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
@ -319,36 +343,36 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
0x00000000 0x20 Timer.o
.debug_pubnames
0x00000000 0x45
0x00000000 0x5d
*(.debug_pubnames)
.debug_pubnames
0x00000000 0x45 Timer.o
0x00000000 0x5d Timer.o
.debug_info 0x00000000 0x2af
.debug_info 0x00000000 0x2cf
*(.debug_info)
.debug_info 0x00000000 0x2af Timer.o
.debug_info 0x00000000 0x2cf Timer.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x196
.debug_abbrev 0x00000000 0x1d4
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x196 Timer.o
.debug_abbrev 0x00000000 0x1d4 Timer.o
.debug_line 0x00000000 0x24a
.debug_line 0x00000000 0x2b2
*(.debug_line)
.debug_line 0x00000000 0x24a Timer.o
.debug_line 0x00000000 0x2b2 Timer.o
.debug_frame 0x00000000 0x40
.debug_frame 0x00000000 0x50
*(.debug_frame)
.debug_frame 0x00000000 0x40 Timer.o
.debug_frame 0x00000000 0x50 Timer.o
.debug_str 0x00000000 0xf6
.debug_str 0x00000000 0x102
*(.debug_str)
.debug_str 0x00000000 0xf6 Timer.o
0x12a (size before relaxing)
.debug_str 0x00000000 0x102 Timer.o
0x13b (size before relaxing)
.debug_loc 0x00000000 0xbf
.debug_loc 0x00000000 0xb6
*(.debug_loc)
.debug_loc 0x00000000 0xbf Timer.o
.debug_loc 0x00000000 0xb6 Timer.o
.debug_macinfo
*(.debug_macinfo)
@ -359,3 +383,6 @@ LOAD linker stubs
0x00000000 0x2b
.debug_pubtypes
0x00000000 0x2b Timer.o
.debug_ranges 0x00000000 0x18
.debug_ranges 0x00000000 0x18 Timer.o

View File

@ -11,7 +11,8 @@ Timer.o: ../Timer.c \
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/fuse.h \
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/lock.h \
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h \
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h \
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/interrupt.h
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/io.h:
@ -38,3 +39,5 @@ e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h:
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h:
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/interrupt.h: