Rev 509 | Rev 513 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 509 | Rev 512 | ||
---|---|---|---|
Line 5... | Line 5... | ||
5 | ; |
5 | ; |
6 | ; SPraid |
6 | ; SPraid |
7 | ; |
7 | ; |
8 | ;------------------------------------------------------------------------- |
8 | ;------------------------------------------------------------------------- |
Line -... | Line 9... | ||
- | 9 | ||
- | 10 | full_file_name_table dd 0 ; 㪠§ â¥«ì ¯ ¬ïâì ¤«ï â ¡«¨æë ¯ã⥩ 4 § ¯¨áì 64 (32 - áâப è ¡«® ¤«ï ¯®¨áª , 32 - áâப è ¡«® ¤«ï § ¬¥ë) |
|
9 | 11 | ||
10 | ; ¯¥à¥¡¨à ¥â ¯® ä ©«ã ¢ ਠâë § ¬¥ |
12 | ; ¯¥à¥¡¨à ¥â ¯® ä ©«ã ¢ ਠâë § ¬¥ |
11 | proc full_file_name stdcall,sourc,dest |
13 | proc full_file_name stdcall,sourc,dest |
12 | locals |
- | |
13 | param rb 60 |
- | |
14 | val rb 60 |
14 | locals |
15 | tmpsrc rb 60 ; ¢à¥¬¥®¥ åà ¥¨¥ ¯à¥®¡à §®¢ ¨ï |
15 | tmpsrc rb 60 ; ¢à¥¬¥®¥ åà ¥¨¥ ¯à¥®¡à §®¢ ¨ï |
16 | endl |
16 | endl |
17 | pushad |
- | |
18 | - | ||
19 | 17 | pushad |
|
20 | mov esi,[sourc] |
- | |
21 | ; mov edi,ebp |
- | |
22 | ; add edi,tmpsrc-ebp |
18 | mov esi,[sourc] |
Line 23... | Line 19... | ||
23 | lea edi, [tmpsrc] |
19 | lea edi, [tmpsrc] |
24 | 20 | ||
25 | @@: |
21 | @@: |
Line 39... | Line 35... | ||
39 | @use_replace: |
35 | @use_replace: |
Line 40... | Line 36... | ||
40 | 36 | ||
41 | xor eax,eax |
37 | xor eax,eax |
42 | .loop: |
38 | .loop: |
43 | push eax |
- | |
44 | ; mov ebx,ebp |
- | |
45 | ; add ebx,param-ebp |
- | |
46 | ; mov ecx,ebp |
- | |
47 | ; add ecx,val-ebp |
- | |
48 | lea ebx, [param] |
- | |
49 | lea ecx, [val] |
- | |
Line -... | Line 39... | ||
- | 39 | push eax |
|
- | 40 | ||
- | 41 | imul eax,eax,64 |
|
- | 42 | add eax,[full_file_name_table] |
|
- | 43 | mov ebx,eax |
|
50 | invoke ini.get_par,sect, ebx, ecx, eax |
44 | add eax,32 |
51 | 45 | ||
52 | mov bl,[param] |
46 | mov cl,[ebx] |
Line 53... | Line -... | ||
53 | or bl,bl |
- | |
54 | jz .done |
- | |
55 | - | ||
56 | ; mov eax,ebp |
- | |
57 | ; add eax,tmpsrc-ebp |
- | |
58 | ; mov ebx,ebp |
- | |
59 | ; add ebx,param-ebp |
47 | or cl,cl |
60 | ; mov ecx,ebp |
- | |
61 | ; add ecx,val-ebp |
- | |
62 | lea eax, [tmpsrc] |
48 | jz .done |
Line 63... | Line 49... | ||
63 | lea ebx, [param] |
49 | |
Line 64... | Line 50... | ||
64 | lea ecx, [val] |
50 | lea ecx, [tmpsrc] |
65 | mov edx,[dest] |
- | |
66 | - | ||
67 | stdcall full_file_name_parse, eax,edx,ebx,ecx |
51 | mov edx,[dest] |
68 | 52 | ||
69 | mov esi,[dest] |
53 | stdcall full_file_name_parse, ecx,edx,ebx,eax |
70 | ; mov edi,ebp |
54 | |
71 | ; add edi,tmpsrc-ebp |
55 | mov esi,[dest] |
Line 82... | Line 66... | ||
82 | 66 | ||
83 | .done: |
67 | .done: |
84 | pop eax |
68 | pop eax |
Line 85... | Line -... | ||
85 | full_file_name_exit: |
- | |
86 | - | ||
87 | ; mov eax,ebp |
69 | full_file_name_exit: |
88 | ; add eax,tmpsrc-ebp |
70 | |
89 | lea eax, [tmpsrc] |
71 | lea eax, [tmpsrc] |
90 | stdcall full_file_name_parse , eax , [dest], sysdir_ , sys_path |
72 | stdcall full_file_name_parse , eax , [dest], sysdir_ , sys_path |
91 | popad |
73 | popad |
Line 92... | Line -... | ||
92 | ret |
- | |
93 | endp |
- | |
94 | 74 | ret |
|
95 | sect: db 'path',0 |
75 | endp |
96 | 76 | ||
97 | ; |
77 | ; |
98 | ; ८¡à §®¢ âì ¨¬ï ¢ ¯®«®¥. ᫨ ¢ ç «¥ á⮨â |
78 | ; ८¡à §®¢ âì ¨¬ï ¢ ¯®«®¥. ᫨ ¢ ç «¥ á⮨â |
Line 188... | Line 168... | ||
188 | 168 | ||
189 | .done: |
169 | .done: |
190 | popad |
170 | popad |
Line -... | Line 171... | ||
- | 171 | ret |
|
- | 172 | ||
- | 173 | proc load_file_parse_table |
|
- | 174 | pushad |
|
- | 175 | stdcall kernel_alloc,0x1000 |
|
- | 176 | mov [full_file_name_table],eax |
|
- | 177 | ||
- | 178 | invoke ini.enum_keys,conf_fname,conf_path_sect,get_every_key |
|
- | 179 | ||
- | 180 | mov eax,[loading_counter] |
|
- | 181 | imul eax,eax,64 |
|
- | 182 | add eax,[full_file_name_table] |
|
- | 183 | mov [eax],byte 0 |
|
- | 184 | popad |
|
- | 185 | ret |
|
- | 186 | endp |
|
- | 187 | ||
- | 188 | loading_counter dd 0 |
|
- | 189 | def_val_1 db 0 |
|
- | 190 | ||
- | 191 | proc get_every_key stdcall,f_name, sec_name, key_name |
|
- | 192 | pushad |
|
- | 193 | mov esi,[key_name] |
|
- | 194 | mov edi,[loading_counter] |
|
- | 195 | imul edi,edi,64 |
|
- | 196 | add edi,[full_file_name_table] |
|
- | 197 | @@: |
|
- | 198 | lodsb |
|
- | 199 | stosb |
|
- | 200 | or al,al |
|
- | 201 | jnz @b |
|
- | 202 | ||
- | 203 | mov eax,[loading_counter] |
|
- | 204 | imul eax,eax,64 |
|
- | 205 | add eax,[full_file_name_table] |
|
- | 206 | add eax,32 |
|
- | 207 | mov ebx,[key_name] |
|
- | 208 | invoke ini.get_str,conf_fname,conf_path_sect,ebx,eax,32,def_val_1 |
|
- | 209 | ||
- | 210 | inc dword [loading_counter] |
|
- | 211 | ||
- | 212 | popad |
|
- | 213 | mov eax,1 |
|
- | 214 | ret |