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 :

Faire une pause en mode réel


Sujet :

x86 16-bits Assembleur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 30
    Points
    30
    Par défaut Faire une pause en mode réel
    Bonjour à tous,

    Comment fait-on une pause dans un programme en mode réel???
    Je ne peux accéder à aucune librairie car c'est un bootloader.

    Merci d'avance, mmaximum

  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
    Bonsoir,

    Si tu utilises un proc 386 ou +, tu as la fonction 86h de l'interruption 15h

    utilisation :

    AH=86h
    CXX = valeur 32 bits en microsecondes

    voila, c'est tout

    a+ Francois

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    Est-ce que ça bloque le programme ??? J'ai pas l'impression que ça marche.
    J'ai testé avec qemu et ça ne fait pas de pause.
    Voici le bout de code pour faire la pause :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mov ah,86h
    mov cx,001eH
    mov dx,8480H
    int 15h
    Normalement, ça fais une pause de 2 secondes. Mais ça ne marche pas, ça lance directement le code qui se situe après.
    Ai-je fait une erreur dans ce bout de code ????

  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
    Ton code doit marcher sur une machine en mode reel et non pas sous un OS
    en mode protege qui emule du mode reel.

    a+ Francois

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    J'ai essayé sur un vieux PC x86 que j'avais récupérer.
    ça boot sur la disquette et ça marche!! Merci à vous tous!
    Je comprend toujours pas pourquoi ca marche pas sous qemu.

  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
    Ca ne marche pas non plus avec un programme DOS sous XP

    J'ai donc remplace cette fonction par des boucles imbriquees (mais il faut
    controler la vitesse de la machine avant pour definir les bonnes valeurs)


    a+ Francois

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/11/2005, 17h33
  2. [console]Comment faire une pause?
    Par aminee009 dans le forum MFC
    Réponses: 5
    Dernier message: 20/10/2005, 10h33
  3. Faire une pause
    Par loutente dans le forum Access
    Réponses: 5
    Dernier message: 03/10/2005, 17h23
  4. Faire une pause dans le programme
    Par shinobi dans le forum Access
    Réponses: 6
    Dernier message: 13/06/2005, 16h37
  5. [MFC] Faire une pause dans un thread
    Par Kevgeii dans le forum MFC
    Réponses: 3
    Dernier message: 21/02/2005, 11h49

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