forked from KolibriOS/kolibrios
small optimize
git-svn-id: svn://kolibrios.org@6341 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
8182b75b0e
commit
2e10d14758
@ -1,86 +1,4 @@
|
||||
;-----------------------------------------------------------
|
||||
;-----------load heading of file in memory------------------
|
||||
;-----------------------------------------------------------
|
||||
|
||||
load_heading_of_file:
|
||||
|
||||
mov [where_load_file],ebx
|
||||
mov [full_file_path],eax
|
||||
|
||||
mov esi,[full_file_path]
|
||||
mov edi,filepath
|
||||
mov ecx,256
|
||||
rep movsd
|
||||
|
||||
xor eax,eax
|
||||
mov ecx,[where_load_file]
|
||||
mov edx,filepath
|
||||
|
||||
mov [file_information],eax
|
||||
mov [file_information+4],eax
|
||||
mov [file_information+8],eax
|
||||
mov [file_information+12],dword 512
|
||||
mov [file_information+16],ecx
|
||||
mov [file_information+20],al
|
||||
mov [file_information+21],edx
|
||||
|
||||
mov eax,70
|
||||
mov ebx,file_information
|
||||
mcall
|
||||
|
||||
ret
|
||||
;-----------------------------------------------------------
|
||||
;--------load file in memory--------------------------------
|
||||
;-----------------------------------------------------------
|
||||
load_file:
|
||||
mov [where_load_file],ebx
|
||||
mov [full_file_path],eax
|
||||
|
||||
mov esi,[full_file_path]
|
||||
mov edi,filepath
|
||||
mov ecx,256
|
||||
rep movsd
|
||||
|
||||
xor eax,eax
|
||||
mov ebx,bufer_for_info
|
||||
mov ecx,filepath
|
||||
|
||||
mov [file_information],dword 5
|
||||
mov [file_information+4],eax
|
||||
mov [file_information+8],eax
|
||||
mov [file_information+12],eax
|
||||
mov [file_information+16],ebx
|
||||
mov [file_information+20],al
|
||||
mov [file_information+21],ecx
|
||||
|
||||
mov eax,70
|
||||
mov ebx,file_information
|
||||
mcall
|
||||
|
||||
test eax,eax
|
||||
jnz error_load_file
|
||||
|
||||
xor eax,eax
|
||||
mov ebx,[bufer_for_info+32]
|
||||
mov ecx,[where_load_file]
|
||||
mov edx,filepath
|
||||
|
||||
mov [file_information],eax
|
||||
mov [file_information+4],eax
|
||||
mov [file_information+8],eax
|
||||
mov [file_information+12],ebx
|
||||
mov [file_information+16],ecx
|
||||
mov [file_information+20],al
|
||||
mov [file_information+21],edx
|
||||
|
||||
mov eax,70
|
||||
mov ebx,file_information
|
||||
mcall
|
||||
|
||||
error_load_file:
|
||||
|
||||
ret
|
||||
;-----------------------------------------------------------
|
||||
;---------------save in file from memory--------------------
|
||||
;-----------------------------------------------------------
|
||||
save_file:
|
||||
@ -98,7 +16,7 @@ save_file:
|
||||
mov ecx,[pointer_to_data]
|
||||
mov edx,filepath
|
||||
|
||||
mov [file_information],dword 2
|
||||
mov dword[file_information],SSF_CREATE_FILE
|
||||
mov [file_information+4],eax
|
||||
mov [file_information+8],eax
|
||||
mov [file_information+12],ebx
|
||||
@ -106,9 +24,7 @@ save_file:
|
||||
mov [file_information+20],al
|
||||
mov [file_information+21],edx
|
||||
|
||||
mov eax,70
|
||||
mov ebx,file_information
|
||||
mcall
|
||||
mcall SF_FILE,file_information
|
||||
|
||||
ret
|
||||
|
||||
|
@ -251,47 +251,39 @@ fps:
|
||||
add ecx,edx
|
||||
mov edx,8*65536+20+15+49+5+1
|
||||
|
||||
mcall 7
|
||||
mcall SF_PUT_IMAGE
|
||||
ret
|
||||
;----------------------------------------------------------
|
||||
;--------------------clear screen--------------------------
|
||||
;----------------------------------------------------------
|
||||
cleare_screen:
|
||||
mov eax,[ScreenPointer]
|
||||
mov edi,[ScreenPointer]
|
||||
mov ebx,[WorkScreen_SizeX]
|
||||
imul ebx,[WorkScreen_SizeY]
|
||||
lea ebx,[ebx+ebx*2]
|
||||
shr ebx,3
|
||||
inc ebx
|
||||
mov esi,0xffffff
|
||||
|
||||
clear_screen_loop:
|
||||
mov [eax],esi
|
||||
mov [eax+3],esi
|
||||
mov [eax+6],si
|
||||
add eax,4+4
|
||||
dec ebx
|
||||
jnz clear_screen_loop
|
||||
mov eax,0xffffffff
|
||||
mov ecx,ebx
|
||||
shr ecx,2
|
||||
rep stosd
|
||||
mov ecx,ebx
|
||||
and ecx,3
|
||||
rep stosb
|
||||
ret
|
||||
;----------------------------------------------------------
|
||||
;-------------cleare work arrea(work screen)---------------
|
||||
;----------------------------------------------------------
|
||||
cleare_work_arrea:
|
||||
mov eax,[PointerToPicture]
|
||||
mov edi,[PointerToPicture]
|
||||
mov ebx,[Picture_SizeX]
|
||||
imul ebx,[Picture_SizeY]
|
||||
lea ebx,[ebx+ebx*2]
|
||||
shr ebx,3
|
||||
inc ebx
|
||||
mov esi,0xffffff
|
||||
|
||||
clear_work_arrea_loop:
|
||||
mov [eax],esi
|
||||
mov [eax+3],esi
|
||||
mov [eax+6],si
|
||||
add eax,4+4
|
||||
dec ebx
|
||||
jnz clear_work_arrea_loop
|
||||
mov eax,0xffffffff
|
||||
mov ecx,ebx
|
||||
shr ecx,2
|
||||
rep stosd
|
||||
mov ecx,ebx
|
||||
and ecx,3
|
||||
rep stosb
|
||||
ret
|
||||
;-----------------------------------------------------------
|
||||
;calculate position work screen on a picture
|
||||
|
@ -1,14 +1,14 @@
|
||||
;-----------------------------------------------------------
|
||||
;-------find simvole in string------------------------------
|
||||
;-----------------------------------------------------------
|
||||
|
||||
;input:
|
||||
;eax=string
|
||||
;ebx=symvol
|
||||
find_symvol:
|
||||
;eax=string
|
||||
;ebx=symvol
|
||||
mov esi,eax
|
||||
next_symvol:
|
||||
xor ecx,ecx
|
||||
mov cl,[eax]
|
||||
cmp cl,bl
|
||||
cmp byte[eax],bl
|
||||
je symvol_fined
|
||||
inc eax
|
||||
jmp next_symvol
|
||||
|
Loading…
Reference in New Issue
Block a user