Assembleur 8086
Fermé
maya
-
4 févr. 2006 à 20:28
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 5 mai 2008 à 21:32
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 5 mai 2008 à 21:32
11 réponses
Yonnel.BALEZ
Messages postés
7
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
6 février 2006
2
6 févr. 2006 à 12:04
6 févr. 2006 à 12:04
L'algorithme est senssiblement le même que lorsque tu fais une addition à la main.
Sauf qu'il faut utiliser les instruction BCD sur 20 chiffres.
Commence par programmer une addition de deux chiffres, ajouté à deux autres chiffres en BCD
exemple 12+34
tu commence par programmer 2+4 = 6
ici tu n'a pas de retenue
ensuite tu fait 1+3=4
en généralisant l'opération tu pourra voir comment placer tes boucles pour rendre le programme général.
Je ne me suis jamais servi de ces instructions, car je pense que c'est complètement dépassé. On peut faire nettement mieux en travaillant sur des chaines d'octets en base 256 sur le même algorithme. C'est ce j'ai fait. J'additionne, soustrait et multiplie des chaînes d'octets de longueur quelconque (<32000 octets).
Si tu y arrive en BCD , merci de me communiquer ton programme car cela m'interesse à titre d'information et d'exemple...
Sauf qu'il faut utiliser les instruction BCD sur 20 chiffres.
Commence par programmer une addition de deux chiffres, ajouté à deux autres chiffres en BCD
exemple 12+34
tu commence par programmer 2+4 = 6
ici tu n'a pas de retenue
ensuite tu fait 1+3=4
en généralisant l'opération tu pourra voir comment placer tes boucles pour rendre le programme général.
Je ne me suis jamais servi de ces instructions, car je pense que c'est complètement dépassé. On peut faire nettement mieux en travaillant sur des chaines d'octets en base 256 sur le même algorithme. C'est ce j'ai fait. J'additionne, soustrait et multiplie des chaînes d'octets de longueur quelconque (<32000 octets).
Si tu y arrive en BCD , merci de me communiquer ton programme car cela m'interesse à titre d'information et d'exemple...
j'ai un problème de manipulation de tableau avec l'assemble 8086 est aussi pour les boucles j'ai besoin d'exercice corrigés ,merci
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
5 mai 2008 à 21:32
5 mai 2008 à 21:32
Pour un nouveau problème => ouvrez un nouveau sujet!
Merci de votre compréhension.
Merci de votre compréhension.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je veux justement savoir c'est quoi exactement l'utilité de la procedure dans un programme en assembleur8086,ca sert a quoi exactement.merci
Bonjour
pour l'utilité, à part pédagogique (argument passe-partout), bof...
Je suppose que ton prof veut te faire utiliser l'instruction DAA qui permet, après une addition de 2 octets (2 chiffres + 2 chiffres d'un seul coup) de retrouver un résultat en BCD. Je n'ai pas de manuel assembleur 8086 sous la main pour^être plus précis, mais si tu l'étudies tu dois bien avoir le jeu d'instructions avec les explications détaillées.
pour l'utilité, à part pédagogique (argument passe-partout), bof...
Je suppose que ton prof veut te faire utiliser l'instruction DAA qui permet, après une addition de 2 octets (2 chiffres + 2 chiffres d'un seul coup) de retrouver un résultat en BCD. Je n'ai pas de manuel assembleur 8086 sous la main pour^être plus précis, mais si tu l'étudies tu dois bien avoir le jeu d'instructions avec les explications détaillées.
Salut,
Moi également je cherches ces exos corrigés si poss avec le 8051 si jamais un connaisseur peut nous aider n'hésitez pas.
merci
Bibipol
Moi également je cherches ces exos corrigés si poss avec le 8051 si jamais un connaisseur peut nous aider n'hésitez pas.
merci
Bibipol
salut tou le monde
j'ai vraiment besoin à des exercices corrigés en programmation assembleur pour les processeurs INTEL
SVP aidez moi
j'ai vraiment besoin à des exercices corrigés en programmation assembleur pour les processeurs INTEL
SVP aidez moi
je vx s il vous plais le corrige de se programme: un programme ki renvoie le nombre d onccurences d 1 caractere ds 1 chaine de caracteres; et le caractere et la chaine doivent etre lus. et merci bcq
bonsoir,g 1gros pb,je cherche la correction du pb suivant:ecrire 1programme en assembleur qui permet de tracer deux axe de longueur l, paralelle,et de largeur w.la longueur l et la largeur w sont d parametre a saisir.j'attend 1reponse rapidement mercie.
bourbet mouloud
Messages postés
8
Date d'inscription
mercredi 28 novembre 2007
Statut
Membre
Dernière intervention
16 décembre 2007
28 nov. 2007 à 09:04
28 nov. 2007 à 09:04
bonjour
concerant l'addition de deux nombres en 32bits n'est pas sorcier.ce qu'il faut connaitre c'est juste les registres utilises:il faut qu'ils soient de taille 32 bits seulement commme:AX, BX, ......ETC.merci et bon courage.
concerant l'addition de deux nombres en 32bits n'est pas sorcier.ce qu'il faut connaitre c'est juste les registres utilises:il faut qu'ils soient de taille 32 bits seulement commme:AX, BX, ......ETC.merci et bon courage.
Bonjour,
AX, BX etc font 16 bits et pas 32
ADD fera une addition en binaire, pas en BCD
mais l'instruction à utiliser après l'addition n'est pas DAA (ça c'est du Z80) mais AAD (voir https://fr.wikipedia.org/wiki/Jeu_d%27instruction_x86#Instructions_originale_des_8086.2F8088)
AX, BX etc font 16 bits et pas 32
ADD fera une addition en binaire, pas en BCD
mais l'instruction à utiliser après l'addition n'est pas DAA (ça c'est du Z80) mais AAD (voir https://fr.wikipedia.org/wiki/Jeu_d%27instruction_x86#Instructions_originale_des_8086.2F8088)