Autor Tema: comprobar si w está a 0.  (Leído 2067 veces)

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

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
comprobar si w está a 0.
« 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 

Desconectado Toph

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 84
Re: comprobar si w está a 0.
« Respuesta #1 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.

 

El tiempo perdido es dificil de recuperar, trata de no desperdiciarlo
atrevete de vez en cuando a hacer algo nuevo
¿Sera este el año que tanto he deseado?

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: comprobar si w está a 0.
« Respuesta #2 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
« Última modificación: 21 de Marzo de 2007, 20:50:47 por Veguepic »
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: comprobar si w está a 0.
« Respuesta #3 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.
« Última modificación: 22 de Marzo de 2007, 00:23:00 por BrunoF »
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
Re: comprobar si w está a 0.
« Respuesta #4 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.   :)