Voir la version complète : Division décimale en assembleur
Je n'espère pas vraiment la réponse ici mais je la pose quand même...
Je voudrais faire une division réelle et pouvoir afficher les décimales d'un chiffre facilement.
Pour être concrêt :
Je dois écrire un programme pour mon examen qui résout une équation du premier degré à n inconnues.
Afin de résoudre mon problème de décimale, j'ai tout transformé en fraction et fait le calcul en fractions. Par contre, je voudrais quand même afficher le résultat en nombre décimale...
Exemple : x = 17/22 = 0,77272727...
Est-ce que quelqu'un a une vague idée de comment cela fonctionne ?
:hello:
Geek lâcheur
22/05/2007, 18h06
Tu as essayé les modulos ?
%, qui permet de fournir le reste de la division...
(en tous cas c'est ce que je fait en python, il doit y avoir un equivalent dans ton langage...)
Le truc, c'est que ... non :loose:
Il n'y a rien en assembleur comme truc du genre. Déjà, pour diviser tu utilises les registres d'opérande qui n'acceptent pas la décimale.
En fait la seule possibilité est de se créer une fonction qui fait la division en récupérant le reste et puis qui redivise le reste, etc...
Ensuite de faire des ces divers résultats, un nombre que tu multiplies par 10 puis 100, etc. et enfin d'afficher séparément la valeur unitaire, puis afficher le caractère virgule ou point puis ce que tu as calculé...
Vraiment casse-burne quoi :ouin:
Vraiment casse-burne quoi
C'est exactement le souvenir de mon cours d'assembleur :chicos:
Les décalage de bit, les registres et tout le tralala, ma nature impatiente détestait tout ce qui était bas niveau :lol:
Les décalage de bit
Un petit coup de chirurgie et normalement tout ça sera vite redressé ! :mrgreen:
(sorry)
Bah finalement je n'afficherai que des fractions; les 50 lignes de codes n'en valent pas la peine... :tongue:
Geek lâcheur
23/05/2007, 06h47
Tu as posé ta question ailleurs ? t'as eu des réponses ? :hello:
J'en ai discuté avec un pote du cours :hello:
Pour faire ce genre de truc à l'époqe du 8088, j'utilisais les décalages en base 10.
Le système des modulos (AX/EAX ou DX/EDX, me rappelle plus) fonctionne aussi mais force une structure de type boucle REPNZ (pour une division juste) ou LOOP (avec en gros CX égal au nombre de décimales) qui est tout sauf esthétique.
/Tgx
Un petit coup de chirurgie et normalement tout ça sera vite redressé ! :mrgreen:
(sorry)
:tusors:
C'est marrant je suis pile en train de faire les équation en cours :lol:
:Lis le mot "Assembleur":
:pars en courant: :goutte:
Assembleur koikece?? :inculte mode on:
un langage?
... tu vas me dire, le pascal c'est pas utilisé par des millions de gans non plus..... :souvenirs de cours de deug...:
L'assembleur c'est le langage de la carte mère il me semble.
Presque, du microprocesseurs plus précisément.
Ouais c'est quasiment le language de plus bas niveau. C'est juste au dessus du 000100101.
je n'is pas trops eu de temps de chercher dans mes vieux codes
mais tu devrais trouver des truc ici
http://asm.developpez.com/
vBulletin® v.3.7.6, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org