S'identifier

Voir la version complète : Division décimale en assembleur


Schnick
22/05/2007, 16h20
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...)

Schnick
22/05/2007, 23h15
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:

Lafrite
22/05/2007, 23h28
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:

Dandy
22/05/2007, 23h48
Les décalage de bit

Un petit coup de chirurgie et normalement tout ça sera vite redressé ! :mrgreen:

(sorry)

Schnick
23/05/2007, 01h15
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:

Schnick
23/05/2007, 07h42
J'en ai discuté avec un pote du cours :hello:

Tgx
23/05/2007, 08h08
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

Krae
26/05/2007, 13h43
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:

Reborn
26/05/2007, 15h20
:Lis le mot "Assembleur":

:pars en courant: :goutte:

oniris
28/05/2007, 00h46
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...:

Leaz
28/05/2007, 04h45
L'assembleur c'est le langage de la carte mère il me semble.

Lafrite
28/05/2007, 07h13
Presque, du microprocesseurs plus précisément.

Bubu
28/05/2007, 09h58
Ouais c'est quasiment le language de plus bas niveau. C'est juste au dessus du 000100101.

alien
01/06/2007, 22h47
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/