TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: troyesss en 23 de Noviembre de 2006, 17:42:40

Título: Novato, problema no se como rotar logicamente.
Publicado por: troyesss en 23 de Noviembre de 2006, 17:42:40
Tengo este problema en una parte de mi codigo, seleccion uno de los 4 displays segun el 0 este en un sitio o en otro (0111,1011,1101,1110)

Al hacer rlf a 0111->1110 pero al hacerselo a las demas me añade ceros por el final, en vez de hacer la rotacion rlf 1110->11100, rlf 1011->10110

He buscado pero no he encontrado nada( novato total), a ver si alguien me puede ayudar y explicar como hago esa rotacion de forma logica y no aritmetica.

Gracias por todo
Título: Re: Novato, problema no se como rotar logicamente.
Publicado por: djpalas en 23 de Noviembre de 2006, 18:16:29
Buenas Troyesss

la instrucción de rlf (rotación a la izq.) o rrf (rotación a la der.)

Instrucción: RLF f,d
f es el registro que quieres rotar
d=0 lo guarda en el registro W, y si d=1 lo guarda en f

Esta instrucción utiliza el Carrey

 --C <-- f --<--
|                    |
 ------->--------

Osea, veamoslo con un ejemplo
Estado Inicial:
f = 01101110
d = 1
Carrey = 1

Estado después de un RLF:
f=11011101
Carrey=0

Espero que lo entiendas mejor así. Pero mirate los datasheet del microcontolador que estés usando.

Saludos!
Diego J.
Título: Re: Novato, problema no se como rotar logicamente.
Publicado por: vszener en 24 de Noviembre de 2006, 13:03:13
El amigo BrunoF tiene un post con curiosidades del ASM, ¿Sabías que... (http://www.todopic.com.ar/foros/index.php?topic=14812.0) donde tu pregunta está solucionada y detallada.


Suerte!!! ;)
Título: Re: Novato, problema no se como rotar logicamente.
Publicado por: BrunoF en 24 de Noviembre de 2006, 14:23:23
Hola. aca te dejo estas animaciones que hice para que veas de una manera mas didactica su funcionamiento:


(http://ar.geocities.com/brunodini/Rlf.gif)


(http://ar.geocities.com/brunodini/Rrf.gif)



Saludos.
Título: Re: Novato, problema no se como rotar logicamente.
Publicado por: PalitroqueZ en 24 de Noviembre de 2006, 16:02:48
¡Magnífico BrunoF!, una buena forma de mostrar las rotaciones.

Salu2
Título: Re: Novato, problema no se como rotar logicamente.
Publicado por: troyesss en 26 de Noviembre de 2006, 18:41:08
Gracias a todos, todo perfecto...
Título: Re: Novato, problema no se como rotar logicamente.
Publicado por: Manofwar en 27 de Noviembre de 2006, 06:38:59
Magnífica explicación Bruno, como siempre vale más una imagen que 1000 palabras.

Saludos