Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur > x86 16-bits
x86 16-bits Architecture x86 16 bits et ses outils (assembleurs, debuggers, émulateurs...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/11/2012, 20h59   #1
triana
 
Femme
Étudiant
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : -1
Points : -1
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
triana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2012, 21h55   #2
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 614
Points : 11 089
Points : 11 089
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.
Obsidian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2012, 09h41   #3
triana
 
Femme
Étudiant
Inscription : novembre 2011
Messages : 60
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2011
Messages : 60
Points : -1
Points : -1
merci obsidian, mais je ne vois pas l'interet de ce bit lors de la transmission des données
triana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2013, 12h10   #4
DomDA91
Membre du Club
 
Homme
Rédacteur technique (retraité)
Inscription : octobre 2009
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 70
Localisation : France

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

Informations forums :
Inscription : octobre 2009
Messages : 21
Points : 46
Points : 46
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).
DomDA91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h59.


 
 
 
 
Partenaires

Hébergement Web