[2015][Julio][Problema 1]

[2015][Julio][Problema 1]

de Fernando Andres Tomeo Lussich -
Número de respuestas: 4

Hola, mirando la solución de este ejercicio me encuntró con lo siguiente "OUT(APERTURA_CASILLEROS, 1 << j);", en este caso no me queda claro el funcionamiento del out, es decir, se coloca un 1 en la posición "j" o se reemplaza el contenido de APERTURA_CASILLEROS por el código binario resultante de la operación de la derecha?

Quiero decir, suponiendo que j es 3, entonces 1000, reemplaza el valor contenido en APERTURA_CASILLEROS por el código anterior? si es así, no entiendo que esto funcione como se supone que debería en la solución.

Saludos, gracias.


Link examen : https://eva.fing.edu.uy/pluginfile.php/44683/mod_folder/content/0/2015/solExAC201507.pdf?forcedownload=1


En respuesta a Fernando Andres Tomeo Lussich

Re: Examen julio 2015, Problema 1

de Federico Rivero -

Estimado,

Ese out hace exáctamente eso, escribe el registro con 000...1...000, donde el 1 se encuentra en la posición j . 

Por cómo lo escribiste, se me ocurre que capaz lo estás pensando en decimal y puede ser que eso te confunda, 1 << 3  = 1000b  (binario). Es decir, el número que contiene un 1 en el 3er bit

Saludos,

    Federico

En respuesta a Federico Rivero

Re: Examen julio 2015, Problema 1

de Fernando Andres Tomeo Lussich -

Hola,

Por lo que entiendo entonces, no es un reemplazo, simeplemente setea un 1 en la posicion j, los tres 0 del ejemplo, no se consideran para colocarlos en APERTURA_CASILLEROS.

Mas claro, si APERTURA_CASILLEROS tuviese el valor 0111 cuando le ingreso 1 << j, suponiendo j = 3, entonces APERTURA_CASILLEROS quedaria con el valor 1111 y no 1000.

En respuesta a Fernando Andres Tomeo Lussich

Re: Examen julio 2015, Problema 1

de Federico Rivero -

No, no. La escritura de un puerto de E/S implica la escritura de todo el registro. Por lo tanto, usando tu terminología, es un reemplazo... Un reemplazo no muy relevante, porque lo único que importa es la escritura de unos en el registro.

Saludos,

        Federico

En respuesta a Federico Rivero

Re: Examen julio 2015, Problema 1

de Fernando Andres Tomeo Lussich -
Quedo mas claro ahora, no es relavante el valor anterior de la direccion APERUTRA_CASILLEROS para abrir puntualmente un casillero, lo podes pisar sin ningun problema, teniendo en cuenta poner un 1 en el casillero que te interesa abrir.


Saludos, gracias!