⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fat.lst

📁 AVR单片机 读写SD/MMC卡 带文件系统 FAT16 源码
💻 LST
📖 第 1 页 / 共 3 页
字号:
 328 01e6 9B01      		movw r18,r22
 329 01e8 AC01      		movw r20,r24
 330 01ea 8091 0000 		lds r24,cluster_offset
 331 01ee 9091 0000 		lds r25,(cluster_offset)+1
 332 01f2 AA27      		clr r26
 333 01f4 BB27      		clr r27
 334 01f6 820F      		add r24,r18
 335 01f8 931F      		adc r25,r19
 336 01fa A41F      		adc r26,r20
 337 01fc B51F      		adc r27,r21
 338               	.L34:
 339 01fe 8983      		std Y+1,r24
 340 0200 9A83      		std Y+2,r25
 341 0202 AB83      		std Y+3,r26
 342 0204 BC83      		std Y+4,r27
 343               	.LBB5:
 344               	.LM33:
 345 0206 E980      		ldd r14,Y+1
 346 0208 FA80      		ldd r15,Y+2
 347               	.L13:
 348               	.LM34:
 349 020a C701      		movw r24,r14
 350 020c AA27      		clr r26
 351 020e BB27      		clr r27
 352 0210 A601      		movw r20,r12
 353 0212 BC01      		movw r22,r24
 354 0214 CD01      		movw r24,r26
 355 0216 0E94 0000 		call mmc_read_sector
 356 021a 452D      		mov r20,r5
 357 021c 5527      		clr r21
 358 021e F601      		movw r30,r12
 359 0220 9601      		movw r18,r12
 360 0222 2150      		subi r18,lo8(-(511))
 361 0224 3E4F      		sbci r19,hi8(-(511))
 362               	.L28:
 363               	.LBB6:
 364               	.LM35:
 365 0226 9081      		ld r25,Z
 366 0228 9923      		tst r25
 367 022a 21F2      		breq .L33
 368               	.LM36:
 369 022c 8385      		ldd r24,Z+11
 370 022e 8F30      		cpi r24,lo8(15)
 371 0230 81F1      		breq .L18
 372 0232 953E      		cpi r25,lo8(-27)
 373 0234 71F1      		breq .L18
 374               	.LM37:
 375 0236 A416      		cp r10,r20
 376 0238 B506      		cpc r11,r21
 377 023a 41F5      		brne .L21
 378               	.LBB7:
 379               	.LM38:
 380 023c 90E0      		ldi r25,lo8(0)
 381 023e 2EE2      		ldi r18,lo8(46)
 382 0240 AF01      		movw r20,r30
 383               	.L27:
 384               	.LM39:
 385 0242 DA01      		movw r26,r20
 386 0244 8C91      		ld r24,X
 387 0246 8032      		cpi r24,lo8(32)
 388 0248 51F0      		breq .L24
 389               	.LM40:
 390 024a 9830      		cpi r25,lo8(8)
 391 024c 19F4      		brne .L26
 392               	.LM41:
 393 024e D801      		movw r26,r16
 394 0250 2D93      		st X+,r18
 395 0252 8D01      		movw r16,r26
 396               	.L26:
 397               	.LM42:
 398 0254 DA01      		movw r26,r20
 399 0256 8C91      		ld r24,X
 400 0258 D801      		movw r26,r16
 401 025a 8D93      		st X+,r24
 402 025c 8D01      		movw r16,r26
 403               	.L24:
 404               	.LM43:
 405 025e 9F5F      		subi r25,lo8(-(1))
 406 0260 4F5F      		subi r20,lo8(-(1))
 407 0262 5F4F      		sbci r21,hi8(-(1))
 408 0264 9B30      		cpi r25,lo8(11)
 409 0266 68F3      		brlo .L27
 410               	.LBE7:
 411               	.LM44:
 412 0268 D801      		movw r26,r16
 413 026a 1C92      		st X,__zero_reg__
 414               	.LM45:
 415 026c 8385      		ldd r24,Z+11
 416 026e D401      		movw r26,r8
 417 0270 8C93      		st X,r24
 418               	.LM46:
 419 0272 248D      		ldd r18,Z+28
 420 0274 358D      		ldd r19,Z+29
 421 0276 468D      		ldd r20,Z+30
 422 0278 578D      		ldd r21,Z+31
 423 027a D301      		movw r26,r6
 424 027c 2D93      		st X+,r18
 425 027e 3D93      		st X+,r19
 426 0280 4D93      		st X+,r20
 427 0282 5C93      		st X,r21
 428 0284 1397      		sbiw r26,3
 429               	.LM47:
 430 0286 828D      		ldd r24,Z+26
 431 0288 938D      		ldd r25,Z+27
 432               	.LM48:
 433 028a 0BC0      		rjmp .L10
 434               	.L21:
 435               	.LM49:
 436 028c 0894      		sec
 437 028e A11C      		adc r10,__zero_reg__
 438 0290 B11C      		adc r11,__zero_reg__
 439               	.L18:
 440 0292 B096      		adiw r30,32
 441               	.LM50:
 442 0294 2E17      		cp r18,r30
 443 0296 3F07      		cpc r19,r31
 444 0298 30F6      		brsh .L28
 445               	.LBE6:
 446               	.LM51:
 447 029a 0894      		sec
 448 029c E11C      		adc r14,__zero_reg__
 449 029e F11C      		adc r15,__zero_reg__
 450 02a0 B4CF      		rjmp .L13
 451               	.L10:
 452               	.LBE5:
 453               	/* epilogue: frame size=4 */
 454 02a2 2496      		adiw r28,4
 455 02a4 0FB6      		in __tmp_reg__,__SREG__
 456 02a6 F894      		cli
 457 02a8 DEBF      		out __SP_H__,r29
 458 02aa 0FBE      		out __SREG__,__tmp_reg__
 459 02ac CDBF      		out __SP_L__,r28
 460 02ae DF91      		pop r29
 461 02b0 CF91      		pop r28
 462 02b2 1F91      		pop r17
 463 02b4 0F91      		pop r16
 464 02b6 FF90      		pop r15
 465 02b8 EF90      		pop r14
 466 02ba DF90      		pop r13
 467 02bc CF90      		pop r12
 468 02be BF90      		pop r11
 469 02c0 AF90      		pop r10
 470 02c2 9F90      		pop r9
 471 02c4 8F90      		pop r8
 472 02c6 7F90      		pop r7
 473 02c8 6F90      		pop r6
 474 02ca 5F90      		pop r5
 475 02cc 0895      		ret
 476               	/* epilogue end (size=22) */
 477               	/* function fat_read_dir_ent size 182 (137) */
 478               	.LFE6:
 480               	.global	fat_cluster_data_store
 482               	fat_cluster_data_store:
 483               	.LFB8:
 484               	.LM52:
 485               	/* prologue: frame size=512 */
 486 02ce CF93      		push r28
 487 02d0 DF93      		push r29
 488 02d2 CDB7      		in r28,__SP_L__
 489 02d4 DEB7      		in r29,__SP_H__
 490 02d6 C050      		subi r28,lo8(512)
 491 02d8 D240      		sbci r29,hi8(512)
 492 02da 0FB6      		in __tmp_reg__,__SREG__
 493 02dc F894      		cli
 494 02de DEBF      		out __SP_H__,r29
 495 02e0 0FBE      		out __SREG__,__tmp_reg__
 496 02e2 CDBF      		out __SP_L__,r28
 497               	/* prologue end (size=11) */
 498               	.LM53:
 499 02e4 CE01      		movw r24,r28
 500 02e6 0196      		adiw r24,1
 501 02e8 0E94 0000 		call fat_addr
 502 02ec 9093 0000 		sts (volume_boot_record_addr)+1,r25
 503 02f0 8093 0000 		sts volume_boot_record_addr,r24
 504               	.LM54:
 505 02f4 AA27      		clr r26
 506 02f6 BB27      		clr r27
 507 02f8 AE01      		movw r20,r28
 508 02fa 4F5F      		subi r20,lo8(-(1))
 509 02fc 5F4F      		sbci r21,hi8(-(1))
 510 02fe BC01      		movw r22,r24
 511 0300 CD01      		movw r24,r26
 512 0302 0E94 0000 		call mmc_read_sector
 513               	.LM55:
 514 0306 8E85      		ldd r24,Y+14
 515 0308 8093 0000 		sts cluster_size,r24
 516               	.LM56:
 517 030c 8F85      		ldd r24,Y+15
 518 030e 9889      		ldd r25,Y+16
 519 0310 9093 0000 		sts (fat_offset)+1,r25
 520 0314 8093 0000 		sts fat_offset,r24
 521               	.LM57:
 522 0318 8C85      		ldd r24,Y+12
 523 031a 9D85      		ldd r25,Y+13
 524 031c 75E0      		ldi r23,5
 525 031e 880F      	1:	lsl r24
 526 0320 991F      		rol r25
 527 0322 7A95      		dec r23
 528 0324 E1F7      		brne 1b
 529 0326 892F      		mov r24,r25
 530 0328 9927      		clr r25
 531 032a 8695      		lsr r24
 532 032c 9093 0000 		sts (cluster_offset)+1,r25
 533 0330 8093 0000 		sts cluster_offset,r24
 534               	.LM58:
 535 0334 CE01      		movw r24,r28
 536 0336 0196      		adiw r24,1
 537 0338 0E94 0000 		call fat_root_dir_addr
 538 033c 2091 0000 		lds r18,cluster_offset
 539 0340 3091 0000 		lds r19,(cluster_offset)+1
 540 0344 280F      		add r18,r24
 541 0346 391F      		adc r19,r25
 542 0348 3093 0000 		sts (cluster_offset)+1,r19
 543 034c 2093 0000 		sts cluster_offset,r18
 544               	/* epilogue: frame size=512 */
 545 0350 C050      		subi r28,lo8(-512)
 546 0352 DE4F      		sbci r29,hi8(-512)
 547 0354 0FB6      		in __tmp_reg__,__SREG__
 548 0356 F894      		cli
 549 0358 DEBF      		out __SP_H__,r29
 550 035a 0FBE      		out __SREG__,__tmp_reg__
 551 035c CDBF      		out __SP_L__,r28
 552 035e DF91      		pop r29
 553 0360 CF91      		pop r28
 554 0362 0895      		ret
 555               	/* epilogue end (size=10) */
 556               	/* function fat_cluster_data_store size 75 (54) */
 557               	.LFE8:
 559               	.global	fat_read_file
 561               	fat_read_file:
 562               	.LFB9:
 563               	.LM59:
 564               	/* prologue: frame size=4 */
 565 0364 4F92      		push r4
 566 0366 5F92      		push r5
 567 0368 6F92      		push r6
 568 036a 7F92      		push r7
 569 036c 8F92      		push r8
 570 036e 9F92      		push r9
 571 0370 AF92      		push r10
 572 0372 BF92      		push r11
 573 0374 CF92      		push r12
 574 0376 DF92      		push r13
 575 0378 EF92      		push r14
 576 037a FF92      		push r15
 577 037c 0F93      		push r16
 578 037e 1F93      		push r17
 579 0380 CF93      		push r28
 580 0382 DF93      		push r29
 581 0384 CDB7      		in r28,__SP_L__
 582 0386 DEB7      		in r29,__SP_H__
 583 0388 2497      		sbiw r28,4
 584 038a 0FB6      		in __tmp_reg__,__SREG__
 585 038c F894      		cli
 586 038e DEBF      		out __SP_H__,r29
 587 0390 0FBE      		out __SREG__,__tmp_reg__
 588 0392 CDBF      		out __SP_L__,r28
 589               	/* prologue end (size=24) */
 590 0394 8C01      		movw r16,r24
 591 0396 2B01      		movw r4,r22
 592 0398 3901      		movw r6,r18
 593 039a 4A01      		movw r8,r20
 594               	.LM60:
 595 039c 8091 0000 		lds r24,cluster_size
 596 03a0 282F      		mov r18,r24
 597 03a2 3327      		clr r19
 598 03a4 4427      		clr r20
 599 03a6 5527      		clr r21
 600 03a8 C401      		movw r24,r8
 601 03aa B301      		movw r22,r6
 602 03ac 0E94 0000 		call __udivmodsi4
 603 03b0 2983      		std Y+1,r18
 604 03b2 3A83      		std Y+2,r19
 605 03b4 4B83      		std Y+3,r20
 606 03b6 5C83      		std Y+4,r21
 607               	.LM61:
 608 03b8 A201      		movw r20,r4
 609 03ba BE01      		movw r22,r28
 610 03bc 6F5F      		subi r22,lo8(-(1))
 611 03be 7F4F      		sbci r23,hi8(-(1))
 612 03c0 C801      		movw r24,r16
 613 03c2 0E94 0000 		call fat_load
 614               	.LM62:
 615 03c6 8981      		ldd r24,Y+1
 616 03c8 9A81      		ldd r25,Y+2
 617 03ca AB81      		ldd r26,Y+3
 618 03cc BC81      		ldd r27,Y+4
 619 03ce 0297      		sbiw r24,2
 620 03d0 A109      		sbc r26,__zero_reg__
 621 03d2 B109      		sbc r27,__zero_reg__
 622 03d4 2091 0000 		lds r18,cluster_size
 623 03d8 A22E      		mov r10,r18
 624 03da BB24      		clr r11
 625 03dc CC24      		clr r12
 626 03de DD24      		clr r13
 627 03e0 BC01      		movw r22,r24
 628 03e2 CD01      		movw r24,r26
 629 03e4 A601      		movw r20,r12
 630 03e6 9501      		movw r18,r10
 631 03e8 0E94 0000 		call __mulsi3
 632 03ec 7B01      		movw r14,r22
 633 03ee 8C01      		movw r16,r24
 634 03f0 8091 0000 		lds r24,cluster_offset
 635 03f4 9091 0000 		lds r25,(cluster_offset)+1
 636 03f8 AA27      		clr r26
 637 03fa BB27      		clr r27
 638 03fc E80E      		add r14,r24
 639 03fe F91E      		adc r15,r25
 640 0400 0A1F      		adc r16,r26
 641 0402 1B1F      		adc r17,r27
 642               	.LM63:
 643 0404 C401      		movw r24,r8
 644 0406 B301      		movw r22,r6

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -