Assembleur 8086

Fermé
amani boubaker Messages postés 4 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 1 mai 2013 - 19 avril 2013 à 21:19
 djamel - 11 janv. 2015 à 19:13
bonjour;
j'ai un problème dans un exercice consiste à afficher la valeur 19 en langage assembleur 8086 en utilisant la méthode de division successif par 10 svp aider moi et merci d'avance

1 réponse

nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
Modifié par nicocorico le 20/04/2013 à 08:22
Bonjour,

Mais, si tu sais déjà ce que tu dois afficher pourquoi s'obliger à le calculer? Il suffit d'afficher 1 et 9...
Toutefois si tu dois faire cette division, hé bien le mieux serais d'apprendre à la faire, c'est tout de même une base cruciale!
Et il n'y a rien de compliqué d'ailleurs. Par exemple:
Mov   EAX,19    // On charge 19 dans EAX 
Mov   ECX,10    // On charge 10 car la division n'autorise pas les valeurs immédiates 
Xor   EDX,EDX   // Il faut mettre EDX à 0 car la division peut se faire avec le reste d'une précédente division, et il y a une erreur fatale si ce reste dépasse le diviseur, 10...  
Div   ECX      // On divise, par la suite EAX contient le résultat et EDX       le reste, c'est à dire respectivement 1 et 9... 
// Si on est malgré tout obligé de continuer la division, il suffit de remettre EDX à zéro: 
Xor   EDX,EDX 
Div   ECX 

et voilà!


Le chêne aussi était un gland, avant d'être un chêne
3
merci bcp
0