begin process at 2012 02 08 05:35:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Processeurs

 > 

Autre

 > 

Division en assembleur


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

Division en assembleur

mardi 16 juin 2009 à 18:17:25 | Division en assembleur

Haox85

Bonsoir tout le monde,
J'aimerai savoir comment faire pour diviser un nombre en assembleur.

En réalité, j'ai une valeur sur 10 bits qui représente la moyenne de 8 conversions analogiques. Mon signal analogique varie de 0 à 4,5V. J'aimerai que la moyenne représente un pourcentage de ce signal.

Donc si j'ai une moyenne correspondant à 2,25V, j'aimerai qu'il devienne 50 en décimal et ainsi l'afficher sur deux 7 segments

Merci de votre aide :)
mercredi 17 juin 2009 à 11:29:02 | Re : Division en assembleur

ToutEnMasm

Se servir du fpu,
a titre d'exemple un proc qui extrait un pourcentage d'une valeur
attention aux types de nombres entrés,chose non précisé dans le message.
Les intrustions peuvent être différentes si on utilise des réels,...
Içi il s'agit d'entiers (integer)
Attention aussi à l'état de la pile fpu (null en sortie)

PourCent proc PRIVATE source:DWORD, percent:DWORD
;  invoke   PourCent,Xresolution,80         ;80 % de Xresolution
 LOCAL var1:DWORD

 mov var1, 100   ; to divide by 100
 FINIT    
 fild source     ; load source integer
 fild var1       ; load 100
 fdiv            ; divide source by 100
 fild percent    ; load required percentage
 fmul            ; multiply 1% by required percentage
 fist var1       ; store result in variable
 mov eax, var1

 ret
PourCent endp

mercredi 17 juin 2009 à 14:25:23 | Re : Division en assembleur

Haox85

Bonjour,
Merci de votre réponse.

Je ne sais pas vraiment comment appliquer votre méthode... (je suis encore un bleu en asm)

J'aimerai que la moyenne des conversions se trouvant sur 10 bits soit réduite en une valeur comprise entre 0x0 et 0x64 pour être afficher sur deux 7 segments. Mon résultat ne doit donc être un entier.

De plus, j'utilise un PIC18F2525 et je n'ai pas vu dans son datasheet une fonction fpu, ni même une instruction nommée fdiv...

Je ne sais vraiment pas comment faire.

Merci


Cette discussion est classée dans : assembleur, division, moyenne, signal, représente


Répondre à ce message

Sujets en rapport avec ce message

turbo assembleur 5.0 [ par andromida ] S.V.P aidez moi a écrire un code tasm qui fait: *saisir 20 [b]entiers[/b] comme etant des ages dans un tableau *determiner en un seul parcou programme assembleur (TASM) structuré en macros [ par faffou2189 ] slt j'arrive pas à saisir une chaine de caracère à partir du clavier et dont la lecture doit s'arrêter à la rencontre de #. et je veux calculer la tai programme assembleur (TASM) capable de saisir et d'analyser une chaine de caractéres? [ par chester89 ] Slt tt le monde [^^drapeaublanc] Aide moi a ecrire un programme assembleur qui charge ue chaine de caractere en leur memoire central puis il fait ce t cours débutant en assembleur (intel !) [ par Cpcdos ] Bonjour , j'ai 15 je crée des gros programmes qui fonctionne sous windows il se nomme Microsf01 Cpcdos sf01, j'ai commencé a 10 ans mon " OS " sur am Commandes principaux (que jdemande^^) Assembleur [ par Cpcdos ] Bonjour j'ai 15 ans, je débute l'assembleur, ayant essayé plusieurs compilateurs (Nasm,Fasm,Tasm,Masm) , j'ai choisis le [size=200]Nasm[/size]. et je assembleur [ par walid750000 ] je souhaite modifié int23h dans le vecteur d'interruption a cherche comment charger cette interreuption dans registre a fin de la garder intact et pou Assembleur / C++ !! A L'AIDE!! [ par lbp2 ] Bonsoir, Je cherche un livre qui pourait m'aprandre l'assembleur de A à Z, et aussi le C++. J'ai de petit conaissence en C et je suis un expert dans assembleur rosasm [ par calamsro ] Bonjour Je tente de me mettre à l'assembleur en utilisant rosasm Dans un exemple qu'ils donnent il y a l'instruction call 'user32.messageboxA',0 etc.. probleme en assembleur [ par keli1 ] salut comment je peux comparer 2 tableaux de bits de meme taille en utilisant "ET" exemple comparer 100000 et 011100 je travaille avec le tasm merci assembleur [ par lamine135 ] salut , mon problème s'agit que j'ai 2 entrées et 2 sorties la première entrée active la première sortie durant 30 secondes mais si la deuxième entrée


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,718 sec (4)

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