Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : loader problème de code [ Archives / Autres asm ] (TRAX44)

vendredi 11 juillet 2003 à 16:12:10 | loader problème de code

TRAX44

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

mov ax , 4201h ; debut de file size
mov bx , [handle]
mov cx , 0
mov dx , 0
int 21h
jnc pabug
jmp bug
pabug:

mov [save1] , cx
mov [save2] , dx

mov ax , 4202h
mov bx , [handle]
mov cx , 0
mov dx , 0
int 21h
jnc pabug2
jmp bug
pabug2:

push dx
push ax

mov dx , [save2]
mov cx , [save1]
mov ax , 4200h
mov bx , [handle]
int 21h
jnc pabug3
jmp bug
pabug3:


pop ax
pop dx
mov [size1] , ax ; le fichier fait moins de 256 octets!! pa besoin de dx

mov ah , 00h ; 1° point d'arret
int 16h


mov ax , 3F00h ; debut de la lecture du fichier
mov bx , [handle]
mov cx , size1 ; nombres de bytes . lire
mov dx , [charge] ; buffer ou va ^tre transfererle fichier!!
int 21h

jnc suiv2
jmp erreur2
suiv2:

mov ax , 3E00h ; debut de fermeture du fichier
mov bx , [handle]
int 21h
jnc suiv3
jmp erreur3
suiv3:

mov dx , [gud] ; message kom koi sa c bien pass, sauf k'il ne s'affcihe pa
mov ah, 09h
int 21h

mov ah , 00h ; 2° point d'arret
int 16h

mov ax , 0B800h ; message FIN en vert
mov es , ax
mov ah , 010b
mov al , 'F'
mov [es:40] , ax
mov al , 'I'
mov [es:42] , ax
mov al , 'N'
mov [es:44] , ax

mov ah , 00h ; troisième points d'arrets
int 16h

jmp [charge] ; est censé chargé le prog en mémoire

ret

erreur:
mov dx , err1
mov ah , 09h
int 21h

mov ah , 00h
int 16h
ret

erreur2:
mov dx , err2
mov ah , 09h
int 21h
mov ah , 00h
int 16h
ret

erreur3:
mov dx , err3
mov ah , 09h
int 21h
mov ah , 00h
int 16h
ret

bug:
mov dx , bug1
mov ah , 09h
int 21h
mov ah , 00h
int 16h
ret



dimanche 13 juillet 2003 à 02:00:50 | Re : loader problème de code

CoreBreaker

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.

Core Breaker




Cette discussion est classé dans : int, mov, ax, 21h, dx


Répondre à ce message

Sujets en rapport avec ce message

petit probleme de debutant [ par freekc ] j'essaie de faire un ptit prog que lorsque l'on rentre son nom prenom etc . Il y est un recapitulatif qui se mette en dessous ms lorsque que le recapi Problème de restitution d'une chaîne. [ par Sawteeth ] Bonsoir. Je viens de débuter l'assembleur et j'ai tenté de faire un petit programme qui lit une chaîne au clavier et l'affiche à l'écran. Le problème Mini OS !! debut [ par Hardouz ] salut a tous ! je debut en ASM je vx bosser un px en ASM je connais l'architechture ect !!! j'ai fais un pti programme mais il ya un probléme 1/ lors assembleur/ patronyme [ par maxverypainful ] Bonjour, je suis nouveau en tant qu'étudiant en informatique de gestion et j'ai une question concernant un code que nous devons créer.Il a pour but de tp assembleur i3 pour la FST [ par babbiverus ] main proc mov ax,@Datamov ds, axmov si,offset tabmov cx, 16mov bx,0saisie:  mov dx,offset commande;afficher "saisir un nombre"mov ah,9int 21hmov ah, 1 interruption [ par aboulkhir ] salut j essaye de gerer le clavier en interruption en asselmbleur voila mon programme je travaille sous debug en invite de commande de windowsclimo TSR & Détournement d'interrupt(ion) [ par ghuysmans99 ] bonjour à tous.j'ai fait un petit prog en asm 32bits pour dos mais il ne fonctionne pas ... reste à savoir pourquoi !!pourriez-vous m'aider ??;Change Problème de saisie [ par RootASM ] Bonjour,Voila, je dois faire une présentation en ASM.1. Entrez un matricule de au moins et au maximum 4 chiffre uniquement 2. Saisir le nom et prenom probleme avec un bootloader [ par anonyme_man_in_this_world ] salut !! je voudrais coder un bootloader , tous ce compile bien ,je copie / colle le fichier .BIN dans une disquette ,mais lors le redemmarrage d Modifer le vecteur d'interruptions [ par vecchio56 ] Bonjour J'essaie de refaire la source http://www.cppfrance.com/code.aspx?ID=33558 en assembleur (ca consiste à modifier la routine de l'interruption 0


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.