📄 xieyingdong.lss
字号:
xieyingdong.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000022a 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000016 00800060 0000022a 000002be 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 0000000e 00800076 00800076 000002d4 2**0
ALLOC
3 .stab 00000378 00000000 00000000 000002d4 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000071 00000000 00000000 0000064c 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 00000020 00000000 00000000 000006bd 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 000000a8 00000000 00000000 000006dd 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 000002bd 00000000 00000000 00000785 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 00000133 00000000 00000000 00000a42 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 00000245 00000000 00000000 00000b75 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_frame 00000060 00000000 00000000 00000dbc 2**2
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00000115 00000000 00000000 00000e1c 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 0000008b 00000000 00000000 00000f31 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 2a 00 jmp 0x54 ; 0x54 <__ctors_end>
4: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
8: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
10: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
14: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
18: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
1c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
20: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
24: 0c 94 ac 00 jmp 0x158 ; 0x158 <__vector_9>
28: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
2c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
30: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
34: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
38: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
3c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
40: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
44: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
48: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
4c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
50: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
00000054 <__ctors_end>:
54: 11 24 eor r1, r1
56: 1f be out 0x3f, r1 ; 63
58: cf e5 ldi r28, 0x5F ; 95
5a: d4 e0 ldi r29, 0x04 ; 4
5c: de bf out 0x3e, r29 ; 62
5e: cd bf out 0x3d, r28 ; 61
00000060 <__do_copy_data>:
60: 10 e0 ldi r17, 0x00 ; 0
62: a0 e6 ldi r26, 0x60 ; 96
64: b0 e0 ldi r27, 0x00 ; 0
66: ea e2 ldi r30, 0x2A ; 42
68: f2 e0 ldi r31, 0x02 ; 2
6a: 02 c0 rjmp .+4 ; 0x70 <.do_copy_data_start>
0000006c <.do_copy_data_loop>:
6c: 05 90 lpm r0, Z+
6e: 0d 92 st X+, r0
00000070 <.do_copy_data_start>:
70: a6 37 cpi r26, 0x76 ; 118
72: b1 07 cpc r27, r17
74: d9 f7 brne .-10 ; 0x6c <.do_copy_data_loop>
00000076 <__do_clear_bss>:
76: 10 e0 ldi r17, 0x00 ; 0
78: a6 e7 ldi r26, 0x76 ; 118
7a: b0 e0 ldi r27, 0x00 ; 0
7c: 01 c0 rjmp .+2 ; 0x80 <.do_clear_bss_start>
0000007e <.do_clear_bss_loop>:
7e: 1d 92 st X+, r1
00000080 <.do_clear_bss_start>:
80: a4 38 cpi r26, 0x84 ; 132
82: b1 07 cpc r27, r17
84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop>
86: 0e 94 be 00 call 0x17c ; 0x17c <main>
8a: 0c 94 14 01 jmp 0x228 ; 0x228 <_exit>
0000008e <__bad_interrupt>:
8e: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
00000092 <delay>:
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar position[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
void delay(uint ms)
{
92: ac 01 movw r20, r24
94: 20 e0 ldi r18, 0x00 ; 0
96: 30 e0 ldi r19, 0x00 ; 0
98: e8 ee ldi r30, 0xE8 ; 232
9a: f3 e0 ldi r31, 0x03 ; 3
9c: 05 c0 rjmp .+10 ; 0xa8 <delay+0x16>
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
9e: cf 01 movw r24, r30
a0: 01 97 sbiw r24, 0x01 ; 1
a2: f1 f7 brne .-4 ; 0xa0 <delay+0xe>
uint i,j;
for(i=0;i<ms;i++)
a4: 2f 5f subi r18, 0xFF ; 255
a6: 3f 4f sbci r19, 0xFF ; 255
a8: 24 17 cp r18, r20
aa: 35 07 cpc r19, r21
ac: c1 f7 brne .-16 ; 0x9e <delay+0xc>
ae: 08 95 ret
000000b0 <display>:
_delay_loop_2(4*250);
}
void display()
{
b0: 0f 93 push r16
b2: 1f 93 push r17
b4: cf 93 push r28
b6: df 93 push r29
b8: 20 e0 ldi r18, 0x00 ; 0
ba: 30 e0 ldi r19, 0x00 ; 0
bc: a9 e7 ldi r26, 0x79 ; 121
be: b0 e0 ldi r27, 0x00 ; 0
c0: 60 e7 ldi r22, 0x70 ; 112
c2: 70 e0 ldi r23, 0x00 ; 0
c4: 40 91 77 00 lds r20, 0x0077
c8: 50 91 78 00 lds r21, 0x0078
cc: 00 e8 ldi r16, 0x80 ; 128
ce: c8 ee ldi r28, 0xE8 ; 232
d0: d3 e0 ldi r29, 0x03 ; 3
d2: 1f ef ldi r17, 0xFF ; 255
uchar i;
for(i=0;i<=5;i++)
{
PORTA|=_BV(PA3);
d4: db 9a sbi 0x1b, 3 ; 27
PORTB=table[dis_buff[i]];
d6: ec 91 ld r30, X
d8: ff 27 eor r31, r31
da: e0 5a subi r30, 0xA0 ; 160
dc: ff 4f sbci r31, 0xFF ; 255
de: 80 81 ld r24, Z
e0: 88 bb out 0x18, r24 ; 24
if(point_on&&(i==1||i==3))
e2: 41 15 cp r20, r1
e4: 51 05 cpc r21, r1
e6: 29 f0 breq .+10 ; 0xf2 <display+0x42>
e8: 21 30 cpi r18, 0x01 ; 1
ea: 11 f0 breq .+4 ; 0xf0 <display+0x40>
ec: 23 30 cpi r18, 0x03 ; 3
ee: 09 f4 brne .+2 ; 0xf2 <display+0x42>
PORTB=0X80;
f0: 08 bb out 0x18, r16 ; 24
PORTA&=~_BV(PA3);
f2: db 98 cbi 0x1b, 3 ; 27
PORTA&=~_BV(PA3);
f4: db 98 cbi 0x1b, 3 ; 27
PORTA|=_BV(PA4);
f6: dc 9a sbi 0x1b, 4 ; 27
PORTB=position[i];
f8: fb 01 movw r30, r22
fa: 81 91 ld r24, Z+
fc: bf 01 movw r22, r30
fe: 88 bb out 0x18, r24 ; 24
PORTA&=~_BV(PA4);
100: dc 98 cbi 0x1b, 4 ; 27
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
102: ce 01 movw r24, r28
104: 01 97 sbiw r24, 0x01 ; 1
106: f1 f7 brne .-4 ; 0x104 <display+0x54>
delay(1);
PORTA|=_BV(PA4);
108: dc 9a sbi 0x1b, 4 ; 27
PORTB=0XFF;
10a: 18 bb out 0x18, r17 ; 24
PORTA&=~_BV(PA4);
10c: dc 98 cbi 0x1b, 4 ; 27
10e: 2f 5f subi r18, 0xFF ; 255
110: 3f 4f sbci r19, 0xFF ; 255
112: 11 96 adiw r26, 0x01 ; 1
114: 26 30 cpi r18, 0x06 ; 6
116: 31 05 cpc r19, r1
118: e9 f6 brne .-70 ; 0xd4 <display+0x24>
11a: df 91 pop r29
11c: cf 91 pop r28
11e: 1f 91 pop r17
120: 0f 91 pop r16
122: 08 95 ret
00000124 <time_to_disbuff>:
}
}
void time_to_disbuff()
{
124: cf 93 push r28
126: df 93 push r29
128: a9 e7 ldi r26, 0x79 ; 121
12a: b0 e0 ldi r27, 0x00 ; 0
12c: e3 e8 ldi r30, 0x83 ; 131
12e: f0 e0 ldi r31, 0x00 ; 0
uchar i ,j=0;
for(i=3;i>0;i--)
{
dis_buff[j++]=time[i]/10;
130: 20 81 ld r18, Z
132: 31 97 sbiw r30, 0x01 ; 1
134: 82 2f mov r24, r18
136: 6a e0 ldi r22, 0x0A ; 10
138: 0e 94 08 01 call 0x210 ; 0x210 <__udivmodqi4>
13c: 8c 93 st X, r24
dis_buff[j++]=time[i]%10;
13e: 82 2f mov r24, r18
140: 0e 94 08 01 call 0x210 ; 0x210 <__udivmodqi4>
144: ed 01 movw r28, r26
146: 99 83 std Y+1, r25 ; 0x01
148: 12 96 adiw r26, 0x02 ; 2
14a: 80 e0 ldi r24, 0x00 ; 0
14c: e0 38 cpi r30, 0x80 ; 128
14e: f8 07 cpc r31, r24
150: 79 f7 brne .-34 ; 0x130 <time_to_disbuff+0xc>
152: df 91 pop r29
154: cf 91 pop r28
156: 08 95 ret
00000158 <__vector_9>:
}
}
ISR(TIMER0_OVF_vect)
{
158: 1f 92 push r1
15a: 0f 92 push r0
15c: 0f b6 in r0, 0x3f ; 63
15e: 0f 92 push r0
160: 11 24 eor r1, r1
162: 8f 93 push r24
TCNT0=0;
164: 12 be out 0x32, r1 ; 50
flag++;
166: 80 91 76 00 lds r24, 0x0076
16a: 8f 5f subi r24, 0xFF ; 255
16c: 80 93 76 00 sts 0x0076, r24
170: 8f 91 pop r24
172: 0f 90 pop r0
174: 0f be out 0x3f, r0 ; 63
176: 0f 90 pop r0
178: 1f 90 pop r1
17a: 18 95 reti
0000017c <main>:
}
void main()
{
17c: d3 9a sbi 0x1a, 3 ; 26
DDRA|=_BV(PA3);
DDRA|=_BV(PA4);
17e: d4 9a sbi 0x1a, 4 ; 26
DDRB=0XFF;
180: 8f ef ldi r24, 0xFF ; 255
182: 87 bb out 0x17, r24 ; 23
PORTB=0XFF;
184: 88 bb out 0x18, r24 ; 24
TCCR0=0X05;
186: 85 e0 ldi r24, 0x05 ; 5
188: 83 bf out 0x33, r24 ; 51
TCNT0=0;
18a: 12 be out 0x32, r1 ; 50
TIMSK=0X01;
18c: 81 e0 ldi r24, 0x01 ; 1
18e: 89 bf out 0x39, r24 ; 57
sei();
190: 78 94 sei
time[3]=23;
192: 87 e1 ldi r24, 0x17 ; 23
194: 80 93 83 00 sts 0x0083, r24
time[2]=56;
198: 88 e3 ldi r24, 0x38 ; 56
19a: 80 93 82 00 sts 0x0082, r24
time[1]=55;
19e: 87 e3 ldi r24, 0x37 ; 55
1a0: 80 93 81 00 sts 0x0081, r24
time_to_disbuff();
1a4: 0e 94 92 00 call 0x124 ; 0x124 <time_to_disbuff>
while(1)
{
display();
1a8: 0e 94 58 00 call 0xb0 ; 0xb0 <display>
point_on=~point_on;
1ac: 80 91 77 00 lds r24, 0x0077
1b0: 90 91 78 00 lds r25, 0x0078
1b4: 80 95 com r24
1b6: 90 95 com r25
1b8: 90 93 78 00 sts 0x0078, r25
1bc: 80 93 77 00 sts 0x0077, r24
if(flag==30)
1c0: 80 91 76 00 lds r24, 0x0076
1c4: 8e 31 cpi r24, 0x1E ; 30
1c6: f9 f4 brne .+62 ; 0x206 <main+0x8a>
{
flag=0;
1c8: 10 92 76 00 sts 0x0076, r1
if(++time[1]>=60)
1cc: 80 91 81 00 lds r24, 0x0081
1d0: 8f 5f subi r24, 0xFF ; 255
1d2: 80 93 81 00 sts 0x0081, r24
1d6: 8c 33 cpi r24, 0x3C ; 60
1d8: a0 f0 brcs .+40 ; 0x202 <main+0x86>
{
time[1]=0;
1da: 10 92 81 00 sts 0x0081, r1
if(++time[2]>=60)
1de: 80 91 82 00 lds r24, 0x0082
1e2: 8f 5f subi r24, 0xFF ; 255
1e4: 80 93 82 00 sts 0x0082, r24
1e8: 8c 33 cpi r24, 0x3C ; 60
1ea: 58 f0 brcs .+22 ; 0x202 <main+0x86>
{
time[2]=0;
1ec: 10 92 82 00 sts 0x0082, r1
if(++time[3]>=24)
1f0: 80 91 83 00 lds r24, 0x0083
1f4: 8f 5f subi r24, 0xFF ; 255
1f6: 80 93 83 00 sts 0x0083, r24
1fa: 88 31 cpi r24, 0x18 ; 24
1fc: 10 f0 brcs .+4 ; 0x202 <main+0x86>
{
time[3]=0;
1fe: 10 92 83 00 sts 0x0083, r1
}
}
}
time_to_disbuff();
202: 0e 94 92 00 call 0x124 ; 0x124 <time_to_disbuff>
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
206: 88 ee ldi r24, 0xE8 ; 232
208: 93 e0 ldi r25, 0x03 ; 3
20a: 01 97 sbiw r24, 0x01 ; 1
20c: f1 f7 brne .-4 ; 0x20a <main+0x8e>
20e: cc cf rjmp .-104 ; 0x1a8 <main+0x2c>
00000210 <__udivmodqi4>:
210: 99 1b sub r25, r25
212: 79 e0 ldi r23, 0x09 ; 9
214: 04 c0 rjmp .+8 ; 0x21e <__udivmodqi4_ep>
00000216 <__udivmodqi4_loop>:
216: 99 1f adc r25, r25
218: 96 17 cp r25, r22
21a: 08 f0 brcs .+2 ; 0x21e <__udivmodqi4_ep>
21c: 96 1b sub r25, r22
0000021e <__udivmodqi4_ep>:
21e: 88 1f adc r24, r24
220: 7a 95 dec r23
222: c9 f7 brne .-14 ; 0x216 <__udivmodqi4_loop>
224: 80 95 com r24
226: 08 95 ret
00000228 <_exit>:
228: ff cf rjmp .-2 ; 0x228 <_exit>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -