Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 254 → Rev 255

/programs/media/animage/trunk/files.inc
0,0 → 1,135
;-----------------------------------------------------------
;-----------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
int 0x40
 
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
int 0x40
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
int 0x40
 
error_load_file:
 
ret
;-----------------------------------------------------------
;---------------save in file from memory--------------------
;-----------------------------------------------------------
save_file:
mov [size_to_save],ecx
mov [pointer_to_data],ebx
mov [full_file_path],eax
 
mov esi,[full_file_path]
mov edi,filepath
mov ecx,256
rep movsd
 
xor eax,eax
mov ebx,[size_to_save]
mov ecx,[pointer_to_data]
mov edx,filepath
 
mov [file_information],dword 2
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
int 0x40
 
ret
 
;----------------------------------------------------------
;-------------file information structure-------------------
;----------------------------------------------------------
 
file_information:
dd 5
dd 0
dd 0
dd 0
dd bufer_for_info
dd 0
dd filepath
 
filepath rb 1040
 
bufer_for_info rd 10
full_file_path dd 0
where_load_file dd 0
size_to_save dd 0
pointer_to_data dd 0