📄 fat.lst
字号:
1505 089c AF90 pop r10
1506 089e 9F90 pop r9
1507 08a0 8F90 pop r8
1508 .LVL111:
1509 08a2 7F90 pop r7
1510 .LVL112:
1511 08a4 5F90 pop r5
1512 08a6 4F90 pop r4
1513 .LVL113:
1514 08a8 3F90 pop r3
1515 08aa 2F90 pop r2
1516 08ac 0895 ret
1517 .LFE21:
1519 .global SearchInit
1521 SearchInit:
1522 .LFB22:
1523 .LM147:
1524 08ae EF92 push r14
1525 08b0 FF92 push r15
1526 08b2 0F93 push r16
1527 08b4 1F93 push r17
1528 08b6 DF93 push r29
1529 08b8 CF93 push r28
1530 08ba 00D0 rcall .
1531 08bc CDB7 in r28,__SP_L__
1532 08be DEB7 in r29,__SP_H__
1533 /* prologue: function */
1534 /* frame size = 2 */
1535 .LM148:
1536 08c0 8091 0000 lds r24,FAT32_Enable
1537 08c4 8823 tst r24
1538 08c6 01F0 breq .L95
1539 .LM149:
1540 08c8 4091 0000 lds r20,FirstDirClust
1541 08cc 5091 0000 lds r21,(FirstDirClust)+1
1542 08d0 6091 0000 lds r22,(FirstDirClust)+2
1543 08d4 7091 0000 lds r23,(FirstDirClust)+3
1544 08d8 00C0 rjmp .L102
1545 .L95:
1546 .LM150:
1547 08da 40E0 ldi r20,lo8(0)
1548 08dc 50E0 ldi r21,hi8(0)
1549 08de 60E0 ldi r22,hlo8(0)
1550 08e0 70E0 ldi r23,hhi8(0)
1551 .L102:
1552 08e2 80E0 ldi r24,lo8(0)
1553 08e4 90E0 ldi r25,hi8(0)
1554 08e6 0E94 0000 call WriteFolderCluster
1555 .LM151:
1556 08ea 4FEF ldi r20,lo8(-1)
1557 08ec 5FEF ldi r21,hi8(-1)
1558 08ee 6FEF ldi r22,hlo8(-1)
1559 08f0 7FEF ldi r23,hhi8(-1)
1560 08f2 84E0 ldi r24,lo8(4)
1561 08f4 90E0 ldi r25,hi8(4)
1562 08f6 0E94 0000 call WriteFolderCluster
1563 .LM152:
1564 08fa 84E0 ldi r24,lo8(4)
1565 08fc 90E0 ldi r25,hi8(4)
1566 08fe 9A83 std Y+2,r25
1567 0900 8983 std Y+1,r24
1568 .LVL114:
1569 0902 00E0 ldi r16,lo8(0)
1570 0904 10E0 ldi r17,hi8(0)
1571 .LVL115:
1572 .LM153:
1573 0906 7E01 movw r14,r28
1574 0908 0894 sec
1575 090a E11C adc r14,__zero_reg__
1576 090c F11C adc r15,__zero_reg__
1577 .LVL116:
1578 .L100:
1579 .LM154:
1580 090e C801 movw r24,r16
1581 0910 0E94 0000 call GetFolderCluster
1582 .LM155:
1583 0914 6F3F cpi r22,lo8(-1)
1584 0916 2FEF ldi r18,hi8(-1)
1585 0918 7207 cpc r23,r18
1586 091a 2FEF ldi r18,hlo8(-1)
1587 091c 8207 cpc r24,r18
1588 091e 2FEF ldi r18,hhi8(-1)
1589 0920 9207 cpc r25,r18
1590 .LVL117:
1591 0922 01F0 breq .L94
1592 .LM156:
1593 0924 A701 movw r20,r14
1594 0926 0E94 0000 call SearchFolder
1595 .LVL118:
1596 .LM157:
1597 092a 8981 ldd r24,Y+1
1598 092c 9A81 ldd r25,Y+2
1599 092e 0E94 0000 call GetFolderCluster
1600 0932 6F5F subi r22,lo8(-1)
1601 0934 7F4F sbci r23,hi8(-1)
1602 0936 8F4F sbci r24,hlo8(-1)
1603 0938 9F4F sbci r25,hhi8(-1)
1604 093a 01F0 breq .L98
1605 .LM158:
1606 093c 4FEF ldi r20,lo8(-1)
1607 093e 5FEF ldi r21,hi8(-1)
1608 0940 6FEF ldi r22,hlo8(-1)
1609 0942 7FEF ldi r23,hhi8(-1)
1610 0944 8981 ldd r24,Y+1
1611 0946 9A81 ldd r25,Y+2
1612 0948 0E94 0000 call WriteFolderCluster
1613 .L98:
1614 .LM159:
1615 094c 8981 ldd r24,Y+1
1616 094e 9A81 ldd r25,Y+2
1617 0950 8050 subi r24,lo8(512)
1618 0952 9240 sbci r25,hi8(512)
1619 0954 01F4 brne .L99
1620 .LVL119:
1621 .LM160:
1622 0956 4FEF ldi r20,lo8(-1)
1623 0958 5FEF ldi r21,hi8(-1)
1624 095a 6FEF ldi r22,hlo8(-1)
1625 095c 7FEF ldi r23,hhi8(-1)
1626 095e 8CEF ldi r24,lo8(508)
1627 0960 91E0 ldi r25,hi8(508)
1628 .LVL120:
1629 0962 0E94 0000 call WriteFolderCluster
1630 0966 00C0 rjmp .L94
1631 .LVL121:
1632 .L99:
1633 .LM161:
1634 0968 0C5F subi r16,lo8(-(4))
1635 096a 1F4F sbci r17,hi8(-(4))
1636 096c 00C0 rjmp .L100
1637 .LVL122:
1638 .L94:
1639 .LM162:
1640 096e 80E0 ldi r24,lo8(0)
1641 /* epilogue start */
1642 0970 0F90 pop __tmp_reg__
1643 0972 0F90 pop __tmp_reg__
1644 0974 CF91 pop r28
1645 0976 DF91 pop r29
1646 0978 1F91 pop r17
1647 097a 0F91 pop r16
1648 .LVL123:
1649 097c FF90 pop r15
1650 097e EF90 pop r14
1651 0980 0895 ret
1652 .LFE22:
1654 .global FAT_Init
1656 FAT_Init:
1657 .LFB15:
1658 .LM163:
1659 0982 6F92 push r6
1660 0984 7F92 push r7
1661 0986 8F92 push r8
1662 0988 9F92 push r9
1663 098a AF92 push r10
1664 098c BF92 push r11
1665 098e CF92 push r12
1666 0990 DF92 push r13
1667 0992 EF92 push r14
1668 0994 FF92 push r15
1669 0996 0F93 push r16
1670 0998 1F93 push r17
1671 099a DF93 push r29
1672 099c CF93 push r28
1673 099e CDB7 in r28,__SP_L__
1674 09a0 DEB7 in r29,__SP_H__
1675 09a2 C050 subi r28,lo8(-(-512))
1676 09a4 D240 sbci r29,hi8(-(-512))
1677 09a6 0FB6 in __tmp_reg__,__SREG__
1678 09a8 F894 cli
1679 09aa DEBF out __SP_H__,r29
1680 09ac 0FBE out __SREG__,__tmp_reg__
1681 09ae CDBF out __SP_L__,r28
1682 /* prologue: function */
1683 /* frame size = 512 */
1684 .LM164:
1685 09b0 0E94 0000 call MMC_SD_ReadCapacity
1686 09b4 7B01 movw r14,r22
1687 09b6 8C01 movw r16,r24
1688 .LVL124:
1689 .LM165:
1690 09b8 8FEF ldi r24,lo8(255)
1691 09ba E816 cp r14,r24
1692 09bc F104 cpc r15,__zero_reg__
1693 09be 0105 cpc r16,__zero_reg__
1694 09c0 1105 cpc r17,__zero_reg__
1695 09c2 00F4 brsh .+2
1696 09c4 00C0 rjmp .L104
1697 .LM166:
1698 09c6 E091 0000 lds r30,FAT_ReadSector
1699 09ca F091 0000 lds r31,(FAT_ReadSector)+1
1700 09ce 3E01 movw r6,r28
1701 09d0 0894 sec
1702 09d2 611C adc r6,__zero_reg__
1703 09d4 711C adc r7,__zero_reg__
1704 09d6 A301 movw r20,r6
1705 09d8 60E0 ldi r22,lo8(0)
1706 09da 70E0 ldi r23,hi8(0)
1707 09dc 80E0 ldi r24,hlo8(0)
1708 09de 90E0 ldi r25,hhi8(0)
1709 09e0 0995 icall
1710 09e2 8823 tst r24
1711 09e4 01F0 breq .+2
1712 09e6 00C0 rjmp .L104
1713 .LM167:
1714 09e8 FE01 movw r30,r28
1715 09ea E154 subi r30,lo8(-(447))
1716 09ec FE4F sbci r31,hi8(-(447))
1717 09ee 8084 ldd r8,Z+8
1718 09f0 9184 ldd r9,Z+9
1719 09f2 A284 ldd r10,Z+10
1720 09f4 B384 ldd r11,Z+11
1721 .LVL125:
1722 .LM168:
1723 09f6 89E0 ldi r24,9
1724 09f8 1695 1: lsr r17
1725 09fa 0795 ror r16
1726 09fc F794 ror r15
1727 09fe E794 ror r14
1728 0a00 8A95 dec r24
1729 0a02 01F4 brne 1b
1730 0a04 8E14 cp r8,r14
1731 0a06 9F04 cpc r9,r15
1732 0a08 A006 cpc r10,r16
1733 0a0a B106 cpc r11,r17
1734 0a0c 00F4 brsh .L105
1735 .LM169:
1736 0a0e E091 0000 lds r30,FAT_ReadSector
1737 0a12 F091 0000 lds r31,(FAT_ReadSector)+1
1738 0a16 A301 movw r20,r6
1739 0a18 C501 movw r24,r10
1740 0a1a B401 movw r22,r8
1741 0a1c 0995 icall
1742 0a1e 8823 tst r24
1743 0a20 01F0 breq .+2
1744 0a22 00C0 rjmp .L104
1745 .LM170:
1746 0a24 F301 movw r30,r6
1747 0a26 8081 ld r24,Z
1748 0a28 893E cpi r24,lo8(-23)
1749 0a2a 01F0 breq .L106
1750 0a2c 8B3E cpi r24,lo8(-21)
1751 0a2e 01F0 breq .L106
1752 .LM171:
1753 0a30 E091 0000 lds r30,FAT_ReadSector
1754 0a34 F091 0000 lds r31,(FAT_ReadSector)+1
1755 0a38 A301 movw r20,r6
1756 0a3a 60E0 ldi r22,lo8(0)
1757 0a3c 70E0 ldi r23,hi8(0)
1758 0a3e 80E0 ldi r24,hlo8(0)
1759 0a40 90E0 ldi r25,hhi8(0)
1760 0a42 0995 icall
1761 0a44 8823 tst r24
1762 0a46 01F0 breq .+2
1763 0a48 00C0 rjmp .L104
1764 .L105:
1765 0a4a 8824 clr r8
1766 0a4c 9924 clr r9
1767 0a4e 5401 movw r10,r8
1768 .L106:
1769 .LM172:
1770 0a50 F301 movw r30,r6
1771 0a52 4081 ld r20,Z
1772 0a54 493E cpi r20,lo8(-23)
1773 0a56 01F0 breq .L107
1774 0a58 4B3E cpi r20,lo8(-21)
1775 0a5a 01F0 breq .+2
1776 0a5c 00C0 rjmp .L104
1777 .L107:
1778 .LM173:
1779 0a5e 00E0 ldi r16,lo8(0)
1780 0a60 10E0 ldi r17,hi8(0)
1781 0a62 2FEF ldi r18,lo8(-1)
1782 0a64 3FEF ldi r19,hi8(-1)
1783 0a66 50E0 ldi r21,lo8(0)
1784 0a68 64E1 ldi r22,lo8(20)
1785 0a6a 70E0 ldi r23,hi8(20)
1786 0a6c 84E6 ldi r24,lo8(100)
1787 0a6e 90E0 ldi r25,hi8(100)
1788 0a70 0E94 0000 call GUI_sprintf_chartohex
1789 .LM174:
1790 0a74 F301 movw r30,r6
1791 0a76 4181 ldd r20,Z+1
1792 0a78 2FEF ldi r18,lo8(-1)
1793 0a7a 3FEF ldi r19,hi8(-1)
1794 0a7c 50E0 ldi r21,lo8(0)
1795 0a7e 68E2 ldi r22,lo8(40)
1796 0a80 70E0 ldi r23,hi8(40)
1797 0a82 84E6 ldi r24,lo8(100)
1798 0a84 90E0 ldi r25,hi8(100)
1799 0a86 0E94 0000 call GUI_sprintf_chartohex
1800 .LM175:
1801 0a8a F301 movw r30,r6
1802 0a8c 4281 ldd r20,Z+2
1803 0a8e 2FEF ldi r18,lo8(-1)
1804 0a90 3FEF ldi r19,hi8(-1)
1805 0a92 50E0 ldi r21,lo8(0)
1806 0a94 6CE3 ldi r22,lo8(60)
1807 0a96 70E0 ldi r23,hi8(60)
1808 0a98 84E6 ldi r24,lo8(100)
1809 0a9a 90E0 ldi r25,hi8(100)
1810 0a9c 0E94 0000 call GUI_sprintf_chartohex
1811 .LM176:
1812 0aa0 BBE0 ldi r27,lo8(11)
1813 0aa2 CB2E mov r12,r27
1814 0aa4 D12C mov r13,__zero_reg__
1815 .LVL126:
1816 0aa6 C60C add r12,r6
1817 0aa8 D71C adc r13,r7
1818 .LM177:
1819 0aaa F601 movw r30,r12
1820 0aac 8385 ldd r24,Z+11
1821 0aae 9485 ldd r25,Z+12
1822 0ab0 0097 sbiw r24,0
1823 0ab2 01F0 breq .L108
1824 .LM178:
1825 0ab4 1092 0000 sts FAT32_Enable,__zero_reg__
1826 .LM179:
1827 0ab8 9093 0000 sts (FATsectors)+1,r25
1828 0abc 8093 0000 sts FATsectors,r24
1829 .LM180:
1830 0ac0 82E0 ldi r24,lo8(2)
1831 0ac2 90E0 ldi r25,hi8(2)
1832 0ac4 A0E0 ldi r26,hlo8(2)
1833 0ac6 B0E0 ldi r27,hhi8(2)
1834 0ac8 00C0 rjmp .L112
1835 .L108:
1836 .LM181:
1837 0aca 81E0 ldi r24,lo8(1)
1838 0acc 8093 0000 sts FAT32_Enable,r24
1839 .LM182:
1840 0ad0 F601 movw r30,r12
1841 0ad2 818D ldd r24,Z+25
1842 0ad4 928D ldd r25,Z+26
1843 0ad6 9093 0000 sts (FATsectors)+1,r25
1844 0ada 8093 0000 sts FATsectors,r24
1845 .LM183:
1846 0ade 81A1 ldd r24,Z+33
1847 0ae0 92A1 ldd r25,Z+34
1848 0ae2 A3A1 ldd r26,Z+35
1849 0ae4 B4A1 ldd r27,Z+36
1850 .L112:
1851 0ae6 8093 0000 sts FirstDirClust,r24
1852 0aea 9093 0000 sts (FirstDirClust)+1,r25
1853 0aee A093 0000 sts (FirstDirClust)+2,r26
1854 0af2 B093 0000 sts (FirstDirClust)+3,r27
1855 .LM184:
1856 0af6 F301 movw r30,r6
1857 0af8 8385 ldd r24,Z+11
1858 0afa F601 movw r30,r12
1859 0afc 4181 ldd r20,Z+1
1860 0afe 8093 0000 sts BytesPerSector,r24
1861 0b02 4093 0000 sts BytesPerSector+1,r20
1862 .LM185:
1863 0b06 00E0 ldi r16,lo8(0)
1864 0b08 10E0 ldi r17,hi8(0)
1865 0b0a 2FEF ldi r18,lo8(-1)
1866 0b0c 3FEF ldi r19,hi8(-1)
1867 0b0e 50E0 ldi r21,lo8(0)
1868 0b10 64E1 ldi r22,lo8(20)
1869 0b12 70E0 ldi r23,hi8(20)
1870 0b14 8AE0 ldi r24,lo8(10)
1871 0b16 90E0 ldi r25,hi8(10)
1872 0b18 0E94 0000 call GUI_sprintf_chartobit
1873 .LM186:
1874 0b1c 4091 0000 lds r20,BytesPerSector
1875 0b20 5091 0000 lds r21,(BytesPerSector)+1
1876 0b24 2FEF ldi r18,lo8(-1)
1877 0b26 3FEF ldi r19,hi8(-1)
18
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -