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 | ;--------------------------------------------------------------------- |