📄 main.lss
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000e3e 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000052 00800060 00000e3e 00000ed2 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 0000005b 008000b2 008000b2 00000f24 2**0
ALLOC
3 .noinit 00000000 0080010d 0080010d 00000f24 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000f24 2**0
CONTENTS
5 .stab 00000480 00000000 00000000 00000f24 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 0000078c 00000000 00000000 000013a4 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 24 c0 rjmp .+72 ; 0x4a
2: 3d c0 rjmp .+122 ; 0x7e
4: 3c c0 rjmp .+120 ; 0x7e
6: 3b c0 rjmp .+118 ; 0x7e
8: 3a c0 rjmp .+116 ; 0x7e
a: 39 c0 rjmp .+114 ; 0x7e
c: 38 c0 rjmp .+112 ; 0x7e
e: 37 c0 rjmp .+110 ; 0x7e
10: 36 c0 rjmp .+108 ; 0x7e
12: 35 c0 rjmp .+106 ; 0x7e
14: 34 c0 rjmp .+104 ; 0x7e
16: 33 c0 rjmp .+102 ; 0x7e
18: 32 c0 rjmp .+100 ; 0x7e
1a: 31 c0 rjmp .+98 ; 0x7e
1c: 30 c0 rjmp .+96 ; 0x7e
1e: 2f c0 rjmp .+94 ; 0x7e
20: 2e c0 rjmp .+92 ; 0x7e
22: 2d c0 rjmp .+90 ; 0x7e
24: 2c c0 rjmp .+88 ; 0x7e
00000026 <__ctors_end>:
26: b2 e2 ldi r27, 0x22 ; 34
28: ca d4 rcall .+2452 ; 0x9be
2a: 33 5b subi r19, 0xB3 ; 179
2c: ca e4 ldi r28, 0x4A ; 74
2e: c8 eb ldi r28, 0xB8 ; 184
30: ca fd .word 0xfdca ; ????
32: d7 d6 rcall .+3502 ; 0xde2
34: 5d 3a cpi r21, 0xAD ; 173
36: 0a 00 .word 0x000a ; ????
00000038 <__c.1>:
38: 25 64 00 %d.
0000003b <__c.2>:
3b: c4 fa b5 c4 ca e4 c8 eb ce aa 3a 25 64 0a 00 ..........:%d..
0000004a <__init>:
4a: 11 24 eor r1, r1
4c: 1f be out 0x3f, r1 ; 63
4e: cf e5 ldi r28, 0x5F ; 95
50: d4 e0 ldi r29, 0x04 ; 4
52: de bf out 0x3e, r29 ; 62
54: cd bf out 0x3d, r28 ; 61
00000056 <__do_copy_data>:
56: 10 e0 ldi r17, 0x00 ; 0
58: a0 e6 ldi r26, 0x60 ; 96
5a: b0 e0 ldi r27, 0x00 ; 0
5c: ee e3 ldi r30, 0x3E ; 62
5e: fe e0 ldi r31, 0x0E ; 14
60: 02 c0 rjmp .+4 ; 0x66
00000062 <.do_copy_data_loop>:
62: 05 90 lpm r0, Z+
64: 0d 92 st X+, r0
00000066 <.do_copy_data_start>:
66: a2 3b cpi r26, 0xB2 ; 178
68: b1 07 cpc r27, r17
6a: d9 f7 brne .-10 ; 0x62
0000006c <__do_clear_bss>:
6c: 11 e0 ldi r17, 0x01 ; 1
6e: a2 eb ldi r26, 0xB2 ; 178
70: b0 e0 ldi r27, 0x00 ; 0
72: 01 c0 rjmp .+2 ; 0x76
00000074 <.do_clear_bss_loop>:
74: 1d 92 st X+, r1
00000076 <.do_clear_bss_start>:
76: ad 30 cpi r26, 0x0D ; 13
78: b1 07 cpc r27, r17
7a: e1 f7 brne .-8 ; 0x74
7c: 1f c0 rjmp .+62 ; 0xbc
0000007e <__bad_interrupt>:
7e: c0 cf rjmp .-128 ; 0x0
00000080 <usart_putchar>:
char g_aString[81];
//
int usart_putchar(char c)
{
80: cf 93 push r28
82: c8 2f mov r28, r24
if(c=='\n')
84: 8a 30 cpi r24, 0x0A ; 10
86: 11 f4 brne .+4 ; 0x8c
usart_putchar('\r');
88: 8d e0 ldi r24, 0x0D ; 13
8a: fa df rcall .-12 ; 0x80
loop_until_bit_is_set(UCSRA,UDRE);
8c: 5d 9b sbis 0x0b, 5 ; 11
8e: fe cf rjmp .-4 ; 0x8c
UDR=c;
90: cc b9 out 0x0c, r28 ; 12
return 0;
}
92: 80 e0 ldi r24, 0x00 ; 0
94: 90 e0 ldi r25, 0x00 ; 0
96: cf 91 pop r28
98: 08 95 ret
0000009a <usart_getchar>:
//
int usart_getchar(void)
{
loop_until_bit_is_set(UCSRA,RXC);
9a: 5f 9b sbis 0x0b, 7 ; 11
9c: fe cf rjmp .-4 ; 0x9a
return UDR;
9e: 8c b1 in r24, 0x0c ; 12
}
a0: 99 27 eor r25, r25
a2: 08 95 ret
000000a4 <IoInit>:
void IoInit(void)
{
//UART初始化
UCSRB=_BV(RXEN)|_BV(TXEN);/*(1<<RXCIE)|(1<<TXCIE)|*/
a4: 88 e1 ldi r24, 0x18 ; 24
a6: 8a b9 out 0x0a, r24 ; 10
UBRRL=25; //9600 baud 6MHz:38 4MHz:25
a8: 89 e1 ldi r24, 0x19 ; 25
aa: 89 b9 out 0x09, r24 ; 9
//i/o流UART连接
fdevopen(usart_putchar,usart_getchar,0);
ac: 40 e0 ldi r20, 0x00 ; 0
ae: 50 e0 ldi r21, 0x00 ; 0
b0: 6d e4 ldi r22, 0x4D ; 77
b2: 70 e0 ldi r23, 0x00 ; 0
b4: 80 e4 ldi r24, 0x40 ; 64
b6: 90 e0 ldi r25, 0x00 ; 0
b8: 96 d3 rcall .+1836 ; 0x7e6
ba: 08 95 ret
000000bc <main>:
}
int main(void)
{
bc: cd e5 ldi r28, 0x5D ; 93
be: d4 e0 ldi r29, 0x04 ; 4
c0: de bf out 0x3e, r29 ; 62
c2: cd bf out 0x3d, r28 ; 61
int tmp;
IoInit();
c4: ef df rcall .-34 ; 0xa4
while(1)
{
tmp=0xffff;//如果没有这条语句,vfprintf/vfscanf工作不正常,可能是vfprintf/vfscanf的bug.
c6: 8f ef ldi r24, 0xFF ; 255
c8: 9f ef ldi r25, 0xFF ; 255
ca: 89 83 std Y+1, r24 ; 0x01
cc: 9a 83 std Y+2, r25 ; 0x02
//测试1
vfprintf(stdout,"测试1[输入数字]:\n",0);
ce: 40 e0 ldi r20, 0x00 ; 0
d0: 50 e0 ldi r21, 0x00 ; 0
d2: 60 e6 ldi r22, 0x60 ; 96
d4: 70 e0 ldi r23, 0x00 ; 0
d6: 80 91 09 01 lds r24, 0x0109
da: 90 91 0a 01 lds r25, 0x010A
de: 50 d0 rcall .+160 ; 0x180
vfscanf(stdin,"%d",&tmp);
e0: ae 01 movw r20, r28
e2: 4f 5f subi r20, 0xFF ; 255
e4: 5f 4f sbci r21, 0xFF ; 255
e6: 62 e7 ldi r22, 0x72 ; 114
e8: 70 e0 ldi r23, 0x00 ; 0
ea: 80 91 07 01 lds r24, 0x0107
ee: 90 91 08 01 lds r25, 0x0108
f2: b6 d1 rcall .+876 ; 0x460
vfprintf(stdout,"您的输入为:%d\n",tmp);
f4: 49 81 ldd r20, Y+1 ; 0x01
f6: 5a 81 ldd r21, Y+2 ; 0x02
f8: 65 e7 ldi r22, 0x75 ; 117
fa: 70 e0 ldi r23, 0x00 ; 0
fc: 80 91 09 01 lds r24, 0x0109
100: 90 91 0a 01 lds r25, 0x010A
104: 3d d0 rcall .+122 ; 0x180
//测试2
printf("测试2[输入一字符串]:\n");
106: 84 e8 ldi r24, 0x84 ; 132
108: 90 e0 ldi r25, 0x00 ; 0
10a: 56 d4 rcall .+2220 ; 0x9b8
scanf("%s",g_aString);
10c: 06 eb ldi r16, 0xB6 ; 182
10e: 10 e0 ldi r17, 0x00 ; 0
110: 1f 93 push r17
112: 0f 93 push r16
114: 89 e9 ldi r24, 0x99 ; 153
116: 90 e0 ldi r25, 0x00 ; 0
118: 9f 93 push r25
11a: 8f 93 push r24
11c: 83 d4 rcall .+2310 ; 0xa24
printf("您的输入为:%s\n",g_aString);
11e: 1f 93 push r17
120: 0f 93 push r16
122: 8c e9 ldi r24, 0x9C ; 156
124: 90 e0 ldi r25, 0x00 ; 0
126: 9f 93 push r25
128: 8f 93 push r24
12a: 0a d4 rcall .+2068 ; 0x940
//测试3
printf_P(PSTR("测试3[输入数字]:\n"));
12c: 8d b7 in r24, 0x3d ; 61
12e: 9e b7 in r25, 0x3e ; 62
130: 08 96 adiw r24, 0x08 ; 8
132: 0f b6 in r0, 0x3f ; 63
134: f8 94 cli
136: 9e bf out 0x3e, r25 ; 62
138: 0f be out 0x3f, r0 ; 63
13a: 8d bf out 0x3d, r24 ; 61
13c: 86 e2 ldi r24, 0x26 ; 38
13e: 90 e0 ldi r25, 0x00 ; 0
140: 9f 93 push r25
142: 8f 93 push r24
144: 11 d4 rcall .+2082 ; 0x968
scanf_P(PSTR("%d"),&tmp);
146: 0f 90 pop r0
148: 0f 90 pop r0
14a: ce 01 movw r24, r28
14c: 01 96 adiw r24, 0x01 ; 1
14e: 9f 93 push r25
150: 8f 93 push r24
152: 88 e3 ldi r24, 0x38 ; 56
154: 90 e0 ldi r25, 0x00 ; 0
156: 9f 93 push r25
158: 8f 93 push r24
15a: 78 d4 rcall .+2288 ; 0xa4c
printf_P(PSTR("您的输入为:%d\n"),tmp);
15c: 0f 90 pop r0
15e: 0f 90 pop r0
160: 0f 90 pop r0
162: 0f 90 pop r0
164: 89 81 ldd r24, Y+1 ; 0x01
166: 9a 81 ldd r25, Y+2 ; 0x02
168: 9f 93 push r25
16a: 8f 93 push r24
16c: 8b e3 ldi r24, 0x3B ; 59
16e: 90 e0 ldi r25, 0x00 ; 0
170: 9f 93 push r25
172: 8f 93 push r24
174: f9 d3 rcall .+2034 ; 0x968
176: 0f 90 pop r0
178: 0f 90 pop r0
17a: 0f 90 pop r0
17c: 0f 90 pop r0
17e: a3 cf rjmp .-186 ; 0xc6
00000180 <vfprintf>:
180: af e0 ldi r26, 0x0F ; 15
182: b0 e0 ldi r27, 0x00 ; 0
184: e5 ec ldi r30, 0xC5 ; 197
186: f0 e0 ldi r31, 0x00 ; 0
188: 01 c6 rjmp .+3074 ; 0xd8c
18a: aa 24 eor r10, r10
18c: bb 24 eor r11, r11
18e: 65 01 movw r12, r10
190: 3c 01 movw r6, r24
192: 2b 01 movw r4, r22
194: 4d 87 std Y+13, r20 ; 0x0d
196: 5e 87 std Y+14, r21 ; 0x0e
198: 22 24 eor r2, r2
19a: fc 01 movw r30, r24
19c: 16 82 std Z+6, r1 ; 0x06
19e: 17 82 std Z+7, r1 ; 0x07
1a0: 83 81 ldd r24, Z+3 ; 0x03
1a2: 81 fd sbrc r24, 1
1a4: 47 c1 rjmp .+654 ; 0x434
1a6: 8f ef ldi r24, 0xFF ; 255
1a8: 9f ef ldi r25, 0xFF ; 255
1aa: 57 c1 rjmp .+686 ; 0x45a
1ac: 20 fe sbrs r2, 0
1ae: 34 c1 rjmp .+616 ; 0x418
1b0: 83 2d mov r24, r3
1b2: 80 53 subi r24, 0x30 ; 48
1b4: 8a 30 cpi r24, 0x0A ; 10
1b6: 08 f4 brcc .+2 ; 0x1ba
1b8: 3d c1 rjmp .+634 ; 0x434
1ba: 83 2d mov r24, r3
1bc: 99 27 eor r25, r25
1be: 87 fd sbrc r24, 7
1c0: 90 95 com r25
1c2: 88 36 cpi r24, 0x68 ; 104
1c4: 91 05 cpc r25, r1
1c6: 3c f5 brge .+78 ; 0x216
1c8: 85 36 cpi r24, 0x65 ; 101
1ca: 91 05 cpc r25, r1
1cc: 0c f0 brlt .+2 ; 0x1d0
1ce: 4c c0 rjmp .+152 ; 0x268
1d0: 88 35 cpi r24, 0x58 ; 88
1d2: 91 05 cpc r25, r1
1d4: 09 f4 brne .+2 ; 0x1d8
1d6: 99 c0 rjmp .+306 ; 0x30a
1d8: 89 35 cpi r24, 0x59 ; 89
1da: 91 05 cpc r25, r1
1dc: a4 f4 brge .+40 ; 0x206
1de: 8b 32 cpi r24, 0x2B ; 43
1e0: 91 05 cpc r25, r1
1e2: 09 f4 brne .+2 ; 0x1e6
1e4: 27 c1 rjmp .+590 ; 0x434
1e6: 8c 32 cpi r24, 0x2C ; 44
1e8: 91 05 cpc r25, r1
1ea: 44 f4 brge .+16 ; 0x1fc
1ec: 80 32 cpi r24, 0x20 ; 32
1ee: 91 05 cpc r25, r1
1f0: 09 f4 brne .+2 ; 0x1f4
1f2: 20 c1 rjmp .+576 ; 0x434
1f4: 83 97 sbiw r24, 0x23 ; 35
1f6: 09 f4 brne .+2 ; 0x1fa
1f8: 1d c1 rjmp .+570 ; 0x434
1fa: 06 c1 rjmp .+524 ; 0x408
1fc: 8d 97 sbiw r24, 0x2d ; 45
1fe: 02 97 sbiw r24, 0x02 ; 2
200: 08 f0 brcs .+2 ; 0x204
202: 02 c1 rjmp .+516 ; 0x408
204: 17 c1 rjmp .+558 ; 0x434
206: 83 36 cpi r24, 0x63 ; 99
208: 91 05 cpc r25, r1
20a: b9 f1 breq .+110 ; 0x27a
20c: 84 36 cpi r24, 0x64 ; 100
20e: 91 05 cpc r25, r1
210: 09 f4 brne .+2 ; 0x214
212: 4b c0 rjmp .+150 ; 0x2aa
214: f9 c0 rjmp .+498 ; 0x408
216: 80 37 cpi r24, 0x70 ; 112
218: 91 05 cpc r25, r1
21a: 09 f4 brne .+2 ; 0x21e
21c: 72 c0 rjmp .+228 ; 0x302
21e: 81 37 cpi r24, 0x71 ; 113
220: 91 05 cpc r25, r1
222: 7c f4 brge .+30 ; 0x242
224: 8c 36 cpi r24, 0x6C ; 108
226: 91 05 cpc r25, r1
228: e1 f0 breq .+56 ; 0x262
22a: 8d 36 cpi r24, 0x6D ; 109
22c: 91 05 cpc r25, r1
22e: 24 f4 brge .+8 ; 0x238
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -