Assembleur 8086

amani boubaker Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
 djamel -
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   Statut Membre Dernière intervention   138
 
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
djamel
 
merci bcp
0