Clique sobre os objetivos listados abaixo para navegar até o conteúdo desejado.

  1. Instruções para E/S
  2. Instrução OUT
  3. Instrução IN

As instruções referente à entrada e saída de dados são reponsáveis pela comunicação do 8086 com outros processadores como vídeo e áudio, por exemplo.

Utilizando o conceito de portas de entrada e saída, o 8086 podem enviar ou receber dados para realizar a comunicação com outros periféricos.

O 8086 suporta até 256($0-$FF ou 0-255) valores de portas de E/S que devem ser controladas externamente por algum chip controlador. O registrador DX deve ser utilizado caso a porta seja superior a 255.

Por padrão, apenas os registradores AL e AX são reponsáveis por armazenar tanto um dado/valor para entrada e saída.

Notação utilizada:
<- Atribuição
p Porta de E/S
() Conteúdo
<- Atribuição
; Comentário

Ao executar a instrução OUT, a um valor contido no registrador AL ou AX é enviado para uma porta que é passado de forma imediata(Byte) ou o registrador DX.

Operação:
(p) <- AL ou AX
Operandos
	IME(byte), AL
IME(byte), AX
DX, AL
DX, AX
Flags
O: -
S: -
Z: -
Ac:- 
P: -
Cy:-
Ex:
MOV AL, FFh
OUT 4, AL
NOP ; delay
NOP ;

Utilizando a instrução IN, um valor contido em uma porta é lido pelo 8086 e armazenado no registrador AL ou AX.

Operação:
A <- (p)
Operandos
AL, IME(byte)
AL, DX
AX, IME(byte)
AX, DX
Flags
O: -
S: -
Z: -
Ac:- 
P: -
Cy:-
Ex:
IN AL, ffh  
NOP ; delay
NOP
  1. 18/02/2025 - revisão 1 - ajustes pontuais
  2. 10/12/2024 - versão inicial