Subversion Repositories Kolibri OS

Rev

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