gracias, gracias, mientras escribía lo anterior posteaste vos y se nos cruzaron los post

puse lo de movf W, 0 para mover el registro W a W, ocea, moverse a si mismo, tan solo para actualizar la bandera Z, otra solución como tu dices era de poner andlw 0ffh (porque si le pongo 0 a la and, la salida siempre será 0 y no me sirve).
mas tarde probé con otras formas de afectar a Z como es
decf (que me decrementa, y para eso tengo que incrementar antes para no afectar el dato, pero si funcionaba, bueh), la cagada es que no funcionó y no sé porque, ya que se supone que decf e incf afectan a Z, pero me cagaban todo, y esto lo comprobé utilizado el led de debug con la Z y colocando la rutina de debug antes y despues del decf, y para mi alegría checkeando con el debug antes de la instrucción decf, es decir, despues de acomodar el dato en el registro, Z funcionaba como yo quería, entonces removí todas las boludeces que había puesto para alterar Z, y como por arte de magia funcionó correctamente, pero no entiendo porqué decf me arruinaba la Z, pero lo sospecho

así que, por fiiiiin, andaaaa !!
Y Muchas gracias por responder
Escrito originalmente por otika
Tengo una pequeña pregunta, el codigo es compilado en el MPLAB,
si es asi la linea de codigo:
movf W,0
no funciona ya que W en el MPLAB es una constante con el valor 0
, este codigo lo que hace es llevar el contenido de la posicion de memoria 0 al registro de trabajo W
para utilizar el registro de trabajo W del pic talvez seria mejor:
andlw 0x00
la bandera Z es afectada pero tambien el contenido de W!, lo mejor seria utilizar otra variable para manejar el dato.