192,7 → 192,7 |
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 |
call l_lib_init_error_window |
notify_window_run [arrea_xx] ; ᮧ¤ ¥¬ ®ª® @notify |
i_exit: |
pop ebx |
} |
;--------------------------------------------------------------------- |
|
;output: |
; eax - ¥á«¨ ã¤ ç® â® 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 |
call l_lib_init_error_window |
notify_window_run [arrea_xx] ; ᮧ¤ ¥¬ ®ª® @notify |
i_exit: |
pop ebx |
;--------------------------------------------------------------------- |
} |
|
441,6 → 445,7 |
; myimport - ¨¬¯®àâ¨àã¥¬ë¥ äãªæ¨¨ |
;output: |
; eax - ¥á«¨ ã¤ ç® â® 0 ¨«¨ 㪠§ â¥«ì ¨¬ï äãªæ¨¨ ª®â®àãî ¥ 㤠«®áì § £à㧨âì |
; ebx - à §àãè ¥âáï |
macro import_boxlib myimport |
{ |
local import_loop |
452,9 → 457,10 |
local exit |
local import_not_found |
; initialize import |
|
push esi |
mov edx, eax |
mov esi,myimport |
cld |
import_loop: |
lodsd ;mov eax,dword[esi] ;add esi,4 ;¯®«ãç ¥¬ ¢ eax 㪠§ â¥«ì ¨¬ï ¨¬¯®àâ¨à㥬®© äãªæ¨¨ |
test eax, eax |
465,6 → 471,7 |
test ebx, ebx |
jz import_not_found ;¥á«¨ 㪠§ â¥«ì ¨¬ï äãªæ¨¨ = 0 (¢ ¡¨¡«¨®â¥ª¥) |
push eax ;eax - 㪠§ â¥«ì ¨¬ï íªá¯®àâ¨à㥬®© äãªæ¨¨ (¢ ¯®«ì§®¢ ⥫ì᪮© ¯à®£à ¬¬¥) |
align 4 |
lp: |
mov cl, [eax] |
cmp cl, [ebx] ;áà ¢¨¢ ¥¬ ¨¬¥ äãªæ¨© ¢ ¡¨¡«¨®â¥ª¥ ¨ ¢ ¯®«ì§®¢ ⥫ì᪮© ¯à®£à ¬¬¥ |
512,6 → 519,7 |
import_done: |
xor eax,eax ;=0 ¢á¥ § £à㧨«®áì ã¤ ç® |
exit: |
pop esi |
} |
;--------------------------------------------------------------------- |
|