Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de...

12
Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque

Transcript of Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de...

Page 1: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

Augusto César Benvenuto de AlmeidaPedro Henrique Atanásio e Silva

Marcelo Rodrigues de Albuquerque

Page 2: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

Uma interrupção é um evento externo que leva o processador parar a execução do programa corrente e desviar a execução para um bloco de código chamado rotina de interrupção.

Normalmente são decorrentes de operações de E/S).

Page 3: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.
Page 4: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

Interrupções de hardware◦ Internas◦ Externas

Mascarável Não-mascarável

Interrupções de software◦ Sistema Operacional◦ Usuário

Page 5: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

O vetor de interrupções é uma tabela de endereços de memória que apontam para as rotinas de tratamento de interrupção. Quando uma interrupção é gerada, o processador salva o seu estado atual e começa a executar o tratamento de interrupção apontado pelo vetor.

Page 6: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

Em assembly, as chamadas de interrupção são feitas através da instrução “int”.

Cada uma das interrupções é constituída por uma série de funções.

Page 7: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

O registrador “AH” deve conter o valor da função que se deseja utilizar.

Outros registradores podem ser utilizados para fornecer dados necessários a execução da interrupção.

Page 8: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

Exemplo: escrever um caracter na tela.

Parâmetros da interrupção:

AH = 02h (código da função);DL = ASCII do caracter a ser escrito.

Page 9: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

Exemplo: escrever um caracter na tela.

mov ah, 02hmov dl, 41hint 21h

O resultado da execução deste trecho de código é a exibição do caracter “A” na tela.

Page 10: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.
Page 11: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

A especificação das interrupções podem ser encontradas em:

http://docs.huihoo.com/help-pc/int.html

Page 12: Augusto César Benvenuto de Almeida Pedro Henrique Atanásio e Silva Marcelo Rodrigues de Albuquerque.

Crie um programa em assembly que leia um caracter a partir do teclado, o imprima na tela e o salve num arquivo.

Dica: http://docs.huihoo.com/help-pc/int-int_21.html