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
/programs/other/planet_v/pl_import.inc
1,5 → 1,7
align 4
boxlib_import:
dd alib_init2 ;ôóíêöèÿ çàïóñêàåòñÿ ìàêðîñîì 1 ðàç ïðè ïîäêëþ÷åíèè áèáèëèîòåêè, ïîòîìó â ïðîãðàììå ìåòêà íà íåå íå íóæíà
 
edit_box_draw dd aEdit_box_draw
edit_box_key dd aEdit_box_key
edit_box_mouse dd aEdit_box_mouse
44,6 → 46,7
tl_get_mem_size dd sz_tl_get_mem_size
 
dd 0,0
alib_init2 db 'lib_init',0
 
aEdit_box_draw db 'edit_box',0
aEdit_box_key db 'edit_box_key',0
90,7 → 93,7
 
align 4
libini_import:
lib_init_ini dd alib_init0
dd alib_init0
ini_get_str dd aini_get_str
dd 0,0
alib_init0 db 'lib_init',0
98,7 → 101,7
 
align 4
libimg_import:
lib_init dd alib_init1
dd alib_init1
img_is_img dd aimg_is_img
img_info dd aimg_info
img_from_file dd aimg_from_file
/programs/other/t_edit/mem.inc
0,0 → 1,48
;-----------------------------------------------------------------------------
proc mem.Alloc,size ;/////////////////////////////////////////////////////////
;-----------------------------------------------------------------------------
push ebx ecx
mov ecx,[size]
;*** add ecx,4
mcall 68,12
;*** add ecx,-4
;*** mov [eax],ecx
;*** add eax,4
pop ecx ebx
ret
endp
 
;-----------------------------------------------------------------------------
proc mem.ReAlloc,mptr,size ;//////////////////////////////////////////////////
;-----------------------------------------------------------------------------
push ebx ecx edx
mov ecx,[size]
or ecx,ecx
jz @f
;*** add ecx,4
@@: mov edx,[mptr]
or edx,edx
jz @f
;*** add edx,-4
@@: mcall 68,20
or eax,eax
jz @f
;*** add ecx,-4
;*** mov [eax],ecx
;*** add eax,4
@@: pop edx ecx ebx
ret
endp
 
;-----------------------------------------------------------------------------
proc mem.Free,mptr ;//////////////////////////////////////////////////////////
;-----------------------------------------------------------------------------
push ebx ecx
mov ecx,[mptr]
or ecx,ecx
jz @f
;*** add ecx,-4
@@: mcall 68,13
pop ecx ebx
ret
endp
/programs/other/t_edit/t_button.inc
26,7 → 26,7
ends
 
 
hed db 'TextEditor 27.05.10',0 ;¯®¤¯¨áì ®ª­ 
hed db 'TextEditor 09.06.10',0 ;¯®¤¯¨áì ®ª­ 
sc system_colors
 
fn_icon db 'te_icon.bmp',0
43,38 → 43,7
ret
 
 
;-----------------------------------------------------------------------------
;äã­ªæ¨ï ¤«ï ¢ë¤¥«¥­¨ï ¯ ¬ïâ¨
;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
ted_but_new_file:
push eax ebx
stdcall [ted_can_save], tedit0
/programs/other/t_edit/t_data.inc
13,7 → 13,9
 
;---------------------------------------------------------------------
align 4
myimport:
boxlib_import:
dd alib_init2 ;ôóíêöèÿ çàïóñêàåòñÿ ìàêðîñîì 1 ðàç ïðè ïîäêëþ÷åíèè áèáèëèîòåêè, ïîòîìó â ïðîãðàììå ìåòêà íà íåå íå íóæíà
 
edit_box_draw dd aEdit_box_draw
edit_box_key dd aEdit_box_key
edit_box_mouse dd aEdit_box_mouse
87,6 → 89,7
;version_text_edit dd sz_ted_version
 
dd 0,0
alib_init2 db 'lib_init',0
 
aEdit_box_draw db 'edit_box',0
aEdit_box_key db 'edit_box_key',0
/programs/other/t_edit/t_edit.asm
21,9 → 21,9
 
include '../../proc32.inc'
include '../../macros.inc'
include 'mem.inc'
include '../../develop/libraries/box_lib/load_lib.mac'
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
 
include 'lang.inc'
include '../../develop/libraries/box_lib/asm/trunk/opendial.mac'
use_OpenDialog
33,7 → 33,7
include 't_draw.inc' ;draw main window functions
include 't_button.inc' ;text work functions
 
@use_library
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,0
 
align 4
start:
76,7 → 76,7
 
; init bmp file
mov ecx,1200*18
call mem_Alloc
stdcall mem.Alloc,ecx
mov [bmp_icon],eax
 
copy_path fn_icon,sys_path,file_name,0x0
103,7 → 103,7
copy_path fn_icon_tl_sys,sys_path,file_name,0x0
 
mov ecx,3*256*13
call mem_Alloc
stdcall mem.Alloc,ecx
mov dword[tree1.data_img_sys],eax
 
;mov [run_file_70.Function], 0
126,7 → 126,7
copy_path fn_icon_tl_nod,sys_path,file_name,0x0
 
mov ecx,3*256*2
call mem_Alloc
stdcall mem.Alloc,ecx
mov dword[tree1.data_img],eax
 
; mov [run_file_70.Function], 0
494,8 → 494,7
stdcall [mb_create],msgbox_8,thread ;message: save changes in file?
jmp still
@@:
mov ecx,[bmp_icon]
call mem_Free
stdcall mem.Free,[bmp_icon]
 
stdcall [ted_delete], tedit0
stdcall dword[tl_data_clear], tree1
531,7 → 530,7
 
;library structures
l_libs_start:
lib0 l_libs boxlib_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l0, myimport,err_message_import0, head_f_i0
lib0 l_libs boxlib_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l0, boxlib_import,err_message_import0, head_f_i0
lib1 l_libs msgbox_name, sys_path, file_name, system_dir1, err_message_found_lib1, head_f_l0, msgbox_lib_import, err_message_import1, head_f_i0
load_lib_end:
 
/programs/other/t_edit_synt/te_data.inc
10,7 → 10,9
;---------------------------------------------------------------------
 
align 4
myimport:
boxlib_import:
dd alib_init2 ;ôóíêöèÿ çàïóñêàåòñÿ ìàêðîñîì 1 ðàç ïðè ïîäêëþ÷åíèè áèáèëèîòåêè, ïîòîìó â ïðîãðàììå ìåòêà íà íåå íå íóæíà
 
edit_box_draw dd aEdit_box_draw
edit_box_key dd aEdit_box_key
edit_box_mouse dd aEdit_box_mouse
83,6 → 85,7
;version_text_edit dd sz_ted_version
 
dd 0,0
alib_init2 db 'lib_init',0
 
aEdit_box_draw db 'edit_box',0
aEdit_box_key db 'edit_box_key',0
/programs/other/t_edit_synt/te_syntax.asm
17,11 → 17,11
include '../../proc32.inc'
include '../../develop/libraries/box_lib/load_lib.mac'
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
 
include '../t_edit/mem.inc'
include 'te_data.inc'
include 'te_work.inc' ;text work functions
 
@use_library
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,0
 
align 4
start:
39,7 → 39,7
 
;-------------------------------------------------
mov ecx,maxSyntaxFileSize
call mem_Alloc
stdcall mem.Alloc,ecx
mov [options_file],eax
mov [options_file_end],eax
add [options_file_end],ecx
59,13 → 59,13
copy_path fn_icon_tl_sys,sys_path,file_name,0
 
mov ecx,3*256*13
call mem_Alloc
stdcall mem.Alloc,ecx
mov dword[tree1.data_img_sys],eax
 
mov [run_file_70.Function], 0
mov [run_file_70.Position], 54
mov [run_file_70.Flags], 0
mov [run_file_70.Count], 3*256*13
mov [run_file_70.Count], ecx
mov [run_file_70.Buffer], eax
mov byte[run_file_70+20], 0
mov [run_file_70.FileName], file_name
82,13 → 82,13
copy_path fn_icon_tl_nod,sys_path,file_name,0
 
mov ecx,3*256*2
call mem_Alloc
stdcall mem.Alloc,ecx
mov dword[tree1.data_img],eax
 
; mov [run_file_70.Function], 0
; mov [run_file_70.Position], 54
; mov [run_file_70.Flags], 0
mov [run_file_70.Count], 3*256*2
mov [run_file_70.Count], ecx
mov [run_file_70.Buffer], eax
; mov byte[run_file_70+20], 0
; mov [run_file_70.FileName], file_name
244,8 → 244,7
.exit:
;push eax
 
mov ecx,[options_file]
call mem_Free
stdcall mem.Free,[options_file]
 
stdcall [tl_data_clear], tree1
stdcall [ted_delete], tedit0
301,7 → 300,7
;@@:
ret
 
hed db 'TextEditor syntax file converter 31.05.10',0 ;¯®¤¯¨áì ®ª­ 
hed db 'TextEditor syntax file converter 09.06.10',0 ;¯®¤¯¨áì ®ª­ 
 
txtErrOpen db '¥ ­ ©¤¥­ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì­®áâì ¨¬¥­¨',0
txtErrIni0 db '¥ ®âªàë«áï ä ©« á ¨ª®­ª ¬¨',0
325,38 → 324,9
 
;library structures
l_libs_start:
lib0 l_libs boxlib_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l0, myimport,err_message_import0, head_f_i0
lib0 l_libs boxlib_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l0, boxlib_import,err_message_import0, head_f_i0
load_lib_end:
 
;-----------------------------------------------------------------------------
;äã­ªæ¨ï ¤«ï ¢ë¤¥«¥­¨ï ¯ ¬ïâ¨
;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
 
i_end:
rb 1024