1. Reinicio de encendido: Aplique energía al chip 8259A. Esto inicializa el chip y lo establece en un estado conocido.
2. ICW1 (palabra de control de inicialización 1):
- Escriba 0x11 en el Registro de control de inicialización (ICW1) para iniciar el proceso de inicialización.
- El primer bit (IC4) se establece en 1, lo que indica un comando de inicialización.
- El segundo bit (IC3) también está establecido en 1, lo que permite que el 8259A acepte más palabras de inicialización.
3. ICW2 (Palabra de control de inicialización 2):
- Escriba el número base del vector de interrupción deseado en ICW2.
- Este valor especifica el punto de partida de los vectores de interrupción. Por ejemplo, si escribe 0x20, las interrupciones comenzarán en la ubicación de memoria 0x20.
4. ICW3 (Palabra de control de inicialización 3):
- Escriba el modo de cascada y el modo de interrupción deseados en ICW3.
- El bit 0 (IR0-IR2) especifica el modo de interrupción para la solicitud de interrupción (IRQ) 0, 1 y 2.
- El bit 3 (ICW3-4) especifica si el chip funciona en modo único (ICW3-4 =0) o en cascada (ICW3-4 =1).
5. ICW4 (Palabra de control de inicialización 4):
- Escriba el modo de máscara especial deseado y el modo almacenado en búfer/activado por flanco en ICW4.
- El bit 1 (SFNM) especifica el modo especial totalmente anidado.
- El bit 3 (BUF/EDG) especifica si las interrupciones se activan por flanco (BUF/EDG =0) o por nivel (BUF/EDG =1).
6. Habilitar interrupciones:
- Escriba 0x00 en el Registro de máscara de interrupción (IMR) para habilitar todas las interrupciones. Esto permite que el 8259A comience a procesar interrupciones.
Estos pasos completan el proceso de inicialización del chip del microprocesador 8259A, configurándolo para manejar solicitudes de interrupción y enrutarlas a las rutinas de servicio de interrupción apropiadas.