begin process at 2012 05 25 06:30:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Débutant(e)

 > 

Convertisseur Euro


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Convertisseur Euro

mardi 27 février 2007 à 13:34:09 | Convertisseur Euro

glad

Bonjour,

J'ai écrit l'interface d'un convertisseur euro avec RadAsm (enfin il a presque tout fait )...
Je cherche comment convertir les montants de mes textbox en cliquant sur un des deux boutons (F->€ ou €->F)...

hEdit1 = francs
hEdit2 = Euros

Je patauge complet...

Merci...
à++

mardi 27 février 2007 à 14:03:53 | Re : Convertisseur Euro

_dune2_

Membre Club
Salut,


Je suis un peu troublé par la question ...

La conversion est une simple règle de 3 :
euro = franc/6,55957 (ex : 6.55fr -> 1€)
franc = euro*6,55957 (ex : 1€ -> 6.55fr)

Pour celà, on pourra utiliser les instructions fmul et fdiv qui permettent, respectivement, de multiplier et de diviser des flottants stockés dans la pile du FPU.
Ou alors utiliser imul et idiv en utilisant 6,55957*65536 comme coéfficient pour rester dans le domaine des entiers :
euro = ((429888 * franc) >> 16)

voili-voilà ....

La où je suis un peu troublé, c'est de voir que les gens se lancent dans des projets intégrants des interfaces graphiques, voir des problèmes complexes (résolution de sudoku récemment) sans même connaitre la base du calcul en asm (add sub mul ...) ...

Gentoo... que du bonheur ...
mardi 27 février 2007 à 15:32:15 | Re : Convertisseur Euro

glad

Re

En fait, j'ai écrit un mini convertisseur en VB et en C mais il leur faut des DLL complémentaire, je trouve pas ça très satisfaisant.
J'ai réfléchit, et me suis dit que l'assembleur serait pas mal pour faire ça.

Le calcul euro n'a rien de complexe je sais :-)
Mais ça m'a donné envie de faire de l'asm...
J'aime bien avoir un projet pour commencer à apprendre un langage ...

Donc je devrais faire un truc comme ça :

euro     db 6.55957

   mov eax,euro
   fld hEdit2    fmul
   fistp hEdit1

J'ai hEdit2 qui pointe sur le textbox € et hedit1 qui pointe sur le textbox F 

Hum, mais ça fonctionne pas


mardi 27 février 2007 à 16:38:57 | Re : Convertisseur Euro

_dune2_

Membre Club
salut,




Dans ton exemple, tu charges "euro" dans le registre "eax", mais tu ne t'en sers pas.
( je ne connais pas l'équivalent de "db" pour stocker un "float" en Masn, mais en considérant que c'est "df" ;) ) je l'aurais plutot écrit comme celà :

**************************
euro   df   6.55957

fld    [euro];    // charge m32f dans ST(0)
fmul [hEdit2]; // multiplie m32f avec ST(0) et stock le résultat dans ST(0)
fst    [hEdit1]; // décharge ST(0) dans un m32f
**************************

Par contre, attention !
Mon exemple considère que hEdit1 et hEdit2 sont des pointeurs vers des variables de type FLOAT en mémoire.

Si ces références (hEdit1 et hEdit2) sont des références vers les textBox, il faut extraire les valeurs FLOAT de ces textBox ... et ça, ça dépasse mes connaissance car je suis développeur sous linux/unix ... et je ne maitrise absolument pas la gestion des objets microsoftiens ;) (d'où ma reflexion sur la complexité du programme ;) ).
Essai de passer en référence à la fonction de ta dll non pas les refs vers les textBoxs, mais directement les VALEURS FLOAT dans la pile des paramètres. Ainsi, il te suffira de remplacer "hEdit1" par "ESP+4" et "hEdit2" par "ESP+8" dans l'exemple.

dune2.

Gentoo... que du bonheur ...
mercredi 28 février 2007 à 01:36:49 | Re : Convertisseur Euro

BruNews

Administrateur CodeS-SourceS
VB, il faut des DLLs, évident c'est de l'interprété donc on passe le sujet.

En C absolument non:
- GetWindowText()
- atof()
- calcul donné plus haut
- sprintf()
- SetWindowText
et tu obtiens un exe indépendant, si pas le cas tu changes illico de compilo pour un correct.

En asm je mets toujours les constantes réelles en format hexa
f32  DD  hexa32ICI
f64  DQ  hexa64ICI
et va tip top. VC++ pratique d'ailleurs ainsi en interne.

Petit outil pour obtenir ces constantes:
http://www.cppfrance.com/code.aspx?ID=41170
C'est fait pour bosser en SSE mais adaptable FPU en qlqs minutes.

ciao...
BruNews, MVP VC++
mercredi 28 février 2007 à 09:04:11 | Re : Convertisseur Euro

glad

Merci pour ces pistes, je vais voir tout ça et vous tiens au courant...
à++


Cette discussion est classée dans : convertisseur, euro


Répondre à ce message

Sujets en rapport avec ce message

Convertisseur [ par chetflo ] avez vous déjà fait un convertisseur décimal en binaire si oui montré moi le code source convertisseur A/N programme. [ par 76sheva ] bonjour [^^happy13] . je suis un débutant dans l'électronique et je veux réalisé un voltmètre, j'ai un organigramme de ce petit projet j'ai suivi les Conseil pour config PC [ par Infrajazz ] Bonsoir , je souhaiterai obtenir quelques conseil au sujet d'une configuration potentiel que je pense acheter . Budget: autour de 500 euro Utilisatio


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales