Os vetores #25~31 podem ser utilizados para configurar as interrupções dos periféricos "ligados" a
esse hardware onde o 68K está sendo utilizado.
A prioridade de execução desses vetores, Level 1-7, são controladas pelas flags I2-0 contidas no registrador
Status Register. As interrupções de Level mais baixo podem ser interrompidas pelas de
Level mais alto.
Quando as flags I são configurada como 000b todas as interrupções serão ignoradas. Quando
configurada como 111b(Non-Mascarable Interrupt), todas as interrupções serão aceitas e executadas
com prioridade.
Para melhor compreensão, um exemplo real de configuração de interrupções:
Tab.5: Uso real do VDI - Vetores Level 1-7
# |
Endereço |
Nome |
Uso |
25 |
000064 |
Level 1 Interrrupt |
Não usado |
26 |
000068 |
Levet 2 Interrupt |
EXT Interrupt - Interrupção de periférico |
27 |
00006C |
Level 3 Interrrupt |
Não usado |
28 |
000070 |
Level 4 Interrrupt |
HBLANK - Interrupção Horizontal |
29 |
000074 |
Level 5 Interrrupt |
Não usado |
30 |
000078 |
Level 6 Interrrupt |
VBLANK - Interrupção Vertical |
31 |
00007C |
Level 7 Interrrupt |
Não usado |
Na tabela acima, a interrupção Level 6 tem prioridade sobre as interrupções Level
4 e 2 sendo interrompidas quando a Level 6 for acionada ou invocada.
Setando as flags I como 010b as interrupções Level 4 e 6 não serão
reconhecidas sendo apenas a interrupção Level 2 reconhecida e executada.
A configuração das flags I são normalmente feitas no trecho de boot de programas, para
carregamento e configurações iniciais, e/ou no início das rotinas de tratamento de
interrupções para evitar que outras interrupções sejam executadas.