Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

como calcular un cos(phi) en ensamblador

327 views
Skip to first unread message

gabriel artesero garces

unread,
Oct 20, 2001, 4:39:35 AM10/20/01
to
hola grupo estoy haciendo un proyecto y necesito calcular el cos(phi),
(desfase entre tension y corriente) pero lo debo hacer en lenguaje
ensamblador.Es decir el cos de un angulo. si alguien sabe de alguna pagina
o aplicación me sería de gran utilidad. un saludo y muchas gracias.


Enviado desde http://robotica.aforo.com
¿Quieres el buscador de es.ciencia.electronica en tu web?
http://www.aforo.com/webmasters.asp


Asig

unread,
Oct 20, 2001, 2:34:21 PM10/20/01
to
No sé para qué procesador usarás ensamblador; suponiendo que es para uno de
la familia Intel, mírate las instrucciones del coprocesador matemático i387
el las páginas de Intel www.intel.com . (Documento 24319101.pdf. Capítulo
3), (En inglés)

En asm i387 puedes usar
asm
FLD dword [direccion_phi]; //Carga en ST(0) valor double precision
donde se encuentra phi
FCOS; //En ST(0) Está cos(phi)
FSTP dword [direccion_salida]; //Extrae de la pila cos(phi) y lo guarda en
[direccion_salida] (double precision)
end;

Para ir haciendo pruebas de que esto funciona a mi me gusta usar el Turbo
Debuger (TD.exe). No sé en dónde lo puedes conseguir.

Suerte.

"gabriel artesero garces" <gabriel...@terra.com> escribió en el mensaje
news:9qrd87$4hl$1...@talia.mad.ttd.net...

GasparV

unread,
Oct 21, 2001, 1:07:09 PM10/21/01
to
On 20 Oct 2001 08:39:35 GMT, gabriel artesero garces
<gabriel...@terra.com> wrote:

>hola grupo estoy haciendo un proyecto y necesito calcular el cos(phi),
>(desfase entre tension y corriente) pero lo debo hacer en lenguaje
>ensamblador.Es decir el cos de un angulo.

El ángulo, en radianes. Imagino que usarás un Pentium ¿no?, pues el
procesador matemático del Pentium te lo calcula con una simple
instrucción. No espero que pretendas desarrollar un algoritmo de
cálculo del coseno...


http://Saludos.de/gaspar
Palma.

Yo

unread,
Oct 22, 2001, 9:56:20 AM10/22/01
to
Hola Gabriel,

Si ya tienes phi calculado y lo que quieres hacer es simplemente
calcular su coseno, es facil. Puedes utilizar el desarrollo en serie :

Cos(x)=1-(x^2)/2+(x^4)/24-(x^6)/420+...

Quizá sea un poco 'caro' en tiempo de cálculo, pero con cuatro términos
del desarrollo tienes una precisión de más de una milésima.

Si lo que quieres es calcular phi a partir de la señal de tensión e
intensidad, entonces es algo más complicado, pregunta y te cuento.

Saludos

mcesar

unread,
Oct 22, 2001, 1:04:50 PM10/22/01
to

Para poder decirte algo necesito saber más cosas. ¿Tienes ya el
ángulo? ¿En radianes? ¿Tu procesador soporta números en punto flotante?
¿Tienes coprocesador matemático? ¿Tu procesador multiplica enteros? ¿Con qué
longitud de entero? ¿Y floats? ¿Cuanta precisión necesitas?

Ya me dirás, un saludo.

Andreu Salvą

unread,
Nov 12, 2001, 12:00:11 PM11/12/01
to
> Si ya tienes phi calculado y lo que quieres hacer es simplemente
> calcular su coseno, es facil. Puedes utilizar el desarrollo en serie :
>
> Cos(x)=1-(x^2)/2+(x^4)/24-(x^6)/420+...
>

Supongo que fue un error tipográfico pero es así ( 6! = 720 )

Cos(x)=1-(x^2)/2+(x^4)/24-(x^6)/720+...

Joa

unread,
Nov 13, 2001, 1:27:38 PM11/13/01
to
Si no quieres mucha precisión, por ejemplo hasta 256 pasos (360º/256), yo lo
haría por tabla. Es lo + rápido ;-)

Un saludo

gabriel artesero garces <gabriel...@terra.com> escribió en el mensaje

de noticias 9qrd87$4hl$1...@talia.mad.ttd.net...

0 new messages