Hola, la duda es la siguiente; en la subrutina barrel, se tiene que hacer simplemente un corrimiento de n posiciones o efectivamente una división por 2^n. La duda se da, porque si el contador (tanto de X o Y) toma valores negativos impares, hay que hacer el corrimiento de n veces y luego sumarle 1 (esto seria hacer la división por 2^n), pero si hacemos esto ultimo, no logramos ajustar la sensibilidad para ese caso; pero si hacemos simplemente el corrimiento de n veces, se logra el ajuste de sensibilidad, tanto si los contadores de X o Y toman valores positivos o negativos.
Re: Duda en la subrutina barrel
Miguel:
Recordá que los desplazamientos de X e Y están expresados en complemento a 2, no en binario "común". ¿Eso lo tuvieron en cuenta?
Re: Duda en la subrutina barrel
Si, lo tuvimos en cuenta desde el principio, por eso dije, que si los contadores tomaban valores negativos hacíamos el corrimiento de n lugares y luego sumamos 1. Creemos, que lo que hicimos conceptualmente esta bien, pero en si no sabemos porque falla en la sensibilidad. Gracias, por la respuesta.
Tienen que hacer la división por 2 a la n en complemento a 2 del nro de 16 bits. Eso NO se logra con el método de desplazar y sumar 1 que decís que están haciendo. Hay una instrucción para hacer eso con bros de 8 bits en un registro, tienen que pensar cómo hacerlo en 16 bits.
Si, ya le encontramos la vuelta con un ejemplo del práctico 1. Gracias.