2. INTERRUPCIONES DEL BIOS
Grupo #7
Integrantes:
Alexis Cañar
Vanessa Iñiguez
Victoria Coronel
Daniel Patiño
César Salazar
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Junio, 2020
Loja, Ecuador
3. 1. ¿Qué es una interrupción?
2. Clasificación de las interrupciones
3. Interrupciones de la BIOS
4. Ejemplos
AGENDA
4. ¿Qué es una interrupción?
Las interrupciones son las puertas de acceso
a las funciones del sistema operativo, el cual
controla los recursos del sistema
El término interrupción evolucionó como una
descripción de lo que pasa dentro del
microprocesador
Una interrupción detiene la ejecución de un
programa, para invocar otra rutina. La rutina
que fue invocada por efecto de la interrupción
es llamada rutina manejadora de
interrupción
Un programa puede ser interrumpido en
cualquier momento, pero debe ser reactivado
posteriormente sin modificaciones que
afecten su funcionamiento
5. 5
Clasificación de las Interrupciones
Interrupciones
Software Hardware
Sistema Usuario
SO BIOS
No
Enmascarables
Enmascarables
Rompe la secuencia
de un programa
Programadas
por el usuario
Provocadas por
los dispositivos
El usuario
no decide
El usuario
decide
El usuario
las provoca
El sistema
las provoca
6. 6
Clasificación de las Interrupciones
HARDWARE
● Provocadas por dispositivos físicos del
ordenador
● No son programadas
● Existen dos tipos de interrupciones:
Enmascarables y no enmascarables
SOFTWARE
● Programadas por el usuario
● Se ejecutan con la ayuda de las instrucciones
INT e IRET
● Tienen mayor prioridad comparas con las de
hardware
Características
7. Tabla de Interrupciones
● En el 8086 existen un total de 256
interrupciones disponibles
● Cada interrupción tiene su
correspondiente rutina asociada. La
tabla de vectores de interrupción
específica la interrupción y
ubicación de la rutina manejadora
● Para cada interrupción, existe una
localidad en la tabla que contiene la
dirección de arranque de la rutina
manejadora correspondiente
8. Listado de Interrupciones
00h CPU: Ejecutado después de un intento de división por cero o cuando un cociente no cabe en el destino
01h CPU: Ejecutado después de cada instrucción de código de máquina mientras la bandera de trazado esté activo
02h CPU: Usado para errores de memoria.
03h CPU: La más baja interrupción no reservada, es usada exclusivamente para depuración, y el manejador INT 03h siempre es
implementado por un programa de depuración.
04h CPU: Numeric Overflow. Usualmente causado por la instrucción INTO cuando la bandera de desbordamiento está activada.
05h Ejecutado cuando es presionado Shift-Print Screen, así como cuando la instrucción BOUNDh detecta una falla de límite.
06h CPU: Llamada cuando una excepción de opcode indefinido (código inválido). Usualmente es instalado por el sistema
operativo.
07h CPU: Es llamada cuando se intenta usar una instrucción de coma flotante y no está disponible un coprocesador numérico.
9. 08h Implementada por el componente de temporización del sistema; llamado 18,2 veces por segundo por el PIC (circuito
integrado programable).
09h Llamada después de que cada tecla es presionada o soltada.
0Bh Llamada por los puertos seriales 2 y 4 (COM2 y COM4) cuando es necesita.
0Ch Llamada por los puertos seriales 1 y 3 (COM1 y COM3) cuando es necesaria atención.
0Dh Llamada por el controlador del disco duro y el segundo puerto paralelo LPT2 (AT) cuándo se necesaria.
0Eh Llamada por el controlador de disco floppy cuando es necesario.
0Fh Llamada por el primer puerto paralelo LPT1 (impresora) cuando es necesario.
10. AH Descripción (Esp)
00h Selecciona modo de vídeo
01h Ajusta forma del cursor
02h Ajusta la posición del cursor
03h Lee la posición y la forma del cursor
04h Lee la posición del Light Pen
05h Selecciona la Página de exhibición
06h Borra la pantalla / Desplazamiento (Scroll) hacia
arriba
10H Servicios de video - Instalado por el BIOS o el sistema operativo, llamado
por programas de software.
11. 11h Instalado por el BIOS; retorna la lista del equipo instalado.
12h Instalado por el BIOS o el sistema operativo; retorna el tamaño de la memoria convencional.
13H Servicios de disco de bajo nivel; instalado por el BIOS o el sistema operativo; llamado por
programas de software
AH Descripción (Esp)
00h Reinicia las unidades de disco
01h Chequea el estado de las unidades
02h Lee sectores desde la unidad
03h Escribe sectores hacia la unidad
12. 04h Verifica sectores en la unidad
05h Formatea una pista en la unidad
08h Lee los parámetros de la unidad
09h Inicia los parámetros de la unidad fija (disco duro)
0Dh Reinicia el controlador de la unidad fija
15h Lee el tipo de la unidad
16h Lee el estado de cambio del medio de la unidad floppy
13. 15H Misceláneas (Rutinas de soporte para servicios del sistema)
AH Descripción (Esp)
4Fh Intercepta el teclado
83h Espera evento
84h Lee el Joystick
86h Espera
88h Lee el tamaño de la memoria extendida
C0h Lee los parámetros del sistema
14. C1h Lee el segmento del área de datos extendida
del BIOS
C2h Funciones del dispositivo apuntador
E8h 01h Lee el tamaño de la memoria extendida
E8h 20h Información sobre el Mapa de memoria del
sistema
AH AL Descripción (Esp)
15. 16H Implementado por el BIOS o el sistema operativo. Provee rutinas a ser llamadas por
programas de software que se comunican con el teclado
AH Descripción (Esp)
00h Lee carácter
01h Lee el estado de entrada
02h Lee el estado de las teclas de desplazamiento (SHIFT, CTRL, ALT)
10h Lee el carácter extendido
11h Lee el estado de entrada extendido
12h Lee el estado de las teclas de desplazamiento extendido
16. 17H Servicios de Impresora - Usado por los programas de software para comunicarse con
la impresora
AH Descripción (Esp)
00h Imprime un carácter a la impresora
01h Inicializa la impresora
02h Lee el estado de la impresora
18h Ejecuta el IBM ROM BASIC: Los computadores personales de originales de IBM contienen el BASIC en
ROM para ser ejecutado por esta rutina en el evento de una falla en la carga (boot). LLamado por el
BIOS
19h Boot Strap Loader. Después del POST, esta interrupción es usada por el BIOS para cargar el sistema
operativo
17. 1Ah - Servicios del Real Time Clock (RTC) (Reloj de Tiempo Real) - Llamado por
programas de software para comunicarse con el RTC
AH Descripción
00h Lee el RTC
01h Ajusta el RTC
02h Lee la hora del RTC
03h Ajusta la hora del RTC
04h Lee la fecha del RTC
05h Ajusta la fecha del RTC
06h Ajusta la alarma RTC
07h Resetea la alarma del RTC
18. 1Bh Instalado por el sistema operativo; automáticamente llamado por INT 9h cuando ha sido presionado Ctrl-Break
1Ch Llamado automáticamente por INT 08h; disponible para el uso por programas de software cuando una rutina
necesita ser ejecutada regularmente
1Dh No debe ser llamado; simplemente un puntero para la Tabla de Parámetros del Video (VPT), que contiene
datos sobre modos de video
1Eh No debe ser llamado; simplemente un puntero para la Tabla de Parámetros del Disquete (DPT), conteniendo
una variedad de información concerniente a las unidades de disquete
1Fh No debe ser llamado; simplemente un puntero para Tabla la Tabla de Caracteres de Gráficos de Video
(VGCT), que contiene los datos para los caracteres ASCII 80h a FFh
41h Puntero de dirección: Tabla de Parámetros del Disco Fijo (FDPT) (Primera unidad de disco)
46h Puntero de dirección: Tabla de Parámetros del Disco Fijo (FDPT) (Segunda unidad de disco)
19. 4Ah Llamado por el RTC para alarma
70h IRQ8: Llamado por el RTC
74h IRQ12: Llamado por el ratón
75h IRQ13: Llamado por el coprocesador matemático
76h IRQ14: Llamado por el controlador IDE primario
77h IRQ15: Llamado por el controlador IDE secundario
20. Ejemplos
La sintaxis general para una interrupción del BIOS usando un parámetro de selección de función es:
Escribir un carácter en la pantalla:
22. Ejemplos
Int 13H, Función 00H Restablecer el sistema de disco
Mov AH, 00H ;Petición para restablecer el disco
Mov DL, 80H ;Disco duro, primera unidad
Int 13H ;Lama al BIOS
23. Ejemplos
Int 16H, función 00H Lee un carácter
Examina el AL contra 00H, para determinar si el usuario ha presionado una tecla de
función extendida
Mov AH, 00H ;Petición al BIOS de entrada desde el teclado
Int 16H ;Llama al BIOS
CMP AL, 00H ;Es una tecla de función extendida?
JE etiqueta ;Si se presionó una tecla de función extendida
..