📄 test1.lss
字号:
test1.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000000 00800100 00000104 00000198 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00000104 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000000 00800100 00000104 00000198 2**0
ALLOC
3 .noinit 00000000 00800100 00800100 00000198 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000198 2**0
CONTENTS
5 .stab 000002ac 00000000 00000000 00000198 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 000004c6 00000000 00000000 00000444 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c
4: 0c 94 63 00 jmp 0xc6
8: 0c 94 63 00 jmp 0xc6
c: 0c 94 63 00 jmp 0xc6
10: 0c 94 63 00 jmp 0xc6
14: 0c 94 63 00 jmp 0xc6
18: 0c 94 63 00 jmp 0xc6
1c: 0c 94 63 00 jmp 0xc6
20: 0c 94 63 00 jmp 0xc6
24: 0c 94 63 00 jmp 0xc6
28: 0c 94 63 00 jmp 0xc6
2c: 0c 94 63 00 jmp 0xc6
30: 0c 94 63 00 jmp 0xc6
34: 0c 94 63 00 jmp 0xc6
38: 0c 94 63 00 jmp 0xc6
3c: 0c 94 63 00 jmp 0xc6
40: 0c 94 63 00 jmp 0xc6
44: 0c 94 63 00 jmp 0xc6
48: 0c 94 63 00 jmp 0xc6
4c: 0c 94 63 00 jmp 0xc6
50: 0c 94 63 00 jmp 0xc6
54: 0c 94 63 00 jmp 0xc6
58: 0c 94 63 00 jmp 0xc6
5c: 0c 94 63 00 jmp 0xc6
60: 0c 94 63 00 jmp 0xc6
64: 0c 94 63 00 jmp 0xc6
68: 0c 94 63 00 jmp 0xc6
6c: 0c 94 63 00 jmp 0xc6
70: 0c 94 63 00 jmp 0xc6
74: 0c 94 63 00 jmp 0xc6
78: 0c 94 63 00 jmp 0xc6
7c: 0c 94 63 00 jmp 0xc6
80: 0c 94 63 00 jmp 0xc6
84: 0c 94 63 00 jmp 0xc6
88: 0c 94 63 00 jmp 0xc6
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: e4 e0 ldi r30, 0x04 ; 4
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
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
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
000000ba <.do_clear_bss_loop>:
ba: 1d 92 st X+, r1
000000bc <.do_clear_bss_start>:
bc: a0 30 cpi r26, 0x00 ; 0
be: b1 07 cpc r27, r17
c0: e1 f7 brne .-8 ; 0xba
c2: 0c 94 65 00 jmp 0xca
000000c6 <__bad_interrupt>:
c6: 0c 94 00 00 jmp 0x0
000000ca <main>:
*入口参数:无
*出口参数:无
*****************************************************/
int main( void )
{
ca: cf ef ldi r28, 0xFF ; 255
cc: d0 e1 ldi r29, 0x10 ; 16
ce: de bf out 0x3e, r29 ; 62
d0: cd bf out 0x3d, r28 ; 61
uchar i,j=0;
d2: 20 e0 ldi r18, 0x00 ; 0
//设置PA0 口为输出
DDRA=_BV(PA0);
d4: 81 e0 ldi r24, 0x01 ; 1
d6: 8a bb out 0x1a, r24 ; 26
PORTA=_BV(PA0);
d8: 8b bb out 0x1b, r24 ; 27
TCNT0=0; //初始化TCNT0
da: 22 bf out 0x32, r18 ; 50
TCCR0=_BV(CS02); // 预分频 ck/64
dc: 84 e0 ldi r24, 0x04 ; 4
de: 83 bf out 0x33, r24 ; 51
while (1)
{
//查询定时器方式等待0.5秒,7372800 /64 /256 /225 = 2Hz
for(i=0;i<225;i++)
e0: 90 e0 ldi r25, 0x00 ; 0
{
loop_until_bit_is_set(TIFR,TOV0);
e2: 06 b6 in r0, 0x36 ; 54
e4: 00 fe sbrs r0, 0
e6: fd cf rjmp .-6 ; 0xe2
//写入逻辑1 清零TOV0 位
TIFR|=_BV(TOV0);
e8: 86 b7 in r24, 0x36 ; 54
ea: 81 60 ori r24, 0x01 ; 1
ec: 86 bf out 0x36, r24 ; 54
ee: 9f 5f subi r25, 0xFF ; 255
f0: 91 3e cpi r25, 0xE1 ; 225
f2: b8 f3 brcs .-18 ; 0xe2
}
//反向LED 控制脚
if(j)
f4: 22 23 and r18, r18
f6: 19 f0 breq .+6 ; 0xfe
SET_LED,j=0;
f8: d8 98 cbi 0x1b, 0 ; 27
fa: 20 e0 ldi r18, 0x00 ; 0
fc: f1 cf rjmp .-30 ; 0xe0
else
CLR_LED,j=1;
fe: d8 9a sbi 0x1b, 0 ; 27
100: 21 e0 ldi r18, 0x01 ; 1
102: ee cf rjmp .-36 ; 0xe0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -