TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: kuku_jerez en 17 de Agosto de 2005, 03:05:00

Título: Alguna rutina para comparar el contenido de dos registros?
Publicado por: kuku_jerez en 17 de Agosto de 2005, 03:05:00
Sonrisa GiganteMe gustaria saber como puedo comparar los contenidos de dos registros. Se hacerlo con un registro y una constante pero con el contenido de dos direcciones de memoria no me aclaro. Podeis por favor echarme un cable. Muchas gracias a todos y cordiales saludos desde España, Burgos.
Título: RE: Alguna rutina para comparar el contenido de dos registros?
Publicado por: Artifox en 17 de Agosto de 2005, 11:36:00
Hola, si lo que quieres es q te diga si 2 registros son iguales o no puedes hacer lo siguiente:

Var1 res 2    ; no me acuerdo bien como se declaran variables loco
Var2 res 2
;demas codigo de programa
movf var1,w                  ; w= var1
subwf var2,w                ; w= var2-var1 ; Si w=0 son iguales entonces Z=1
btfsc STATUS,Z              ; si Z=0 => no_son_iguales; Z=1 => son_iguales
goto son_iguales
goto no_son_iguales
;;;;;;;;;;;;;;;;;;;;;;

Espero te aclare lo que necesitas Fumador..... Un abrazo, nos vemos Rebotado

Título: RE: Alguna rutina para comparar el contenido de dos registros?
Publicado por: kuku_jerez en 18 de Agosto de 2005, 04:04:00
Gracias pero lo que realmente me gustaría saber es la forma de conocer si alguno de los dos registros es mayor que el otro o viceversa. Siento no haberlo especificado en mensaje primero. Gracias y a ver si podeis ayudarme. Saludos desde Burgos.Rebotado
Título: RE: Alguna rutina para comparar el contenido de dos registros?
Publicado por: Artifox en 18 de Agosto de 2005, 13:33:00
Hola, si lo que quieres sabes es cual es mayor y menor, haces lo mismo, pero cambias al final esto...

Var1 res 2 ; no me acuerdo bien como se declaran variables
Var2 res 2
;demas codigo de programa
movf var1,w ; w= var1
subwf var2,w ; w= var2-var1 ; Si la resta es positiva C=1
btfsc STATUS,C ; si C=0 => var1>var2; C=1 => var1<var2
goto son_iguales
goto no_son_iguales
;;;;;;;;;;;;;;;;;;;;;;

Espero se sirva....Fumador
Un abrazo... nos vemosRebotado