Autor Tema: no puedo comparar dos registros en asembler??  (Leído 4613 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sebastian 100

  • PIC12
  • **
  • Mensajes: 58
no puedo comparar dos registros en asembler??
« en: 28 de Abril de 2008, 00:00:43 »
saludos gente,  :-/
estoy empezando con esto de los pics y me hice un programita para controlar un servo y otro para medir rpm
ahora los tengo que vincular, y lo que no puedo hacer es una simple operacion que en C o basic parece muy simple y es comparar el valor de 2 registros y actuar en consecuencia segun sea mayor igual o menor, este es el punto.
por ahi estuve viendo un IF Then else, pero en asembler que es el que estoy manejando no encuentro nada,
si alguien me tira una puntita para salir de este vasito de agua se los agradezco..
sebastian..

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: no puedo comparar dos registros en asembler??
« Respuesta #1 en: 28 de Abril de 2008, 16:16:59 »
Amigo sebastian, recuerda que ensamblador es un programa de bajo nivel, no puedes hacer comparaciones en una sola sentencia como lo harías con C o Basic (que de hecho los compiladores lo que hacen es convertir esa única sentencia en las múltiples instrucciones en código ensamblador que sean necesarias).
Así que cada vez que quieras hacer una comparación deberás colocar los códigos que el amigo jcc40 te escribe. Básicamente, la técnica que se utiliza es ver el registro "status" del pic. Uno de esos bits es el "Z", que se coloca en 1 cada vez que el resultado de alguna operación da cero. El otro bit es el "C" o bit de acarreo, que se coloca en 1 cuando ocurre un acarreo, o en 0 si ocurrió un préstamo.
Revisa la DS para más detalles...
Saludos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado Chrisbaf

  • PIC16
  • ***
  • Mensajes: 178
Re: no puedo comparar dos registros en asembler??
« Respuesta #2 en: 28 de Abril de 2008, 21:43:53 »
muy buena aclaracion firepic :)

Desconectado sebastian 100

  • PIC12
  • **
  • Mensajes: 58
Re: no puedo comparar dos registros en asembler??
« Respuesta #3 en: 28 de Abril de 2008, 21:59:53 »
gracias jcc40 y tambien para firepic!!!

muy clara la explicacion ya lo puse en practica, lo que no me quedó claro fue "revisa la DS para mas detalles", que es la DS?
seguro soy un burro pero no se que es....

estuve leyendo mucho este foro y la verdad que esta muy bueno, muy completo, y buenas respuestas
muchas gracias

saludos, desde el sur, banfield, bsas, argentina

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: no puedo comparar dos registros en asembler??
« Respuesta #4 en: 28 de Abril de 2008, 22:14:06 »
DS = Data sheet.

Lo puedes hacer desde la propia página del fabricante o utilizar sitios dónde reunan la mayoría. Una es www.datasheet.com
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.