Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1488 → Rev 1489

/programs/develop/libraries/box_lib/trunk/box_lib.asm
21,47 → 21,10
include 'box_lib.mac' ;macro which should make life easier :)
 
;-----------------------------------------------------------------------------
;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè
;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
proc mem_Free, mptr:dword
push eax ebx ecx
mov ecx,[mptr]
cmp ecx,0
jz @f
mov eax,68
mov ebx,13
int 0x40
@@:
pop ecx ebx eax
ret
endp
;ôóíêöèÿ äëÿ ïåðåðàñïðåäåëåíèÿ ïàìÿòè
;otput:
; eax = pointer to memory
align 4
proc mem_ReAlloc, mptr:dword, size:dword
push ebx ecx edx
mov edx, [mptr]
mov ecx, [size]
mcall 68, 20
pop edx ecx ebx
ret
endp
mem.alloc dd ? ;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè
mem.free dd ? ;ôóíêöèÿ äëÿ îñâîáîæäåíèÿ ïàìÿòè
mem.realloc dd ? ;ôóíêöèÿ äëÿ ïåðåðàñïðåäåëåíèÿ ïàìÿòè
dll.load dd ?
 
;----------------------------------------------------
;EditBox
138,8 → 101,17
align 16
use_text_edit
 
;input:
; eax = óêàçàòåëü íà ôóíêöèþ âûäåëåíèÿ ïàìÿòè
; ebx = ... îñâîáîæäåíèÿ ïàìÿòè
; ecx = ... ïåðåðàñïðåäåëåíèÿ ïàìÿòè
; edx = ... çàãðóçêè áèáëèîòåêè (ïîêà íå èñïîëüçóåòñÿ)
align 16
init:
lib_init:
mov [mem.alloc], eax
mov [mem.free], ebx
mov [mem.realloc], ecx
mov [dll.load], edx
ret
 
 
147,7 → 119,7
EXPORTS:
 
 
dd sz_init, init
dd sz_init, lib_init
dd sz_version, 0x00000001
 
dd sz_edit_box, edit_box
/programs/develop/libraries/box_lib/trunk/t_edit.mac
1,6 → 1,6
; ¬ ªà®á ¤«ï á¨á⥬­®© ¡¨¡«¨®â¥ª¨ box_lib.obj
; í«¥¬¥­â TextEditor ¤«ï Kolibri OS
; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 17.05.2010 IgorA
; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 09.06.2010 IgorA
; ­  ª®¤ ¯à¨¬¥­¥­  GPL2 «¨æ¥­§¨ï
 
;input:
154,7 → 154,7
 
mov ecx,sizeof.symbol
imul ecx,ted_max_chars
call mem_Alloc ;¢ë¤¥«ï¥¬ ¯ ¬ïâì
invoke mem.alloc,ecx ;¢ë¤¥«ï¥¬ ¯ ¬ïâì
mov ted_tex,eax
mov ted_tex_1,eax
add ted_tex_1,sizeof.symbol
166,7 → 166,7
;-------------------------------------------------
mov ecx,1024 ;1024 - ¤«ï ¬ áᨢ  ted_arr_key_pos
add ecx,ted_syntax_file_size
call mem_Alloc
invoke mem.alloc,ecx
mov ted_arr_key_pos,eax
add eax,1024
mov ted_syntax_file,eax
255,8 → 255,8
proc ted_delete, edit:dword
push edi
mov edi,dword[edit]
stdcall mem_Free,ted_tex
stdcall mem_Free,ted_arr_key_pos ;ted_syntax_file
invoke mem.free,ted_tex
invoke mem.free,ted_arr_key_pos ;ted_syntax_file
pop edi
ret
endp
1204,7 → 1204,7
add ecx,ted_max_chars
mov ted_max_chars,ecx
imul ecx,sizeof.symbol
stdcall mem_ReAlloc, ted_tex,ecx
invoke mem.realloc, ted_tex,ecx
mov ebx,ted_tex
mov ted_tex,eax
mov ted_tex_1,eax
3946,7 → 3946,7
je .no_save
 
mov ecx,ted_max_chars
call mem_Alloc
invoke mem.alloc,ecx
push eax ;§ ¯®¬¨­ ¥¬ 㪠§ â¥«ì ­  ¢ë¤¥«¥­­ãî ¯ ¬ïâì
 
mov edx,ted_tex
3999,7 → 3999,7
@@:
 
pop ecx ;§ ¯¨á뢠¥¬ 㪠§ â¥«ì ­  ¢ë¤¥«¥­­ãî ¯ ¬ïâì
stdcall mem_Free,ecx
invoke mem.free,ecx
.no_save:
popad
ret
/programs/develop/libraries/box_lib/trunk/tree_list.mac
1,6 → 1,6
; ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj
; ýëåìåíò TreeList äëÿ Kolibri OS
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 15.05.2010 IgorA
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 09.06.2010 IgorA
; íà êîä ïðèìåíåíà GPL2 ëèöåíçèÿ
 
 
27,7 → 27,7
xor ecx,ecx
mov cx,tl_info_size
imul ecx,tl_info_max_count
call mem_Alloc
invoke mem.alloc,ecx
mov dword[edi],eax ;êîïèðóåì óêàçàòåëü íà ïîëó÷åíóþ ïàìÿòü â ñòðóêòóðó
mov tl_data_img,0 ;îáíóëÿåì óêàçàòåëü 'data_img'
mov tl_data_img_sys,0 ;îáíóëÿåì óêàçàòåëü 'data_img_sys'
34,7 → 34,7
 
mov ecx,sizeof.TreeList
imul ecx,tl_info_max_count
call mem_Alloc
invoke mem.alloc,ecx
mov tl_data_nodes,eax ;êîïèðóåì óêàçàòåëü íà ïîëó÷åíóþ ïàìÿòü â ñòðóêòóðó
 
push dword edi
70,15 → 70,15
mov edi,dword[tlist]
cmp tl_data_img,0
je @f
stdcall mem_Free,tl_data_img ;÷èñòêà ñèñòåìíûõ èêîíîê
invoke mem.free,tl_data_img ;÷èñòêà ñèñòåìíûõ èêîíîê
@@:
cmp tl_data_img_sys,0
je @f
stdcall mem_Free,tl_data_img_sys ;÷èñòêà ñèñòåìíûõ èêîíîê
invoke mem.free,tl_data_img_sys ;÷èñòêà ñèñòåìíûõ èêîíîê
@@:
stdcall mem_Free,dword[edi]
invoke mem.free,dword[edi]
 
stdcall mem_Free,tl_data_nodes
invoke mem.free,tl_data_nodes
pop edi
ret
endp