Uhr/15cmZahl/default/15cmZahl.lss
2012-10-13 16:28:41 +00:00

282 lines
8.7 KiB
Plaintext

15cmZahl.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000000ec 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000010 00800060 000000ec 00000180 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000002 00800070 00800070 00000190 2**0
ALLOC
3 .stab 000006b4 00000000 00000000 00000190 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000085 00000000 00000000 00000844 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 00000020 00000000 00000000 000008c9 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 00000053 00000000 00000000 000008e9 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 000002ec 00000000 00000000 0000093c 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 0000018e 00000000 00000000 00000c28 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 0000023c 00000000 00000000 00000db6 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_frame 00000050 00000000 00000000 00000ff4 2**2
CONTENTS, READONLY, DEBUGGING
11 .debug_str 000000f8 00000000 00000000 00001044 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 0000015f 00000000 00000000 0000113c 2**0
CONTENTS, READONLY, DEBUGGING
13 .debug_pubtypes 0000002b 00000000 00000000 0000129b 2**0
CONTENTS, READONLY, DEBUGGING
14 .debug_ranges 00000030 00000000 00000000 000012c6 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end>
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: 1e c0 rjmp .+60 ; 0x58 <__bad_interrupt>
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
28: 1f be out 0x3f, r1 ; 63
2a: cf ed ldi r28, 0xDF ; 223
2c: cd bf out 0x3d, r28 ; 61
0000002e <__do_copy_data>:
2e: 10 e0 ldi r17, 0x00 ; 0
30: a0 e6 ldi r26, 0x60 ; 96
32: b0 e0 ldi r27, 0x00 ; 0
34: ec ee ldi r30, 0xEC ; 236
36: f0 e0 ldi r31, 0x00 ; 0
38: 02 c0 rjmp .+4 ; 0x3e <__SP_H__>
3a: 05 90 lpm r0, Z+
3c: 0d 92 st X+, r0
3e: a0 37 cpi r26, 0x70 ; 112
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: a0 e7 ldi r26, 0x70 ; 112
48: b0 e0 ldi r27, 0x00 ; 0
4a: 01 c0 rjmp .+2 ; 0x4e <.do_clear_bss_start>
0000004c <.do_clear_bss_loop>:
4c: 1d 92 st X+, r1
0000004e <.do_clear_bss_start>:
4e: a2 37 cpi r26, 0x72 ; 114
50: b1 07 cpc r27, r17
52: e1 f7 brne .-8 ; 0x4c <.do_clear_bss_loop>
54: 3d d0 rcall .+122 ; 0xd0 <main>
56: 48 c0 rjmp .+144 ; 0xe8 <_exit>
00000058 <__bad_interrupt>:
58: d3 cf rjmp .-90 ; 0x0 <__vectors>
0000005a <show>:
volatile uint8_t segs[16] = {S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,Sa,Sb,Sc,Sd,Se,Sf};
volatile uint8_t ind = 0;
volatile uint8_t dim = 0;
void show() {
uint8_t i = ind;
5a: e0 91 70 00 lds r30, 0x0070
uint8_t j = dim;
5e: 60 91 71 00 lds r22, 0x0071
62: 44 e1 ldi r20, 0x14 ; 20
for(uint8_t l=0;l<20;l++) {
for(uint8_t k=0;k<j;k++) {
PORTB = segs[i];
64: f0 e0 ldi r31, 0x00 ; 0
66: e0 5a subi r30, 0xA0 ; 160
68: ff 4f sbci r31, 0xFF ; 255
_delay_us(1);
}
for(uint8_t k=0;k<255-j;k++) {
6a: 8f ef ldi r24, 0xFF ; 255
6c: 90 e0 ldi r25, 0x00 ; 0
6e: 86 1b sub r24, r22
70: 91 09 sbc r25, r1
72: 18 c0 rjmp .+48 ; 0xa4 <show+0x4a>
void show() {
uint8_t i = ind;
uint8_t j = dim;
for(uint8_t l=0;l<20;l++) {
for(uint8_t k=0;k<j;k++) {
PORTB = segs[i];
74: 30 81 ld r19, Z
76: 38 bb out 0x18, r19 ; 24
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
78: 36 e0 ldi r19, 0x06 ; 6
7a: 3a 95 dec r19
7c: f1 f7 brne .-4 ; 0x7a <show+0x20>
7e: 00 c0 rjmp .+0 ; 0x80 <show+0x26>
void show() {
uint8_t i = ind;
uint8_t j = dim;
for(uint8_t l=0;l<20;l++) {
for(uint8_t k=0;k<j;k++) {
80: 2f 5f subi r18, 0xFF ; 255
82: 26 17 cp r18, r22
84: b8 f3 brcs .-18 ; 0x74 <show+0x1a>
86: 50 e0 ldi r21, 0x00 ; 0
88: 06 c0 rjmp .+12 ; 0x96 <show+0x3c>
PORTB = segs[i];
_delay_us(1);
}
for(uint8_t k=0;k<255-j;k++) {
PORTB = 0;
8a: 18 ba out 0x18, r1 ; 24
8c: 26 e0 ldi r18, 0x06 ; 6
8e: 2a 95 dec r18
90: f1 f7 brne .-4 ; 0x8e <show+0x34>
92: 00 c0 rjmp .+0 ; 0x94 <show+0x3a>
for(uint8_t l=0;l<20;l++) {
for(uint8_t k=0;k<j;k++) {
PORTB = segs[i];
_delay_us(1);
}
for(uint8_t k=0;k<255-j;k++) {
94: 5f 5f subi r21, 0xFF ; 255
96: 25 2f mov r18, r21
98: 30 e0 ldi r19, 0x00 ; 0
9a: 28 17 cp r18, r24
9c: 39 07 cpc r19, r25
9e: ac f3 brlt .-22 ; 0x8a <show+0x30>
a0: 41 50 subi r20, 0x01 ; 1
volatile uint8_t dim = 0;
void show() {
uint8_t i = ind;
uint8_t j = dim;
for(uint8_t l=0;l<20;l++) {
a2: 11 f0 breq .+4 ; 0xa8 <show+0x4e>
volatile uint8_t segs[16] = {S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,Sa,Sb,Sc,Sd,Se,Sf};
volatile uint8_t ind = 0;
volatile uint8_t dim = 0;
void show() {
a4: 20 e0 ldi r18, 0x00 ; 0
a6: ed cf rjmp .-38 ; 0x82 <show+0x28>
a8: 08 95 ret
000000aa <dimup>:
_delay_us(1);
}
}
}
void dimup() {
aa: 1f 93 push r17
for(uint8_t j=0;j<250;j++) {
ac: 10 e0 ldi r17, 0x00 ; 0
dim = j;
ae: 10 93 71 00 sts 0x0071, r17
show();
b2: d3 df rcall .-90 ; 0x5a <show>
}
}
void dimup() {
for(uint8_t j=0;j<250;j++) {
b4: 1f 5f subi r17, 0xFF ; 255
b6: 1a 3f cpi r17, 0xFA ; 250
b8: d1 f7 brne .-12 ; 0xae <dimup+0x4>
dim = j;
show();
}
}
ba: 1f 91 pop r17
bc: 08 95 ret
000000be <dimdown>:
void dimdown() {
be: 1f 93 push r17
for(uint8_t i=250;i>0;i--) {
c0: 1a ef ldi r17, 0xFA ; 250
dim = i;
c2: 10 93 71 00 sts 0x0071, r17
show();
c6: c9 df rcall .-110 ; 0x5a <show>
show();
}
}
void dimdown() {
for(uint8_t i=250;i>0;i--) {
c8: 11 50 subi r17, 0x01 ; 1
ca: d9 f7 brne .-10 ; 0xc2 <dimdown+0x4>
dim = i;
show();
}
}
cc: 1f 91 pop r17
ce: 08 95 ret
000000d0 <main>:
int main(void) {
d0: 1f 93 push r17
DDRB = 0b01111111;
d2: 8f e7 ldi r24, 0x7F ; 127
d4: 87 bb out 0x17, r24 ; 23
//dim = 1;
while(1){
for(uint8_t i=0;i<16;i++) {
d6: 10 e0 ldi r17, 0x00 ; 0
ind = i;
d8: 10 93 70 00 sts 0x0070, r17
dimup();
dc: e6 df rcall .-52 ; 0xaa <dimup>
dimdown();
de: ef df rcall .-34 ; 0xbe <dimdown>
int main(void) {
DDRB = 0b01111111;
//dim = 1;
while(1){
for(uint8_t i=0;i<16;i++) {
e0: 1f 5f subi r17, 0xFF ; 255
e2: 10 31 cpi r17, 0x10 ; 16
e4: c0 f7 brcc .-16 ; 0xd6 <main+0x6>
e6: f8 cf rjmp .-16 ; 0xd8 <main+0x8>
000000e8 <_exit>:
e8: f8 94 cli
000000ea <__stop_program>:
ea: ff cf rjmp .-2 ; 0xea <__stop_program>