IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Retour erreur fonction BIOS


Sujet :

Assembleur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 36
    Points : 22
    Points
    22
    Par défaut Retour erreur fonction BIOS
    Bonjour à tous,

    Pour me faire la main en assembleur, j'ai voulu essayer d'accéder à mes clés USB branchées sur mon PC au moment du boot.
    Pour cela j'ai récrit un secteur de boot trouvé sur internet, et j'ai utilisé la fonction d'écriture pour pouvoir éditer le premier secteur de ma clé.

    Voici en extrait du code que j'utilise est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        mov dl,0x82
        mov ax, BASE_TAMPON
        mov es, ax
        mov bx, 0
        mov ah, 3
        mov al, NB_SECTEURS
        mov ch, 0
        mov cl, NUM_SECTEUR
        mov dh, 0
        int 0x13
    Il utilise la fonction 3 de l'interruption 0x13, en copiant les données pointées par [BASE_TAMPON:0] située sur NB_SECTEURS secteurs vers les secteurs commençant au numéro NUM_SECTEUR de la clé.

    Seulement voilà, au retour j'obtiens l'erreur cz=1 avec ah=0x0E.
    D'après la doc trouvé à cet endroit , l'erreur indique "une marque de contrôle détectée" ou la version anglaise trouvée ici : "Control data address mark detected (hard disk)"

    Et malgré de longues recherches sur le sujet, je ne trouve pas d'explications viables. De plus cette fonction marche très bien avec une autre clé.

    Voilà tout,

    En vous remerciant d'avance d'éclairer ma lanterne

    PS : Pour ceux qui ne connaissent pas, le site gladir.com est (à mon goût tout du moins) une excellente compilation d'infos sur la programmation et en particulier sur les interruptions BIOS qui sont accessible par cette adresse

    EDIT : J'ai rajouté l'initialisation de DL

  2. #2
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Salut,

    DL doit contenir le numéro du disque (80h pour le premier disque dur)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Salut,

    Je suppose que tu dois connaître, mais je te met les liens au cas où, ça pourrait t'aider dans l'avenir:
    http://en.wikipedia.org/wiki/Ralf_Br...Interrupt_List
    http://www.cs.cmu.edu/~ralf/files.html

  4. #4
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    edit : je suis une buse, j'avais pas cliqué sur ton lien dans le premier post
    moi j'aime bien ce site là : http://www.gladir.com/LEXIQUE/INTR/INT00A07.HTM

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    Merci pour vos réponses.

    Forthman : J'ai édité mon code : en fait j'initialise DL plus haut dans mon code source complet car j’utilise plusieurs fois le même disque, et comme toutes les fonctions travail avec ce registre, ça m'évite de le recopier.

    n5Rzn1D9dC : Merci pour les liens je vais tenter d'en tirer quelques informations.

    Je continu de chercher de mon coté et je vous tiens au courant

  6. #6
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Petites questions :
    - combien de secteurs essayes-tu d'écrire ?
    - le secteur de départ est-il le premier ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    NB_SECTEURS = 1
    NUM_SECTEUR = 1

    J'ai trouvé des infos sur les mécanismes de "check sum" : est-ce que ça peut-être la source du problème ?

  8. #8
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    ça vient peut-être de la clé... t'as essayé d'en changer ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    Effectivement ça doit venir de la clé, car avec une autre je n'ai pas de problèmes...

    Je cherche actuellement des infos sur "l'architecture" d'une clé USB (contrôleur, formatage de secteur et en-tête, mécanisme de protection, fonctionnement en lecture/écriture). En effet peut être que comprendre certains détails m'aideraient à comprendre le pourquoi de cette erreur.
    Donc si vous avez des ressources sur le sujet, n'hésitez pas à me le transmettre.

    Merci pour vos réponses précédentes et sûrement prochaines

    EDIT : le fait que la clé soit de l'USB 3.0 serait-il source de problème avec l'INT 0x13 ? Par exemple d'une incompatibilité entre protocole ou d'un décalage de génération (INT trop vielle).

  10. #10
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    certaines clés ont un utilitaire intégré qui ne peut être effacé.
    j'ai eu quelques soucis avec lors d'un formatage sous linux...

Discussions similaires

  1. Fonction retour erreur non définie
    Par nO_life dans le forum jQuery
    Réponses: 1
    Dernier message: 03/06/2014, 20h06
  2. Utilisation d'un retour de fonction dans un decode
    Par CFVince dans le forum Oracle
    Réponses: 4
    Dernier message: 20/10/2005, 17h22
  3. [DOM XML] Erreur fonction load() d'un objet dom??
    Par ribrok dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2005, 11h43
  4. Référence en retour de fonction, à transformer en hash
    Par raoulchatigre dans le forum Langage
    Réponses: 4
    Dernier message: 15/07/2005, 14h24
  5. méssage d'erreur fonction d'agrégat
    Par developpeur_mehdi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/03/2004, 12h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo