Subversion Repositories Kolibri OS

Rev

Rev 3731 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3731 Rev 3755
1
read_delete_dir:
1
read_delete_dir:
2
   mcall 70, read_delete_dir_data
2
   mcall 70, read_delete_dir_data
3
   ret
3
   ret
4
;---------------------------------------------------------------------
4
;---------------------------------------------------------------------
5
create_directory_f70:
5
create_directory_f70:
6
   mcall 70, create_dir_file_data 
6
   mcall 70, create_dir_file_data 
7
   ret
7
   ret
8
;---------------------------------------------------------------------
8
;---------------------------------------------------------------------
9
del_file:
9
del_file:
10
   mcall 70, delete_file_data 
10
   mcall 70, delete_file_data 
11
   ret
11
   ret
12
;---------------------------------------------------------------------
12
;---------------------------------------------------------------------
13
start_appl:
13
start_appl:
14
   mcall 70, start_file_data
14
   mcall 70, start_file_data
15
   ret
15
   ret
16
;---------------------------------------------------------------------
16
;---------------------------------------------------------------------
17
get_file_size:
17
get_file_size:
18
   mcall 70, read_file_features
18
   mcall 70, read_file_features
19
   ret
19
   ret
20
;---------------------------------------------------------------------
20
;---------------------------------------------------------------------
21
load_file:
21
load_file:
22
   mcall 70, read_file
22
   mcall 70, read_file
23
   ret
23
   ret
24
;---------------------------------------------------------------------
24
;---------------------------------------------------------------------
25
write_file:
25
write_file:
26
   mcall 70, save_file
26
   mcall 70, save_file
27
   ret
27
   ret
28
;---------------------------------------------------------------------
28
;---------------------------------------------------------------------
29
add_write_file:
29
add_write_file:
30
   mcall 70, add_save_file
30
   mcall 70, add_save_file
31
   ret
31
   ret
32
;---------------------------------------------------------------------
32
;---------------------------------------------------------------------
33
proc_read_left_folder:
33
proc_read_left_folder:
34
   xor   eax,eax
34
   xor   eax,eax
35
   mov   [left_marked_counter],eax
35
   mov   [left_marked_counter],eax
36
   mov	 [read_folder.start],eax    ;dword 0
36
   mov	 [read_folder.start],eax    ;dword 0
37
   inc   eax
37
   inc   eax
38
   mov	 [read_folder.size],eax     ;dword 1
38
   mov	 [read_folder.size],eax     ;dword 1
39
   mov   eax,[left_folder_data]
39
   mov   eax,[left_folder_data]
40
   push  eax
40
   push  eax
41
   mov   [read_folder.return],eax
41
   mov   [read_folder.return],eax
42
   mcall 70, read_folder
42
   mcall 70, read_folder
43
    test  eax,eax
43
    test  eax,eax
44
    jz    @f
44
    jz    @f
45
    cmp   eax,6
45
    cmp   eax,6
46
    jne   .error_1
46
    jne   .error_1
47
@@:
47
@@:
48
   mov   eax,[esp]
48
   mov   eax,[esp]
49
   cmp	 [eax+32+40],word 2Eh
49
   cmp	 [eax+32+40],word 2Eh
50
   jne	 @f
50
   jne	 @f
51
   mov	 [read_folder.start],dword 1
51
   mov	 [read_folder.start],dword 1
52
@@:
52
@@:
53
   mov   ebx,[eax+8]
53
   mov   ebx,[eax+8]
54
   mov	 [read_folder.size],ebx  ;dword 10  ;5000
54
   mov	 [read_folder.size],ebx  ;dword 10  ;5000
55
   imul  ebx,304
55
   imul  ebx,304
56
   add   ebx,32
56
   add   ebx,32
57
   mov   ecx,[right_folder_data]
57
   mov   ecx,[right_folder_data]
58
   sub   ecx,[left_folder_data]
58
   sub   ecx,[left_folder_data]
59
   push  ebx ecx
59
   push  ebx ecx
60
   cmp   ebx,ecx
60
   cmp   ebx,ecx
61
   je    .continue
61
   je    .continue
62
   sub   ebx,ecx
62
   sub   ebx,ecx
63
   js    .sub_mem
63
   js    .sub_mem
64
.add_mem:
64
.add_mem:
65
   mov   ecx,[appl_memory]
65
   mov   ecx,[appl_memory]
66
   add   ecx,ebx
66
   add   ecx,ebx
67
   mov   [esp],ebx
67
   mov   [esp],ebx
68
   mov   ebx,[appl_memory]
68
   mov   ebx,[appl_memory]
69
   mov   [esp+4],ebx
69
   mov   [esp+4],ebx
70
   mov   [appl_memory],ecx
70
   mov   [appl_memory],ecx
71
   mcall 64,1
71
   mcall 64,1
72
   call  move_up_right_table
72
   call  move_up_right_table
73
;   mov   [temp_znak],1
73
;   mov   [temp_znak],1
74
   jmp   .continue
74
   jmp   .continue
75
.sub_mem:
75
.sub_mem:
76
   mov   ebx,[esp]
76
   mov   ebx,[esp]
77
   mov   ecx,[esp+4]
77
   mov   ecx,[esp+4]
78
   sub   ebx,ecx
78
   sub   ebx,ecx
79
   mov   ecx,[appl_memory]
79
   mov   ecx,[appl_memory]
80
   sub   ecx,ebx
80
   sub   ecx,ebx
81
   mov   [esp],ebx
81
   mov   [esp],ebx
82
   mov   ebx,[appl_memory]
82
   mov   ebx,[appl_memory]
83
   mov   [esp+4],ebx
83
   mov   [esp+4],ebx
84
   mov   [appl_memory],ecx
84
   mov   [appl_memory],ecx
85
   call  move_down_right_table
85
   call  move_down_right_table
86
   mcall 64,1
86
   mcall 64,1
87
;   mov   [temp_znak],2
87
;   mov   [temp_znak],2
88
.continue:
88
.continue:
89
;   mov	 edi,eax  ;folder_data
89
;   mov	 edi,eax  ;folder_data
90
;   call  clear_folder_data_area
90
;   call  clear_folder_data_area
91
   mcall 70, read_folder
91
   mcall 70, read_folder
92
   mov	 [left_folder_block],ebx
92
   mov	 [left_folder_block],ebx
93
   add   esp,4*3
93
   add   esp,4*3
94
    test  eax,eax
94
    test  eax,eax
95
    jz    @f
95
    jz    @f
96
    cmp   eax,6
96
    cmp   eax,6
97
    jne   .error
97
    jne   .error
98
@@:
98
@@:
99
   push  eax
99
   push  eax
100
;   call  left_files_name_normalize
100
;   call  left_files_name_normalize
101
   call  left_prepare_extension_start
101
   call  left_prepare_extension_start
102
   call  left_sort_files
102
   call  left_sort_files
103
   pop   eax
103
   pop   eax
104
;   pusha
104
;   pusha
105
;   call  draw_window
105
;   call  draw_window
106
;   popa
106
;   popa
107
   ret
107
   ret
108
.error_1:
108
.error_1:
109
   add   esp,4
109
   add   esp,4
110
.error:
110
.error:
111
   mov	 [left_folder_block],dword 2
111
   mov	 [left_folder_block],dword 2
112
   mov   edi,[left_folder_data]
112
   mov   edi,[left_folder_data]
113
   call  error_handler
113
   call  error_handler
114
   ret
114
   ret
115
;---------------------------------------------------------------------
115
;---------------------------------------------------------------------
116
error_handler:
116
error_handler:
117
   push  eax
117
   push  eax
118
   xor   eax,eax
118
   xor   eax,eax
119
   add   edi,32+40
119
   add   edi,32+40
120
   push  edi
120
   push  edi
121
   sub   edi,40
121
   sub   edi,40
122
   mov   ecx,304/4
122
   mov   ecx,304/4
123
   cld
123
   cld
124
   rep   stosd
124
   rep   stosd
125
   pop   edi
125
   pop   edi
126
   mov   [edi-40],byte 0x10
126
   mov   [edi-40],byte 0x10
127
   mov   [edi],word '..'
127
   mov   [edi],word '..'
128
   mov   [edi+2],al
128
   mov   [edi+2],al
129
   add   edi,304
129
   add   edi,304
130
   push  edi
130
   push  edi
131
   sub   edi,40
131
   sub   edi,40
132
   mov   ecx,304/4
132
   mov   ecx,304/4
133
   cld
133
   cld
134
   rep   stosd
134
   rep   stosd
135
   pop   edi
135
   pop   edi
136
   mov   eax,[esp]
136
   mov   eax,[esp]
137
   mov   [edi+32-40],eax
137
   mov   [edi+32-40],eax
138
   mov   esi,error_type
138
   mov   esi,error_type
139
   mov   ecx,19
139
   mov   ecx,19
140
   cld
140
   cld
141
   rep   movsb
141
   rep   movsb
142
   pop   eax
142
   pop   eax
143
   ret
143
   ret
144
;---------------------------------------------------------------------
144
;---------------------------------------------------------------------
145
proc_read_right_folder:
145
proc_read_right_folder:
146
   xor   eax,eax
146
   xor   eax,eax
147
   mov   [right_marked_counter],eax
147
   mov   [right_marked_counter],eax
148
   mov	 [read_folder_1.start],eax      ;dword 0
148
   mov	 [read_folder_1.start],eax      ;dword 0
149
   inc   eax
149
   inc   eax
150
   mov	 [read_folder_1.size],eax       ;dword 1
150
   mov	 [read_folder_1.size],eax       ;dword 1
151
   mov   eax,[right_folder_data]
151
   mov   eax,[right_folder_data]
152
   push  eax
152
   push  eax
153
   mov   [read_folder_1.return],eax
153
   mov   [read_folder_1.return],eax
154
   mcall 70, read_folder_1
154
   mcall 70, read_folder_1
155
    test  eax,eax
155
    test  eax,eax
156
    jz    @f
156
    jz    @f
157
    cmp   eax,6
157
    cmp   eax,6
158
    jne   .error_1
158
    jne   .error_1
159
@@:
159
@@:
160
   mov   eax,[esp]
160
   mov   eax,[esp]
161
   cmp	 [eax+32+40],word 2Eh
161
   cmp	 [eax+32+40],word 2Eh
162
   jne	 @f
162
   jne	 @f
163
   mov	 [read_folder_1.start],dword 1
163
   mov	 [read_folder_1.start],dword 1
164
@@:
164
@@:
165
   mov   ebx,[eax+8]
165
   mov   ebx,[eax+8]
166
   mov	 [read_folder_1.size],ebx  ;dword 10  ;5000
166
   mov	 [read_folder_1.size],ebx  ;dword 10  ;5000
167
   imul  ebx,304
167
   imul  ebx,304
168
   add   ebx,32
168
   add   ebx,32
169
   mov   ecx,[appl_memory]
169
   mov   ecx,[appl_memory]
170
   sub   ecx,[right_folder_data]
170
   sub   ecx,[right_folder_data]
171
   push  ebx ecx
171
   push  ebx ecx
172
   cmp   ebx,ecx
172
   cmp   ebx,ecx
173
   je    .continue
173
   je    .continue
174
   sub   ebx,ecx
174
   sub   ebx,ecx
175
   js    .sub_mem
175
   js    .sub_mem
176
.add_mem:
176
.add_mem:
177
   mov   ecx,[appl_memory]
177
   mov   ecx,[appl_memory]
178
   add   ecx,ebx
178
   add   ecx,ebx
179
   mov   [appl_memory],ecx
179
   mov   [appl_memory],ecx
180
   mcall 64,1
180
   mcall 64,1
181
;   mov   [temp_znak],1
181
;   mov   [temp_znak],1
182
   jmp   .continue
182
   jmp   .continue
183
.sub_mem:
183
.sub_mem:
184
   mov   ebx,[esp]
184
   mov   ebx,[esp]
185
   mov   ecx,[esp+4]
185
   mov   ecx,[esp+4]
186
   sub   ebx,ecx
186
   sub   ebx,ecx
187
   mov   ecx,[appl_memory]
187
   mov   ecx,[appl_memory]
188
   sub   ecx,ebx
188
   sub   ecx,ebx
189
   mov   [appl_memory],ecx
189
   mov   [appl_memory],ecx
190
   mcall 64,1
190
   mcall 64,1
191
;   mov   [temp_znak],2
191
;   mov   [temp_znak],2
192
.continue:
192
.continue:
193
;   mov	 edi,eax  ;folder_data_1
193
;   mov	 edi,eax  ;folder_data_1
194
;   call  clear_folder_data_area
194
;   call  clear_folder_data_area
195
   mcall 70, read_folder_1
195
   mcall 70, read_folder_1
196
   mov	 [right_folder_block],ebx
196
   mov	 [right_folder_block],ebx
197
   add   esp,4*3
197
   add   esp,4*3
198
    test  eax,eax
198
    test  eax,eax
199
    jz    @f
199
    jz    @f
200
    cmp   eax,6
200
    cmp   eax,6
201
    jne   .error
201
    jne   .error
202
@@:
202
@@:
203
   push  eax
203
   push  eax
204
;   call  right_files_name_normalize
204
;   call  right_files_name_normalize
205
   call  right_prepare_extension_start
205
   call  right_prepare_extension_start
206
   call  right_sort_files
206
   call  right_sort_files
207
   pop   eax
207
   pop   eax
208
;   pusha
208
;   pusha
209
;   call  draw_window
209
;   call  draw_window
210
;   popa
210
;   popa
211
   ret
211
   ret
212
.error_1:
212
.error_1:
213
   add   esp,4
213
   add   esp,4
214
.error:
214
.error:
215
   mov	 [right_folder_block],dword 2
215
   mov	 [right_folder_block],dword 2
216
   mov   edi,[right_folder_data]
216
   mov   edi,[right_folder_data]
217
   call  error_handler
217
   call  error_handler
218
   ret
218
   ret
219
;---------------------------------------------------------------------
219
;---------------------------------------------------------------------
220
move_up_right_table:
220
move_up_right_table:
221
   mov  esi,[esp+8]
221
   mov  esi,[esp+8]
222
   mov  ecx,esi
222
   mov  ecx,esi
223
   sub  ecx,[right_folder_data]
223
   sub  ecx,[right_folder_data]
224
   mov  edi,esi
224
   mov  edi,esi
225
   add  edi,[esp+4]
225
   add  edi,[esp+4]
226
   shr  ecx,2
226
   shr  ecx,2
227
   std
227
   std
228
;   rep  movsb
228
;   rep  movsb
229
   rep  movsd
229
   rep  movsd
230
   mov  eax,[esp+4]
230
   mov  eax,[esp+4]
231
   add  [right_folder_data],eax
231
   add  [right_folder_data],eax
232
   ret
232
   ret
233
;---------------------------------------------------------------------
233
;---------------------------------------------------------------------
234
move_down_right_table:
234
move_down_right_table:
235
   mov  esi,[right_folder_data]
235
   mov  esi,[right_folder_data]
236
   mov  edi,esi
236
   mov  edi,esi
237
   sub  edi,[esp+4]
237
   sub  edi,[esp+4]
238
   push ecx
238
   push ecx
239
   mov  ecx,[esp+12]
239
   mov  ecx,[esp+12]
240
   sub  ecx,[right_folder_data]
240
   sub  ecx,[right_folder_data]
241
   shr  ecx,2
241
   shr  ecx,2
242
   cld
242
   cld
243
;   rep  movsb
243
;   rep  movsb
244
   rep  movsd
244
   rep  movsd
245
   pop  ecx
245
   pop  ecx
246
   mov  eax,[esp+4]
246
   mov  eax,[esp+4]
247
   sub  [right_folder_data],eax
247
   sub  [right_folder_data],eax
248
   ret
248
   ret
249
;---------------------------------------------------------------------
249
;---------------------------------------------------------------------
250
;clear_folder_data_area:
250
;clear_folder_data_area:
251
;   mov ecx,4096*10/4
251
;   mov ecx,4096*10/4
252
;   xor eax,eax
252
;   xor eax,eax
253
;   cld
253
;   cld
254
;   rep stosd
254
;   rep stosd
255
;   ret
255
;   ret
256
;---------------------------------------------------------------------
256
;---------------------------------------------------------------------
257
proc_read_folder:
257
proc_read_folder:
258
    call  proc_read_left_folder
258
    call  proc_read_left_folder
259
;    mov   [left_panel_clear_all],1
259
;    mov   [left_panel_clear_all],1
260
    cmp  [search_pre_folder],0
260
    cmp  [search_pre_folder],0
261
    jne   @f
261
    jne   @f
262
    mov  [left_start_draw_cursor_line],0
262
    mov  [left_start_draw_cursor_line],0
263
    mov  [left_start_draw_line],0    
263
    mov  [left_start_draw_line],0    
264
    jmp  .continue
264
    jmp  .continue
265
@@:
265
@@:
266
    mov  edi,[left_folder_data]
266
    mov  edi,[left_folder_data]
267
    add  edi,32+40
267
    add  edi,32+40
268
    sub  edi,304
268
    sub  edi,304
269
    xor  ebp,ebp
269
    xor  ebp,ebp
270
.search_file:
270
.search_file:
271
    cmp   [left_folder_block],ebp
271
    cmp   [left_folder_block],ebp
272
    jbe   .end_folder
272
    jbe   .end_folder
273
    mov   esi,[temp_counter_dword]
273
    mov   esi,[temp_counter_dword]
274
    mov   ecx,[extension_size]
274
    mov   ecx,[extension_size]
275
    add   edi,304
275
    add   edi,304
276
    inc   ebp
276
    inc   ebp
277
    cld
277
    cld
278
;    mov   [temp_counter_dword_1],edi
278
;    mov   [temp_counter_dword_1],edi
279
    push   edi
279
    push   edi
280
    rep  cmpsb
280
    rep  cmpsb
281
    pop    edi
281
    pop    edi
282
    jne   .search_file
282
    jne   .search_file
283
    dec  ebp
283
    dec  ebp
284
    mov  eax,[left_folder_block]
284
    mov  eax,[left_folder_block]
285
    cmp  [max_panel_line],eax
285
    cmp  [max_panel_line],eax
286
    js  @f
286
    js  @f
287
    mov  eax,ebp
287
    mov  eax,ebp
288
    imul eax,10
288
    imul eax,10
289
    mov  [left_start_draw_cursor_line],ax
289
    mov  [left_start_draw_cursor_line],ax
290
    mov  [left_start_draw_line],0
290
    mov  [left_start_draw_line],0
291
    jmp  .end_folder
291
    jmp  .end_folder
292
@@:
292
@@:
293
;    sub  eax,ebp
293
;    sub  eax,ebp
294
;    push eax
294
;    push eax
295
;    sub  eax,[max_panel_line]
295
;    sub  eax,[max_panel_line]
296
;    jns  @f
296
;    jns  @f
297
;    mov  eax,[max_panel_line]
297
;    mov  eax,[max_panel_line]
298
;    sub  eax,[esp]
298
;    sub  eax,[esp]
299
;    imul eax,10
299
;    imul eax,10
300
;    mov  [left_start_draw_cursor_line],ax
300
;    mov  [left_start_draw_cursor_line],ax
301
;@@:
301
;@@:
302
    mov  [left_start_draw_cursor_line],0
302
    mov  [left_start_draw_cursor_line],0
303
    mov  [left_start_draw_line],ebp
303
    mov  [left_start_draw_line],ebp
304
.end_folder:
304
.end_folder:
305
    mov  [search_pre_folder],0
305
    mov  [search_pre_folder],0
306
.continue:
306
.continue:
307
    call  draw_left_panel
307
    call  draw_left_panel
308
    call  draw_left_select_disk_button
308
    call  draw_left_select_disk_button
309
;    call  draw_window
309
;    call  draw_window
310
;    pop   eax
310
;    pop   eax
311
    jmp   still
311
    jmp   still
312
;---------------------------------------------------------------------
312
;---------------------------------------------------------------------
313
proc_read_folder_1:
313
proc_read_folder_1:
314
    call  proc_read_right_folder
314
    call  proc_read_right_folder
315
;    mov   [right_panel_clear_all],1
315
;    mov   [right_panel_clear_all],1
316
    cmp  [search_pre_folder],0
316
    cmp  [search_pre_folder],0
317
    jne   @f
317
    jne   @f
318
    mov  [right_start_draw_cursor_line],0
318
    mov  [right_start_draw_cursor_line],0
319
    mov  [right_start_draw_line],0    
319
    mov  [right_start_draw_line],0    
320
    jmp  .continue
320
    jmp  .continue
321
@@:
321
@@:
322
    mov  edi,[right_folder_data]
322
    mov  edi,[right_folder_data]
323
    add  edi,32+40
323
    add  edi,32+40
324
    sub  edi,304
324
    sub  edi,304
325
    xor  ebp,ebp
325
    xor  ebp,ebp
326
.search_file:
326
.search_file:
327
    cmp   [right_folder_block],ebp
327
    cmp   [right_folder_block],ebp
328
    jbe   .end_folder
328
    jbe   .end_folder
329
    mov   esi,[temp_counter_dword]
329
    mov   esi,[temp_counter_dword]
330
    mov   ecx,[extension_size]
330
    mov   ecx,[extension_size]
331
    add   edi,304
331
    add   edi,304
332
    inc   ebp
332
    inc   ebp
333
    cld
333
    cld
334
;    mov   [temp_counter_dword_1],edi
334
;    mov   [temp_counter_dword_1],edi
335
    push   edi
335
    push   edi
336
    rep  cmpsb
336
    rep  cmpsb
337
    pop    edi
337
    pop    edi
338
    jne   .search_file
338
    jne   .search_file
339
    dec  ebp
339
    dec  ebp
340
    mov  eax,[right_folder_block]
340
    mov  eax,[right_folder_block]
341
    cmp  [max_panel_line],eax
341
    cmp  [max_panel_line],eax
342
    js  @f
342
    js  @f
343
    mov  eax,ebp
343
    mov  eax,ebp
344
    imul eax,10
344
    imul eax,10
345
    mov  [right_start_draw_cursor_line],ax
345
    mov  [right_start_draw_cursor_line],ax
346
    mov  [right_start_draw_line],0
346
    mov  [right_start_draw_line],0
347
    jmp  .end_folder
347
    jmp  .end_folder
348
@@:
348
@@:
349
;    sub  eax,ebp
349
;    sub  eax,ebp
350
;    push eax
350
;    push eax
351
;    sub  eax,[max_panel_line]
351
;    sub  eax,[max_panel_line]
352
;    jns  @f
352
;    jns  @f
353
;    mov  eax,[max_panel_line]
353
;    mov  eax,[max_panel_line]
354
;    sub  eax,[esp]
354
;    sub  eax,[esp]
355
;    imul eax,10
355
;    imul eax,10
356
;    mov  [right_start_draw_cursor_line],ax
356
;    mov  [right_start_draw_cursor_line],ax
357
;@@:
357
;@@:
358
    mov  [right_start_draw_cursor_line],0
358
    mov  [right_start_draw_cursor_line],0
359
    mov  [right_start_draw_line],ebp
359
    mov  [right_start_draw_line],ebp
360
.end_folder:
360
.end_folder:
361
    mov  [search_pre_folder],0
361
    mov  [search_pre_folder],0
362
.continue:
362
.continue:
363
    call  draw_right_panel
363
    call  draw_right_panel
364
    call  draw_right_select_disk_button
364
    call  draw_right_select_disk_button
365
    jmp   still
365
    jmp   still
366
;---------------------------------------------------------------------
366
;---------------------------------------------------------------------
367
copy_folder_name:
367
copy_folder_name:
368
    mov  edi,read_folder_name+1  ;read_folder.name+1
368
    mov  edi,read_folder_name+1
369
@@:
369
.1:
370
    cld
370
    cld
-
 
371
@@:
371
    lodsb
372
    lodsb
372
    stosb
373
    stosb
373
    cmp al,0
374
    cmp al,0
374
    jne  @r
375
    jne  @r
375
    ret
376
    ret
376
;---------------------------------------------------------------------
377
;---------------------------------------------------------------------
377
copy_folder_name_1:
378
copy_folder_name_1:
378
    mov  edi,read_folder_1_name+1  ;read_folder_1.name+1
379
    mov  edi,read_folder_1_name+1
379
@@:
-
 
380
    cld
380
    jmp  copy_folder_name.1
-
 
381
;---------------------------------------------------------------------
381
    lodsb
382
copy_folder_name_2:
382
    stosb
383
    mov  edi,read_folder_2_name+1
383
    cmp al,0
384
    jmp  copy_folder_name.1
-
 
385
;---------------------------------------------------------------------
384
    jne  @r
386
copy_folder_name_3:
-
 
387
    mov  edi,read_folder_3_name+1
385
    ret
388
    jmp  copy_folder_name.1
386
;---------------------------------------------------------------------
389
;---------------------------------------------------------------------
387
read_folder:
390
read_folder:
388
    .subfunction dd   1
391
    .subfunction dd   1
389
    .start	 dd   0
392
    .start	 dd   0
390
    .flags	 dd   0
393
    .flags	 dd   0
391
    .size	     dd   5000
394
    .size	 dd   5000
392
    .return	 dd   0  ;folder_data
395
    .return	 dd   0
393
    db 0
396
    db 0
394
    .name: dd read_folder_name
397
    .name: dd read_folder_name
395
;---------------------------------------------------------------------
398
;---------------------------------------------------------------------
396
read_folder_1:
399
read_folder_1:
397
    .subfunction dd   1
400
    .subfunction dd   1
398
    .start	 dd   0
401
    .start	 dd   0
399
    .flags	 dd   0
402
    .flags	 dd   0
400
    .size	     dd   5000
403
    .size	 dd   5000
401
    .return	 dd   0  ;folder_data_1
404
    .return	 dd   0
402
    db 0
405
    db 0
403
    .name: dd read_folder_1_name
406
    .name: dd read_folder_1_name
404
;---------------------------------------------------------------------
407
;---------------------------------------------------------------------
-
 
408
read_folder_2:
-
 
409
    .subfunction dd   1
-
 
410
    .start	 dd   0
-
 
411
    .flags	 dd   0
-
 
412
    .size	 dd   5000
-
 
413
    .return	 dd   left_folder_data_1
-
 
414
    db 0
-
 
415
    .name: dd read_folder_2_name
-
 
416
;---------------------------------------------------------------------
-
 
417
read_folder_3:
-
 
418
    .subfunction dd   1
-
 
419
    .start	 dd   0
-
 
420
    .flags	 dd   0
-
 
421
    .size	 dd   5000
-
 
422
    .return	 dd   right_folder_data_1
-
 
423
    db 0
-
 
424
    .name: dd read_folder_3_name
-
 
425
;---------------------------------------------------------------------
405
read_file_features:
426
read_file_features:
406
    .subfunction dd   5
427
    .subfunction dd   5
407
    .Offset	 dd   0
428
    .Offset	 dd   0
408
    .Offset_1	 dd   0
429
    .Offset_1	 dd   0
409
    .size	     dd   0
430
    .size	     dd   0
410
    .return	 dd   file_features_temp_area
431
    .return	 dd   file_features_temp_area
411
    db 0
432
    db 0
412
    .name: dd file_name
433
    .name: dd file_name
413
;---------------------------------------------------------------------
434
;---------------------------------------------------------------------
414
read_file:
435
read_file:
415
    .subfunction dd   0
436
    .subfunction dd   0
416
    .Offset	 dd   0
437
    .Offset	 dd   0
417
    .Offset_1	 dd   0
438
    .Offset_1	 dd   0
418
    .size	     dd   0
439
    .size	     dd   0
419
    .return	 dd   mem
440
    .return	 dd   mem
420
    db 0
441
    db 0
421
    .name: dd file_name
442
    .name: dd file_name
422
;---------------------------------------------------------------------
443
;---------------------------------------------------------------------
423
save_file:
444
save_file:
424
    .subfunction dd   2
445
    .subfunction dd   2
425
    .Offset	 dd   0
446
    .Offset	 dd   0
426
    .Offset_1	 dd   0
447
    .Offset_1	 dd   0
427
    .size	     dd   0
448
    .size	     dd   0
428
    .pointer	 dd   mem
449
    .pointer	 dd   mem
429
    db 0
450
    db 0
430
    .name: dd start_parameter
451
    .name: dd start_parameter
431
;---------------------------------------------------------------------
452
;---------------------------------------------------------------------
432
add_save_file:
453
add_save_file:
433
    .subfunction dd   3
454
    .subfunction dd   3
434
    .Offset	 dd   0
455
    .Offset	 dd   0
435
    .Offset_1	 dd   0
456
    .Offset_1	 dd   0
436
    .size	     dd   0
457
    .size	     dd   0
437
    .pointer	 dd   mem
458
    .pointer	 dd   mem
438
    db 0
459
    db 0
439
    .name: dd start_parameter
460
    .name: dd start_parameter
440
;---------------------------------------------------------------------
461
;---------------------------------------------------------------------
441
create_dir_file_data:
462
create_dir_file_data:
442
    .subfunction dd   9
463
    .subfunction dd   9
443
    .flags	 dd   0
464
    .flags	 dd   0
444
    .param	 dd   0
465
    .param	 dd   0
445
    .rezerv	 dd   0
466
    .rezerv	 dd   0
446
    .rezerv1	 dd   0
467
    .rezerv1	 dd   0
447
    db 0
468
    db 0
448
    .name: dd file_name
469
    .name: dd file_name
449
;---------------------------------------------------------------------
470
;---------------------------------------------------------------------
450
start_file_data:
471
start_file_data:
451
    .subfunction dd   7
472
    .subfunction dd   7
452
    .flags	 dd   0
473
    .flags	 dd   0
453
    .param	 dd   0
474
    .param	 dd   0
454
    .rezerv	 dd   0
475
    .rezerv	 dd   0
455
    .rezerv1	 dd   0
476
    .rezerv1	 dd   0
456
    db 0
477
    db 0
457
    .name: dd file_name
478
    .name: dd file_name
458
;---------------------------------------------------------------------
479
;---------------------------------------------------------------------
459
delete_file_data:
480
delete_file_data:
460
    .subfunction dd   8
481
    .subfunction dd   8
461
    .flags	 dd   0
482
    .flags	 dd   0
462
    .param	 dd   0
483
    .param	 dd   0
463
    .rezerv	 dd   0
484
    .rezerv	 dd   0
464
    .rezerv1 dd   0
485
    .rezerv1 dd   0
465
    db 0
486
    db 0
466
    .name: dd file_name
487
    .name: dd file_name
467
;---------------------------------------------------------------------
488
;---------------------------------------------------------------------
468
read_delete_dir_data:
489
read_delete_dir_data:
469
    .subfunction dd   1
490
    .subfunction dd   1
470
    .start	 dd   0
491
    .start	 dd   0
471
    .flags	 dd   0
492
    .flags	 dd   0
472
    .size	     dd   0
493
    .size	     dd   0
473
    .return	 dd   delete_dir_data
494
    .return	 dd   delete_dir_data
474
    db 0
495
    db 0
475
    .name: dd file_name
496
    .name: dd file_name
476
;---------------------------------------------------------------------
497
;---------------------------------------------------------------------