📄 main.lss
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000c78 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 0000000a 00800060 00000c78 00000d0c 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 0000000c 0080006a 0080006a 00000d16 2**0
ALLOC
3 .noinit 00000000 00800076 00800076 00000d16 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000d16 2**0
CONTENTS
5 .stab 00000660 00000000 00000000 00000d18 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000615 00000000 00000000 00001378 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: 1f c0 rjmp .+62 ; 0x5c
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: e8 e7 ldi r30, 0x78 ; 120
3a: fc e0 ldi r31, 0x0C ; 12
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: aa 36 cpi r26, 0x6A ; 106
44: b1 07 cpc r27, r17
46: d9 f7 brne .-10 ; 0x3e
00000048 <__do_clear_bss>:
48: 10 e0 ldi r17, 0x00 ; 0
4a: aa e6 ldi r26, 0x6A ; 106
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: a6 37 cpi r26, 0x76 ; 118
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50
58: 20 c0 rjmp .+64 ; 0x9a
0000005a <__bad_interrupt>:
5a: d2 cf rjmp .-92 ; 0x0
0000005c <__vector_14>:
void IoInit(void);
//AD转换完成中断
SIGNAL(SIG_ADC)
{
5c: 1f 92 push r1
5e: 0f 92 push r0
60: 0f b6 in r0, 0x3f ; 63
62: 0f 92 push r0
64: 11 24 eor r1, r1
66: 2f 93 push r18
68: 3f 93 push r19
6a: 8f 93 push r24
6c: 9f 93 push r25
g_nAdValue=ADCL;
6e: 84 b1 in r24, 0x04 ; 4
70: 28 2f mov r18, r24
72: 33 27 eor r19, r19
g_nAdValue|=(uint)(ADCH<<8);
74: 85 b1 in r24, 0x05 ; 5
76: 99 27 eor r25, r25
78: 98 2f mov r25, r24
7a: 88 27 eor r24, r24
7c: 28 2b or r18, r24
7e: 39 2b or r19, r25
80: 30 93 6b 00 sts 0x006B, r19
84: 20 93 6a 00 sts 0x006A, r18
}
88: 9f 91 pop r25
8a: 8f 91 pop r24
8c: 3f 91 pop r19
8e: 2f 91 pop r18
90: 0f 90 pop r0
92: 0f be out 0x3f, r0 ; 63
94: 0f 90 pop r0
96: 1f 90 pop r1
98: 18 95 reti
0000009a <main>:
int main(void)
{
9a: cf e5 ldi r28, 0x5F ; 95
9c: d4 e0 ldi r29, 0x04 ; 4
9e: de bf out 0x3e, r29 ; 62
a0: cd bf out 0x3d, r28 ; 61
uchar i;
//内部2.56V参考电压,0通道
ADMUX=0Xc0;
a2: 80 ec ldi r24, 0xC0 ; 192
a4: 87 b9 out 0x07, r24 ; 7
//使能ADC,中断允许,自由模式, 时钟:ck/8
ADCSRA=_BV(ADEN)|_BV(ADIE)|_BV(ADFR)|_BV(ADPS1)|_BV(ADPS0);
a6: 8b ea ldi r24, 0xAB ; 171
a8: 86 b9 out 0x06, r24 ; 6
IoInit();//标准输入/输出初始化
aa: 2d d0 rcall .+90 ; 0x106
ADCSRA|=_BV(ADSC);//自由模式开始转换
ac: 36 9a sbi 0x06, 6 ; 6
while(1)
{
//延时
for(i=0;i<100;i++)
ae: 20 e0 ldi r18, 0x00 ; 0
/* 16-bit count, 4 cycles/loop */
static inline void
_delay_loop_2(unsigned int __count)
{
b0: 80 e1 ldi r24, 0x10 ; 16
b2: 97 e2 ldi r25, 0x27 ; 39
asm volatile (
b4: 01 97 sbiw r24, 0x01 ; 1
b6: f1 f7 brne .-4 ; 0xb4
b8: 2f 5f subi r18, 0xFF ; 255
ba: 24 36 cpi r18, 0x64 ; 100
bc: c8 f3 brcs .-14 ; 0xb0
_delay_loop_2(4 * 250 * 10);//10ms
cli();
be: f8 94 cli
printf("%d\n",g_nAdValue);
c0: 80 91 6a 00 lds r24, 0x006A
c4: 90 91 6b 00 lds r25, 0x006B
c8: 9f 93 push r25
ca: 8f 93 push r24
cc: 80 e6 ldi r24, 0x60 ; 96
ce: 90 e0 ldi r25, 0x00 ; 0
d0: 9f 93 push r25
d2: 8f 93 push r24
d4: f5 d3 rcall .+2026 ; 0x8c0
sei();
d6: 78 94 sei
d8: 0f 90 pop r0
da: 0f 90 pop r0
dc: 0f 90 pop r0
de: 0f 90 pop r0
e0: e6 cf rjmp .-52 ; 0xae
000000e2 <usart_putchar>:
#include <stdio.h>
//uart写一字节数据
int usart_putchar(char c)
{
e2: cf 93 push r28
e4: c8 2f mov r28, r24
if(c=='\n')
e6: 8a 30 cpi r24, 0x0A ; 10
e8: 11 f4 brne .+4 ; 0xee
usart_putchar('\r');
ea: 8d e0 ldi r24, 0x0D ; 13
ec: fa df rcall .-12 ; 0xe2
loop_until_bit_is_set(UCSRA,UDRE);
ee: 5d 9b sbis 0x0b, 5 ; 11
f0: fe cf rjmp .-4 ; 0xee
UDR=c;
f2: cc b9 out 0x0c, r28 ; 12
return 0;
}
f4: 80 e0 ldi r24, 0x00 ; 0
f6: 90 e0 ldi r25, 0x00 ; 0
f8: cf 91 pop r28
fa: 08 95 ret
000000fc <usart_getchar>:
//uart读一字节数据
int usart_getchar(void)
{
loop_until_bit_is_set(UCSRA,RXC);
fc: 5f 9b sbis 0x0b, 7 ; 11
fe: fe cf rjmp .-4 ; 0xfc
return UDR;
100: 8c b1 in r24, 0x0c ; 12
102: 99 27 eor r25, r25
}
104: 08 95 ret
00000106 <IoInit>:
void IoInit(void)
{
//初始化uart
UCSRB=_BV(RXEN)|_BV(TXEN);/*(1<<RXCIE)|(1<<TXCIE)|*/
106: 88 e1 ldi r24, 0x18 ; 24
108: 8a b9 out 0x0a, r24 ; 10
UBRRL=25; //9600 baud 6MHz:38 4MHz:25
10a: 89 e1 ldi r24, 0x19 ; 25
10c: 89 b9 out 0x09, r24 ; 9
//打开标准I/O流
fdevopen(usart_putchar,usart_getchar,0);
10e: 40 e0 ldi r20, 0x00 ; 0
110: 50 e0 ldi r21, 0x00 ; 0
112: 6e e7 ldi r22, 0x7E ; 126
114: 70 e0 ldi r23, 0x00 ; 0
116: 81 e7 ldi r24, 0x71 ; 113
118: 90 e0 ldi r25, 0x00 ; 0
11a: 25 d3 rcall .+1610 ; 0x766
}
11c: 08 95 ret
0000011e <vfprintf>:
11e: af e0 ldi r26, 0x0F ; 15
120: b0 e0 ldi r27, 0x00 ; 0
122: e4 e9 ldi r30, 0x94 ; 148
124: f0 e0 ldi r31, 0x00 ; 0
126: 4f c5 rjmp .+2718 ; 0xbc6
128: aa 24 eor r10, r10
12a: bb 24 eor r11, r11
12c: 65 01 movw r12, r10
12e: 3c 01 movw r6, r24
130: 2b 01 movw r4, r22
132: 4d 87 std Y+13, r20 ; 0x0d
134: 5e 87 std Y+14, r21 ; 0x0e
136: 22 24 eor r2, r2
138: fc 01 movw r30, r24
13a: 16 82 std Z+6, r1 ; 0x06
13c: 17 82 std Z+7, r1 ; 0x07
13e: 83 81 ldd r24, Z+3 ; 0x03
140: 81 fd sbrc r24, 1
142: 50 c1 rjmp .+672 ; 0x3e4
144: 8f ef ldi r24, 0xFF ; 255
146: 9f ef ldi r25, 0xFF ; 255
148: 60 c1 rjmp .+704 ; 0x40a
14a: 20 fe sbrs r2, 0
14c: 3d c1 rjmp .+634 ; 0x3c8
14e: 83 2d mov r24, r3
150: 80 53 subi r24, 0x30 ; 48
152: 8a 30 cpi r24, 0x0A ; 10
154: 08 f4 brcc .+2 ; 0x158
156: 46 c1 rjmp .+652 ; 0x3e4
158: 83 2d mov r24, r3
15a: 99 27 eor r25, r25
15c: 87 fd sbrc r24, 7
15e: 90 95 com r25
160: 88 36 cpi r24, 0x68 ; 104
162: 91 05 cpc r25, r1
164: 3c f5 brge .+78 ; 0x1b4
166: 85 36 cpi r24, 0x65 ; 101
168: 91 05 cpc r25, r1
16a: 0c f0 brlt .+2 ; 0x16e
16c: 4d c0 rjmp .+154 ; 0x208
16e: 88 35 cpi r24, 0x58 ; 88
170: 91 05 cpc r25, r1
172: 09 f4 brne .+2 ; 0x176
174: a2 c0 rjmp .+324 ; 0x2ba
176: 89 35 cpi r24, 0x59 ; 89
178: 91 05 cpc r25, r1
17a: a4 f4 brge .+40 ; 0x1a4
17c: 8b 32 cpi r24, 0x2B ; 43
17e: 91 05 cpc r25, r1
180: 09 f4 brne .+2 ; 0x184
182: 30 c1 rjmp .+608 ; 0x3e4
184: 8c 32 cpi r24, 0x2C ; 44
186: 91 05 cpc r25, r1
188: 44 f4 brge .+16 ; 0x19a
18a: 80 32 cpi r24, 0x20 ; 32
18c: 91 05 cpc r25, r1
18e: 09 f4 brne .+2 ; 0x192
190: 29 c1 rjmp .+594 ; 0x3e4
192: 83 97 sbiw r24, 0x23 ; 35
194: 09 f4 brne .+2 ; 0x198
196: 26 c1 rjmp .+588 ; 0x3e4
198: 0f c1 rjmp .+542 ; 0x3b8
19a: 8d 97 sbiw r24, 0x2d ; 45
19c: 02 97 sbiw r24, 0x02 ; 2
19e: 08 f0 brcs .+2 ; 0x1a2
1a0: 0b c1 rjmp .+534 ; 0x3b8
1a2: 20 c1 rjmp .+576 ; 0x3e4
1a4: 83 36 cpi r24, 0x63 ; 99
1a6: 91 05 cpc r25, r1
1a8: c1 f1 breq .+112 ; 0x21a
1aa: 84 36 cpi r24, 0x64 ; 100
1ac: 91 05 cpc r25, r1
1ae: 09 f4 brne .+2 ; 0x1b2
1b0: 54 c0 rjmp .+168 ; 0x25a
1b2: 02 c1 rjmp .+516 ; 0x3b8
1b4: 80 37 cpi r24, 0x70 ; 112
1b6: 91 05 cpc r25, r1
1b8: 09 f4 brne .+2 ; 0x1bc
1ba: 7b c0 rjmp .+246 ; 0x2b2
1bc: 81 37 cpi r24, 0x71 ; 113
1be: 91 05 cpc r25, r1
1c0: 84 f4 brge .+32 ; 0x1e2
1c2: 8c 36 cpi r24, 0x6C ; 108
1c4: 91 05 cpc r25, r1
1c6: e9 f0 breq .+58 ; 0x202
1c8: 8d 36 cpi r24, 0x6D ; 109
1ca: 91 05 cpc r25, r1
1cc: 2c f4 brge .+10 ; 0x1d8
1ce: 89 36 cpi r24, 0x69 ; 105
1d0: 91 05 cpc r25, r1
1d2: 09 f4 brne .+2 ; 0x1d6
1d4: 42 c0 rjmp .+132 ; 0x25a
1d6: f0 c0 rjmp .+480 ; 0x3b8
1d8: 8f 36 cpi r24, 0x6F ; 111
1da: 91 05 cpc r25, r1
1dc: 09 f4 brne .+2 ; 0x1e0
1de: 66 c0 rjmp .+204 ; 0x2ac
1e0: eb c0 rjmp .+470 ; 0x3b8
1e2: 85 37 cpi r24, 0x75 ; 117
1e4: 91 05 cpc r25, r1
1e6: 09 f4 brne .+2 ; 0x1ea
1e8: 6a c0 rjmp .+212 ; 0x2be
1ea: 86 37 cpi r24, 0x76 ; 118
1ec: 91 05 cpc r25, r1
1ee: 24 f4 brge .+8 ; 0x1f8
1f0: 83 37 cpi r24, 0x73 ; 115
1f2: 91 05 cpc r25, r1
1f4: d1 f0 breq .+52 ; 0x22a
1f6: e0 c0 rjmp .+448 ; 0x3b8
1f8: 88 37 cpi r24, 0x78 ; 120
1fa: 91 05 cpc r25, r1
1fc: 09 f4 brne .+2 ; 0x200
1fe: 5d c0 rjmp .+186 ; 0x2ba
200: db c0 rjmp .+438 ; 0x3b8
202: f4 e0 ldi r31, 0x04 ; 4
204: 2f 2a or r2, r31
206: ee c0 rjmp .+476 ; 0x3e4
208: 0f 2e mov r0, r31
20a: ff e3 ldi r31, 0x3F ; 63
20c: af 2e mov r10, r31
20e: f0 2d mov r31, r0
210: 0f 2e mov r0, r31
212: f3 e6 ldi r31, 0x63 ; 99
214: 3f 2e mov r3, r31
216: f0 2d mov r31, r0
218: 9b c0 rjmp .+310 ; 0x350
21a: ed 85 ldd r30, Y+13 ; 0x0d
21c: fe 85 ldd r31, Y+14 ; 0x0e
21e: cf 01 movw r24, r30
220: 02 96 adiw r24, 0x02 ; 2
222: 8d 87 std Y+13, r24 ; 0x0d
224: 9e 87 std Y+14, r25 ; 0x0e
226: a0 80 ld r10, Z
228: 93 c0 rjmp .+294 ; 0x350
22a: ed 85 ldd r30, Y+13 ; 0x0d
22c: fe 85 ldd r31, Y+14 ; 0x0e
22e: cf 01 movw r24, r30
230: 02 96 adiw r24, 0x02 ; 2
232: 8d 87 std Y+13, r24 ; 0x0d
234: 9e 87 std Y+14, r25 ; 0x0e
236: a0 80 ld r10, Z
238: b1 80 ldd r11, Z+1 ; 0x01
23a: 1f 86 std Y+15, r1 ; 0x0f
23c: f5 01 movw r30, r10
23e: 80 81 ld r24, Z
240: 88 23 and r24, r24
242: 09 f4 brne .+2 ; 0x246
244: 85 c0 rjmp .+266 ; 0x350
246: 9f 85 ldd r25, Y+15 ; 0x0f
248: 9f 5f subi r25, 0xFF ; 255
24a: 9f 87 std Y+15, r25 ; 0x0f
24c: f5 01 movw r30, r10
24e: e9 0f add r30, r25
250: f1 1d adc r31, r1
252: 80 81 ld r24, Z
254: 88 23 and r24, r24
256: b9 f7 brne .-18 ; 0x246
258: 7b c0 rjmp .+246 ; 0x350
25a: 22 fe sbrs r2, 2
25c: 0b c0 rjmp .+22 ; 0x274
25e: ed 85 ldd r30, Y+13 ; 0x0d
260: fe 85 ldd r31, Y+14 ; 0x0e
262: cf 01 movw r24, r30
264: 04 96 adiw r24, 0x04 ; 4
266: 8d 87 std Y+13, r24 ; 0x0d
268: 9e 87 std Y+14, r25 ; 0x0e
26a: 20 81 ld r18, Z
26c: 31 81 ldd r19, Z+1 ; 0x01
26e: 42 81 ldd r20, Z+2 ; 0x02
270: 53 81 ldd r21, Z+3 ; 0x03
272: 0d c0 rjmp .+26 ; 0x28e
274: ed 85 ldd r30, Y+13 ; 0x0d
276: fe 85 ldd r31, Y+14 ; 0x0e
278: cf 01 movw r24, r30
27a: 02 96 adiw r24, 0x02 ; 2
27c: 8d 87 std Y+13, r24 ; 0x0d
27e: 9e 87 std Y+14, r25 ; 0x0e
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -