89,7 → 89,6 |
mov dword [save_ecx],ecx |
add ebp, 32 ;ñìåùàåìñÿ äî ÁÄÂÊ |
mov dword [save_ebp],ebp |
; mov dword [save_point_nt],ebp |
cld ;óñòàíîâêà ôëàãà íàïðàâëåíèÿ |
align 4 |
.start_loop: |
97,21 → 96,10 |
lea edi,[ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè. |
xor eax,eax |
mov ecx,263 |
align 4 |
.again: mov al,byte[edi] |
test al,al |
jz .next_a |
dec ecx |
inc edi |
jnz .again |
jmp @f |
; repe scasb ;íàéäåì êîíåö ñòðîêè |
; jnz @f |
;;;; èìÿ ïðèñóòñòâóåò, ïðîâåðèì ÿâëÿòñÿ ëè èìÿ ôàéëà ñ ðàñøèðåíèåì fnt ) |
; sub edi,6 ;.ksf,0 |
repne scasb ;íàéäåì êîíåö ñòðîêè |
;;;;;;;;;;;;;;;;;;;;;;; |
.next_a: |
sub edi,4 ;.ksf,0 |
sub edi,5 ;.ksf,0 |
mov esi,dword name_font |
mov ecx,name_font_e-name_font |
repe cmpsb |
164,18 → 152,6 |
; â íà÷àëî áóôåðà |
|
mov dword [save_point_nt],ebp |
; mov esi, ebp |
; mov ecx,304/4 |
|
|
|
;align 4 |
;.transfer: |
; lodsd |
; stosd |
; loop .transfer |
; add dword [save_point_nt],304 ;óêàçàòåëü íà ñëåäóþùèé áëîê |
;;; ñäåëàëè òàðíñôåð ïåðåìåùåíèå äàííûõ |
pop ecx |
mov dword [esp+28],0 |
popad |
202,15 → 178,12 |
; ïîèñê â ìàññèâå øðèôòà ïðè ñîâïàäåíèè ócëîâèé çàãðóçêà øðèôòà |
; esp+4 = dd width font shl 16 +hight font |
; esp+0 = dd back |
pop eax |
pop dword [font_x_y] |
push eax |
; pop eax |
; mov dword [font_x_y],eax |
; pop dword [font_x_y] |
;push eax |
pushad |
|
|
|
mov eax,dword [esp+32+4] |
mov dword [font_x_y],eax |
xor eax,eax |
mov dword [number_function],eax |
mov dword [index_start_block],eax ;ïîçèöèÿ â ôàéëå äëÿ ÷òåíèÿ äàííûõ |
223,10 → 196,6 |
mov dword [offset_to_string],edi |
|
|
; mov ecx,dword [save_ecx] ; êîë-âî èòåðàöèé ò.å. ïðîõîäîâ |
align 4 |
;.start_check: |
; push ecx |
mov eax,70 |
mov ebx,dword struct_f_info |
mcall |
235,36 → 204,11 |
mov eax,dword [file_buffer] |
mov ebx,dword [type_fnt] |
cmp eax,ebx |
; jnz @f |
|
|
; xor eax,eax |
; mov dword [number_function],eax |
; add eax,8 |
; mov dword [read_block],eax |
; mov dword [buffer_read_d],file_buffer |
; mov ebx,dword struct_f_info |
; mov eax,70 |
;align 4 |
;.start_check: |
;çàãðóçèì çàãîëîâîê ôàéëà è óçíàåì åãî ðàçìåð ãëèôà. |
; lea edi, [ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè. |
; mov dword [offset_to_string],edi |
;get in buffer info above own file |
; mcall |
;;;;;;;;;;;;;;;; ïðîâåðèì ôîðìàò çàãîëîâêà |
; mov ecx,dword [file_buffer.type_fnt] |
; mov edx,dword [type_fnt] |
; cmp ecx,edx |
; jnz @f |
|
mov ecx,dword [file_buffer.font_size] |
mov edx,dword [font_x_y] |
cmp ecx,edx |
; jnz @f ;óïñ íåóäà÷à âûøëà |
;øðèôò ñîâïàë ò.å. ýòî íàø,íóæíûé íàì øðèôò, ìû åãî äîëæíû çàãðóçèòü â ÎÇÓ |
|
; mov ebp,dword [save_point_nt] |
mov ecx, 4096;dword [ebp+32] ;ðàçìåð ôàéëà äî 4294967296 áàéò ò.å. 4 Ãá |
|
mov dword [read_block],ecx |
292,22 → 236,14 |
mov dword [esp+28],0 |
; pop ecx |
popad |
ret |
ret 4 |
|
|
|
|
;here error file system |
align 4 |
@@: |
; pop ecx |
; add ebp,304 |
; dec ecx |
; jnz .start_check |
|
or dword [esp+28],-1 ;âåðíåì îøèáêó |
popad |
ret |
ret 4 |
|
|
; ïîèñê âûâîä ñòîðî÷êè ïî ñèìâîëüíî ñôîðèðîâàííîãî øðèôòîì òåêñòà |
324,24 → 260,6 |
mov ecx,dword [font_x_y] ;ðàçìåð ãëèôà x shl 16 +y |
mov edi,dword [esp+8+32] ;óêàçàòåëü íà ïàëèòðó èç öâåòà è ôîíà |
xor ebp,ebp ;ñì 65 ôóíêöèþ )) |
|
;;;;;;;;;;;;;;;;;;;;; |
; pushad |
; mov ebp, dword [esp+4+32+32] |
; mov ebp, dword [save_point_nt] |
; lea edi, [ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè. |
; sub edi,4 ;.ksf,0 |
; mov eax,4 |
; mov ebx,dword [show_dir] |
; add dword [show_dir],10 |
; mov ecx,0x80000000;DDBBCC |
; mov edx,ebp;[ebp+0x28];eax;edi |
; xor esi,esi |
;mov esi,8 |
; mcall |
; popad |
;;;;;;;;;;;;;;;;;;;;;;;; |
|
cld |
align 4 |
@@: ;pushad |
348,15 → 266,10 |
xor eax,eax |
lodsb |
test al,al |
jz .exit |
; movzx eax,al |
jz .return |
shl eax,4 ;óìíîæàåì íà 16 ò.ê. ýòî âûñîòà ãëèôà |
; imul eax,16 |
|
mov ebx,dword [font_array_data] ; òóò ðàñïîëîãàþòñÿ ãëèôû ñèìâîëîâ |
; add eax,ebx |
; mov ebx,dword [ebx+8] ; ñìåùåíèå |
; add eax,ebx |
add ebx,eax |
push esi |
mov esi,1 |
365,12 → 278,7 |
pop esi |
add edx,8 shl 16 ;ñëåäóþùèé ñèìâîë øèðèíà ñèìâîëà = 8 òî÷êàì |
jmp @b |
align 4 |
.exit: ;popad |
|
; add edx,16 |
; loop .next |
|
align 4 |
.return: |
popad |
393,7 → 301,6 |
mov esi,1 |
mov eax,65 |
mcall |
|
popad |
ret 4 |
|
506,8 → 413,6 |
font_array_data dd 0x0 ; ðåàëüíûå äàííûå ò.å. ìàòðèöà øðèôòà |
save_ebp dd 0x0 |
save_point_nt dd 0x0 |
;name_of_file db 263 dup(0x0) |
;name_of_file db '/sys/FONTS/font01.ksf',0 |
name_fulder db '/sys/FONTS',0 |
name_fuld_end= ($-name_fulder) -1 |
name_font db '.ksf' |