Initialisering af en 8259A mikroprocessorchip involverer flere trin:
1. Nulstilling ved start: Sæt strøm til 8259A-chippen. Dette initialiserer chippen og sætter den til en kendt tilstand.
2. ICW1 (initialiseringskontrolord 1):
- Skriv 0x11 til initialiseringskontrolregistret (ICW1) for at starte initialiseringsprocessen.
- Den første bit (IC4) er sat til 1, hvilket indikerer en initialiseringskommando.
- Den anden bit (IC3) er også sat til 1, hvilket gør det muligt for 8259A at acceptere flere initialiseringsord.
3. ICW2 (initialiseringskontrolord 2):
- Skriv det ønskede interrupt-vektor-basisnummer til ICW2.
- Denne værdi angiver startpunktet for interrupt-vektorerne. For eksempel, hvis du skriver 0x20, vil afbrydelserne starte ved hukommelsesplacering 0x20.
4. ICW3 (initialiseringskontrolord 3):
- Skriv den ønskede kaskadetilstand og afbrydelsestilstand til ICW3.
- Bit 0 (IR0-IR2) angiver afbrydelsestilstanden for Interrupt Request (IRQ) 0, 1 og 2.
- Bit 3 (ICW3-4) angiver, om chippen fungerer i enkelt (ICW3-4 =0) eller kaskadetilstand (ICW3-4 =1).
5. ICW4 (initialiseringskontrolord 4):
- Skriv den ønskede specielle masketilstand og bufferet/kantudløst tilstand til ICW4.
- Bit 1 (SFNM) specificerer den særlige fuldt indlejrede tilstand.
- Bit 3 (BUF/EDG) angiver, om interrupts er kant-triggede (BUF/EDG =0) eller niveau-triggede (BUF/EDG =1).
6. Aktiver afbrydelser:
- Skriv 0x00 til Interrupt Mask Register (IMR) for at aktivere alle interrupts. Dette gør det muligt for 8259A at begynde at behandle afbrydelser.
Disse trin fuldender initialiseringsprocessen for 8259A-mikroprocessorchippen, og konfigurerer den til at håndtere afbrydelsesanmodninger og dirigere dem til de relevante afbrydelsesservicerutiner.