feat: ajout de la fonction fileexec permetant l'execution directe d'un fichier. La liberation de la mémoire n'est pas encore prise en compte.

This commit is contained in:
Nicolas Hordé 2004-10-30 19:55:45 +00:00
parent 8a5dcd0172
commit 4b570f7995
1 changed files with 40 additions and 0 deletions

View File

@ -69,6 +69,7 @@ tables dw readsector
dw writecluster dw writecluster
dw getdir dw getdir
dw projfile dw projfile
dw execfile
maxfunc equ 24 maxfunc equ 24
@ -156,6 +157,45 @@ errorload:
mov ecx,0 mov ecx,0
pop di bx eax pop di bx eax
ret ret
;============execfile (Fonction 18)===============
;Execute le fichier ds:si
;-> AH=18
;<- Flag Carry si erreur
;=====================================================
execfile:
pushad
pushf
push ds es fs gs
mov ah,17
int 48h
jc reallyerror
push cs
mov ax,offset arrive
push ax
push es
push 0100h
push es
push es
push es
pop ds
pop fs
pop gs
push 7202h
popf
sti
db 0CBh
arrive:
cli
pop gs fs es ds
popf
popad
ret
reallyerror:
pop gs fs es ds
popf
popad
ret
;============projfile (Fonction 17)=============== ;============projfile (Fonction 17)===============
;Charge le fichier ds:si sur un bloc mémoire -> ecx taille -> es bloc ;Charge le fichier ds:si sur un bloc mémoire -> ecx taille -> es bloc