📄 main.lss
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000001a0 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 000001a0 00000234 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00800060 000001a0 00000234 2**0
ALLOC
3 .noinit 00000000 00800060 00800060 00000234 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000234 2**0
CONTENTS
5 .debug_aranges 00000014 00000000 00000000 00000234 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 00000045 00000000 00000000 00000248 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 00000152 00000000 00000000 0000028d 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 000000d3 00000000 00000000 000003df 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 0000018e 00000000 00000000 000004b2 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_str 000000ba 00000000 00000000 00000640 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 2a 00 jmp 0x54
4: 0c 94 45 00 jmp 0x8a
8: 0c 94 45 00 jmp 0x8a
c: 0c 94 45 00 jmp 0x8a
10: 0c 94 45 00 jmp 0x8a
14: 0c 94 45 00 jmp 0x8a
18: 0c 94 45 00 jmp 0x8a
1c: 0c 94 45 00 jmp 0x8a
20: 0c 94 45 00 jmp 0x8a
24: 0c 94 45 00 jmp 0x8a
28: 0c 94 45 00 jmp 0x8a
2c: 0c 94 45 00 jmp 0x8a
30: 0c 94 45 00 jmp 0x8a
34: 0c 94 45 00 jmp 0x8a
38: 0c 94 45 00 jmp 0x8a
3c: 0c 94 45 00 jmp 0x8a
40: 0c 94 45 00 jmp 0x8a
44: 0c 94 45 00 jmp 0x8a
48: 0c 94 45 00 jmp 0x8a
4c: 0c 94 45 00 jmp 0x8a
50: 0c 94 45 00 jmp 0x8a
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: e0 ea ldi r30, 0xA0 ; 160
68: f1 e0 ldi r31, 0x01 ; 1
6a: 02 c0 rjmp .+4 ; 0x70
0000006c <.do_copy_data_loop>:
6c: 05 90 lpm r0, Z+
6e: 0d 92 st X+, r0
00000070 <.do_copy_data_start>:
70: a0 36 cpi r26, 0x60 ; 96
72: b1 07 cpc r27, r17
74: d9 f7 brne .-10 ; 0x6c
00000076 <__do_clear_bss>:
76: 10 e0 ldi r17, 0x00 ; 0
78: a0 e6 ldi r26, 0x60 ; 96
7a: b0 e0 ldi r27, 0x00 ; 0
7c: 01 c0 rjmp .+2 ; 0x80
0000007e <.do_clear_bss_loop>:
7e: 1d 92 st X+, r1
00000080 <.do_clear_bss_start>:
80: a0 36 cpi r26, 0x60 ; 96
82: b1 07 cpc r27, r17
84: e1 f7 brne .-8 ; 0x7e
86: 0c 94 6a 00 jmp 0xd4
0000008a <__bad_interrupt>:
8a: 0c 94 00 00 jmp 0x0
0000008e <pwm0_init>:
#include <avr/delay.h>
void pwm0_init()
{
DDRB|=0b00001000;
8e: bb 9a sbi 0x17, 3 ; 23
TCCR0=0b01101010;
90: 8a e6 ldi r24, 0x6A ; 106
92: 83 bf out 0x33, r24 ; 51
OCR0=0x7f;
94: 8f e7 ldi r24, 0x7F ; 127
96: 8c bf out 0x3c, r24 ; 60
TCNT0=0;
98: 12 be out 0x32, r1 ; 50
9a: 08 95 ret
0000009c <pwm1_init>:
}
void pwm1_init()
{
DDRD|=0b00110000;
9c: 81 b3 in r24, 0x11 ; 17
9e: 80 63 ori r24, 0x30 ; 48
a0: 81 bb out 0x11, r24 ; 17
TCCR1A|=0b10100010;
a2: 8f b5 in r24, 0x2f ; 47
a4: 82 6a ori r24, 0xA2 ; 162
a6: 8f bd out 0x2f, r24 ; 47
TCCR1B|=0b00011001;
a8: 8e b5 in r24, 0x2e ; 46
aa: 89 61 ori r24, 0x19 ; 25
ac: 8e bd out 0x2e, r24 ; 46
ICR1=0x7ff;
ae: 8f ef ldi r24, 0xFF ; 255
b0: 97 e0 ldi r25, 0x07 ; 7
b2: 97 bd out 0x27, r25 ; 39
b4: 86 bd out 0x26, r24 ; 38
OCR1A=0x400;
b6: 80 e0 ldi r24, 0x00 ; 0
b8: 94 e0 ldi r25, 0x04 ; 4
ba: 9b bd out 0x2b, r25 ; 43
bc: 8a bd out 0x2a, r24 ; 42
OCR1B=0x400;
be: 99 bd out 0x29, r25 ; 41
c0: 88 bd out 0x28, r24 ; 40
c2: 08 95 ret
000000c4 <pwm2_init>:
}
void pwm2_init()
{
DDRD|=0b10000000;
c4: 8f 9a sbi 0x11, 7 ; 17
TCCR2|=0b01101010;
c6: 85 b5 in r24, 0x25 ; 37
c8: 8a 66 ori r24, 0x6A ; 106
ca: 85 bd out 0x25, r24 ; 37
OCR2=0x7f;
cc: 8f e7 ldi r24, 0x7F ; 127
ce: 83 bd out 0x23, r24 ; 35
TCNT2=0x00;
d0: 14 bc out 0x24, r1 ; 36
d2: 08 95 ret
000000d4 <main>:
}
void main()
{
d4: cf e5 ldi r28, 0x5F ; 95
d6: d4 e0 ldi r29, 0x04 ; 4
d8: de bf out 0x3e, r29 ; 62
da: cd bf out 0x3d, r28 ; 61
char temp;
PORTA=0xff;
dc: 8f ef ldi r24, 0xFF ; 255
de: 8b bb out 0x1b, r24 ; 27
pwm0_init();
e0: 0e 94 47 00 call 0x8e
pwm1_init();
e4: 0e 94 4e 00 call 0x9c
pwm2_init();
e8: 0e 94 62 00 call 0xc4
ec: 24 ef ldi r18, 0xF4 ; 244
ee: 31 e0 ldi r19, 0x01 ; 1
f0: 40 e0 ldi r20, 0x00 ; 0
f2: 50 e0 ldi r21, 0x00 ; 0
while(1)
{
if(PINA!=0xff)
f4: 89 b3 in r24, 0x19 ; 25
f6: 8f 3f cpi r24, 0xFF ; 255
f8: 19 f0 breq .+6 ; 0x100
*/
static __inline__ void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
fa: c9 01 movw r24, r18
fc: 01 97 sbiw r24, 0x01 ; 1
fe: f1 f7 brne .-4 ; 0xfc
_delay_ms(2);
if(PINA!=0xff)
100: 89 b3 in r24, 0x19 ; 25
102: 8f 3f cpi r24, 0xFF ; 255
104: 09 f0 breq .+2 ; 0x108
temp=PINA;
106: c9 b3 in r28, 0x19 ; 25
while(PINA!=0xff);
108: 89 b3 in r24, 0x19 ; 25
10a: 8f 3f cpi r24, 0xFF ; 255
10c: e9 f7 brne .-6 ; 0x108
switch (temp)
10e: 8c 2f mov r24, r28
110: 99 27 eor r25, r25
112: 8f 3e cpi r24, 0xEF ; 239
114: 91 05 cpc r25, r1
116: a9 f1 breq .+106 ; 0x182
118: 80 3f cpi r24, 0xF0 ; 240
11a: 91 05 cpc r25, r1
11c: 74 f4 brge .+28 ; 0x13a
11e: 8f 3b cpi r24, 0xBF ; 191
120: 91 05 cpc r25, r1
122: b1 f1 breq .+108 ; 0x190
124: 80 3c cpi r24, 0xC0 ; 192
126: 91 05 cpc r25, r1
128: 24 f4 brge .+8 ; 0x132
12a: 8f 37 cpi r24, 0x7F ; 127
12c: 91 05 cpc r25, r1
12e: 99 f1 breq .+102 ; 0x196
130: 35 c0 rjmp .+106 ; 0x19c
132: 8f 3d cpi r24, 0xDF ; 223
134: 91 05 cpc r25, r1
136: 41 f1 breq .+80 ; 0x188
138: 31 c0 rjmp .+98 ; 0x19c
13a: 8b 3f cpi r24, 0xFB ; 251
13c: 91 05 cpc r25, r1
13e: b9 f0 breq .+46 ; 0x16e
140: 8c 3f cpi r24, 0xFC ; 252
142: 91 05 cpc r25, r1
144: 24 f4 brge .+8 ; 0x14e
146: 87 3f cpi r24, 0xF7 ; 247
148: 91 05 cpc r25, r1
14a: a9 f0 breq .+42 ; 0x176
14c: 27 c0 rjmp .+78 ; 0x19c
14e: 8d 3f cpi r24, 0xFD ; 253
150: 91 05 cpc r25, r1
152: 39 f0 breq .+14 ; 0x162
154: 8e 3f cpi r24, 0xFE ; 254
156: 91 05 cpc r25, r1
158: 09 f5 brne .+66 ; 0x19c
{
case 0xfe:OCR1A+=10;break;
15a: 8a b5 in r24, 0x2a ; 42
15c: 9b b5 in r25, 0x2b ; 43
15e: 0a 96 adiw r24, 0x0a ; 10
160: 03 c0 rjmp .+6 ; 0x168
case 0xfd:OCR1A-=10;break;
162: 8a b5 in r24, 0x2a ; 42
164: 9b b5 in r25, 0x2b ; 43
166: 0a 97 sbiw r24, 0x0a ; 10
168: 9b bd out 0x2b, r25 ; 43
16a: 8a bd out 0x2a, r24 ; 42
16c: 17 c0 rjmp .+46 ; 0x19c
case 0xfb:OCR1B+=10;break;
16e: 88 b5 in r24, 0x28 ; 40
170: 99 b5 in r25, 0x29 ; 41
172: 0a 96 adiw r24, 0x0a ; 10
174: 03 c0 rjmp .+6 ; 0x17c
case 0xf7:OCR1B-=10;break;
176: 88 b5 in r24, 0x28 ; 40
178: 99 b5 in r25, 0x29 ; 41
17a: 0a 97 sbiw r24, 0x0a ; 10
17c: 99 bd out 0x29, r25 ; 41
17e: 88 bd out 0x28, r24 ; 40
180: 0d c0 rjmp .+26 ; 0x19c
case 0xef:OCR0+=5;break;
182: 8c b7 in r24, 0x3c ; 60
184: 8b 5f subi r24, 0xFB ; 251
186: 02 c0 rjmp .+4 ; 0x18c
case 0xdf:OCR0-=5;break;
188: 8c b7 in r24, 0x3c ; 60
18a: 85 50 subi r24, 0x05 ; 5
18c: 8c bf out 0x3c, r24 ; 60
18e: 06 c0 rjmp .+12 ; 0x19c
case 0xbf:OCR2+=5;break;
190: 83 b5 in r24, 0x23 ; 35
192: 8b 5f subi r24, 0xFB ; 251
194: 02 c0 rjmp .+4 ; 0x19a
case 0x7f:OCR2-=5;break;
196: 83 b5 in r24, 0x23 ; 35
198: 85 50 subi r24, 0x05 ; 5
19a: 83 bd out 0x23, r24 ; 35
}
temp=0;
19c: c0 e0 ldi r28, 0x00 ; 0
19e: aa cf rjmp .-172 ; 0xf4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -