Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1463 → Rev 1464

/programs/develop/libraries/box_lib/trunk/tree_list.mac
1,6 → 1,6
; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
; ýëåìåíò TreeList äëÿ Kolibri OS
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 29.04.2010 IgorA
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 15.05.2010 IgorA
; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
 
 
17,37 → 17,7
 
macro use_tree_list
{
;-----------------------------------------------------------------------------
;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè
;input:
; ecx = size data
;otput:
; eax = pointer to memory
align 4
mem_Alloc:
push ebx
mov eax,68
mov ebx,12
int 0x40
pop ebx
ret
;-----------------------------------------------------------------------------
;ôóíêöèÿ äëÿ îñâîáîæäåíèÿ ïàìÿòè
;input:
; ecx = pointer to memory
align 4
mem_Free:
push eax ebx
cmp ecx,0
jz @f
mov eax,68
mov ebx,13
int 0x40
@@:
pop ebx eax
ret
 
align 4
tl_data_init: ;âûäåëíèå ïàìÿòè äëÿ ñòðóêòóð ñïèñêà è îñíîâíîé èíôîðìàöèè (êîíñòðóêòîð)
push ebp
mov ebp,esp
95,29 → 65,23
ret 4
 
align 4
tl_data_clear: ;î÷èñòêà ïàìÿòè ýëåìåíòà (äåñòðóêòîð)
push ebp
mov ebp,esp
push ecx edi
mov edi,dword[ebp+8]
proc tl_data_clear, tlist:dword ;î÷èñòêà ïàìÿòè ýëåìåíòà (äåñòðóêòîð)
push edi
mov edi,dword[tlist]
cmp tl_data_img,0
je @f
mov ecx,tl_data_img
call mem_Free ;÷èñòêà ñèñòåìíûõ èêîíîê
stdcall mem_Free,tl_data_img ;÷èñòêà ñèñòåìíûõ èêîíîê
@@:
cmp tl_data_img_sys,0
je @f
mov ecx,tl_data_img_sys
call mem_Free ;÷èñòêà ñèñòåìíûõ èêîíîê
stdcall mem_Free,tl_data_img_sys ;÷èñòêà ñèñòåìíûõ èêîíîê
@@:
mov ecx,dword[edi]
call mem_Free
stdcall mem_Free,dword[edi]
 
mov ecx,tl_data_nodes
call mem_Free
pop edi ecx
pop ebp
ret 4
stdcall mem_Free,tl_data_nodes
pop edi
ret
endp
 
align 4
tl_info_clear: ;î÷èñòêà ñïèñêà (èíôîðìàöèè)