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

x86 16-bits Assembleur Discussion :

Interruption 13h extension


Sujet :

x86 16-bits Assembleur

  1. #1
    Membre à l'essai
    Femme Profil pro
    PKL
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : PKL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Points : 11
    Points
    11
    Par défaut Interruption 13h extension
    Bonsoir,

    Je programme avec assembleur et j'ai un probleme avec l'extension 13h elle n'est pas reconnue ni par emu8086 ni tasm, comment faire ?

    Cordialement.

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 307
    Points : 42 705
    Points
    42 705
    Par défaut
    Qu'entends-tu par non reconnue ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    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
    Bonjour,

    Ne ne comprends pas ce que TASM n'accepte pas puisque l'int 13h est juste une interruption.

    Par contre, que le BIOS d'un 8086 n'aie pas les extensions de l'int 13h c'est plutôt normal car
    elles ne sont apparues qu'avec les disques de "grande" taille dans le milieu des années 90

  4. #4
    Membre à l'essai
    Femme Profil pro
    PKL
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : PKL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    Merci pour vos réponses.

    Chrtophe, non reconnue : il me demande de modifier la table des interruptions.

  5. #5
    Membre confirmé Avatar de bifur
    passe le balais et l'aspirateur
    Inscrit en
    Mars 2008
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : passe le balais et l'aspirateur

    Informations forums :
    Inscription : Mars 2008
    Messages : 314
    Points : 550
    Points
    550
    Par défaut
    est ce que c'est tasm qui te demande de modifier ta table des interruptions ou bien est ce emu8086?

    si c'est tasm je me demande comment il fait pour savoir que la table des interruption est vide

    si c'est emu8086 (ce qui me semble plus probable) je pense qu'il y a un paramètre a regler pour virtualiser un environnement de type pc, vu que le processeur 8086 ne se monte pas forcément sur un pc et peut alors démarrer avec une table de vecteur d'interruption vide
    je ne suis pas un expert de emu8086, j'ai voulue essayer le logiciel mais il ne tourne pas sous linux

  6. #6
    Membre à l'essai
    Femme Profil pro
    PKL
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : PKL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    J'ai essayé mon programme sur les 2.

  7. #7
    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
    euh... sur les deux quoi ?

    Si ton programme tourne via un émulateur, normal que l'int 13h ne fonctionne que de façon très limitée.
    Les accès disques sont réservés à l'OS, sinon il serait trop facile de planter une machine

  8. #8
    Membre à l'essai
    Femme Profil pro
    PKL
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : PKL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    LEs deux tasm et emu8086

  9. #9
    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
    Ok, donc tu n'as testé ton programme qu'une fois alors, car Emu8086 est un émulateur et TASM un compilateur... c'est pas trop la même chose

    Question : tu sais ce que tu fais ? ou tu essayes des trucs au hasard ?
    Et si tu veux qu'on puisse t'aider, il faudrait nous en dire un peu plus sur ce que tu veux faire, et pourquoi pas nous montrer un bout de code

  10. #10
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 307
    Points : 42 705
    Points
    42 705
    Par défaut
    Sur un émulateur digne de ce nom, l'int 13h fonctionne. L'int 13h était déjà utilisée avec les 8086, elle gère aussi les lecteurs de disquette. Même si le BIOS ne comportait pas la gestion des disques durs, la carte contrôleur les installaient. Au niveau émulateur, c'est directement intégré je pense Y a t'il un "disque dur" dans l'émulateur ?

    Comme le dis Forthman, on ne sait pas ce que tu veux faire, ni ou tu en es.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  11. #11
    Membre à l'essai
    Femme Profil pro
    PKL
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : PKL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    Bonsoir,

    Merci pour vous réponses.

    En effet je parle l'extension de l'interruption 13h avec ah=42 afin d'effectuer une lecture logique (adressage LBA) d'un disque dur. sur mon programme il m'indique que cette extension n'est pas encore implémentée (extension non trouvée). Faut-il changer le vecteur d’interruption? ou écrire directement le code opération de cette extension (que je ne connais pas).

  12. #12
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 307
    Points : 42 705
    Points
    42 705
    Par défaut
    Si l'adressage LBA n'est pas implémenté dans ton émulateur, tu ne pourras pas l'utiliser. Change d'émulateur. Tu peux essayer bochs, en plus il y a un deboggeur intégré.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  13. #13
    Invité
    Invité(e)
    Par défaut emu8086
    En faite emu8086 est un émulateur très limité pour ne pas dire pourrit:
    Le mode pas à pas en mettant TF du registre de Flag à 1 ne fonctionne pas
    Il supporte qu'un nombre très réduit d'interruptions et des fonctions du BIOS
    EX: int 13h
    -seul les fonctions: d'initialisation, de lecture et d'écriture ( de disquette) sont supportées

    Remarque:
    =======

    tu peux émuler un disque dur en écrivant un périphérique que tu liera a un port d'ému8086

    Avantage:
    ======
    Tu vois les instructions exécuter l'une après l'autres

  14. #14
    Invité
    Invité(e)
    Par défaut _ _ _
    Sous emu8086, lorsque vous déclencher une interruption non définit (c'est à dire dans la table d'interruption, si le segment et l'offset du gestionnaire d'interruption sont égales à 0), il t'affiche un message du genre interruption non définit ou non supportées.
    Mais même si il est pourrit il est quand même possible de détourner les interruptions.

    J'ai utilisé emu8086 plus de 100 fois, je pense le connaître suffisamment pour pouvoir t'aidé, donc si t'as des questions n'hésite pas.

  15. #15
    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
    Ce qui est sûr, c'est que l'OS faisant tourner l'émulateur ne te laissera pas écrire sur un disque dur.

  16. #16
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 307
    Points : 42 705
    Points
    42 705
    Par défaut
    Bochs est bien foutu, et on peut écrire sur un disque virtuel dans un fichier image, idéal pour les tests.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  17. #17
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Forthman Voir le message
    Ce qui est sûr, c'est que l'OS faisant tourner l'émulateur ne te laissera pas écrire sur un disque dur.
    Je parle de périphérique virtuelle, il serait suicidaire d'accédée directement au disque.

Discussions similaires

  1. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 14h20
  2. extensions d'une interruption du X86
    Par laracroft87 dans le forum C
    Réponses: 3
    Dernier message: 31/12/2007, 22h10
  3. interruption clavier
    Par pyrostan dans le forum C
    Réponses: 4
    Dernier message: 13/01/2003, 18h33
  4. Tracer une ligne droite sans les interruptions
    Par Stef784ever dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 25/11/2002, 02h22
  5. Bouquins d'Assembleur - interruptions matérielles
    Par Stef784ever dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 12/11/2002, 22h23

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