Para cambiar el estado de un solo latch de salida de E / S sin afectar a los demás, es necesario que el 8051 lea ocho latches, cambie uno de los bits y vuelva a escribir el resultado. Si esa operación de lectura informara el estado del pin en lugar del pestillo, cambiar el estado de un pin mientras se usaba otro pin como entrada, pero al presionarlo hacia abajo, haría que el otro pin comience a emitir bajo. No es divertido.
Normalmente, la necesidad de utilizar operaciones de lectura-modificación-escritura en los registros de retención se solucionará mediante el uso de direcciones de lectura separadas para los retenciones y los estados de los pines. Debido a que el espacio de direccionamiento direccionable a los bits es primordial (solo 16 registros de E / S pueden ser direccionables a los bits), los diseñadores del 8051 hicieron que la lectura de los puertos asociados con la E / S de propósito general (es decir, 0x80, 0x90, 0xA0, 0xB0) a veces proporcionará el contenido de los latches del puerto (cuando se usan la mayoría de las instrucciones de lectura-modificación-escritura, incluyendo BSET, CLR, etc.) o el estado de los pines (cuando se usa la mayoría de las instrucciones de entrada, incluyendo JB, JNB, etc.). Si bien a veces sería útil tener una forma de simplemente leer el estado de los registros de cierre, el 8051 no proporciona uno; las únicas instrucciones que leen el estado de bloqueo son aquellas que utilizan el valor de lectura simplemente como parte de una secuencia de lectura-modificación-escritura.