Pregunta

De acuerdo con esto: http://www.8052.com/tutsfr.php , los SFR cuya dirección es divisible por 8 bits son direccionables. Puede hacer cosas como SETB o CLR en ellos. Pero no es cierto solapamiento otras direcciones de memoria? Me refiero, por ejemplo, P0 está en 80h. Así P0.0 será 80h, P0.1 será 81h. Pero 81h es la dirección de SP. ¿No son la superposición?

¿Fue útil?

Solución

Se está confundiendo una dirección de bit con una dirección de byte. Ellos no se superponen o se refieren a la misma ubicación física. Las instrucciones que tienen direcciones de bit (por ejemplo. SETB) sabe cómo descodificar la dirección de bits en un byte de dirección y el número de bits. La dirección de byte se obtiene mediante el enmascaramiento de los 3 bits más bajos en la dirección de bit. El número de bit se obtiene por enmascaramiento de los más altos 5 bits.

por ejemplo. 87h dirección de bit -> dirección de byte 80h, bit # 7

Otros consejos

P0.0 y P0.1 sólo se refiere a bits individuales del registro P0 8 bits (por lo que entiendo).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top