TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: black_flowers en 21 de Marzo de 2007, 18:37:32

Título: comprobar si w está a 0.
Publicado por: black_flowers en 21 de Marzo de 2007, 18:37:32
hola, solo quiero confirmar una duda que tengo:

si hago esto:
movlw 0x00

el valor de STATUS,Z es uno despues de la instruccion anterior?, es decir, STATUS,Z se pone a 1 al mover un 0 a W?

sl2 
Título: Re: comprobar si w está a 0.
Publicado por: Toph en 21 de Marzo de 2007, 19:25:14
hola, solo quiero confirmar una duda que tengo:

si hago esto:
movlw 0x00

el valor de STATUS,Z es uno despues de la instruccion anterior?, es decir, STATUS,Z se pone a 1 al mover un 0 a W?

sl2 

No, STATUS,Z se pone a 1 como en el mismo datasheet dice solo cuando el resultado de una operacion logica o aritmetica da cero.

 
Título: Re: comprobar si w está a 0.
Publicado por: Veguepic en 21 de Marzo de 2007, 20:47:46
Hola Black_flowers:

En la medida de lo posible buscamos el mantener orden en el foro, es por eso fue necesario mover tu tema a este subforo, y creo recordar que no es el primero.

Este subforo "Almacen del Assembler" sirve para preguntar todo lo referente a assembler y tambien para que los amigos foreros que busquen informacion de assembler la encuentren en este lugar con lo cual todos ganamos en orden.

Espero no lo tomes a mal y nos ayudes a mantener ordenado el foro.  :wink:

Saludos
Título: Re: comprobar si w está a 0.
Publicado por: BrunoF en 22 de Marzo de 2007, 00:20:47
black_flowers:

Si te fijas en el datasheet de el PIC que estes usando, podras ver bajo la seccion "Instruction Set Summary" que la instruccion movlw no afecta ningun flag.

Si necesitas verificar si W= 0, entonces podrias hacer por ejemplo:

ADDLW .0

ya que sumarle 0 al valor que tenia W no modifica su valor anterior, pero la instruccion addlw setea el flag Z que es lo que necesitás.

Suerte.
Título: Re: comprobar si w está a 0.
Publicado por: black_flowers en 22 de Marzo de 2007, 07:35:03
ok, gracias, por cierto lo coloqué en el de iniciacion porque pense que era el mas adecuado, la proxima vez ya se en donde

1 saludo.   :)