Autor Tema: Problemas Pic18f4550 (ensamblador)  (Leído 1700 veces)

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

Desconectado kaiserwald18

  • PIC10
  • *
  • Mensajes: 6
Problemas Pic18f4550 (ensamblador)
« en: 21 de Marzo de 2016, 18:14:18 »
Hola a todos, soy nuevo en este foro.
Al comenzar con el pic18f4550 me han suscitado problemas al hacer comparaciones, utulizo la instruccion subwf para restar dos variables (si ambas tienen el mismo numero la bandera Z se pondra en 1) pero al checar la bandera Z no me hace nada, he checado desde antes que los numeros sean los mismos para que la resta sea igual a 0.
El comparador lo uso como metodo para contar cuantos aciertos se tienen (ya que los numeros a comparar siempre cambian). Entonces al hacer la comparacion si es correcta aumento una variable con la instruccion incf, pero no hace nada al comparar.

Si me pudieran ayudar se los agradeceria mucho  :mrgreen: 

Desconectado vixctor

  • PIC16
  • ***
  • Mensajes: 105
Re:Problemas Pic18f4550 (ensamblador)
« Respuesta #1 en: 21 de Marzo de 2016, 18:51:44 »
Hola, si pudieras pegar esa parte del código en el foro, sería más fácil ayudarte.

Saludos

Desconectado luismh

  • PIC16
  • ***
  • Mensajes: 149
Re:Problemas Pic18f4550 (ensamblador)
« Respuesta #2 en: 22 de Marzo de 2016, 08:45:57 »
El assembler de los pic18 tiene instrucciones muy útiles para comparación... No es necesario realizar la resta ni leer Z para hacer la comparación

Podrías leer en la hoja de datos sobre las siguientes instrucciones:

cpfseq f: compara f con W y salta si son iguales

cpfsgt f: compara f con W y salta si f>W

cpfslt f: compara f con W y salta si f<W

tstfsz f: salta si f=0

y también están los "branch", útiles para realizar estructuras tipo "if", "while" y "do while"

BC
BNC
BNN
BNOV
BNZ
BOV
BRA
BZ

Saludos!


 

anything