>> Tecnologia eletrônica >  >> Home Audio >> Amplificadores e amplificadores

Explique como int 21h pode ser usado para entrada e saída no microprocessador 8086?

A interrupção INT 21h é uma interrupção de software usada no sistema operacional MS-DOS para executar várias operações de entrada/saída (E/S). Quando um programa emite uma interrupção INT 21h, o microprocessador salta para um local de memória específico onde o código do manipulador de E/S do MS-DOS está localizado. Este código então executa a operação de E/S solicitada.

Aqui está um exemplo de como a interrupção INT 21h pode ser usada para ler um caractere do teclado:

1. O programa carrega o registrador AH com o valor 1 para indicar que deseja ler um caractere do teclado.
2. O programa emite uma interrupção INT 21h.
3. O microprocessador passa para o código do manipulador de E/S do MS-DOS.
4. O código do manipulador de E/S verifica se há um caractere disponível no buffer do teclado.
5. Se houver um caractere disponível, o código do manipulador de E/S lê o caractere do buffer e o armazena no registro AL.
6. Se não houver nenhum caractere disponível, o código do manipulador de E/S define o Carry Flag (CF) como 1 para indicar esta condição.
7. O programa verifica o Carry Flag para determinar se um caractere foi lido com sucesso.
8. Se o Carry Flag for 0, o programa recupera o caractere do registrador AL.

Aqui está o código assembly para este exemplo:

```
mov ah, 1; AH =1 para ler um caractere do teclado
interna 21h; Interromper 21h para realizar a operação de I/O
jc nochar; Pule se Carry Flag estiver definido (nenhum personagem disponível)
mov ch, al; Recuperar o caractere do registro AL
```

Este exemplo pode ser modificado para realizar outras operações de E/S, como escrever um caractere na tela, ler um arquivo ou gravar em um arquivo. Cada operação de E/S é identificada por um código de função exclusivo que é carregado no registrador AH antes de emitir a interrupção INT 21h.