Subversion Repositories Kolibri OS

Rev

Rev 1464 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1464 Rev 1489
Line 1... Line 1...
1
; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
1
; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
2
; ýëåìåíò TreeList äëÿ Kolibri OS
2
; ýëåìåíò TreeList äëÿ Kolibri OS
3
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 15.05.2010 IgorA
3
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 09.06.2010 IgorA
4
; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
4
; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
Line 5... Line 5...
5
 
5
 
6
 
6
 
Line 25... Line 25...
25
    mov edi,dword[ebp+8]
25
    mov edi,dword[ebp+8]
Line 26... Line 26...
26
 
26
 
27
    xor ecx,ecx
27
    xor ecx,ecx
28
    mov cx,tl_info_size
28
    mov cx,tl_info_size
29
    imul ecx,tl_info_max_count
29
    imul ecx,tl_info_max_count
30
    call mem_Alloc
30
    invoke mem.alloc,ecx
31
    mov dword[edi],eax ;êîïèðóåì óêàçàòåëü íà ïîëó÷åíóþ ïàìÿòü â ñòðóêòóðó
31
    mov dword[edi],eax ;êîïèðóåì óêàçàòåëü íà ïîëó÷åíóþ ïàìÿòü â ñòðóêòóðó
32
    mov tl_data_img,0  ;îáíóëÿåì óêàçàòåëü 'data_img'
32
    mov tl_data_img,0  ;îáíóëÿåì óêàçàòåëü 'data_img'
Line 33... Line 33...
33
    mov tl_data_img_sys,0 ;îáíóëÿåì óêàçàòåëü 'data_img_sys'
33
    mov tl_data_img_sys,0 ;îáíóëÿåì óêàçàòåëü 'data_img_sys'
34
 
34
 
35
    mov ecx,sizeof.TreeList
35
    mov ecx,sizeof.TreeList
36
    imul ecx,tl_info_max_count
36
    imul ecx,tl_info_max_count
Line 37... Line 37...
37
    call mem_Alloc
37
    invoke mem.alloc,ecx
38
    mov tl_data_nodes,eax ;êîïèðóåì óêàçàòåëü íà ïîëó÷åíóþ ïàìÿòü â ñòðóêòóðó
38
    mov tl_data_nodes,eax ;êîïèðóåì óêàçàòåëü íà ïîëó÷åíóþ ïàìÿòü â ñòðóêòóðó
Line 68... Line 68...
68
proc tl_data_clear, tlist:dword ;î÷èñòêà ïàìÿòè ýëåìåíòà (äåñòðóêòîð)
68
proc tl_data_clear, tlist:dword ;î÷èñòêà ïàìÿòè ýëåìåíòà (äåñòðóêòîð)
69
	push edi
69
	push edi
70
	mov edi,dword[tlist]
70
	mov edi,dword[tlist]
71
	cmp tl_data_img,0
71
	cmp tl_data_img,0
72
	je @f
72
	je @f
73
		stdcall mem_Free,tl_data_img ;÷èñòêà ñèñòåìíûõ èêîíîê
73
		invoke mem.free,tl_data_img ;÷èñòêà ñèñòåìíûõ èêîíîê
74
	@@:
74
	@@:
75
	cmp tl_data_img_sys,0
75
	cmp tl_data_img_sys,0
76
	je @f
76
	je @f
77
		stdcall mem_Free,tl_data_img_sys ;÷èñòêà ñèñòåìíûõ èêîíîê
77
		invoke mem.free,tl_data_img_sys ;÷èñòêà ñèñòåìíûõ èêîíîê
78
	@@:
78
	@@:
79
	stdcall mem_Free,dword[edi]
79
	invoke mem.free,dword[edi]
Line 80... Line 80...
80
 
80
 
81
	stdcall mem_Free,tl_data_nodes
81
	invoke mem.free,tl_data_nodes
82
	pop edi
82
	pop edi
83
	ret
83
	ret
Line 84... Line 84...
84
endp
84
endp