Rev 1156 | Rev 2288 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1156 | Rev 1231 | ||
---|---|---|---|
Line 1660... | Line 1660... | ||
1660 | ;ïðåîáðàçóåì â àíàëîã ôàò çàïèñè ñòî÷êó ñ èìåíåì íàçíà÷åíèÿ |
1660 | ;ïðåîáðàçóåì â àíàëîã ôàò çàïèñè ñòî÷êó ñ èìåíåì íàçíà÷åíèÿ |
1661 | convertion_file_name ; ïðåîáðàçîâàëè èìÿ ïî íóæíûì ïðàâèëàì |
1661 | convertion_file_name ; ïðåîáðàçîâàëè èìÿ ïî íóæíûì ïðàâèëàì |
1662 | test ax,ax |
1662 | test ax,ax |
1663 | jnz .exit |
1663 | jnz .exit |
Line 1664... | Line 1664... | ||
1664 | 1664 | ||
Line 1665... | Line 1665... | ||
1665 | mov si,shot_name_fat |
1665 | lea si,[shot_name_fat] ; desination name of file |
1666 | 1666 | ||
1667 | ;âû÷èñëèì óêàçàòåëü íà êîðíåâóþ äèðåêòîðèþ |
1667 | ;âû÷èñëèì óêàçàòåëü íà êîðíåâóþ äèðåêòîðèþ |
1668 | mov di,firstDataSect |
1668 | mov di,firstDataSect |
1669 | sub di,size_root_dir |
1669 | sub di,size_root_dir |
1670 | ;òåïåðü â ax ðàçìåð â ñåêòîðàõ íà÷àëà ðóò äèð |
1670 | ;òåïåðü â ax ðàçìåð â ñåêòîðàõ íà÷àëà ðóò äèð |
1671 | shl di,9 ;imul 512 |
1671 | shl di,9 ;imul 512 |
1672 | ;di= Ýòî ñìåùåíèå îò íà÷àëà áóôåðà äî ðóò äèðåêòîðèè. â ïðåäåëàõ 64 êá. |
1672 | ;di= Ýòî ñìåùåíèå îò íà÷àëà áóôåðà äî ðóò äèðåêòîðèè. â ïðåäåëàõ 64 êá. |
1673 | ;çàãðóçèì çíà÷åíèå - ò.å. êîë-âî ýëåìåíòîâ, êîòîðûå ìû ìîæåì ïðîñìàòðèâàòü. |
- | |
Line 1674... | Line 1673... | ||
1674 | mov dx,root_dir_entry_count |
1673 | ;çàãðóçèì çíà÷åíèå - ò.å. êîë-âî ýëåìåíòîâ, êîòîðûå ìû ìîæåì ïðîñìàòðèâàòü. |
1675 | mov si,point_to_dest_file_name |
1674 | mov dx,root_dir_entry_count |
Line 1676... | Line 1675... | ||
1676 | 1675 | ||
1677 | mov ax,info_real_mode_size |
1676 | mov ax,info_real_mode_size |
- | 1677 | add ax,0x1000 |
|
- | 1678 | ||
- | 1679 | ||
- | 1680 | mov gs,ax |
|
- | 1681 | .loop_size_root_dir: |
|
- | 1682 | DEBUG1 equ 0 |
|
- | 1683 | if DEBUG1 |
|
- | 1684 | pushad |
|
- | 1685 | push di |
|
- | 1686 | mov eax,dword[gs:di] |
|
- | 1687 | lea si,[check_root_fat_+14] |
|
- | 1688 | mov dword [ds:si],'----' |
|
- | 1689 | mov dword [ds:si+4],'----' |
|
- | 1690 | mov dword [ds:si+8],'----' |
|
Line 1678... | Line -... | ||
1678 | add ax,0x1000 |
- | |
1679 | - | ||
1680 | - | ||
1681 | mov gs,ax |
- | |
1682 | .loop_size_root_dir: |
- | |
1683 | - | ||
1684 | if DEBUG |
- | |
1685 | ; pushad |
- | |
1686 | ; push di |
- | |
1687 | ; mov eax,dword[gs:di] |
- | |
1688 | ; mov si,(check_root_fat_+14) |
1691 | mov dword[ds:si],eax |
1689 | ; mov dword [ds:si],'____' |
- | |
1690 | ; mov dword [ds:si+4],'____' |
1692 | mov eax,dword[gs:di+4] |
1691 | ; mov dword[ds:si],eax |
1693 | mov dword[ds:si+4],eax |
1692 | ; mov eax,dword[gs:di+4] |
1694 | mov eax,dword[gs:di+8] |
1693 | ; mov dword[ds:si+4],eax |
1695 | mov dword[ds:si+8],eax |
1694 | ; |
1696 | |
1695 | ; |
1697 | ; |
1696 | ; xor eax,eax |
1698 | xor eax,eax |
1697 | ; mov ax,gs;point_next_fat_str |
1699 | mov ax,gs;point_next_fat_str |
1698 | ; mov cx,0x0a |
1700 | mov cx,0x0a |
1699 | ; mov di,check_root_fat_ |
1701 | mov di,check_root_fat_ |
1700 | ; mov dword [di],' ' |
1702 | mov dword [di],' ' |
1701 | ; mov word [di+4],' ' |
1703 | mov word [di+4],' ' |
1702 | ; call decode |
1704 | call decode |
Line 1703... | Line 1705... | ||
1703 | ; xor eax,eax |
1705 | xor eax,eax |
1704 | ; pop ax |
1706 | pop ax |
1705 | ; mov di,(check_root_fat_+7) |
1707 | mov di,(check_root_fat_+7) |
Line -... | Line 1708... | ||
- | 1708 | mov dword [di],' ' |
|
- | 1709 | mov word [di+4],' ' |
|
- | 1710 | call decode |
|
1706 | ; mov dword [di],' ' |
1711 | |
1707 | ; mov word [di+4],' ' |
1712 | ;Show size |
1708 | ; call decode |
1713 | lea si,[check_root_fat_] |
1709 | 1714 | call printplain |
|
Line 1710... | Line 1715... | ||
1710 | ;Show size |
1715 | |
1711 | ; mov si,check_root_fat_ |
1716 | lea si,[shot_name_fat] |
Line 1712... | Line 1717... | ||
1712 | ; call printplain |
1717 | call printplain |
1713 | 1718 | ||
1714 | ; xor ax,ax |
1719 | xor ax,ax |
1715 | ; int 0x16 |
1720 | int 0x16 |
Line -... | Line 1721... | ||
- | 1721 | popad |
|
- | 1722 | end if |
|
- | 1723 | ||
- | 1724 | xor bx,bx |
|
- | 1725 | mov cx,11 ;size of name in struct FAT |
|
- | 1726 | ||
- | 1727 | @@: |
|
- | 1728 | mov al,byte [ds:si+bx] ;ds:si - point to name of convertion variable. |
|
- | 1729 | mov ah,byte [gs:di+bx] ;gs:di - point to name in fat struct |
|
- | 1730 | inc bx |
|
- | 1731 | ||
- | 1732 | if DEBUG |
|
- | 1733 | ; pushad |
|
- | 1734 | ; lea si,[check_root_fat_+14] |
|
- | 1735 | ; mov dword [ds:si],'----' |
|
1716 | ; popad |
1736 | ; mov word [ds:si],ax |
1717 | end if |
1737 | ; call printplain |
Line 1718... | Line 1738... | ||
1718 | 1738 | ||
1719 | xor bx,bx |
1739 | ; xor ax,ax |
Line 1748... | Line 1768... | ||
1748 | .exit: |
1768 | .exit: |
Line 1749... | Line 1769... | ||
1749 | 1769 | ||
1750 | if DEBUG |
1770 | if DEBUG |
1751 | pushad |
1771 | pushad |
1752 | ;Show size |
1772 | ;Show size |
1753 | mov si,check_name_fat_msg_n |
1773 | lea si,[check_name_fat_msg_n] |
1754 | test ax,ax |
1774 | test ax,ax |
1755 | jz @f |
1775 | jz @f |
- | 1776 | lea si,[check_name_fat_msg_y] |
|
- | 1777 | call printplain |
|
1756 | mov si,check_name_fat_msg_y |
1778 | lea si,[alarm_msg] |
1757 | @@: call printplain |
1779 | @@: call printplain |
1758 | popad |
1780 | popad |
Line 1759... | Line 1781... | ||
1759 | end if |
1781 | end if |