📄 main.lss
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000000a8 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 000000a8 0000013c 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000002 00800060 00800060 0000013c 2**0
ALLOC
3 .noinit 00000000 00800062 00800062 0000013c 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 0000013c 2**0
CONTENTS
5 .stab 00000294 00000000 00000000 0000013c 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 000003df 00000000 00000000 000003d0 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0a c0 rjmp .+20 ; 0x16
2: 22 c0 rjmp .+68 ; 0x48
4: 21 c0 rjmp .+66 ; 0x48
6: 20 c0 rjmp .+64 ; 0x48
8: 1f c0 rjmp .+62 ; 0x48
a: 1e c0 rjmp .+60 ; 0x48
c: 1e c0 rjmp .+60 ; 0x4a
e: 1c c0 rjmp .+56 ; 0x48
10: 1b c0 rjmp .+54 ; 0x48
12: 1a c0 rjmp .+52 ; 0x48
14: 19 c0 rjmp .+50 ; 0x48
00000016 <__ctors_end>:
16: 11 24 eor r1, r1
18: 1f be out 0x3f, r1 ; 63
1a: cf ed ldi r28, 0xDF ; 223
1c: cd bf out 0x3d, r28 ; 61
0000001e <__do_copy_data>:
1e: 10 e0 ldi r17, 0x00 ; 0
20: a0 e6 ldi r26, 0x60 ; 96
22: b0 e0 ldi r27, 0x00 ; 0
24: e8 ea ldi r30, 0xA8 ; 168
26: f0 e0 ldi r31, 0x00 ; 0
28: 03 c0 rjmp .+6 ; 0x30
0000002a <.do_copy_data_loop>:
2a: c8 95 lpm
2c: 31 96 adiw r30, 0x01 ; 1
2e: 0d 92 st X+, r0
00000030 <.do_copy_data_start>:
30: a0 36 cpi r26, 0x60 ; 96
32: b1 07 cpc r27, r17
34: d1 f7 brne .-12 ; 0x2a
00000036 <__do_clear_bss>:
36: 10 e0 ldi r17, 0x00 ; 0
38: a0 e6 ldi r26, 0x60 ; 96
3a: b0 e0 ldi r27, 0x00 ; 0
3c: 01 c0 rjmp .+2 ; 0x40
0000003e <.do_clear_bss_loop>:
3e: 1d 92 st X+, r1
00000040 <.do_clear_bss_start>:
40: a2 36 cpi r26, 0x62 ; 98
42: b1 07 cpc r27, r17
44: e1 f7 brne .-8 ; 0x3e
46: 22 c0 rjmp .+68 ; 0x8c
00000048 <__bad_interrupt>:
48: db cf rjmp .-74 ; 0x0
0000004a <__vector_6>:
static uchar g_bDirection=0;
//T/C0中断例程
SIGNAL(SIG_OVERFLOW0)
{
4a: 1f 92 push r1
4c: 0f 92 push r0
4e: 0f b6 in r0, 0x3f ; 63
50: 0f 92 push r0
52: 11 24 eor r1, r1
54: 8f 93 push r24
if(++g_bCount >15) //中断15次约一秒
56: 80 91 60 00 lds r24, 0x0060
5a: 8f 5f subi r24, 0xFF ; 255
5c: 80 93 60 00 sts 0x0060, r24
60: 80 31 cpi r24, 0x10 ; 16
62: 70 f0 brcs .+28 ; 0x80
{
if(g_bDirection) //反向LED控制脚
64: 80 91 61 00 lds r24, 0x0061
68: 88 23 and r24, r24
6a: 21 f0 breq .+8 ; 0x74
SET_LED,g_bDirection=0;
6c: 94 98 cbi 0x12, 4 ; 18
6e: 10 92 61 00 sts 0x0061, r1
72: 04 c0 rjmp .+8 ; 0x7c
else
CLR_LED,g_bDirection=1;
74: 94 9a sbi 0x12, 4 ; 18
76: 81 e0 ldi r24, 0x01 ; 1
78: 80 93 61 00 sts 0x0061, r24
g_bCount=0;
7c: 10 92 60 00 sts 0x0060, r1
}
}
80: 8f 91 pop r24
82: 0f 90 pop r0
84: 0f be out 0x3f, r0 ; 63
86: 0f 90 pop r0
88: 1f 90 pop r1
8a: 18 95 reti
0000008c <main>:
int main(void)
{
8c: cf ed ldi r28, 0xDF ; 223
8e: d0 e0 ldi r29, 0x00 ; 0
90: de bf out 0x3e, r29 ; 62
92: cd bf out 0x3d, r28 ; 61
DDRD=0X10;
94: 80 e1 ldi r24, 0x10 ; 16
96: 81 bb out 0x11, r24 ; 17
PORTD=0X10;
98: 82 bb out 0x12, r24 ; 18
TCNT0=0; // T/C0开始值
9a: 12 be out 0x32, r1 ; 50
TCCR0=5; // 预分频 ck/1024 ,计数允许
9c: 85 e0 ldi r24, 0x05 ; 5
9e: 83 bf out 0x33, r24 ; 51
TIMSK=_BV(TOIE0);
a0: 82 e0 ldi r24, 0x02 ; 2
a2: 89 bf out 0x39, r24 ; 57
sei();
a4: 78 94 sei
while(1);
a6: ff cf rjmp .-2 ; 0xa6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -