Rev 1457 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1457 | Rev 1464 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj |
1 | ; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj |
2 | ; ýëåìåíò TreeList äëÿ Kolibri OS |
2 | ; ýëåìåíò TreeList äëÿ Kolibri OS |
3 | ; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 29.04.2010 IgorA |
3 | ; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 15.05.2010 IgorA |
4 | ; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ |
4 | ; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ |
Line 5... | Line 5... | ||
5 | 5 | ||
6 | 6 | ||
Line 15... | Line 15... | ||
15 | ; td dd ? ;+16 âðåì. óäàëåíèÿ |
15 | ; td dd ? ;+16 âðåì. óäàëåíèÿ |
16 | ;ends |
16 | ;ends |
Line 17... | Line 17... | ||
17 | 17 | ||
18 | macro use_tree_list |
18 | macro use_tree_list |
19 | { |
- | |
20 | ;----------------------------------------------------------------------------- |
- | |
21 | ;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè |
- | |
22 | ;input: |
- | |
23 | ; ecx = size data |
- | |
24 | ;otput: |
- | |
25 | ; eax = pointer to memory |
- | |
26 | align 4 |
- | |
27 | mem_Alloc: |
- | |
28 | push ebx |
- | |
29 | mov eax,68 |
- | |
30 | mov ebx,12 |
- | |
31 | int 0x40 |
- | |
32 | pop ebx |
- | |
33 | ret |
- | |
34 | ;----------------------------------------------------------------------------- |
- | |
35 | ;ôóíêöèÿ äëÿ îñâîáîæäåíèÿ ïàìÿòè |
- | |
36 | ;input: |
- | |
37 | ; ecx = pointer to memory |
- | |
38 | align 4 |
- | |
39 | mem_Free: |
- | |
40 | push eax ebx |
- | |
41 | cmp ecx,0 |
- | |
42 | jz @f |
- | |
43 | mov eax,68 |
- | |
44 | mov ebx,13 |
- | |
45 | int 0x40 |
- | |
46 | @@: |
- | |
47 | pop ebx eax |
- | |
48 | ret |
- | |
49 | 19 | { |
|
50 | align 4 |
20 | align 4 |
51 | tl_data_init: ;âûäåëíèå ïàìÿòè äëÿ ñòðóêòóð ñïèñêà è îñíîâíîé èíôîðìàöèè (êîíñòðóêòîð) |
21 | tl_data_init: ;âûäåëíèå ïàìÿòè äëÿ ñòðóêòóð ñïèñêà è îñíîâíîé èíôîðìàöèè (êîíñòðóêòîð) |
52 | push ebp |
22 | push ebp |
53 | mov ebp,esp |
23 | mov ebp,esp |
Line 93... | Line 63... | ||
93 | pop edi ecx eax |
63 | pop edi ecx eax |
94 | pop ebp |
64 | pop ebp |
95 | ret 4 |
65 | ret 4 |
Line 96... | Line 66... | ||
96 | 66 | ||
97 | align 4 |
67 | align 4 |
98 | tl_data_clear: ;î÷èñòêà ïàìÿòè ýëåìåíòà (äåñòðóêòîð) |
68 | proc tl_data_clear, tlist:dword ;î÷èñòêà ïàìÿòè ýëåìåíòà (äåñòðóêòîð) |
99 | push ebp |
- | |
100 | mov ebp,esp |
- | |
101 | push ecx edi |
69 | push edi |
102 | mov edi,dword[ebp+8] |
70 | mov edi,dword[tlist] |
103 | cmp tl_data_img,0 |
71 | cmp tl_data_img,0 |
104 | je @f |
- | |
105 | mov ecx,tl_data_img |
72 | je @f |
106 | call mem_Free ;÷èñòêà ñèñòåìíûõ èêîíîê |
73 | stdcall mem_Free,tl_data_img ;÷èñòêà ñèñòåìíûõ èêîíîê |
107 | @@: |
74 | @@: |
108 | cmp tl_data_img_sys,0 |
75 | cmp tl_data_img_sys,0 |
109 | je @f |
- | |
110 | mov ecx,tl_data_img_sys |
76 | je @f |
111 | call mem_Free ;÷èñòêà ñèñòåìíûõ èêîíîê |
77 | stdcall mem_Free,tl_data_img_sys ;÷èñòêà ñèñòåìíûõ èêîíîê |
112 | @@: |
78 | @@: |
113 | mov ecx,dword[edi] |
- | |
Line 114... | Line 79... | ||
114 | call mem_Free |
79 | stdcall mem_Free,dword[edi] |
115 | - | ||
116 | mov ecx,tl_data_nodes |
80 | |
117 | call mem_Free |
81 | stdcall mem_Free,tl_data_nodes |
118 | pop edi ecx |
82 | pop edi |
Line 119... | Line 83... | ||
119 | pop ebp |
83 | ret |
120 | ret 4 |
84 | endp |
121 | 85 | ||
122 | align 4 |
86 | align 4 |