📄 main.lss
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000000a0 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 000000a0 00000134 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00800060 000000a0 00000134 2**0
ALLOC
3 .noinit 00000000 00800060 00800060 00000134 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000134 2**0
CONTENTS
5 .stab 00000300 00000000 00000000 00000134 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 000003d1 00000000 00000000 00000434 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: 1d c0 rjmp .+58 ; 0x48
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: e0 ea ldi r30, 0xA0 ; 160
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: a0 36 cpi r26, 0x60 ; 96
42: b1 07 cpc r27, r17
44: e1 f7 brne .-8 ; 0x3e
46: 12 c0 rjmp .+36 ; 0x6c
00000048 <__bad_interrupt>:
48: db cf rjmp .-74 ; 0x0
0000004a <DelayMs>:
//误差不会太大的延时1ms函数
void DelayMs(uint ms)
{
4a: 48 2f mov r20, r24
4c: 59 2f mov r21, r25
uint i;
for(i=0;i<ms;i++)
4e: 20 e0 ldi r18, 0x00 ; 0
50: 30 e0 ldi r19, 0x00 ; 0
52: 28 17 cp r18, r24
54: 39 07 cpc r19, r25
56: 48 f4 brcc .+18 ; 0x6a
/* 16-bit count, 4 cycles/loop */
static inline void
_delay_loop_2(unsigned int __count)
{
58: 88 ee ldi r24, 0xE8 ; 232
5a: 93 e0 ldi r25, 0x03 ; 3
asm volatile (
5c: 01 97 sbiw r24, 0x01 ; 1
5e: f1 f7 brne .-4 ; 0x5c
60: 2f 5f subi r18, 0xFF ; 255
62: 3f 4f sbci r19, 0xFF ; 255
64: 24 17 cp r18, r20
66: 35 07 cpc r19, r21
68: b8 f3 brcs .-18 ; 0x58
_delay_loop_2(4 *250);
}
6a: 08 95 ret
0000006c <main>:
int main(void)
{
6c: cf ed ldi r28, 0xDF ; 223
6e: d0 e0 ldi r29, 0x00 ; 0
70: de bf out 0x3e, r29 ; 62
72: cd bf out 0x3d, r28 ; 61
DDRD=0X10;
74: 80 e1 ldi r24, 0x10 ; 16
76: 81 bb out 0x11, r24 ; 17
PORTD=0X10;
78: 82 bb out 0x12, r24 ; 18
wdt_enable(WDTO_1S);
7a: 88 e1 ldi r24, 0x18 ; 24
7c: 90 e0 ldi r25, 0x00 ; 0
7e: 2e e0 ldi r18, 0x0E ; 14
80: 0f b6 in r0, 0x3f ; 63
82: f8 94 cli
84: a8 95 wdr
86: 81 bd out 0x21, r24 ; 33
88: 0f be out 0x3f, r0 ; 63
8a: 21 bd out 0x21, r18 ; 33
wdt_reset();
8c: a8 95 wdr
DelayMs(500);
8e: 84 ef ldi r24, 0xF4 ; 244
90: 91 e0 ldi r25, 0x01 ; 1
92: db df rcall .-74 ; 0x4a
CLR_LED;
94: 94 98 cbi 0x12, 4 ; 18
DelayMs(5000);
96: 88 e8 ldi r24, 0x88 ; 136
98: 93 e1 ldi r25, 0x13 ; 19
9a: d7 df rcall .-82 ; 0x4a
SET_LED;
9c: 94 9a sbi 0x12, 4 ; 18
while(1);
9e: ff cf rjmp .-2 ; 0x9e
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -