📄 15.3.lst
字号:
15.3.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000000 00800100 0000018e 00000222 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 0000018e 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000003 00800100 00800100 00000222 2**0
ALLOC
3 .noinit 00000000 00800103 00800103 00000222 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000222 2**0
CONTENTS
5 .debug_aranges 00000014 00000000 00000000 00000222 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 0000006e 00000000 00000000 00000236 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 00000131 00000000 00000000 000002a4 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 000000b2 00000000 00000000 000003d5 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 0000010a 00000000 00000000 00000487 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_str 000000a5 00000000 00000000 00000591 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c <__ctors_end>
4: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
8: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
10: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
14: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
18: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
1c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
20: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
24: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
28: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
2c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
30: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
34: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
38: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
3c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
40: 0c 94 65 00 jmp 0xca <__vector_16>
44: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
48: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
4c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
50: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
54: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
58: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
5c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
60: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
64: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
68: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
6c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
70: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
74: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
78: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
7c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
80: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
84: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
88: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
0000008c <__ctors_end>:
8c: 11 24 eor r1, r1
8e: 1f be out 0x3f, r1 ; 63
90: cf ef ldi r28, 0xFF ; 255
92: d0 e1 ldi r29, 0x10 ; 16
94: de bf out 0x3e, r29 ; 62
96: cd bf out 0x3d, r28 ; 61
00000098 <__do_copy_data>:
98: 11 e0 ldi r17, 0x01 ; 1
9a: a0 e0 ldi r26, 0x00 ; 0
9c: b1 e0 ldi r27, 0x01 ; 1
9e: ee e8 ldi r30, 0x8E ; 142
a0: f1 e0 ldi r31, 0x01 ; 1
a2: 00 e0 ldi r16, 0x00 ; 0
a4: 0b bf out 0x3b, r16 ; 59
a6: 02 c0 rjmp .+4 ; 0xac <.__do_copy_data_start>
000000a8 <.__do_copy_data_loop>:
a8: 07 90 elpm r0, Z+
aa: 0d 92 st X+, r0
000000ac <.__do_copy_data_start>:
ac: a0 30 cpi r26, 0x00 ; 0
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8 <.__do_copy_data_loop>
000000b2 <__do_clear_bss>:
b2: 11 e0 ldi r17, 0x01 ; 1
b4: a0 e0 ldi r26, 0x00 ; 0
b6: b1 e0 ldi r27, 0x01 ; 1
b8: 01 c0 rjmp .+2 ; 0xbc <.do_clear_bss_start>
000000ba <.do_clear_bss_loop>:
ba: 1d 92 st X+, r1
000000bc <.do_clear_bss_start>:
bc: a3 30 cpi r26, 0x03 ; 3
be: b1 07 cpc r27, r17
c0: e1 f7 brne .-8 ; 0xba <.do_clear_bss_loop>
c2: 0c 94 b1 00 jmp 0x162 <main>
000000c6 <__bad_interrupt>:
c6: 0c 94 00 00 jmp 0x0 <__heap_end>
000000ca <__vector_16>:
unsigned char tmp;
void initialize_timer(void);
void delay(int d1,int d2);
SIGNAL(SIG_OVERFLOW0)
{
ca: 1f 92 push r1
cc: 0f 92 push r0
ce: 0f b6 in r0, 0x3f ; 63
d0: 0f 92 push r0
d2: 11 24 eor r1, r1
d4: 8f 93 push r24
d6: 9f 93 push r25
TCNT0=141;
d8: 8d e8 ldi r24, 0x8D ; 141
da: 82 bf out 0x32, r24 ; 50
count++;
dc: 80 91 02 01 lds r24, 0x0102
e0: 8f 5f subi r24, 0xFF ; 255
e2: 80 93 02 01 sts 0x0102, r24
switch(count)
e6: 80 91 02 01 lds r24, 0x0102
ea: 99 27 eor r25, r25
ec: 82 30 cpi r24, 0x02 ; 2
ee: 91 05 cpc r25, r1
f0: 59 f0 breq .+22 ; 0x108 <__vector_16+0x3e>
f2: 83 30 cpi r24, 0x03 ; 3
f4: 91 05 cpc r25, r1
f6: 1c f0 brlt .+6 ; 0xfe <__vector_16+0x34>
f8: 03 97 sbiw r24, 0x03 ; 3
fa: 89 f4 brne .+34 ; 0x11e <__vector_16+0x54>
fc: 0e c0 rjmp .+28 ; 0x11a <__vector_16+0x50>
fe: 01 97 sbiw r24, 0x01 ; 1
100: 71 f4 brne .+28 ; 0x11e <__vector_16+0x54>
{
case 1:
tmp=PINE|0x04;
102: 81 b1 in r24, 0x01 ; 1
104: 84 60 ori r24, 0x04 ; 4
106: 02 c0 rjmp .+4 ; 0x10c <__vector_16+0x42>
PORTE=tmp;//中间传感器发射
center_sensor=PINF;//PINF=0x00
break;
case 2:
//center_sensor=PINF&0x10;
tmp=PINE&~0x04;
108: 81 b1 in r24, 0x01 ; 1
10a: 8b 7f andi r24, 0xFB ; 251
10c: 80 93 00 01 sts 0x0100, r24
PORTE=tmp;//停止发射
110: 83 b9 out 0x03, r24 ; 3
center_sensor=PINF;//0x10
112: 80 b1 in r24, 0x00 ; 0
114: 80 93 01 01 sts 0x0101, r24
118: 02 c0 rjmp .+4 ; 0x11e <__vector_16+0x54>
//count=0;
break;
case 3:
count=0;
11a: 10 92 02 01 sts 0x0102, r1
11e: 9f 91 pop r25
120: 8f 91 pop r24
122: 0f 90 pop r0
124: 0f be out 0x3f, r0 ; 63
126: 0f 90 pop r0
128: 1f 90 pop r1
12a: 18 95 reti
0000012c <initialize_timer>:
break;
/*default:
break;*/
}
}
int main()
{
DDRD=0xf0;
DDRE=0x04;
DDRF=~0x10;
initialize_timer();
while(1)
{
delay(1000,1000);
PORTD=center_sensor;
}
}
void initialize_timer()
{
TCNT0=141;//记数初值
12c: 8d e8 ldi r24, 0x8D ; 141
12e: 82 bf out 0x32, r24 ; 50
TCCR0=0x03;//时钟选择
130: 83 e0 ldi r24, 0x03 ; 3
132: 83 bf out 0x33, r24 ; 51
TIMSK=0x01;//溢出中断使能
134: 81 e0 ldi r24, 0x01 ; 1
136: 87 bf out 0x37, r24 ; 55
sei();//置位
138: 78 94 sei
13a: 08 95 ret
0000013c <delay>:
}
void delay(int d1,int d2)
{
int i,j;
for(i=0;i<d1;i++)
13c: 40 e0 ldi r20, 0x00 ; 0
13e: 50 e0 ldi r21, 0x00 ; 0
140: 48 17 cp r20, r24
142: 59 07 cpc r21, r25
144: 6c f4 brge .+26 ; 0x160 <delay+0x24>
for(j=0;j<d2;j++);
146: 20 e0 ldi r18, 0x00 ; 0
148: 30 e0 ldi r19, 0x00 ; 0
14a: 02 c0 rjmp .+4 ; 0x150 <delay+0x14>
14c: 2f 5f subi r18, 0xFF ; 255
14e: 3f 4f sbci r19, 0xFF ; 255
150: 26 17 cp r18, r22
152: 37 07 cpc r19, r23
154: dc f3 brlt .-10 ; 0x14c <delay+0x10>
156: 4f 5f subi r20, 0xFF ; 255
158: 5f 4f sbci r21, 0xFF ; 255
15a: 48 17 cp r20, r24
15c: 59 07 cpc r21, r25
15e: 9c f3 brlt .-26 ; 0x146 <delay+0xa>
160: 08 95 ret
00000162 <main>:
162: cf ef ldi r28, 0xFF ; 255
164: d0 e1 ldi r29, 0x10 ; 16
166: de bf out 0x3e, r29 ; 62
168: cd bf out 0x3d, r28 ; 61
16a: 80 ef ldi r24, 0xF0 ; 240
16c: 81 bb out 0x11, r24 ; 17
16e: 84 e0 ldi r24, 0x04 ; 4
170: 82 b9 out 0x02, r24 ; 2
172: 8f ee ldi r24, 0xEF ; 239
174: 80 93 61 00 sts 0x0061, r24
178: 0e 94 96 00 call 0x12c <initialize_timer>
17c: 68 ee ldi r22, 0xE8 ; 232
17e: 73 e0 ldi r23, 0x03 ; 3
180: cb 01 movw r24, r22
182: 0e 94 9e 00 call 0x13c <delay>
186: 80 91 01 01 lds r24, 0x0101
18a: 82 bb out 0x12, r24 ; 18
18c: f7 cf rjmp .-18 ; 0x17c <main+0x1a>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -