begin process at 2012 05 25 05:19:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Autres asm

 > 

loader problème de code


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

loader problème de code

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ée dans : int, mov, ax, 21h, dx


Répondre à ce message

Sujets en rapport avec ce message

Addition ASM [ par GibsonUSA ] Bonjour a tous, je débute en ASM 16bits et je bloque pour faire une addition de deux chiffres saisis par l'utilisateur. Voila ce que j'ai fais. A l' probleme d'affichage d'une soustraction [ par calimerros ] [u]Bonjour à tous et à toutes.[/u] Voici un programme que je réalise et je bloque au niveau de l'affichage d'une soustraction (SUB). Pour moi mon pr 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 Saisie & Calcul de sa taille de caractère en tasm [ par baz13shaz ] je veut saisir une chaine de caractère & calculer sa taille,et je veut charger la chaine saisie en mémoire centrale? que doit je faire? comment je peu Voir si un caractère est dans une chaine [ par Wayth ] Bonsoir, Je viens sur votre forum car je n'arrive pas à trouver un label fonctionnel pour voir si un caractère se trouve ou non dans une chaîne de ca 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 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,435 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales