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 :

bit de demie retenue


Sujet :

x86 16-bits Assembleur

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 64
    Points : 13
    Points
    13
    Par défaut bit de demie retenue
    hello

    pouvez-vous me dire c'est quoi l'interet du bit de la demie retenue auxilary flag AF!!!
    je sais qu'il a une relation avec le BCD mais ce n'est pas vraiment clair
    merci

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 620
    Points
    23 620
    Par défaut
    Bonjour,

    Le bit de demi-retenue est l'état de la retenue à mi-chemin d'une opération, lors d'une propagation de la droite vers la gauche comme on le fait dans les opérations arithmétiques ordinaires telles qu'on les apprend à l'école.

    C'est intéressant notamment lorsque le résultat d'une opération tient sur dans un champ deux fois plus grand que les opérandes initiales, ce qui est le cas de la multiplication par exemple.

    C'est également intéressant lorsque l'on travaille au niveau de l'octet, parce que ce bit correspond à la retenue après quatre bits, ce qui en principe est inaccessible (pour ainsi dire aucun processeur moderne, à quelques exceptions près, ne travaille en quatre bit). Or, quatre bit, c'est exactement :

    • Un chiffre hexadécimal (de 0 à F) ou
    • Le nombre de bits occupé par un chiffre décimal en BCD.


    La demi-retenue te permet donc d'examiner l'état de la retenue au niveau du chiffre.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 64
    Points : 13
    Points
    13
    Par défaut
    merci obsidian, mais je ne vois pas l'interet de ce bit lors de la transmission des données

  4. #4
    Membre éclairé

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 807
    Points
    807
    Par défaut
    Le rôle de l'indicateur AF est fondamental pour le fonctionnement interne des instructions arithmétiques BCD "packée".

    En effet une addition BCD se programme au moyen de deux instruction successives : ADD (ou ADC) suivi d'une instruction spécifique, DAA (ajustement décimal pour l'addition BCD).
    Le processus est similaire pour la soustraction : SUB (ou SBB) suivi de DAS (ajustement décimal pour la soustraction BCD).

    L'indicateur AF, conjointement avec l'indicateur CF font le lien entre les deux instructions successives.

    L'instruction d'ajustement (DAA ou DAS) analyse le résultat de l'addition (ou soustraction) binaire précédente ainsi que les indicateurs AF et CF pour décider si elle doit ou non procéder à une correction pour donner un résultat BCD correct.

    Hors cela, l'indicateur AF est effectivement de peu d'intérêt pour le programmeur. Pour s'en convaincre il suffit de constater qu'Intel, le concepteur du microprocesseur, n'a prévu aucune instruction de saut conditionnel (Jcc) exploitant directement cet indicateur.

    Néanmoins un cas d'emploi pourrait être, par exemple, de détecter un dépassement de capacité pour des nombres BCD dont la limite serait fixée à un nombre impair de chiffres décimaux (pour un nombre pair, c'est CF qu'il faudrait tester).

Discussions similaires

  1. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25
  2. Main icon (16 bits)
    Par DR dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/09/2002, 08h23
  3. Cherche l'algo crc 16 bits
    Par icepower dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 21/08/2002, 13h27
  4. Debugger 16-32 bits
    Par Mat dans le forum Assembleur
    Réponses: 4
    Dernier message: 28/06/2002, 11h34
  5. Lire 1 bit d'un fichier en C
    Par Anonymous dans le forum C
    Réponses: 3
    Dernier message: 23/05/2002, 18h31

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