Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

28/05/2007 #1


Regla de tres en ensamblador
Una pregunta simple para muchos seguramente pero ke a mi m trae de cabeza........ como se hace una simple regla de tres en ensamblador, es que me solucionaria la mitad de los problemas de un programa que estoy haciendo.

Gracias de antemano.
28/05/2007 #2


depende mucho del numero bits, velocidad...

Pero es muy interesante saber que rotando a la derecha o a la izquierda se divide o se multiplica por 2

Siempre que se pueda se debe trabajar con potencias de 2 (2,4,8,16..) o tomar muestras 2^n por ejemplo para hacer una media, se suman 4 valores y se rota dos veces y ya tienes la media.
28/05/2007 #3


No se si no m explico o no entiendo... yo lo que necesito es algo que haga lo tipico de:
(numeros inventados)
Si 15-------> 3
Entonces 30-------> X
x= (30*3)/15= 6

No se como hacer algo asi en ensamblador, si alguien tiene un programa que use eso o simplemente sabe como se hace pues que m lo diga, es algo que me hace falta para que funcione un programa que tengo sin tener que realizar cosas mas complicadas que ni entiendo....
28/05/2007 #4


te aconsejaria que trabajaras mejor con micros que tuvieran la funcion MULT y/o DIV.

En todo caso en piclist.com tienen rutinas aritmeticas que te podrian servir
30/05/2007 #5


Mirando por ahi he visto programas que multiplican o dividen numeros pero la mayoria no funcionan, si alguien tiene algun programa que multiplique o divida numeros que se le den y que sepa que funciona, se lo agradeceria porque una regla de tres no es mas que multiplicar y luego dividir..... ayudaria muxo de verdad.

(si encima viene con una explicacion "para tontos" de que hace y demas pues ya seria como pa daros un abrazo, que soy bastante malo programando en ensamblador, se me daba mejor el c)

Ya siento ser pesao pero ya que por mi mismo no puedo hacerlo tengo que intentar encontrar gente que sabe mas que yo.
Gracias
30/05/2007 #6


googlea un poco pic math libraries

http://www.piclist.com/techref/microchip/math/index.htm

Title: PIC16C5x/PIC16Cxx Utility Math Routines
Name: AN526
http://www.microchip.com/stellent/id...pnote=en011000

itle: Math Utility Routines
Name: AN544
http://www.microchip.com/stellent/id...pnote=en011088

Debes tener en cuenta que las funciones de multiplicacion y division consumen bastantes recursos no se debe abusar demasiado de ellas sobretodo en bucles
31/05/2007 #7


esas paginas las habia mirado pero el problema es que el pic que tengo es un 16f87 y lo que pone ahi es que es para el 16CXX. No se si vale para el mio...
31/05/2007 #8


Puedes usar tablas.
Saludos
31/05/2007 #9


te vale perfectamente los asm de cualquier pic16.

Los pic van por familias los pic12, pic16,pic18 .
Los pic12 y pic16 basicamente son lo mismo, bueno para los puristas los 12 les faltan algunas instrucciones.

Cualquier pic16 lo que es la CPU es la misma, un pic16f877 es igual a un pic16f84 o el viejo pic16c54, lo que cambia son los perifericos, unos tienen cserie, otros tienen pocas patas, otros comparadores...

Si el codigo es como tu caso matematico y por tanto no detende de los perifericos es un copy paste directo.

Esto te permite pasar/reutilizar codigo facilmente.
31/05/2007 #10


si batallas demasiado con el asm , usa Pic Basic
01/06/2007 #11


gracias por aclararme lo de las familias de pics, yo pensaba que cada uno era distinto en ese sentido, si avanzo ya os comentare.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.