Rev 5596 | Rev 6078 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5596 | Rev 5984 | ||
---|---|---|---|
Line 1841... | Line 1841... | ||
1841 | jz .alignedCluster |
1841 | jz .alignedCluster |
1842 | mov edi, edx |
1842 | mov edi, edx |
1843 | shr edi, 9 |
1843 | shr edi, 9 |
1844 | add eax, edi |
1844 | add eax, edi |
1845 | and edx, 511 |
1845 | and edx, 511 |
- | 1846 | cmp ecx, 512 |
|
- | 1847 | jc .sectorPiece |
|
- | 1848 | test edx, edx |
|
1846 | jz .alignedSector |
1849 | jz .alignedSector |
1847 | .sectorPiece: |
1850 | .sectorPiece: |
1848 | push eax ebx |
1851 | push eax ebx |
1849 | lea ebx, [ebp+FAT.buffer] |
1852 | lea ebx, [ebp+FAT.buffer] |
1850 | call fs_read32_app |
1853 | call fs_read32_app |
Line 1868... | Line 1871... | ||
1868 | inc edi |
1871 | inc edi |
1869 | inc eax |
1872 | inc eax |
1870 | test ecx, ecx |
1873 | test ecx, ecx |
1871 | jz .done |
1874 | jz .done |
1872 | .alignedSector: |
1875 | .alignedSector: |
1873 | cmp ecx, 512 |
- | |
1874 | jc .sectorPiece |
- | |
1875 | shl edi, 9 |
1876 | shl edi, 9 |
1876 | add ecx, edi |
1877 | add ecx, edi |
1877 | mov edi, [ebp+FAT.SECTORS_PER_CLUSTER] |
1878 | mov edi, [ebp+FAT.SECTORS_PER_CLUSTER] |
1878 | shl edi, 9 |
1879 | shl edi, 9 |
1879 | .alignedCluster: |
1880 | .alignedCluster: |
Line 1897... | Line 1898... | ||
1897 | xchg eax, esi |
1898 | xchg eax, esi |
1898 | dec eax |
1899 | dec eax |
1899 | dec eax |
1900 | dec eax |
1900 | imul eax, [ebp+FAT.SECTORS_PER_CLUSTER] |
1901 | imul eax, [ebp+FAT.SECTORS_PER_CLUSTER] |
1901 | add eax, [ebp+FAT.DATA_START] |
1902 | add eax, [ebp+FAT.DATA_START] |
1902 | sub eax, edx |
- | |
1903 | .readFragment: |
- | |
1904 | push ecx |
1903 | push ecx |
1905 | mov ecx, eax |
1904 | mov ecx, eax |
- | 1905 | mov eax, esi |
|
- | 1906 | dec eax |
|
- | 1907 | dec eax |
|
- | 1908 | imul eax, [ebp+FAT.SECTORS_PER_CLUSTER] |
|
- | 1909 | add eax, [ebp+FAT.DATA_START] |
|
- | 1910 | push eax |
|
- | 1911 | .readFragment: |
|
- | 1912 | sub ecx, edx |
|
1906 | mov eax, edx |
1913 | mov eax, edx |
1907 | xor edx, edx |
1914 | xor edx, edx |
1908 | push eax |
- | |
1909 | call fs_read64_app |
1915 | call fs_read64_app |
1910 | add [esp], ecx |
- | |
1911 | shl ecx, 9 |
1916 | shl ecx, 9 |
1912 | add ebx, ecx |
1917 | add ebx, ecx |
1913 | test eax, eax |
1918 | test eax, eax |
1914 | pop eax |
1919 | pop eax |
1915 | jnz .noaccess3 |
1920 | jnz .noaccess3 |
1916 | pop ecx |
1921 | pop ecx |
1917 | xor edx, edx |
1922 | xor edx, edx |
1918 | jcxz .done |
1923 | jcxz .done |
1919 | cmp ecx, 512 |
- | |
1920 | jc .sectorPiece |
- | |
1921 | mov eax, esi |
- | |
1922 | dec eax |
- | |
1923 | dec eax |
- | |
1924 | imul eax, [ebp+FAT.SECTORS_PER_CLUSTER] |
- | |
1925 | add eax, [ebp+FAT.DATA_START] |
- | |
1926 | jmp .alignedCluster |
1924 | jmp .alignedCluster |
1927 | .readEnd: |
1925 | .readEnd: |
1928 | add ecx, edi |
1926 | add ecx, edi |
1929 | mov edi, ecx |
1927 | mov edi, ecx |
1930 | and ecx, 511 |
1928 | and ecx, 511 |
1931 | shr edi, 9 |
1929 | shr edi, 9 |
1932 | dec eax |
1930 | dec eax |
1933 | dec eax |
1931 | dec eax |
1934 | imul eax, [ebp+FAT.SECTORS_PER_CLUSTER] |
1932 | imul eax, [ebp+FAT.SECTORS_PER_CLUSTER] |
1935 | add eax, [ebp+FAT.DATA_START] |
1933 | add eax, [ebp+FAT.DATA_START] |
1936 | sub eax, edx |
- | |
1937 | add eax, edi |
1934 | add eax, edi |
- | 1935 | push ecx |
|
- | 1936 | push eax |
|
- | 1937 | mov ecx, eax |
|
1938 | jmp .readFragment |
1938 | jmp .readFragment |
1939 | .noaccess3: |
1939 | .noaccess3: |
1940 | pop eax |
1940 | pop eax |
1941 | .noaccess2: |
1941 | .noaccess2: |
1942 | mov byte [esp], ERROR_DEVICE |
1942 | mov byte [esp], ERROR_DEVICE |