Rev 1305 | Rev 1379 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1305 | Rev 1378 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2009. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2009. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 1305 $ |
8 | $Revision: 1378 $ |
9 | 9 | ||
Line 103... | Line 103... | ||
103 | ; 7 : start application |
103 | ; 7 : start application |
104 | ; 8 : delete file |
104 | ; 8 : delete file |
105 | ; 9 : create directory |
105 | ; 9 : create directory |
Line 106... | Line 106... | ||
106 | 106 | ||
- | 107 | ; parse file name |
|
- | 108 | cmp dword [eax], 1 |
|
- | 109 | jne @F |
|
- | 110 | ;xchg bx,bx |
|
- | 111 | @@: |
|
107 | ; parse file name |
112 | ;up to file_system_lfn - TEMP!!! |
108 | xchg ebx, eax |
113 | xchg ebx, eax |
109 | lea esi, [ebx+20] |
114 | lea esi, [ebx+20] |
110 | lodsb |
115 | lodsb |
111 | test al, al |
116 | test al, al |
Line 167... | Line 172... | ||
167 | mov esi, [edi+4] |
172 | mov esi, [edi+4] |
168 | .maindir_noesi: |
173 | .maindir_noesi: |
169 | cmp dword [ebx], 1 |
174 | cmp dword [ebx], 1 |
170 | jnz .access_denied |
175 | jnz .access_denied |
171 | xor eax, eax |
176 | xor eax, eax |
172 | mov ebp, [ebx+12] |
177 | mov ebp, [ebx+12] ;количество блоков для считывания |
173 | mov edx, [ebx+16] |
178 | mov edx, [ebx+16] ;куда записывать рузельтат |
174 | ; add edx, std_application_base_address |
179 | ; add edx, std_application_base_address |
175 | push dword [ebx+4] ; first block |
180 | push dword [ebx+4] ; first block |
176 | mov ebx, [ebx+8] ; flags |
181 | mov ebx, [ebx+8] ; flags |
177 | ; ebx=flags, [esp]=first block, ebp=number of blocks, edx=return area, esi='Next' handler |
182 | ; ebx=flags, [esp]=first block, ebp=number of blocks, edx=return area, esi='Next' handler |
178 | mov edi, edx |
183 | mov edi, edx |
Line 180... | Line 185... | ||
180 | mov ecx, 32/4 |
185 | mov ecx, 32/4 |
181 | rep stosd |
186 | rep stosd |
182 | pop ecx |
187 | pop ecx |
183 | mov byte [edx], 1 ; version |
188 | mov byte [edx], 1 ; version |
184 | .maindir_loop: |
189 | .maindir_loop: |
185 | call esi |
190 | call esi ;!!!!!!!!!!!!!!!!!! |
186 | jc .maindir_done |
191 | jc .maindir_done |
187 | inc dword [edx+8] |
192 | inc dword [edx+8] |
188 | dec dword [esp] |
193 | dec dword [esp] |
189 | jns .maindir_loop |
194 | jns .maindir_loop |
190 | dec ebp |
195 | dec ebp |
Line 535... | Line 540... | ||
535 | call free_hd_channel |
540 | call free_hd_channel |
536 | and [hd1_status], 0 |
541 | and [hd1_status], 0 |
537 | mov dword [image_of_eax], 5 ; not found |
542 | mov dword [image_of_eax], 5 ; not found |
538 | ret |
543 | ret |
539 | @@: |
544 | @@: |
540 | mov [fat32part], ecx |
545 | mov [known_part], ecx ; mov [fat32part], ecx |
541 | push ebx esi |
546 | push ebx esi |
542 | call choice_necessity_partition_1 |
547 | call choice_necessity_partition_1 |
543 | pop esi ebx |
548 | pop esi ebx |
544 | mov ecx, [ebx+12] |
549 | mov ecx, [ebx+12] |
545 | mov edx, [ebx+16] |
550 | mov edx, [ebx+16] |
Line 1141... | Line 1146... | ||
1141 | xor ebp, ebp |
1146 | xor ebp, ebp |
1142 | test esi, esi |
1147 | test esi, esi |
1143 | jz .ret.ok |
1148 | jz .ret.ok |
1144 | mov byte [edi-1], '/' |
1149 | mov byte [edi-1], '/' |
1145 | jmp .set_copy_cont |
1150 | jmp .set_copy_cont |
- | 1151 |