A instrução IO-M (memória de entrada/saída) no microprocessador 8085 seleciona o espaço de endereço de E/S (entrada/saída). Quando o IO-M é executado, o endereço de 8 bits disponível no barramento de endereços e os 8 bits de ordem mais baixa do registrador de uso geral B (byte baixo) são combinados para formar um endereço de 16 bits. O byte inferior do endereço de 16 lances resultante é travado na trava de endereço do chip de E/S selecionado através do sinal IO/M, enquanto o byte mais alto é desconsiderado.
Aqui está uma explicação detalhada de como funciona a instrução IO-M:
Etapa 1:inicialização do barramento de endereços
Antes de executar a instrução IO-M, o endereço de 8 bits que precisa ser acessado no espaço de E/S deve ser carregado no byte inferior do registrador de uso geral B(BL).
Etapa 2:Asserção de Sinal IO/M
Quando a instrução IO-M é executada, o sinal IO/M é ativado. Este sinal indica que a operação a seguir está relacionada ao espaço de endereço de E/S e não ao espaço de memória.
Etapa 3:Geração de endereço de E/S
O endereço de 8 bits disponível no barramento de endereços e o conteúdo do byte inferior do registrador B (BL) são combinados para formar um endereço de 16 bits:
Endereço de 16 bits =(barramento de endereço (A7-A0)) | (BL)
Etapa 4:travamento do byte de endereço inferior
O byte inferior do endereço de 16 bits resultante é travado na trava de endereço do chip de E/S. Este endereço é usado para selecionar um dispositivo de E/S específico de toda a gama de dispositivos de E/S conectados ao sistema.
Etapa 5:desconsiderando o byte de endereço superior
O byte mais alto do endereço de 16 bits é desconsiderado porque os dispositivos de E/S normalmente são acessados usando apenas um endereço de 8 bits.
Ao combinar o barramento de endereços e o conteúdo do registro BL, a instrução IO-M permite que o microprocessador 8085 acesse uma ampla gama de dispositivos de E/S que estão conectados ao espaço de E/S do sistema.