TRAX44
Messages postés93Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention20 juillet 2006
-
11 juil. 2003 à 16:12
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 2007
-
13 juil. 2003 à 02:00
salut tout le monde !!
g essayer de faire un loader (petit prog qui charge un autre prog) mais c un desartre je comprend pas très bien ce qui ne marche pas surtout que la première fois (après de démarrage) que je lance le prog chez moi il ne plante qu'à la fin alors que la second fois c plus tôt ?????
bon ben voici le code (g tellement essayer de trucs différtents que il est plus très claire! :-/
[BITS 16]
[ORG 0x0100]
jmp start
gud db "Bravo tout c'est bien d‚roul‚$"
err2 db "Une erreur est survenue lors de la lecture du fichier$"
err3 db "Une erreur est survenue lors de l'apelle de la fermeture$"
err1 db 13 , 10 , "Une erreur est surveue lors de l'apelle de 3D42h" , 13 , 10 ,"$"
bug1 db "Vous avez bugger!!! toute mes condolehance lol?"
fichier db "noyau.com0"
size1 db ""
handle dw 0
save1 dw 0
save2 dw 0
charge times 0110110b db 0
start:
mov dx , fichier
mov ax , 3D42h
int 21h
jnc suiv1
jmp erreur
suiv1:
mov [handle] , ax ; fin de l'ouverture du fichier
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 13 juil. 2003 à 02:00
J'ai pas regardé entièrement tout le code mais il y a déjà une erreur qui peut provoquer un plantage.
Dans la variable fichier doit se terminer par un caractère nul (chaine ASCIIZ) et par le caractère zéro. En effet, c'est ce que requiert la fonction 3Dh de l'interruption 21h. Tu dois définir ta varible ainsi:
fichier db "noyau.com", 0
Essaie et puis on verra si tu as un autre plantage.