?? timer.lss
字號:
timer.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000021e 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 0000021e 000002b2 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000009 00800060 00800060 000002b2 2**0
ALLOC
3 .noinit 00000000 00800069 00800069 000002b2 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 000002b2 2**0
CONTENTS
5 .stab 0000036c 00000000 00000000 000002b4 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000084 00000000 00000000 00000620 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000014 00000000 00000000 000006a4 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 00000061 00000000 00000000 000006b8 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_info 00000259 00000000 00000000 00000719 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_abbrev 00000130 00000000 00000000 00000972 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_line 000001ba 00000000 00000000 00000aa2 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 0000013e 00000000 00000000 00000c5c 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 32 00 jmp 0x64 <__init>
4: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
8: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
10: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
14: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
18: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
1c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
20: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
24: 0c 94 57 00 jmp 0xae <__vector_9>
28: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
2c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
30: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
34: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
38: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
3c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
40: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
44: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
48: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
4c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
50: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
00000054 <SegCode>:
54: 3f 06 5b 4f 66 6d 7d 07 7f 6f 77 7c 39 5e 79 71 ?.[Ofm}..ow|9^yq
00000064 <__init>:
64: 11 24 eor r1, r1
66: 1f be out 0x3f, r1 ; 63
68: cf e5 ldi r28, 0x5F ; 95
6a: d4 e0 ldi r29, 0x04 ; 4
6c: de bf out 0x3e, r29 ; 62
6e: cd bf out 0x3d, r28 ; 61
00000070 <__do_copy_data>:
70: 10 e0 ldi r17, 0x00 ; 0
72: a0 e6 ldi r26, 0x60 ; 96
74: b0 e0 ldi r27, 0x00 ; 0
76: ee e1 ldi r30, 0x1E ; 30
78: f2 e0 ldi r31, 0x02 ; 2
7a: 02 c0 rjmp .+4 ; 0x80 <.do_copy_data_start>
0000007c <.do_copy_data_loop>:
7c: 05 90 lpm r0, Z+
7e: 0d 92 st X+, r0
00000080 <.do_copy_data_start>:
80: a0 36 cpi r26, 0x60 ; 96
82: b1 07 cpc r27, r17
84: d9 f7 brne .-10 ; 0x7c <.do_copy_data_loop>
00000086 <__do_clear_bss>:
86: 10 e0 ldi r17, 0x00 ; 0
88: a0 e6 ldi r26, 0x60 ; 96
8a: b0 e0 ldi r27, 0x00 ; 0
8c: 01 c0 rjmp .+2 ; 0x90 <.do_clear_bss_start>
0000008e <.do_clear_bss_loop>:
8e: 1d 92 st X+, r1
00000090 <.do_clear_bss_start>:
90: a9 36 cpi r26, 0x69 ; 105
92: b1 07 cpc r27, r17
94: e1 f7 brne .-8 ; 0x8e <.do_clear_bss_loop>
96: 0c 94 ac 00 jmp 0x158 <main>
0000009a <__bad_interrupt>:
9a: 0c 94 00 00 jmp 0x0 <__heap_end>
0000009e <TimerConfig>:
void TimerConfig(void)
{
TCCR0=(1<<CS01)|(1<<CS00); //控制寄存器,工作方式及時鐘選擇
9e: 83 e0 ldi r24, 0x03 ; 3
a0: 83 bf out 0x33, r24 ; 51
TCNT0=(256-250);//計數值
a2: 86 e0 ldi r24, 0x06 ; 6
a4: 82 bf out 0x32, r24 ; 50
TIMSK=0x01; //中斷控制
a6: 81 e0 ldi r24, 0x01 ; 1
a8: 89 bf out 0x39, r24 ; 57
sei();
aa: 78 94 sei
ac: 08 95 ret
000000ae <__vector_9>:
}
SIGNAL(TIMER0_OVF_vect)
{
ae: 1f 92 push r1
b0: 0f 92 push r0
b2: 0f b6 in r0, 0x3f ; 63
b4: 0f 92 push r0
b6: 11 24 eor r1, r1
b8: 2f 93 push r18
ba: 3f 93 push r19
bc: 4f 93 push r20
be: 8f 93 push r24
c0: 9f 93 push r25
c2: ef 93 push r30
c4: ff 93 push r31
static unsigned char i=0;
TCNT0=(256-250);
c6: 86 e0 ldi r24, 0x06 ; 6
c8: 82 bf out 0x32, r24 ; 50
PORTB = pgm_read_byte(&SegCode[DisBuffer[i]]);
ca: 40 91 60 00 lds r20, 0x0060
ce: 24 2f mov r18, r20
d0: 33 27 eor r19, r19
d2: f9 01 movw r30, r18
d4: ef 59 subi r30, 0x9F ; 159
d6: ff 4f sbci r31, 0xFF ; 255
d8: 80 81 ld r24, Z
da: e8 2f mov r30, r24
dc: ff 27 eor r31, r31
de: ec 5a subi r30, 0xAC ; 172
e0: ff 4f sbci r31, 0xFF ; 255
e2: 84 91 lpm r24, Z
e4: 88 bb out 0x18, r24 ; 24
PORTA|= (1<<PA4);
e6: dc 9a sbi 0x1b, 4 ; 27
PORTA&=~(1<<PA4);
e8: dc 98 cbi 0x1b, 4 ; 27
PORTB = (1<<i);
ea: 81 e0 ldi r24, 0x01 ; 1
ec: 90 e0 ldi r25, 0x00 ; 0
ee: 02 c0 rjmp .+4 ; 0xf4 <__vector_9+0x46>
f0: 88 0f add r24, r24
f2: 99 1f adc r25, r25
f4: 2a 95 dec r18
f6: e2 f7 brpl .-8 ; 0xf0 <__vector_9+0x42>
f8: 88 bb out 0x18, r24 ; 24
PORTA|= (1<<PA5);
fa: dd 9a sbi 0x1b, 5 ; 27
PORTA&=~(1<<PA5);
fc: dd 98 cbi 0x1b, 5 ; 27
i++;
fe: 84 2f mov r24, r20
100: 8f 5f subi r24, 0xFF ; 255
102: 80 93 60 00 sts 0x0060, r24
if(i==8)
106: 88 30 cpi r24, 0x08 ; 8
108: 11 f4 brne .+4 ; 0x10e <__vector_9+0x60>
i=0;
10a: 10 92 60 00 sts 0x0060, r1
10e: ff 91 pop r31
110: ef 91 pop r30
112: 9f 91 pop r25
114: 8f 91 pop r24
116: 4f 91 pop r20
118: 3f 91 pop r19
11a: 2f 91 pop r18
11c: 0f 90 pop r0
11e: 0f be out 0x3f, r0 ; 63
120: 0f 90 pop r0
122: 1f 90 pop r1
124: 18 95 reti
00000126 <delay_ms>:
}
void delay_ms(unsigned int ms)
{
126: cf 93 push r28
128: df 93 push r29
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
12a: 9c 01 movw r18, r24
12c: 21 50 subi r18, 0x01 ; 1
12e: 30 40 sbci r19, 0x00 ; 0
130: 8f ef ldi r24, 0xFF ; 255
132: 2f 3f cpi r18, 0xFF ; 255
134: 38 07 cpc r19, r24
136: 69 f0 breq .+26 ; 0x152 <delay_ms+0x2c>
138: a0 ed ldi r26, 0xD0 ; 208
13a: b7 e0 ldi r27, 0x07 ; 7
13c: c0 e0 ldi r28, 0x00 ; 0
13e: d0 e0 ldi r29, 0x00 ; 0
140: cd 01 movw r24, r26
142: 01 97 sbiw r24, 0x01 ; 1
144: f1 f7 brne .-4 ; 0x142 <delay_ms+0x1c>
146: 21 50 subi r18, 0x01 ; 1
148: 30 40 sbci r19, 0x00 ; 0
14a: 8f ef ldi r24, 0xFF ; 255
14c: 2f 3f cpi r18, 0xFF ; 255
14e: 38 07 cpc r19, r24
150: b9 f7 brne .-18 ; 0x140 <delay_ms+0x1a>
152: df 91 pop r29
154: cf 91 pop r28
156: 08 95 ret
00000158 <main>:
while(ms--)
_delay_ms(1);
}
int main(void)
{
158: cf e5 ldi r28, 0x5F ; 95
15a: d4 e0 ldi r29, 0x04 ; 4
15c: de bf out 0x3e, r29 ; 62
15e: cd bf out 0x3d, r28 ; 61
unsigned int Count=0;
160: c0 e0 ldi r28, 0x00 ; 0
162: d0 e0 ldi r29, 0x00 ; 0
/* Set LED and Smg LE pin as output , databus as output */
DDRA |=(1<<PA4)|(1<<PA5)|(1<<PA6);
164: 8a b3 in r24, 0x1a ; 26
166: 80 67 ori r24, 0x70 ; 112
168: 8a bb out 0x1a, r24 ; 26
DDRB = 0xFF;
16a: 8f ef ldi r24, 0xFF ; 255
16c: 87 bb out 0x17, r24 ; 23
/* Off the LED display */
PORTB = 0xFF;
16e: 88 bb out 0x18, r24 ; 24
PORTA|= (1<<PA6);
170: de 9a sbi 0x1b, 6 ; 27
PORTA&=~(1<<PA6);
172: de 98 cbi 0x1b, 6 ; 27
TimerConfig();
174: 0e 94 4f 00 call 0x9e <TimerConfig>
while(1)
{
Count++;
178: 21 96 adiw r28, 0x01 ; 1
DisBuffer[0]=0;
17a: 10 92 61 00 sts 0x0061, r1
DisBuffer[1]=0;
17e: 10 92 62 00 sts 0x0062, r1
DisBuffer[2]=0;
182: 10 92 63 00 sts 0x0063, r1
DisBuffer[3]=Count/10000%10;
186: ce 01 movw r24, r28
188: 60 e1 ldi r22, 0x10 ; 16
18a: 77 e2 ldi r23, 0x27 ; 39
18c: 0e 94 fb 00 call 0x1f6 <__udivmodhi4>
190: cb 01 movw r24, r22
192: 6a e0 ldi r22, 0x0A ; 10
194: 70 e0 ldi r23, 0x00 ; 0
196: 0e 94 fb 00 call 0x1f6 <__udivmodhi4>
19a: 80 93 64 00 sts 0x0064, r24
DisBuffer[4]=Count/1000%10;
19e: ce 01 movw r24, r28
1a0: 68 ee ldi r22, 0xE8 ; 232
1a2: 73 e0 ldi r23, 0x03 ; 3
1a4: 0e 94 fb 00 call 0x1f6 <__udivmodhi4>
1a8: cb 01 movw r24, r22
1aa: 6a e0 ldi r22, 0x0A ; 10
1ac: 70 e0 ldi r23, 0x00 ; 0
1ae: 0e 94 fb 00 call 0x1f6 <__udivmodhi4>
1b2: 80 93 65 00 sts 0x0065, r24
DisBuffer[5]=Count/100%10;
1b6: ce 01 movw r24, r28
1b8: 64 e6 ldi r22, 0x64 ; 100
1ba: 70 e0 ldi r23, 0x00 ; 0
1bc: 0e 94 fb 00 call 0x1f6 <__udivmodhi4>
1c0: cb 01 movw r24, r22
1c2: 6a e0 ldi r22, 0x0A ; 10
1c4: 70 e0 ldi r23, 0x00 ; 0
1c6: 0e 94 fb 00 call 0x1f6 <__udivmodhi4>
1ca: 80 93 66 00 sts 0x0066, r24
DisBuffer[6]=Count/10%10;
1ce: ce 01 movw r24, r28
1d0: 6a e0 ldi r22, 0x0A ; 10
1d2: 70 e0 ldi r23, 0x00 ; 0
1d4: 0e 94 fb 00 call 0x1f6 <__udivmodhi4>
1d8: cb 01 movw r24, r22
1da: 6a e0 ldi r22, 0x0A ; 10
1dc: 70 e0 ldi r23, 0x00 ; 0
1de: 0e 94 fb 00 call 0x1f6 <__udivmodhi4>
1e2: 80 93 67 00 sts 0x0067, r24
DisBuffer[7]=Count/1%10;
1e6: ce 01 movw r24, r28
1e8: 6a e0 ldi r22, 0x0A ; 10
1ea: 70 e0 ldi r23, 0x00 ; 0
1ec: 0e 94 fb 00 call 0x1f6 <__udivmodhi4>
1f0: 80 93 68 00 sts 0x0068, r24
1f4: c1 cf rjmp .-126 ; 0x178 <main+0x20>
000001f6 <__udivmodhi4>:
1f6: aa 1b sub r26, r26
1f8: bb 1b sub r27, r27
1fa: 51 e1 ldi r21, 0x11 ; 17
1fc: 07 c0 rjmp .+14 ; 0x20c <__udivmodhi4_ep>
000001fe <__udivmodhi4_loop>:
1fe: aa 1f adc r26, r26
200: bb 1f adc r27, r27
202: a6 17 cp r26, r22
204: b7 07 cpc r27, r23
206: 10 f0 brcs .+4 ; 0x20c <__udivmodhi4_ep>
208: a6 1b sub r26, r22
20a: b7 0b sbc r27, r23
0000020c <__udivmodhi4_ep>:
20c: 88 1f adc r24, r24
20e: 99 1f adc r25, r25
210: 5a 95 dec r21
212: a9 f7 brne .-22 ; 0x1fe <__udivmodhi4_loop>
214: 80 95 com r24
216: 90 95 com r25
218: bc 01 movw r22, r24
21a: cd 01 movw r24, r26
21c: 08 95 ret
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -