fix: prise en charge de la projection de librairie a la demande dans la fonction "mbloadfuncs" Correction d'un bogue dans la fonction "mbsearchfunc"

This commit is contained in:
Nicolas Hordé 2007-03-23 16:46:35 +00:00
parent f145c0617c
commit abb4ab5b5a
1 changed files with 10 additions and 7 deletions

View File

@ -667,20 +667,23 @@ PROC mbloadfuncs FAR
@@loadfuncs: @@loadfuncs:
cmp [word ptr si],0 cmp [word ptr si],0
je @@endofloading je @@endofloading
pushad
call biosprint,si
popad
call mbsearchfunc,si call mbsearchfunc,si
jnc @@toendoftext jnc @@toendoftext
mov bx,si mov bx,si
pushad
call biosprint,si
popad
@@findend: @@findend:
inc bx inc bx
cmp [byte ptr bx], ':' cmp [byte ptr bx], ':'
jne @@findend jne @@findend
mov [byte ptr bx],0 mov [byte ptr bx],0
;call projectfile,bx call [cs:projfile],si
jc @@erroronload jc @@erroronload
mov [byte ptr bx],':' mov [byte ptr bx],':'
pushad
call biosprint,si
popad
call mbsearchfunc,si call mbsearchfunc,si
jc @@libnotexist jc @@libnotexist
@@toendoftext: @@toendoftext:
@ -710,18 +713,18 @@ popad
endp mbloadfuncs endp mbloadfuncs
;Recherche une fonction pointé par DS:SI en mémoire et renvoie son adresse en DX:AX ;Recherche une fonction pointé par DS:%0 en mémoire et renvoie son adresse en DX:AX
PROC mbsearchfunc FAR PROC mbsearchfunc FAR
ARG @func:word ARG @func:word
USES bx,si,di,es USES bx,si,di,es
mov bx,[@func] mov bx,[@func]
push bx mov si,bx
@@findend: @@findend:
inc bx inc bx
cmp [byte ptr bx], ':' cmp [byte ptr bx], ':'
jne @@findend jne @@findend
mov [byte ptr bx],0 mov [byte ptr bx],0
call mbfind call mbfind,si
mov [byte ptr bx],':' mov [byte ptr bx],':'
jc @@notfoundattallthesb jc @@notfoundattallthesb
mov es,ax mov es,ax