Práctica 2: barrel_shift_right

Re: Práctica 2: barrel_shift_right

de Julio Perez -
Número de respuestas: 0
Romina:
1. Sí. En cada vuelta del loop, es decir cada vez que retorna get_packet, se debe actualizar la suma acumulada en complemento a 2 de 16 bits. No es tan largo hacer eso, revisá la cartilla de instrucciones, en particular las operaciones aritméticas de 16 bits. Lo único que tenés que resolver es que el valor de desplazamiento lo reciben en complemento a dos de 9 bits, deben extenderlo correctamente a 16 bits antes de poder hacer la suma.

2. Si no hacen ningún desplazamiento la sensibilidad al movimiento del ratón es grande, es decir, pequeños movimientos del ratón producen grandes variaciones en el valor desplegado. En la práctica 3 van a utilizar esto para ajustar el valor inicial de un timer, y tienen que poder ajustar ese valor en forma cómoda.

3. Cuando se dice que "El valor acumulado de X se muestra, previa división por 2n, en los 4 dígitos 7 segmentos..." se está diciendo que la división es previa a la acción de desplegarlo, no? Primero se divide, después se despliega. Además "El valor devuelto por la subrutina , se utiliza solamente para ser desplegado, no debe modificarse el valor de los contadores.", es decir que los contadores donde se guarda la suma acumulada no son afectados por el shift.

4. El programa de prueba debe leer los switches para saber cuántos lugares desplazar. Con eso pueden fácilmente manipular los switches para probar con distintos valores, y elegir con cuál valor de desplazamiento es posible con comodidad incrementar o decrementar de a 1 el valor desplegado. Ese valor de desplazamiento lo van a usar en la práctica 3.

julio