Hola! Primero que nada quiero aclarar que acabo de actualizar la solución, la cual tenía un montón de errores. Algunos listados por ustedes y otros no. Ahora sí, voy contestando en orden:
entonces no entiendo por qué en la solución se acciona escribiendo en la dirección VALVULAS+i+D_CEDULA.
entonces no entiendo por qué en la solución se acciona escribiendo en la dirección VALVULAS+i+D_CEDULA.
Era uno de los errores de la solución, ese + D_CEDULA no iba.
Sobre 2**D_CEDULA
En la solución se utilizaba esa notación, la cual pretendía simbolizar 2D_CEDULA. Esa notación no es válida en el curso, por lo tanto la cambié por 1 << D_CEDULA.
¿no habría que mantener el valor de los restantes bits de la dirección incambiados haciendo una máscara con OR?
Esto no hay que hacerlo porque se indica que los registros de E/S de las válvulas son de solo escritura. Para poder hacer una máscara hay que poder leer el valor del registro (es decir, hacer un IN).
¿no habría que mantener el valor de los restantes bits de la dirección incambiados haciendo una máscara con OR?
Esto no hay que hacerlo porque se indica que los registros de E/S de las válvulas son de solo escritura. Para poder hacer una máscara hay que poder leer el valor del registro (es decir, hacer un IN).
Saludos,
Federico