📄 sdfs_out.lst
字号:
sdfs_out.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000016b6 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 0000000c 00800060 000016b6 0000174a 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 000002d4 0080006c 0080006c 00001756 2**0
ALLOC
3 .stab 00000378 00000000 00000000 00001758 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000071 00000000 00000000 00001ad0 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 00000060 00000000 00000000 00001b41 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 0000014d 00000000 00000000 00001ba1 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 000014d3 00000000 00000000 00001cee 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 00000600 00000000 00000000 000031c1 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 000010af 00000000 00000000 000037c1 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_frame 000001d0 00000000 00000000 00004870 2**2
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00000533 00000000 00000000 00004a40 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 00001053 00000000 00000000 00004f73 2**0
CONTENTS, READONLY, DEBUGGING
13 .debug_ranges 000000f8 00000000 00000000 00005fc6 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 39 00 jmp 0x72 ; 0x72 <__ctors_end>
4: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
8: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
c: 0c 94 70 00 jmp 0xe0 ; 0xe0 <__vector_3>
10: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
14: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
18: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
1c: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
20: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
24: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
28: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
2c: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
30: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
34: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
38: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
3c: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
40: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
44: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
48: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
4c: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
50: 0c 94 56 00 jmp 0xac ; 0xac <__bad_interrupt>
54: 69 09 sbc r22, r9
56: 70 09 sbc r23, r0
58: d5 09 sbc r29, r5
5a: db 09 sbc r29, r11
5c: 66 09 sbc r22, r6
5e: 66 09 sbc r22, r6
60: 66 09 sbc r22, r6
62: 66 09 sbc r22, r6
64: 66 09 sbc r22, r6
66: 66 09 sbc r22, r6
68: 6f 0a sbc r6, r31
6a: 74 0a sbc r7, r20
6c: 7a 0a sbc r7, r26
6e: 86 0a sbc r8, r22
70: 9d 0a sbc r9, r29
00000072 <__ctors_end>:
72: 11 24 eor r1, r1
74: 1f be out 0x3f, r1 ; 63
76: cf e5 ldi r28, 0x5F ; 95
78: d4 e0 ldi r29, 0x04 ; 4
7a: de bf out 0x3e, r29 ; 62
7c: cd bf out 0x3d, r28 ; 61
0000007e <__do_copy_data>:
7e: 10 e0 ldi r17, 0x00 ; 0
80: a0 e6 ldi r26, 0x60 ; 96
82: b0 e0 ldi r27, 0x00 ; 0
84: e6 eb ldi r30, 0xB6 ; 182
86: f6 e1 ldi r31, 0x16 ; 22
88: 02 c0 rjmp .+4 ; 0x8e <.do_copy_data_start>
0000008a <.do_copy_data_loop>:
8a: 05 90 lpm r0, Z+
8c: 0d 92 st X+, r0
0000008e <.do_copy_data_start>:
8e: ac 36 cpi r26, 0x6C ; 108
90: b1 07 cpc r27, r17
92: d9 f7 brne .-10 ; 0x8a <.do_copy_data_loop>
00000094 <__do_clear_bss>:
94: 13 e0 ldi r17, 0x03 ; 3
96: ac e6 ldi r26, 0x6C ; 108
98: b0 e0 ldi r27, 0x00 ; 0
9a: 01 c0 rjmp .+2 ; 0x9e <.do_clear_bss_start>
0000009c <.do_clear_bss_loop>:
9c: 1d 92 st X+, r1
0000009e <.do_clear_bss_start>:
9e: a0 34 cpi r26, 0x40 ; 64
a0: b1 07 cpc r27, r17
a2: e1 f7 brne .-8 ; 0x9c <.do_clear_bss_loop>
a4: 0e 94 9d 00 call 0x13a ; 0x13a <main>
a8: 0c 94 5a 0b jmp 0x16b4 ; 0x16b4 <_exit>
000000ac <__bad_interrupt>:
ac: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
000000b0 <get_fattime>:
/* This is a real time clock service to be called from */
/* FatFs module. Any valid time must be returned even if */
/* the system does not support a real time clock. */
DWORD get_fattime ()
{
b0: 60 ec ldi r22, 0xC0 ; 192
b2: 73 eb ldi r23, 0xB3 ; 179
b4: 89 e4 ldi r24, 0x49 ; 73
b6: 94 e3 ldi r25, 0x34 ; 52
b8: 08 95 ret
000000ba <init_fileNamebuf>:
return ((2006UL-1980) << 25) // Year = 2006
| (2UL << 21) // Month = Feb
| (9UL << 16) // Day = 9
| (22U << 11) // Hour = 22
| (30U << 5) // Min = 30
| (0U >> 1) // Sec = 0
;
}
static
void IoInit ()
{
OCR2 = 90-1; // Timer2: 100Hz interval (OC2)
TCCR2 = 0b00001101;
TIMSK = 0b10000000; // Enable TC2.oc, TC0.oc interrupt
sei();
}
/*-----------------------------------------------------------------------*/
/* Main */
BYTE linebuf[15];
BYTE filebuf[128];
BYTE fileNamebuf[6];
void init_fileNamebuf(void)
{
ba: 80 e3 ldi r24, 0x30 ; 48
bc: 80 93 75 00 sts 0x0075, r24
fileNamebuf[0]='0';
fileNamebuf[1]='.';
c0: 8e e2 ldi r24, 0x2E ; 46
c2: 80 93 76 00 sts 0x0076, r24
fileNamebuf[2]='B';
c6: 82 e4 ldi r24, 0x42 ; 66
c8: 80 93 77 00 sts 0x0077, r24
fileNamebuf[3]='I';
cc: 89 e4 ldi r24, 0x49 ; 73
ce: 80 93 78 00 sts 0x0078, r24
fileNamebuf[4]='N';
d2: 8e e4 ldi r24, 0x4E ; 78
d4: 80 93 79 00 sts 0x0079, r24
fileNamebuf[5]='\0';
d8: 10 92 7a 00 sts 0x007A, r1
dc: 08 95 ret
000000de <sentdata>:
}
void sentdata(BYTE indata)
{
de: 08 95 ret
000000e0 <__vector_3>:
e0: 1f 92 push r1
e2: 0f 92 push r0
e4: 0f b6 in r0, 0x3f ; 63
e6: 0f 92 push r0
e8: 11 24 eor r1, r1
ea: 2f 93 push r18
ec: 3f 93 push r19
ee: 4f 93 push r20
f0: 5f 93 push r21
f2: 6f 93 push r22
f4: 7f 93 push r23
f6: 8f 93 push r24
f8: 9f 93 push r25
fa: af 93 push r26
fc: bf 93 push r27
fe: ef 93 push r30
100: ff 93 push r31
102: 80 91 6c 00 lds r24, 0x006C
106: 88 23 and r24, r24
108: 29 f0 breq .+10 ; 0x114 <__vector_3+0x34>
10a: 80 91 6c 00 lds r24, 0x006C
10e: 81 50 subi r24, 0x01 ; 1
110: 80 93 6c 00 sts 0x006C, r24
114: 0e 94 5a 08 call 0x10b4 ; 0x10b4 <disk_timerproc>
118: ff 91 pop r31
11a: ef 91 pop r30
11c: bf 91 pop r27
11e: af 91 pop r26
120: 9f 91 pop r25
122: 8f 91 pop r24
124: 7f 91 pop r23
126: 6f 91 pop r22
128: 5f 91 pop r21
12a: 4f 91 pop r20
12c: 3f 91 pop r19
12e: 2f 91 pop r18
130: 0f 90 pop r0
132: 0f be out 0x3f, r0 ; 63
134: 0f 90 pop r0
136: 1f 90 pop r1
138: 18 95 reti
0000013a <main>:
//add sent out function with the reading data on file.
//.........
//.........
//.........
//.........
}
int main ()
{
13a: ac e1 ldi r26, 0x1C ; 28
13c: b0 e0 ldi r27, 0x00 ; 0
13e: e3 ea ldi r30, 0xA3 ; 163
140: f0 e0 ldi r31, 0x00 ; 0
142: 0c 94 2c 0b jmp 0x1658 ; 0x1658 <__prologue_saves__+0x1e>
146: 89 e5 ldi r24, 0x59 ; 89
148: 83 bd out 0x23, r24 ; 35
14a: 8d e0 ldi r24, 0x0D ; 13
14c: 85 bd out 0x25, r24 ; 37
14e: 80 e8 ldi r24, 0x80 ; 128
150: 89 bf out 0x39, r24 ; 57
152: 78 94 sei
BYTE i,j;
UINT s2;
FATFS *fs;
DIR dir;
FIL file1;
IoInit();
init_fileNamebuf();
154: 0e 94 5d 00 call 0xba ; 0xba <init_fileNamebuf>
disk_initialize(0);
158: 80 e0 ldi r24, 0x00 ; 0
15a: 90 e0 ldi r25, 0x00 ; 0
15c: 0e 94 74 08 call 0x10e8 ; 0x10e8 <disk_initialize>
f_mount(0, &fatfs);
160: 60 ea ldi r22, 0xA0 ; 160
162: 70 e0 ldi r23, 0x00 ; 0
164: 80 e0 ldi r24, 0x00 ; 0
166: 0e 94 55 03 call 0x6aa ; 0x6aa <f_mount>
16a: 10 e0 ldi r17, 0x00 ; 0
for(i=0;;i++,i%=4)
{
fileNamebuf[0]='1'+i;
16c: 1f 5c subi r17, 0xCF ; 207
16e: 10 93 75 00 sts 0x0075, r17
172: 11 53 subi r17, 0x31 ; 49
f_open(&file1, fileNamebuf, FA_OPEN_EXISTING | FA_READ);
174: 41 e0 ldi r20, 0x01 ; 1
176: 65 e7 ldi r22, 0x75 ; 117
178: 70 e0 ldi r23, 0x00 ; 0
17a: ce 01 movw r24, r28
17c: 03 96 adiw r24, 0x03 ; 3
17e: 0e 94 c5 03 call 0x78a ; 0x78a <f_open>
do
{
f_read(&file1, filebuf, 128, &s2);
182: 9e 01 movw r18, r28
184: 2f 5f subi r18, 0xFF ; 255
186: 3f 4f sbci r19, 0xFF ; 255
188: 40 e8 ldi r20, 0x80 ; 128
18a: 50 e0 ldi r21, 0x00 ; 0
18c: 60 ec ldi r22, 0xC0 ; 192
18e: 72 e0 ldi r23, 0x02 ; 2
190: ce 01 movw r24, r28
192: 03 96 adiw r24, 0x03 ; 3
194: 0e 94 46 02 call 0x48c ; 0x48c <f_read>
for(j=0;j<s2;j++)
198: 49 81 ldd r20, Y+1 ; 0x01
19a: 5a 81 ldd r21, Y+2 ; 0x02
19c: 20 e0 ldi r18, 0x00 ; 0
19e: 30 e0 ldi r19, 0x00 ; 0
1a0: 82 2f mov r24, r18
1a2: 99 27 eor r25, r25
1a4: 2f 5f subi r18, 0xFF ; 255
1a6: 3f 4f sbci r19, 0xFF ; 255
1a8: 84 17 cp r24, r20
1aa: 95 07 cpc r25, r21
1ac: c8 f3 brcs .-14 ; 0x1a0 <main+0x66>
{
sentdata(filebuf[j]);
}
}while(s2);
1ae: 45 2b or r20, r21
1b0: 41 f7 brne .-48 ; 0x182 <main+0x48>
timeDelay=250;
1b2: 8a ef ldi r24, 0xFA ; 250
1b4: 80 93 6c 00 sts 0x006C, r24
while(timeDelay);
1b8: 80 91 6c 00 lds r24, 0x006C
1bc: 88 23 and r24, r24
1be: e1 f7 brne .-8 ; 0x1b8 <main+0x7e>
timeDelay=250;
1c0: 8a ef ldi r24, 0xFA ; 250
1c2: 80 93 6c 00 sts 0x006C, r24
while(timeDelay);
1c6: 80 91 6c 00 lds r24, 0x006C
1ca: 88 23 and r24, r24
1cc: e1 f7 brne .-8 ; 0x1c6 <main+0x8c>
f_close(&file1);
1ce: ce 01 movw r24, r28
1d0: 03 96 adiw r24, 0x03 ; 3
1d2: 0e 94 45 01 call 0x28a ; 0x28a <f_close>
timeDelay=250;
1d6: 8a ef ldi r24, 0xFA ; 250
1d8: 80 93 6c 00 sts 0x006C, r24
while(timeDelay);
1dc: 80 91 6c 00 lds r24, 0x006C
1e0: 88 23 and r24, r24
1e2: e1 f7 brne .-8 ; 0x1dc <main+0xa2>
1e4: 1f 5f subi r17, 0xFF ; 255
1e6: 13 70 andi r17, 0x03 ; 3
1e8: c1 cf rjmp .-126 ; 0x16c <main+0x32>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -