Subversion Repositories Kolibri OS

Rev

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