forked from KolibriOS/kolibrios
deleted function of memory of the 'box_lib.obj' now they are connected through 'lib_init'
all programs that use 'tree_list' and 't_edit' must use 'lib_init' git-svn-id: svn://kolibrios.org@1489 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
4c444c11c9
commit
433be1188e
@ -21,47 +21,10 @@ include 'bl_sys.mac'
|
|||||||
include 'box_lib.mac' ;macro which should make life easier :)
|
include 'box_lib.mac' ;macro which should make life easier :)
|
||||||
|
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
;ôóíêöèÿ äëÿ âûäåëåíèÿ ïàìÿòè
|
mem.alloc dd ? ;функция для выделения памяти
|
||||||
;input:
|
mem.free dd ? ;функция для освобождения памяти
|
||||||
; ecx = size data
|
mem.realloc dd ? ;функция для перераспределения памяти
|
||||||
;otput:
|
dll.load dd ?
|
||||||
; 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
|
|
||||||
|
|
||||||
;----------------------------------------------------
|
;----------------------------------------------------
|
||||||
;EditBox
|
;EditBox
|
||||||
@ -138,8 +101,17 @@ use_path_show
|
|||||||
align 16
|
align 16
|
||||||
use_text_edit
|
use_text_edit
|
||||||
|
|
||||||
|
;input:
|
||||||
|
; eax = указатель на функцию выделения памяти
|
||||||
|
; ebx = ... освобождения памяти
|
||||||
|
; ecx = ... перераспределения памяти
|
||||||
|
; edx = ... загрузки библиотеки (пока не используется)
|
||||||
align 16
|
align 16
|
||||||
init:
|
lib_init:
|
||||||
|
mov [mem.alloc], eax
|
||||||
|
mov [mem.free], ebx
|
||||||
|
mov [mem.realloc], ecx
|
||||||
|
mov [dll.load], edx
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
@ -147,7 +119,7 @@ align 16
|
|||||||
EXPORTS:
|
EXPORTS:
|
||||||
|
|
||||||
|
|
||||||
dd sz_init, init
|
dd sz_init, lib_init
|
||||||
dd sz_version, 0x00000001
|
dd sz_version, 0x00000001
|
||||||
|
|
||||||
dd sz_edit_box, edit_box
|
dd sz_edit_box, edit_box
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj
|
; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj
|
||||||
; í«¥¬¥â TextEditor ¤«ï Kolibri OS
|
; í«¥¬¥â TextEditor ¤«ï Kolibri OS
|
||||||
; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 17.05.2010 IgorA
|
; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 09.06.2010 IgorA
|
||||||
; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï
|
; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
@ -154,7 +154,7 @@ proc ted_init, edit:dword
|
|||||||
|
|
||||||
mov ecx,sizeof.symbol
|
mov ecx,sizeof.symbol
|
||||||
imul ecx,ted_max_chars
|
imul ecx,ted_max_chars
|
||||||
call mem_Alloc ;¢ë¤¥«ï¥¬ ¯ ¬ïâì
|
invoke mem.alloc,ecx ;¢ë¤¥«ï¥¬ ¯ ¬ïâì
|
||||||
mov ted_tex,eax
|
mov ted_tex,eax
|
||||||
mov ted_tex_1,eax
|
mov ted_tex_1,eax
|
||||||
add ted_tex_1,sizeof.symbol
|
add ted_tex_1,sizeof.symbol
|
||||||
@ -166,7 +166,7 @@ proc ted_init, edit:dword
|
|||||||
;-------------------------------------------------
|
;-------------------------------------------------
|
||||||
mov ecx,1024 ;1024 - ¤«ï ¬ áᨢ ted_arr_key_pos
|
mov ecx,1024 ;1024 - ¤«ï ¬ áᨢ ted_arr_key_pos
|
||||||
add ecx,ted_syntax_file_size
|
add ecx,ted_syntax_file_size
|
||||||
call mem_Alloc
|
invoke mem.alloc,ecx
|
||||||
mov ted_arr_key_pos,eax
|
mov ted_arr_key_pos,eax
|
||||||
add eax,1024
|
add eax,1024
|
||||||
mov ted_syntax_file,eax
|
mov ted_syntax_file,eax
|
||||||
@ -255,8 +255,8 @@ align 4
|
|||||||
proc ted_delete, edit:dword
|
proc ted_delete, edit:dword
|
||||||
push edi
|
push edi
|
||||||
mov edi,dword[edit]
|
mov edi,dword[edit]
|
||||||
stdcall mem_Free,ted_tex
|
invoke mem.free,ted_tex
|
||||||
stdcall mem_Free,ted_arr_key_pos ;ted_syntax_file
|
invoke mem.free,ted_arr_key_pos ;ted_syntax_file
|
||||||
pop edi
|
pop edi
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
@ -1204,7 +1204,7 @@ proc ted_memory_increase
|
|||||||
add ecx,ted_max_chars
|
add ecx,ted_max_chars
|
||||||
mov ted_max_chars,ecx
|
mov ted_max_chars,ecx
|
||||||
imul ecx,sizeof.symbol
|
imul ecx,sizeof.symbol
|
||||||
stdcall mem_ReAlloc, ted_tex,ecx
|
invoke mem.realloc, ted_tex,ecx
|
||||||
mov ebx,ted_tex
|
mov ebx,ted_tex
|
||||||
mov ted_tex,eax
|
mov ted_tex,eax
|
||||||
mov ted_tex_1,eax
|
mov ted_tex_1,eax
|
||||||
@ -3946,7 +3946,7 @@ proc ted_but_save_file, edit:dword, file:dword, f_name:dword
|
|||||||
je .no_save
|
je .no_save
|
||||||
|
|
||||||
mov ecx,ted_max_chars
|
mov ecx,ted_max_chars
|
||||||
call mem_Alloc
|
invoke mem.alloc,ecx
|
||||||
push eax ;§ ¯®¬¨ ¥¬ 㪠§ â¥«ì ¢ë¤¥«¥ãî ¯ ¬ïâì
|
push eax ;§ ¯®¬¨ ¥¬ 㪠§ â¥«ì ¢ë¤¥«¥ãî ¯ ¬ïâì
|
||||||
|
|
||||||
mov edx,ted_tex
|
mov edx,ted_tex
|
||||||
@ -3999,7 +3999,7 @@ call ted_fun_save_err
|
|||||||
@@:
|
@@:
|
||||||
|
|
||||||
pop ecx ;§ ¯¨áë¢ ¥¬ 㪠§ â¥«ì ¢ë¤¥«¥ãî ¯ ¬ïâì
|
pop ecx ;§ ¯¨áë¢ ¥¬ 㪠§ â¥«ì ¢ë¤¥«¥ãî ¯ ¬ïâì
|
||||||
stdcall mem_Free,ecx
|
invoke mem.free,ecx
|
||||||
.no_save:
|
.no_save:
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; макрос для системной библиотеки box_lib.obj
|
; макрос для системной библиотеки box_lib.obj
|
||||||
; элемент TreeList для Kolibri OS
|
; элемент TreeList для Kolibri OS
|
||||||
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 15.05.2010 IgorA
|
; ôàéë ïîñëåäíèé ðàç èçìåíÿëñÿ 09.06.2010 IgorA
|
||||||
; на код применена GPL2 лицензия
|
; на код применена GPL2 лицензия
|
||||||
|
|
||||||
|
|
||||||
@ -27,14 +27,14 @@ tl_data_init: ;
|
|||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
mov cx,tl_info_size
|
mov cx,tl_info_size
|
||||||
imul ecx,tl_info_max_count
|
imul ecx,tl_info_max_count
|
||||||
call mem_Alloc
|
invoke mem.alloc,ecx
|
||||||
mov dword[edi],eax ;копируем указатель на полученую память в структуру
|
mov dword[edi],eax ;копируем указатель на полученую память в структуру
|
||||||
mov tl_data_img,0 ;обнуляем указатель 'data_img'
|
mov tl_data_img,0 ;обнуляем указатель 'data_img'
|
||||||
mov tl_data_img_sys,0 ;обнуляем указатель 'data_img_sys'
|
mov tl_data_img_sys,0 ;обнуляем указатель 'data_img_sys'
|
||||||
|
|
||||||
mov ecx,sizeof.TreeList
|
mov ecx,sizeof.TreeList
|
||||||
imul ecx,tl_info_max_count
|
imul ecx,tl_info_max_count
|
||||||
call mem_Alloc
|
invoke mem.alloc,ecx
|
||||||
mov tl_data_nodes,eax ;копируем указатель на полученую память в структуру
|
mov tl_data_nodes,eax ;копируем указатель на полученую память в структуру
|
||||||
|
|
||||||
push dword edi
|
push dword edi
|
||||||
@ -70,15 +70,15 @@ proc tl_data_clear, tlist:dword ;
|
|||||||
mov edi,dword[tlist]
|
mov edi,dword[tlist]
|
||||||
cmp tl_data_img,0
|
cmp tl_data_img,0
|
||||||
je @f
|
je @f
|
||||||
stdcall mem_Free,tl_data_img ;÷èñòêà ñèñòåìíûõ èêîíîê
|
invoke mem.free,tl_data_img ;÷èñòêà ñèñòåìíûõ èêîíîê
|
||||||
@@:
|
@@:
|
||||||
cmp tl_data_img_sys,0
|
cmp tl_data_img_sys,0
|
||||||
je @f
|
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
|
pop edi
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
align 4
|
align 4
|
||||||
boxlib_import:
|
boxlib_import:
|
||||||
|
dd alib_init2 ;функция запускается макросом 1 раз при подключении бибилиотеки, потому в программе метка на нее не нужна
|
||||||
|
|
||||||
edit_box_draw dd aEdit_box_draw
|
edit_box_draw dd aEdit_box_draw
|
||||||
edit_box_key dd aEdit_box_key
|
edit_box_key dd aEdit_box_key
|
||||||
edit_box_mouse dd aEdit_box_mouse
|
edit_box_mouse dd aEdit_box_mouse
|
||||||
@ -44,6 +46,7 @@ boxlib_import:
|
|||||||
tl_get_mem_size dd sz_tl_get_mem_size
|
tl_get_mem_size dd sz_tl_get_mem_size
|
||||||
|
|
||||||
dd 0,0
|
dd 0,0
|
||||||
|
alib_init2 db 'lib_init',0
|
||||||
|
|
||||||
aEdit_box_draw db 'edit_box',0
|
aEdit_box_draw db 'edit_box',0
|
||||||
aEdit_box_key db 'edit_box_key',0
|
aEdit_box_key db 'edit_box_key',0
|
||||||
@ -90,7 +93,7 @@ boxlib_import:
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
libini_import:
|
libini_import:
|
||||||
lib_init_ini dd alib_init0
|
dd alib_init0
|
||||||
ini_get_str dd aini_get_str
|
ini_get_str dd aini_get_str
|
||||||
dd 0,0
|
dd 0,0
|
||||||
alib_init0 db 'lib_init',0
|
alib_init0 db 'lib_init',0
|
||||||
@ -98,7 +101,7 @@ dd 0,0
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
libimg_import:
|
libimg_import:
|
||||||
lib_init dd alib_init1
|
dd alib_init1
|
||||||
img_is_img dd aimg_is_img
|
img_is_img dd aimg_is_img
|
||||||
img_info dd aimg_info
|
img_info dd aimg_info
|
||||||
img_from_file dd aimg_from_file
|
img_from_file dd aimg_from_file
|
||||||
|
48
programs/other/t_edit/mem.inc
Normal file
48
programs/other/t_edit/mem.inc
Normal file
@ -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
|
@ -26,7 +26,7 @@ struct symbol
|
|||||||
ends
|
ends
|
||||||
|
|
||||||
|
|
||||||
hed db 'TextEditor 27.05.10',0 ;¯®¤¯¨áì ®ª
|
hed db 'TextEditor 09.06.10',0 ;¯®¤¯¨áì ®ª
|
||||||
sc system_colors
|
sc system_colors
|
||||||
|
|
||||||
fn_icon db 'te_icon.bmp',0
|
fn_icon db 'te_icon.bmp',0
|
||||||
@ -43,37 +43,6 @@ ted_on_init_synt_err:
|
|||||||
ret
|
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
|
align 4
|
||||||
ted_but_new_file:
|
ted_but_new_file:
|
||||||
push eax ebx
|
push eax ebx
|
||||||
|
@ -13,7 +13,9 @@ fn_icon_tl_nod db 'tl_nod_16.bmp',0
|
|||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
myimport:
|
boxlib_import:
|
||||||
|
dd alib_init2 ;функция запускается макросом 1 раз при подключении бибилиотеки, потому в программе метка на нее не нужна
|
||||||
|
|
||||||
edit_box_draw dd aEdit_box_draw
|
edit_box_draw dd aEdit_box_draw
|
||||||
edit_box_key dd aEdit_box_key
|
edit_box_key dd aEdit_box_key
|
||||||
edit_box_mouse dd aEdit_box_mouse
|
edit_box_mouse dd aEdit_box_mouse
|
||||||
@ -87,6 +89,7 @@ myimport:
|
|||||||
;version_text_edit dd sz_ted_version
|
;version_text_edit dd sz_ted_version
|
||||||
|
|
||||||
dd 0,0
|
dd 0,0
|
||||||
|
alib_init2 db 'lib_init',0
|
||||||
|
|
||||||
aEdit_box_draw db 'edit_box',0
|
aEdit_box_draw db 'edit_box',0
|
||||||
aEdit_box_key db 'edit_box_key',0
|
aEdit_box_key db 'edit_box_key',0
|
||||||
|
@ -21,9 +21,9 @@ maxSyntaxFileSize equ 410000
|
|||||||
|
|
||||||
include '../../proc32.inc'
|
include '../../proc32.inc'
|
||||||
include '../../macros.inc'
|
include '../../macros.inc'
|
||||||
|
include 'mem.inc'
|
||||||
include '../../develop/libraries/box_lib/load_lib.mac'
|
include '../../develop/libraries/box_lib/load_lib.mac'
|
||||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||||
|
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
include '../../develop/libraries/box_lib/asm/trunk/opendial.mac'
|
include '../../develop/libraries/box_lib/asm/trunk/opendial.mac'
|
||||||
use_OpenDialog
|
use_OpenDialog
|
||||||
@ -33,7 +33,7 @@ include 'strlen.inc'
|
|||||||
include 't_draw.inc' ;draw main window functions
|
include 't_draw.inc' ;draw main window functions
|
||||||
include 't_button.inc' ;text work functions
|
include 't_button.inc' ;text work functions
|
||||||
|
|
||||||
@use_library
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,0
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
start:
|
start:
|
||||||
@ -76,7 +76,7 @@ init_OpenDialog OpenDialog_data
|
|||||||
|
|
||||||
; init bmp file
|
; init bmp file
|
||||||
mov ecx,1200*18
|
mov ecx,1200*18
|
||||||
call mem_Alloc
|
stdcall mem.Alloc,ecx
|
||||||
mov [bmp_icon],eax
|
mov [bmp_icon],eax
|
||||||
|
|
||||||
copy_path fn_icon,sys_path,file_name,0x0
|
copy_path fn_icon,sys_path,file_name,0x0
|
||||||
@ -103,7 +103,7 @@ init_OpenDialog OpenDialog_data
|
|||||||
copy_path fn_icon_tl_sys,sys_path,file_name,0x0
|
copy_path fn_icon_tl_sys,sys_path,file_name,0x0
|
||||||
|
|
||||||
mov ecx,3*256*13
|
mov ecx,3*256*13
|
||||||
call mem_Alloc
|
stdcall mem.Alloc,ecx
|
||||||
mov dword[tree1.data_img_sys],eax
|
mov dword[tree1.data_img_sys],eax
|
||||||
|
|
||||||
;mov [run_file_70.Function], 0
|
;mov [run_file_70.Function], 0
|
||||||
@ -126,7 +126,7 @@ init_OpenDialog OpenDialog_data
|
|||||||
copy_path fn_icon_tl_nod,sys_path,file_name,0x0
|
copy_path fn_icon_tl_nod,sys_path,file_name,0x0
|
||||||
|
|
||||||
mov ecx,3*256*2
|
mov ecx,3*256*2
|
||||||
call mem_Alloc
|
stdcall mem.Alloc,ecx
|
||||||
mov dword[tree1.data_img],eax
|
mov dword[tree1.data_img],eax
|
||||||
|
|
||||||
; mov [run_file_70.Function], 0
|
; mov [run_file_70.Function], 0
|
||||||
@ -494,8 +494,7 @@ button:
|
|||||||
stdcall [mb_create],msgbox_8,thread ;message: save changes in file?
|
stdcall [mb_create],msgbox_8,thread ;message: save changes in file?
|
||||||
jmp still
|
jmp still
|
||||||
@@:
|
@@:
|
||||||
mov ecx,[bmp_icon]
|
stdcall mem.Free,[bmp_icon]
|
||||||
call mem_Free
|
|
||||||
|
|
||||||
stdcall [ted_delete], tedit0
|
stdcall [ted_delete], tedit0
|
||||||
stdcall dword[tl_data_clear], tree1
|
stdcall dword[tl_data_clear], tree1
|
||||||
@ -531,7 +530,7 @@ end if
|
|||||||
|
|
||||||
;library structures
|
;library structures
|
||||||
l_libs_start:
|
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
|
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:
|
load_lib_end:
|
||||||
|
|
||||||
|
@ -10,7 +10,9 @@ fn_icon_tl_nod db 'tl_nod_16.bmp',0
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
myimport:
|
boxlib_import:
|
||||||
|
dd alib_init2 ;функция запускается макросом 1 раз при подключении бибилиотеки, потому в программе метка на нее не нужна
|
||||||
|
|
||||||
edit_box_draw dd aEdit_box_draw
|
edit_box_draw dd aEdit_box_draw
|
||||||
edit_box_key dd aEdit_box_key
|
edit_box_key dd aEdit_box_key
|
||||||
edit_box_mouse dd aEdit_box_mouse
|
edit_box_mouse dd aEdit_box_mouse
|
||||||
@ -83,6 +85,7 @@ ted_text_colored dd sz_ted_text_colored
|
|||||||
;version_text_edit dd sz_ted_version
|
;version_text_edit dd sz_ted_version
|
||||||
|
|
||||||
dd 0,0
|
dd 0,0
|
||||||
|
alib_init2 db 'lib_init',0
|
||||||
|
|
||||||
aEdit_box_draw db 'edit_box',0
|
aEdit_box_draw db 'edit_box',0
|
||||||
aEdit_box_key db 'edit_box_key',0
|
aEdit_box_key db 'edit_box_key',0
|
||||||
|
@ -17,11 +17,11 @@ include '../../macros.inc'
|
|||||||
include '../../proc32.inc'
|
include '../../proc32.inc'
|
||||||
include '../../develop/libraries/box_lib/load_lib.mac'
|
include '../../develop/libraries/box_lib/load_lib.mac'
|
||||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||||
|
include '../t_edit/mem.inc'
|
||||||
include 'te_data.inc'
|
include 'te_data.inc'
|
||||||
include 'te_work.inc' ;text work functions
|
include 'te_work.inc' ;text work functions
|
||||||
|
|
||||||
@use_library
|
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,0
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
start:
|
start:
|
||||||
@ -39,7 +39,7 @@ start:
|
|||||||
|
|
||||||
;-------------------------------------------------
|
;-------------------------------------------------
|
||||||
mov ecx,maxSyntaxFileSize
|
mov ecx,maxSyntaxFileSize
|
||||||
call mem_Alloc
|
stdcall mem.Alloc,ecx
|
||||||
mov [options_file],eax
|
mov [options_file],eax
|
||||||
mov [options_file_end],eax
|
mov [options_file_end],eax
|
||||||
add [options_file_end],ecx
|
add [options_file_end],ecx
|
||||||
@ -59,13 +59,13 @@ load_libraries l_libs_start,load_lib_end
|
|||||||
copy_path fn_icon_tl_sys,sys_path,file_name,0
|
copy_path fn_icon_tl_sys,sys_path,file_name,0
|
||||||
|
|
||||||
mov ecx,3*256*13
|
mov ecx,3*256*13
|
||||||
call mem_Alloc
|
stdcall mem.Alloc,ecx
|
||||||
mov dword[tree1.data_img_sys],eax
|
mov dword[tree1.data_img_sys],eax
|
||||||
|
|
||||||
mov [run_file_70.Function], 0
|
mov [run_file_70.Function], 0
|
||||||
mov [run_file_70.Position], 54
|
mov [run_file_70.Position], 54
|
||||||
mov [run_file_70.Flags], 0
|
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 [run_file_70.Buffer], eax
|
||||||
mov byte[run_file_70+20], 0
|
mov byte[run_file_70+20], 0
|
||||||
mov [run_file_70.FileName], file_name
|
mov [run_file_70.FileName], file_name
|
||||||
@ -82,13 +82,13 @@ load_libraries l_libs_start,load_lib_end
|
|||||||
copy_path fn_icon_tl_nod,sys_path,file_name,0
|
copy_path fn_icon_tl_nod,sys_path,file_name,0
|
||||||
|
|
||||||
mov ecx,3*256*2
|
mov ecx,3*256*2
|
||||||
call mem_Alloc
|
stdcall mem.Alloc,ecx
|
||||||
mov dword[tree1.data_img],eax
|
mov dword[tree1.data_img],eax
|
||||||
|
|
||||||
; mov [run_file_70.Function], 0
|
; mov [run_file_70.Function], 0
|
||||||
; mov [run_file_70.Position], 54
|
; mov [run_file_70.Position], 54
|
||||||
; mov [run_file_70.Flags], 0
|
; 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 [run_file_70.Buffer], eax
|
||||||
; mov byte[run_file_70+20], 0
|
; mov byte[run_file_70+20], 0
|
||||||
; mov [run_file_70.FileName], file_name
|
; mov [run_file_70.FileName], file_name
|
||||||
@ -244,8 +244,7 @@ button:
|
|||||||
.exit:
|
.exit:
|
||||||
;push eax
|
;push eax
|
||||||
|
|
||||||
mov ecx,[options_file]
|
stdcall mem.Free,[options_file]
|
||||||
call mem_Free
|
|
||||||
|
|
||||||
stdcall [tl_data_clear], tree1
|
stdcall [tl_data_clear], tree1
|
||||||
stdcall [ted_delete], tedit0
|
stdcall [ted_delete], tedit0
|
||||||
@ -301,7 +300,7 @@ get_wnd_in_focus:
|
|||||||
;@@:
|
;@@:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
hed db 'TextEditor syntax file converter 31.05.10',0 ;¯®¤¯¨áì ®ª
|
hed db 'TextEditor syntax file converter 09.06.10',0 ;¯®¤¯¨áì ®ª
|
||||||
|
|
||||||
txtErrOpen db '<27>¥ ©¤¥ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì®áâì ¨¬¥¨',0
|
txtErrOpen db '<27>¥ ©¤¥ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì®áâì ¨¬¥¨',0
|
||||||
txtErrIni0 db '<27>¥ ®âªàë«áï ä ©« á ¨ª®ª ¬¨',0
|
txtErrIni0 db '<27>¥ ®âªàë«áï ä ©« á ¨ª®ª ¬¨',0
|
||||||
@ -325,38 +324,9 @@ err_message_found_lib1 db 'Sorry I cannot found library msgbox.obj',0
|
|||||||
|
|
||||||
;library structures
|
;library structures
|
||||||
l_libs_start:
|
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:
|
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:
|
i_end:
|
||||||
rb 1024
|
rb 1024
|
||||||
|
Loading…
Reference in New Issue
Block a user