Rev 1158 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1158 | Rev 1167 | ||
---|---|---|---|
Line 87... | Line 87... | ||
87 | mov ebp, dword [buffer_read_d] ;point to structure |
87 | mov ebp, dword [buffer_read_d] ;point to structure |
88 | mov ecx, dword [ebp+4] ;êîë-âî áëîêîâ ÁÄÂÊ |
88 | mov ecx, dword [ebp+4] ;êîë-âî áëîêîâ ÁÄÂÊ |
89 | mov dword [save_ecx],ecx |
89 | mov dword [save_ecx],ecx |
90 | add ebp, 32 ;ñìåùàåìñÿ äî ÁÄÂÊ |
90 | add ebp, 32 ;ñìåùàåìñÿ äî ÁÄÂÊ |
91 | mov dword [save_ebp],ebp |
91 | mov dword [save_ebp],ebp |
92 | ; mov dword [save_point_nt],ebp |
- | |
93 | cld ;óñòàíîâêà ôëàãà íàïðàâëåíèÿ |
92 | cld ;óñòàíîâêà ôëàãà íàïðàâëåíèÿ |
94 | align 4 |
93 | align 4 |
95 | .start_loop: |
94 | .start_loop: |
96 | push ecx |
95 | push ecx |
97 | lea edi,[ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè. |
96 | lea edi,[ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè. |
98 | xor eax,eax |
97 | xor eax,eax |
99 | mov ecx,263 |
98 | mov ecx,263 |
100 | align 4 |
- | |
101 | .again: mov al,byte[edi] |
- | |
102 | test al,al |
- | |
103 | jz .next_a |
- | |
104 | dec ecx |
- | |
105 | inc edi |
- | |
106 | jnz .again |
- | |
107 | jmp @f |
- | |
108 | ; repe scasb ;íàéäåì êîíåö ñòðîêè |
99 | repne scasb ;íàéäåì êîíåö ñòðîêè |
109 | ; jnz @f |
- | |
110 | ;;;; èìÿ ïðèñóòñòâóåò, ïðîâåðèì ÿâëÿòñÿ ëè èìÿ ôàéëà ñ ðàñøèðåíèåì fnt ) |
- | |
111 | ; sub edi,6 ;.ksf,0 |
- | |
112 | ;;;;;;;;;;;;;;;;;;;;;;; |
100 | ;;;;;;;;;;;;;;;;;;;;;;; |
113 | .next_a: |
101 | .next_a: |
114 | sub edi,4 ;.ksf,0 |
102 | sub edi,5 ;.ksf,0 |
115 | mov esi,dword name_font |
103 | mov esi,dword name_font |
116 | mov ecx,name_font_e-name_font |
104 | mov ecx,name_font_e-name_font |
117 | repe cmpsb |
105 | repe cmpsb |
118 | jnz @f |
106 | jnz @f |
119 | ;;;;;;;; óðà ýòî íàø ôàéë ò.å. íàø øðèôò ìû íàøëè íóæíûé ôàéëèê )) |
107 | ;;;;;;;; óðà ýòî íàø ôàéë ò.å. íàø øðèôò ìû íàøëè íóæíûé ôàéëèê )) |
Line 162... | Line 150... | ||
162 | ;;;;;;; îòëè÷íî ñåé÷àñ ïðîâåðèëè ÷òî çàãîëîâîê èìåííî òîò êîòîðûé íàì íóæåí |
150 | ;;;;;;; îòëè÷íî ñåé÷àñ ïðîâåðèëè ÷òî çàãîëîâîê èìåííî òîò êîòîðûé íàì íóæåí |
163 | ; ñåé÷àñ íóæíî ïåðåðàñïðåäåëèòü áëîêè ò.å. ïî ìåðå íàõîæäåíèÿ áóäåì ïåðåíîñèòü áëîêè |
151 | ; ñåé÷àñ íóæíî ïåðåðàñïðåäåëèòü áëîêè ò.å. ïî ìåðå íàõîæäåíèÿ áóäåì ïåðåíîñèòü áëîêè |
164 | ; â íà÷àëî áóôåðà |
152 | ; â íà÷àëî áóôåðà |
Line 165... | Line 153... | ||
165 | 153 | ||
166 | mov dword [save_point_nt],ebp |
- | |
167 | ; mov esi, ebp |
- | |
168 | ; mov ecx,304/4 |
- | |
169 | - | ||
170 | - | ||
171 | - | ||
172 | ;align 4 |
- | |
173 | ;.transfer: |
- | |
174 | ; lodsd |
- | |
175 | ; stosd |
- | |
176 | ; loop .transfer |
- | |
177 | ; add dword [save_point_nt],304 ;óêàçàòåëü íà ñëåäóþùèé áëîê |
- | |
178 | ;;; ñäåëàëè òàðíñôåð ïåðåìåùåíèå äàííûõ |
154 | mov dword [save_point_nt],ebp |
179 | pop ecx |
155 | pop ecx |
180 | mov dword [esp+28],0 |
156 | mov dword [esp+28],0 |
181 | popad |
157 | popad |
Line 200... | Line 176... | ||
200 | align 4 |
176 | align 4 |
201 | get_font: |
177 | get_font: |
202 | ; ïîèñê â ìàññèâå øðèôòà ïðè ñîâïàäåíèè ócëîâèé çàãðóçêà øðèôòà |
178 | ; ïîèñê â ìàññèâå øðèôòà ïðè ñîâïàäåíèè ócëîâèé çàãðóçêà øðèôòà |
203 | ; esp+4 = dd width font shl 16 +hight font |
179 | ; esp+4 = dd width font shl 16 +hight font |
204 | ; esp+0 = dd back |
180 | ; esp+0 = dd back |
205 | pop eax |
- | |
206 | pop dword [font_x_y] |
- | |
207 | push eax |
- | |
208 | ; pop eax |
181 | ;pop eax |
209 | ; mov dword [font_x_y],eax |
182 | ; pop dword [font_x_y] |
- | 183 | ;push eax |
|
210 | pushad |
184 | pushad |
211 | - | ||
212 | - | ||
213 | - | ||
- | 185 | mov eax,dword [esp+32+4] |
|
- | 186 | mov dword [font_x_y],eax |
|
214 | xor eax,eax |
187 | xor eax,eax |
215 | mov dword [number_function],eax |
188 | mov dword [number_function],eax |
216 | mov dword [index_start_block],eax ;ïîçèöèÿ â ôàéëå äëÿ ÷òåíèÿ äàííûõ |
189 | mov dword [index_start_block],eax ;ïîçèöèÿ â ôàéëå äëÿ ÷òåíèÿ äàííûõ |
217 | mov dword [flags_],eax ;ñòàðøàÿ ïîçèöèÿ äëÿ ÷òåíèÿ äàííûõ |
190 | mov dword [flags_],eax ;ñòàðøàÿ ïîçèöèÿ äëÿ ÷òåíèÿ äàííûõ |
218 | mov dword [read_block],8 ;ñêîëüêî áàéò ÷èòàòü íàì íóæíî 8 áàéò |
191 | mov dword [read_block],8 ;ñêîëüêî áàéò ÷èòàòü íàì íóæíî 8 áàéò |
Line 221... | Line 194... | ||
221 | mov eax,dword [alloc_memory_point] |
194 | mov eax,dword [alloc_memory_point] |
222 | lea edi,dword [eax+4] |
195 | lea edi,dword [eax+4] |
223 | mov dword [offset_to_string],edi |
196 | mov dword [offset_to_string],edi |
Line 224... | Line -... | ||
224 | - | ||
225 | - | ||
226 | ; mov ecx,dword [save_ecx] ; êîë-âî èòåðàöèé ò.å. ïðîõîäîâ |
- | |
227 | align 4 |
- | |
228 | ;.start_check: |
197 | |
229 | ; push ecx |
198 | |
230 | mov eax,70 |
199 | mov eax,70 |
231 | mov ebx,dword struct_f_info |
200 | mov ebx,dword struct_f_info |
232 | mcall |
201 | mcall |
233 | ;;;;;;;;;;;;;;;; ïðîâåðèì ôîðìàò çàãîëîâêà |
202 | ;;;;;;;;;;;;;;;; ïðîâåðèì ôîðìàò çàãîëîâêà |
234 | mov eax,ebx |
203 | mov eax,ebx |
235 | mov eax,dword [file_buffer] |
204 | mov eax,dword [file_buffer] |
236 | mov ebx,dword [type_fnt] |
- | |
237 | cmp eax,ebx |
- | |
238 | ; jnz @f |
- | |
239 | - | ||
240 | - | ||
241 | ; xor eax,eax |
- | |
242 | ; mov dword [number_function],eax |
- | |
243 | ; add eax,8 |
- | |
244 | ; mov dword [read_block],eax |
- | |
245 | ; mov dword [buffer_read_d],file_buffer |
- | |
246 | ; mov ebx,dword struct_f_info |
- | |
247 | ; mov eax,70 |
- | |
248 | ;align 4 |
- | |
249 | ;.start_check: |
- | |
250 | ;çàãðóçèì çàãîëîâîê ôàéëà è óçíàåì åãî ðàçìåð ãëèôà. |
- | |
251 | ; lea edi, [ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè. |
- | |
252 | ; mov dword [offset_to_string],edi |
- | |
253 | ;get in buffer info above own file |
- | |
254 | ; mcall |
- | |
255 | ;;;;;;;;;;;;;;;; ïðîâåðèì ôîðìàò çàãîëîâêà |
- | |
256 | ; mov ecx,dword [file_buffer.type_fnt] |
- | |
257 | ; mov edx,dword [type_fnt] |
- | |
Line 258... | Line 205... | ||
258 | ; cmp ecx,edx |
205 | mov ebx,dword [type_fnt] |
259 | ; jnz @f |
206 | cmp eax,ebx |
260 | 207 | ||
261 | mov ecx,dword [file_buffer.font_size] |
- | |
262 | mov edx,dword [font_x_y] |
- | |
Line 263... | Line -... | ||
263 | cmp ecx,edx |
- | |
264 | ; jnz @f ;óïñ íåóäà÷à âûøëà |
208 | mov ecx,dword [file_buffer.font_size] |
Line 265... | Line 209... | ||
265 | ;øðèôò ñîâïàë ò.å. ýòî íàø,íóæíûé íàì øðèôò, ìû åãî äîëæíû çàãðóçèòü â ÎÇÓ |
209 | mov edx,dword [font_x_y] |
266 | 210 | cmp ecx,edx |
|
267 | ; mov ebp,dword [save_point_nt] |
211 | |
Line 290... | Line 234... | ||
290 | ; add eax,dword [buffer_read_d] |
234 | ; add eax,dword [buffer_read_d] |
291 | mov dword [font_array_data],eax |
235 | mov dword [font_array_data],eax |
292 | mov dword [esp+28],0 |
236 | mov dword [esp+28],0 |
293 | ; pop ecx |
237 | ; pop ecx |
294 | popad |
238 | popad |
295 | ret |
239 | ret 4 |
296 | - | ||
297 | - | ||
298 | - | ||
Line 299... | Line 240... | ||
299 | 240 | ||
300 | ;here error file system |
241 | ;here error file system |
301 | align 4 |
242 | align 4 |
302 | @@: |
- | |
303 | ; pop ecx |
- | |
304 | ; add ebp,304 |
- | |
305 | ; dec ecx |
- | |
306 | ; jnz .start_check |
- | |
307 | 243 | @@: |
|
308 | or dword [esp+28],-1 ;âåðíåì îøèáêó |
244 | or dword [esp+28],-1 ;âåðíåì îøèáêó |
309 | popad |
245 | popad |
Line 310... | Line 246... | ||
310 | ret |
246 | ret 4 |
311 | 247 | ||
312 | 248 | ||
Line 322... | Line 258... | ||
322 | mov esi,dword [esp+4+32] ;ASCIIZ |
258 | mov esi,dword [esp+4+32] ;ASCIIZ |
323 | mov edx,dword [esp+12+32] ; x shl 16 +y |
259 | mov edx,dword [esp+12+32] ; x shl 16 +y |
324 | mov ecx,dword [font_x_y] ;ðàçìåð ãëèôà x shl 16 +y |
260 | mov ecx,dword [font_x_y] ;ðàçìåð ãëèôà x shl 16 +y |
325 | mov edi,dword [esp+8+32] ;óêàçàòåëü íà ïàëèòðó èç öâåòà è ôîíà |
261 | mov edi,dword [esp+8+32] ;óêàçàòåëü íà ïàëèòðó èç öâåòà è ôîíà |
326 | xor ebp,ebp ;ñì 65 ôóíêöèþ )) |
262 | xor ebp,ebp ;ñì 65 ôóíêöèþ )) |
327 | - | ||
328 | ;;;;;;;;;;;;;;;;;;;;; |
- | |
329 | ; pushad |
- | |
330 | ; mov ebp, dword [esp+4+32+32] |
- | |
331 | ; mov ebp, dword [save_point_nt] |
- | |
332 | ; lea edi, [ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè. |
- | |
333 | ; sub edi,4 ;.ksf,0 |
- | |
334 | ; mov eax,4 |
- | |
335 | ; mov ebx,dword [show_dir] |
- | |
336 | ; add dword [show_dir],10 |
- | |
337 | ; mov ecx,0x80000000;DDBBCC |
- | |
338 | ; mov edx,ebp;[ebp+0x28];eax;edi |
- | |
339 | ; xor esi,esi |
- | |
340 | ;mov esi,8 |
- | |
341 | ; mcall |
- | |
342 | ; popad |
- | |
343 | ;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
344 | - | ||
345 | cld |
263 | cld |
346 | align 4 |
264 | align 4 |
347 | @@: ;pushad |
265 | @@: ;pushad |
348 | xor eax,eax |
266 | xor eax,eax |
349 | lodsb |
267 | lodsb |
350 | test al,al |
268 | test al,al |
351 | jz .exit |
269 | jz .return |
352 | ; movzx eax,al |
- | |
353 | shl eax,4 ;óìíîæàåì íà 16 ò.ê. ýòî âûñîòà ãëèôà |
270 | shl eax,4 ;óìíîæàåì íà 16 ò.ê. ýòî âûñîòà ãëèôà |
354 | ; imul eax,16 |
- | |
Line 355... | Line 271... | ||
355 | 271 | ||
356 | mov ebx,dword [font_array_data] ; òóò ðàñïîëîãàþòñÿ ãëèôû ñèìâîëîâ |
- | |
357 | ; add eax,ebx |
- | |
358 | ; mov ebx,dword [ebx+8] ; ñìåùåíèå |
- | |
359 | ; add eax,ebx |
272 | mov ebx,dword [font_array_data] ; òóò ðàñïîëîãàþòñÿ ãëèôû ñèìâîëîâ |
360 | add ebx,eax |
273 | add ebx,eax |
361 | push esi |
274 | push esi |
362 | mov esi,1 |
275 | mov esi,1 |
363 | mov eax,65 |
276 | mov eax,65 |
364 | mcall |
277 | mcall |
365 | pop esi |
278 | pop esi |
366 | add edx,8 shl 16 ;ñëåäóþùèé ñèìâîë øèðèíà ñèìâîëà = 8 òî÷êàì |
279 | add edx,8 shl 16 ;ñëåäóþùèé ñèìâîë øèðèíà ñèìâîëà = 8 òî÷êàì |
367 | jmp @b |
- | |
368 | align 4 |
- | |
369 | .exit: ;popad |
- | |
370 | - | ||
371 | ; add edx,16 |
- | |
Line 372... | Line 280... | ||
372 | ; loop .next |
280 | jmp @b |
373 | 281 | ||
374 | align 4 |
282 | align 4 |
375 | .return: |
283 | .return: |
Line 391... | Line 299... | ||
391 | @@: |
299 | @@: |
392 | mov ebx,dword [font_array_data] ; òóò ðàñïîëîãàþòñÿ ãëèôû ñèìâîëîâ |
300 | mov ebx,dword [font_array_data] ; òóò ðàñïîëîãàþòñÿ ãëèôû ñèìâîëîâ |
393 | mov esi,1 |
301 | mov esi,1 |
394 | mov eax,65 |
302 | mov eax,65 |
395 | mcall |
303 | mcall |
396 | - | ||
397 | popad |
304 | popad |
398 | ret 4 |
305 | ret 4 |
Line 504... | Line 411... | ||
504 | fulder_array_point dd 0x0 |
411 | fulder_array_point dd 0x0 |
505 | font_array_point dd 0x0 |
412 | font_array_point dd 0x0 |
506 | font_array_data dd 0x0 ; ðåàëüíûå äàííûå ò.å. ìàòðèöà øðèôòà |
413 | font_array_data dd 0x0 ; ðåàëüíûå äàííûå ò.å. ìàòðèöà øðèôòà |
507 | save_ebp dd 0x0 |
414 | save_ebp dd 0x0 |
508 | save_point_nt dd 0x0 |
415 | save_point_nt dd 0x0 |
509 | ;name_of_file db 263 dup(0x0) |
- | |
510 | ;name_of_file db '/sys/FONTS/font01.ksf',0 |
- | |
511 | name_fulder db '/sys/FONTS',0 |
416 | name_fulder db '/sys/FONTS',0 |
512 | name_fuld_end= ($-name_fulder) -1 |
417 | name_fuld_end= ($-name_fulder) -1 |
513 | name_font db '.ksf' |
418 | name_font db '.ksf' |
514 | name_font_e: |
419 | name_font_e: |
515 | type_fnt db 'kf01' |
420 | type_fnt db 'kf01' |