Noticias:

Grupo en telegram, del foro de meteorología fácil: https://t.me/meteorologiafacil

Para mas detalles, puedes visitar el siguiente tema http://www.meteorologiafacil.com.ar/foros/index.php?topic=1608.0

Espero que les sea de mucha utilidad.

Menú Principal

Error en la instrucción rotar.

Iniciado por David Met, Diciembre 22, 2011, 08:13:30 AM

Tema anterior - Siguiente tema

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

David Met

Hola amigos.
Necesito rotar el contenido de una variable y no logro encontrar la manera de hacerlo (sin usar asm)
Intenté de las siguiente manera:

temp = temp <<
temp = <<
temp <<

Lo curioso es lo que pasa siguiente. Como necesito rotar dos veces repito la instrucción dos veces.

temp = temp <<
temp = temp <<

Lo curioso es que de esta manera, me da error en la segunda línea y no en la primera. :duda :duda
No quiero mezclar mucho asm con instrucciones de jal porque sino se hace ilegible y hasta puede llegar a confundir. Utilizo una instrucción en asm para intercambiar los bit de menor peso por los bit de mayor peso (instrucción swapf). Tengo entendido que esta instrucción, no la posee Jalv2.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

YO

Hola David
Muchas veces me pasó que al compilar, me tiraba error en la/s  línea/s siguiente/s a donde se producía realmente el problema. Al corregir el error, esas líneas (que estaban bien para mi pero mal para el compilador) las tomaba sin problemas.
Cuando me tira un error de línea, siempre me fijo una antes y la mayoría de las veces está allí.
Es como si el compilador evaluase las instrucciones a modo de compatibilidád, como que toma la primera y la compara con la que sigue y si no le gustó, te dice que la segunda está mal, pero con relación a la primera.
Volviendo a la rotación, nunca la usé pero se me ocurre que tal vez indicando en la primera instrucción cuantas veces querés rotar, sea suficiente. Como por ejemplo : (for 3 loop) (for 8 loop)

En éste caso no sabría donde poner el indicador ¿temp = temp << 2  0  temp 2 << ?

No lo puedo probar porque en esta compu no tengo instalado el jal y la otra me la tiene secuestrada mi señora con unos trabajos que está haciendo.

Preguntonta:
              ¿ No será que como no le indicas en la primera instrucción cuantos bits queres rotar (si es que rota de a uno) te los tome como que queres rotarlos a todos y que si luego le repetis la misma instrucción y te los deja como antes, te avisa que no tiene sentido la segunda instrucción ?

   Saludos

Sin saber que era imposible El fue y lo hizo

David Met

Hola YO. Efectivamente, el problema parece ser que me falta indicar cuantos bit deseo rotar.
Gracias  ok! ok!
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.