This video explains arithmetic shifts and rotations in assembly language programming. It focuses on how these operations work, their differences (particularly between arithmetic and logical shifts), and their applications in handling signed numbers. The video uses examples and illustrations to clarify the concepts.
lsl, multiplying by 2<sup>n</sup>. lsl is preferred for better compiler compatibility.ahora veremos el desplazamiento aritmético y las rotaciones los objetivos comprender el funcionamiento de las operaciones de desplazamiento aritmético cuando se era el uso del desplazamiento alimento con junto a otras instrucciones desplazamiento aritmético la principal diferencia entre el desplazamiento lo lógico y aritmético es que en este último se preserva el bit de signo por lo cual se utilizará para trabajar con números con signos desplazamiento aritmético a la derecha como ya mencionamos en un cambio aritmético se conserva el bit de signo aquí se guarda v-31 todo lo demás se desplaza un lugar a la derecha con v0 cayendo en la bandera de acarreo en este ejemplo los bits se desplazan solo un lugar pero al principio es el mismo para múltiples cambios guardando el 2031 el bit de signos se conserva y el último bit que se mueve fuera de b 0 se deja caer en la bandera de acarreo la ventaja de ese ere es que el cambio tiene en cuenta el signo del dato y por lo tanto se puede utilizar sobre un número de complemento a 2 también extiende el signo original del número de de 31 a 30 y garantiza que la división se realice correctamente tanto para los números positivos como para los negativos por esta razón después del desplazamiento puede observar que el bit 31 aparece dos veces una vez el desplazamiento y la otra por la conservación del bit de signo cuando se ejecuta el segmento de código que se muestra en la diapositiva dejaría un valor de 0 x 7 f 128 en r 0 con r1 y r2 sin cambios pero se establece el indicador de acarreo a ese ere es similar que lsr desplaza un número a la derecha el equivalente a dividir por 2 elevado a la n pero sin redondear la diferencia con el s er es que a ese er mantiene el bit consignó el primer bit de un número de 32 bit y rellena el resultado si el número comienza con un 0 binario se rellena con ceros si comienza con un 1 binario el resultado se rellena con unos en la diapositiva se muestra un ejemplo del uso de las dos instrucciones y del resultado que produce cada una como lo puede observar podemos observar que si se utiliza a ese ere toma el valor de ere 0 como menos 10 pero si se usa el desplazamiento lógico lsr asume que el número en ere 0 es positivo con un valor de 0 x efe efe efe efe efe efe igual 4 mil 294 millones 977 mil 295 desplazamiento aritmético a la izquierda un desplazamiento aritmético a la izquierda a sl es idéntico en operación a el sl y no hay diferencias entre ellos en el resultado por supuesto siempre debe usar el s él en lugar de a sl ya que algunos ensambladores pueden no compilar lo y emitir un mensaje de error otros simplemente en dar una advertencia hay dos instrucciones que permiten hacer rotaciones a la derecha en conjunto con la bandera de acarreo la instrucción r frotar a la derecha mueve los beats desde el extremo inferior y los redd retroalimentan directamente en el extremo superior el último vídeo girado también se copia en la bandera de acarreo la tabla en la diapositiva ilustra cómo se realizan las rotaciones veamos que todos los bits se mueven a la derecha y el bit 0 pasa a la posición del bit 31 a diferencia de los desplazamientos ningún bit es descartado las instrucciones de rotación no tienen una acción aritmética de importancia y se utilizan para cambiar los patrones de bit el fragmento de código que se muestra en la diapositiva daría un resultado de 0 x efe efe 0 0 0 0 0 0 con el conjunto de banderas negativo y acarreo el r1 numeral 4 rota los bits 4 lugares a la derecha los bytes superiores 0 x efe 000 se mueven hacia la derecha una posición gerencial 4 bit dando 0 x 0 f 0 0 los by bajos 0 x 0 0 0 efe se mueven a la derecha de igual forma para dar 0 x 0 0 0 0 0 x efe que se ha salido del valle inferior se gira a los 4 beats superiores para dar 0 x efe efe 0 0 por supuesto los beats en el medio también se mezclarán pero como son ceros esto no se nota finalmente se hace una copia del último bit que originalmente estaba en la posición beat 4 y se coloca en la bandera de acarreo hay una versión extendida de la rotación a la derecha con instrucciones r&r x esta operación de desplazamiento es única ya que no puede especificar el número de movimientos que realiza ya que sólo se le permite 1 r&r x solo rot a los datos a la derecha en una posición cambias tus pensamientos y cambiarás tu mundo hasta la próxima