1) some programs use new macros load_lib.mac

2) bcc32 add example use libimg.obj

git-svn-id: svn://kolibrios.org@8236 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2020-11-22 13:13:45 +00:00
parent 8311f3e3c4
commit faf7939a32
27 changed files with 417 additions and 412 deletions

View File

@@ -192,7 +192,7 @@ macro sys_load_library library_name__, library_path__, system_path__, myimport,
local i_begin
local i_error
local i_exit
push ebx
mcall SF_SYS_MISC,SSF_LOAD_DLL,system_path__ ; load of sys directory
test eax,eax
jnz i_begin
@@ -218,15 +218,18 @@ align 4
call l_lib_init_error_window
notify_window_run [arrea_xx] ; ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> @notify
i_exit:
pop ebx
}
;---------------------------------------------------------------------
;output:
; eax - <20>᫨ 㤠筮 <20><> 0
macro load_library library_name__, library_path__, system_path__, myimport, point_dir_name__
{
local i_begin
local i_error
local i_exit
push ebx
if point_dir_name__ eq
copy_path library_name__, [32], library_path__,0
else
@@ -252,6 +255,7 @@ align 4
call l_lib_init_error_window
notify_window_run [arrea_xx] ; ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> @notify
i_exit:
pop ebx
;---------------------------------------------------------------------
}
@@ -441,6 +445,7 @@ pop ebx eax
; myimport - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A5AC> <20>㭪樨
;output:
; eax - <20>᫨ 㤠筮 <20><> 0 <20><><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20>㭪樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E3A7A8>
; ebx - ࠧ<><E0A0A7><EFBFBD><E8A0A5><EFBFBD>
macro import_boxlib myimport
{
local import_loop
@@ -452,9 +457,10 @@ local import_done
local exit
local import_not_found
; initialize import
push esi
mov edx, eax
mov esi,myimport
mov esi, myimport
cld
import_loop:
lodsd ;mov eax,dword[esi] ;add esi,4 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20> eax 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A5AC> <20>㭪樨
test eax, eax
@@ -465,6 +471,7 @@ import_find:
test ebx, ebx
jz import_not_found ;<3B>᫨ 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20>㭪樨 = 0 (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
push eax ;eax - 㪠<><E3AAA0><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><E3A5AC> <20>㭪樨 (<28> <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>)
align 4
lp:
mov cl, [eax]
cmp cl, [ebx] ;<3B><EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪権 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20> <20><><EFBFBD><EFBFBD><ECA7AE><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
@@ -512,6 +519,7 @@ import_not_found:
import_done:
xor eax,eax ;=0 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E3A7A8><EFBFBD><EFBFBD> 㤠筮
exit:
pop esi
}
;---------------------------------------------------------------------