📄 main.lss
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000005a6 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000012 00800060 000005a6 0000063a 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000012 00800072 00800072 0000064c 2**0
ALLOC
3 .noinit 00000000 00800084 00800084 0000064c 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 0000064c 2**0
CONTENTS
5 .stab 00000bf4 00000000 00000000 0000064c 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 000009cb 00000000 00000000 00001240 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26
2: 2b c0 rjmp .+86 ; 0x5a
4: 2a c0 rjmp .+84 ; 0x5a
6: 29 c0 rjmp .+82 ; 0x5a
8: 28 c0 rjmp .+80 ; 0x5a
a: 27 c0 rjmp .+78 ; 0x5a
c: 26 c0 rjmp .+76 ; 0x5a
e: 25 c0 rjmp .+74 ; 0x5a
10: 24 c0 rjmp .+72 ; 0x5a
12: 23 c0 rjmp .+70 ; 0x5a
14: 22 c0 rjmp .+68 ; 0x5a
16: 21 c0 rjmp .+66 ; 0x5a
18: 20 c0 rjmp .+64 ; 0x5a
1a: 1f c0 rjmp .+62 ; 0x5a
1c: 1e c0 rjmp .+60 ; 0x5a
1e: 1d c0 rjmp .+58 ; 0x5a
20: 1c c0 rjmp .+56 ; 0x5a
22: 1b c0 rjmp .+54 ; 0x5a
24: 1a c0 rjmp .+52 ; 0x5a
00000026 <__ctors_end>:
26: 11 24 eor r1, r1
28: 1f be out 0x3f, r1 ; 63
2a: cf e5 ldi r28, 0x5F ; 95
2c: d4 e0 ldi r29, 0x04 ; 4
2e: de bf out 0x3e, r29 ; 62
30: cd bf out 0x3d, r28 ; 61
00000032 <__do_copy_data>:
32: 10 e0 ldi r17, 0x00 ; 0
34: a0 e6 ldi r26, 0x60 ; 96
36: b0 e0 ldi r27, 0x00 ; 0
38: e6 ea ldi r30, 0xA6 ; 166
3a: f5 e0 ldi r31, 0x05 ; 5
3c: 02 c0 rjmp .+4 ; 0x42
0000003e <.do_copy_data_loop>:
3e: 05 90 lpm r0, Z+
40: 0d 92 st X+, r0
00000042 <.do_copy_data_start>:
42: a2 37 cpi r26, 0x72 ; 114
44: b1 07 cpc r27, r17
46: d9 f7 brne .-10 ; 0x3e
00000048 <__do_clear_bss>:
48: 10 e0 ldi r17, 0x00 ; 0
4a: a2 e7 ldi r26, 0x72 ; 114
4c: b0 e0 ldi r27, 0x00 ; 0
4e: 01 c0 rjmp .+2 ; 0x52
00000050 <.do_clear_bss_loop>:
50: 1d 92 st X+, r1
00000052 <.do_clear_bss_start>:
52: a4 38 cpi r26, 0x84 ; 132
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50
58: 2e c2 rjmp .+1116 ; 0x4b6
0000005a <__bad_interrupt>:
5a: d2 cf rjmp .-92 ; 0x0
0000005c <delay_1us>:
//----------------------------delay----------
void delay_1us(void) //1us延时函数
{
5c: cf 93 push r28
5e: df 93 push r29
60: cd b7 in r28, 0x3d ; 61
62: de b7 in r29, 0x3e ; 62
/* asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");*/
asm("nop");
64: 00 00 nop
66: df 91 pop r29
68: cf 91 pop r28
6a: 08 95 ret
0000006c <delay_nus>:
}
//===============================
void delay_nus(unsigned int n) //N us延时函数
{
6c: cf 93 push r28
6e: df 93 push r29
70: cd b7 in r28, 0x3d ; 61
72: de b7 in r29, 0x3e ; 62
74: 22 97 sbiw r28, 0x02 ; 2
76: 0f b6 in r0, 0x3f ; 63
78: f8 94 cli
7a: de bf out 0x3e, r29 ; 62
7c: 0f be out 0x3f, r0 ; 63
7e: cd bf out 0x3d, r28 ; 61
80: 89 83 std Y+1, r24 ; 0x01
82: 9a 83 std Y+2, r25 ; 0x02
for (;n>0;n--)
84: 89 81 ldd r24, Y+1 ; 0x01
86: 9a 81 ldd r25, Y+2 ; 0x02
88: 00 97 sbiw r24, 0x00 ; 0
8a: 39 f0 breq .+14 ; 0x9a
//delay_1us();
asm("nop");
8c: 00 00 nop
8e: 89 81 ldd r24, Y+1 ; 0x01
90: 9a 81 ldd r25, Y+2 ; 0x02
92: 01 97 sbiw r24, 0x01 ; 1
94: 89 83 std Y+1, r24 ; 0x01
96: 9a 83 std Y+2, r25 ; 0x02
98: f5 cf rjmp .-22 ; 0x84
9a: 22 96 adiw r28, 0x02 ; 2
9c: 0f b6 in r0, 0x3f ; 63
9e: f8 94 cli
a0: de bf out 0x3e, r29 ; 62
a2: 0f be out 0x3f, r0 ; 63
a4: cd bf out 0x3d, r28 ; 61
a6: df 91 pop r29
a8: cf 91 pop r28
aa: 08 95 ret
000000ac <delay_1ms>:
}
//===============================
void delay_1ms(void) //1ms延时函数
{
ac: cf 93 push r28
ae: df 93 push r29
b0: cd b7 in r28, 0x3d ; 61
b2: de b7 in r29, 0x3e ; 62
b4: 22 97 sbiw r28, 0x02 ; 2
b6: 0f b6 in r0, 0x3f ; 63
b8: f8 94 cli
ba: de bf out 0x3e, r29 ; 62
bc: 0f be out 0x3f, r0 ; 63
be: cd bf out 0x3d, r28 ; 61
unsigned int i;
for(i=0;i<1000;i++)
c0: 19 82 std Y+1, r1 ; 0x01
c2: 1a 82 std Y+2, r1 ; 0x02
c4: 89 81 ldd r24, Y+1 ; 0x01
c6: 9a 81 ldd r25, Y+2 ; 0x02
c8: 23 e0 ldi r18, 0x03 ; 3
ca: 88 3e cpi r24, 0xE8 ; 232
cc: 92 07 cpc r25, r18
ce: 38 f4 brcc .+14 ; 0xde
delay_1us();
d0: c5 df rcall .-118 ; 0x5c
d2: 89 81 ldd r24, Y+1 ; 0x01
d4: 9a 81 ldd r25, Y+2 ; 0x02
d6: 01 96 adiw r24, 0x01 ; 1
d8: 89 83 std Y+1, r24 ; 0x01
da: 9a 83 std Y+2, r25 ; 0x02
dc: f3 cf rjmp .-26 ; 0xc4
de: 22 96 adiw r28, 0x02 ; 2
e0: 0f b6 in r0, 0x3f ; 63
e2: f8 94 cli
e4: de bf out 0x3e, r29 ; 62
e6: 0f be out 0x3f, r0 ; 63
e8: cd bf out 0x3d, r28 ; 61
ea: df 91 pop r29
ec: cf 91 pop r28
ee: 08 95 ret
000000f0 <delay_nms>:
}
//===============================
void delay_nms(unsigned int n) //N ms延时函数
{
f0: cf 93 push r28
f2: df 93 push r29
f4: cd b7 in r28, 0x3d ; 61
f6: de b7 in r29, 0x3e ; 62
f8: 22 97 sbiw r28, 0x02 ; 2
fa: 0f b6 in r0, 0x3f ; 63
fc: f8 94 cli
fe: de bf out 0x3e, r29 ; 62
100: 0f be out 0x3f, r0 ; 63
102: cd bf out 0x3d, r28 ; 61
104: 89 83 std Y+1, r24 ; 0x01
106: 9a 83 std Y+2, r25 ; 0x02
for(;n>0;n--)
108: 89 81 ldd r24, Y+1 ; 0x01
10a: 9a 81 ldd r25, Y+2 ; 0x02
10c: 00 97 sbiw r24, 0x00 ; 0
10e: 39 f0 breq .+14 ; 0x11e
delay_1ms();
110: cd df rcall .-102 ; 0xac
112: 89 81 ldd r24, Y+1 ; 0x01
114: 9a 81 ldd r25, Y+2 ; 0x02
116: 01 97 sbiw r24, 0x01 ; 1
118: 89 83 std Y+1, r24 ; 0x01
11a: 9a 83 std Y+2, r25 ; 0x02
11c: f5 cf rjmp .-22 ; 0x108
11e: 22 96 adiw r28, 0x02 ; 2
120: 0f b6 in r0, 0x3f ; 63
122: f8 94 cli
124: de bf out 0x3e, r29 ; 62
126: 0f be out 0x3f, r0 ; 63
128: cd bf out 0x3d, r28 ; 61
12a: df 91 pop r29
12c: cf 91 pop r28
12e: 08 95 ret
00000130 <IO_INIT>:
}
void IO_INIT(void)
{
130: cf 93 push r28
132: df 93 push r29
134: cd b7 in r28, 0x3d ; 61
136: de b7 in r29, 0x3e ; 62
DDRC=0Xff; //key_bord
138: 8f ef ldi r24, 0xFF ; 255
13a: 80 93 34 00 sts 0x0034, r24
13e: df 91 pop r29
140: cf 91 pop r28
142: 08 95 ret
00000144 <ds1302_write>:
}
void ds1302_write(uchar reg,uchar data)
{
144: cf 93 push r28
146: df 93 push r29
148: cd b7 in r28, 0x3d ; 61
14a: de b7 in r29, 0x3e ; 62
14c: 23 97 sbiw r28, 0x03 ; 3
14e: 0f b6 in r0, 0x3f ; 63
150: f8 94 cli
152: de bf out 0x3e, r29 ; 62
154: 0f be out 0x3f, r0 ; 63
156: cd bf out 0x3d, r28 ; 61
158: 89 83 std Y+1, r24 ; 0x01
15a: 6a 83 std Y+2, r22 ; 0x02
char i=0;
15c: 1b 82 std Y+3, r1 ; 0x03
set_ds1302_rst_ddr();
15e: 80 91 34 00 lds r24, 0x0034
162: 88 60 ori r24, 0x08 ; 8
164: 80 93 34 00 sts 0x0034, r24
set_ds1302_sclk_ddr();
168: 80 91 34 00 lds r24, 0x0034
16c: 80 61 ori r24, 0x10 ; 16
16e: 80 93 34 00 sts 0x0034, r24
set_ds1302_io_ddr(); /*设为输出*/
172: 80 91 34 00 lds r24, 0x0034
176: 80 62 ori r24, 0x20 ; 32
178: 80 93 34 00 sts 0x0034, r24
clr_ds1302_rst(); /*置0*/
17c: 80 91 35 00 lds r24, 0x0035
180: 87 7f andi r24, 0xF7 ; 247
182: 80 93 35 00 sts 0x0035, r24
clr_ds1302_sclk(); /*置0,在RST置1时,SCLK必须为0*/
186: 80 91 35 00 lds r24, 0x0035
18a: 8f 7e andi r24, 0xEF ; 239
18c: 80 93 35 00 sts 0x0035, r24
set_ds1302_rst(); /*置1,启动数据传送*/
190: 80 91 35 00 lds r24, 0x0035
194: 88 60 ori r24, 0x08 ; 8
196: 80 93 35 00 sts 0x0035, r24
for(i=8;i>0;i--) /*写地址*/
19a: 88 e0 ldi r24, 0x08 ; 8
19c: 8b 83 std Y+3, r24 ; 0x03
19e: 8b 81 ldd r24, Y+3 ; 0x03
1a0: 88 23 and r24, r24
1a2: 11 f1 breq .+68 ; 0x1e8
{
if((reg&0x01)==0x01)
1a4: 89 81 ldd r24, Y+1 ; 0x01
1a6: 99 27 eor r25, r25
1a8: 81 70 andi r24, 0x01 ; 1
1aa: 90 70 andi r25, 0x00 ; 0
1ac: 00 97 sbiw r24, 0x00 ; 0
1ae: 31 f0 breq .+12 ; 0x1bc
set_ds1302_io();
1b0: 80 91 35 00 lds r24, 0x0035
1b4: 80 62 ori r24, 0x20 ; 32
1b6: 80 93 35 00 sts 0x0035, r24
1ba: 05 c0 rjmp .+10 ; 0x1c6
else
clr_ds1302_io();
1bc: 80 91 35 00 lds r24, 0x0035
1c0: 8f 7d andi r24, 0xDF ; 223
1c2: 80 93 35 00 sts 0x0035, r24
set_ds1302_sclk(); /*时钟*/
1c6: 80 91 35 00 lds r24, 0x0035
1ca: 80 61 ori r24, 0x10 ; 16
1cc: 80 93 35 00 sts 0x0035, r24
clr_ds1302_sclk();
1d0: 80 91 35 00 lds r24, 0x0035
1d4: 8f 7e andi r24, 0xEF ; 239
1d6: 80 93 35 00 sts 0x0035, r24
reg>>=1;
1da: 89 81 ldd r24, Y+1 ; 0x01
1dc: 86 95 lsr r24
1de: 89 83 std Y+1, r24 ; 0x01
1e0: 8b 81 ldd r24, Y+3 ; 0x03
1e2: 81 50 subi r24, 0x01 ; 1
1e4: 8b 83 std Y+3, r24 ; 0x03
1e6: db cf rjmp .-74 ; 0x19e
}
for(i=8;i>0;i--) /*写数据*/
1e8: 88 e0 ldi r24, 0x08 ; 8
1ea: 8b 83 std Y+3, r24 ; 0x03
1ec: 8b 81 ldd r24, Y+3 ; 0x03
1ee: 88 23 and r24, r24
1f0: 29 f1 breq .+74 ; 0x23c
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -