interrupcciones

8
LAS INTERRUPCIONES DE LA ROM BIOS INT *->* SERVICIO *->* SUB SERV *->* NOMBRE 00h --> Error de División 01h --> Paso a paso 02h --> NMI 03h --> Punto de Ruptura 04h --> Desbordamiento 05h --> BOUND fuera de rango 06h --> Coprocesador no disponible 07h --> IRQ0 08h --> IRQ1 de teclado 09h --> IRQ2 Reservada 0Ah --> IRQ3 (COM2) 0Bh --> IRQ4 (COM1) 0Ch --> IRQ5 Disco Duro 0Dh --> IRQ6 disquete 0Eh --> IRQ7 (LPT1) MONITOR 10h --> Controlador de video 10h --> 00h --> Establecer modo de video 10h --> 01h --> Establecer tamaño de cursor 10h --> 02h --> Establece posición del cursor 10h --> 03h --> Lee la posición del cursor 10h --> 04h --> Lee de la posición del lápiz óptico 10h --> 05h --> Definición de la página de visualización activa 10h --> 06h --> Inicialización o desplazamiento de la ventana hacia arriba 10h --> 07h --> Inicialización o desplazamiento de la ventana hacia abajo 10h --> 08h --> Leer carácter y atributo 10h --> 09h --> Escribe un carácter y su atributo 10h --> 0Ah --> Escribe un carácter 10h --> 0Bh --> Definición de la paleta de cuatro colores 10h --> 0Ch --> Escritura de un pixel 10h --> 0Dh --> Lectura de un pixel 10h --> 0Eh --> Escribe un carácter en modo teletipo 01h --> 0Fh --> Obtener el modo de video 10h --> 10h --> 00h --> Definición del registro de la paleta 10h --> 10h --> 01h --> Especifica color del borde 10h --> 10h --> 02h --> Define la paleta y del borde 10h --> 10h --> 03h --> bits de parpadeo o intensidad 10h --> 10h --> 07h --> Lee un registro de color de borde 10h --> 10h --> 08h --> Leer el registro de color del borde 10h --> 10h --> 09h --> Lectura de la paleta y del borde 10h --> 10h --> 12h --> Definición del bloque de registros de color 10h --> 10h --> 13h --> Definición del estado de color de la página 10h --> 10h --> 15h --> Lectura del registro de color

Upload: michelleguillen

Post on 21-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interrupcciones

LAS INTERRUPCIONES DE LA ROM BIOS INT *->* SERVICIO *->* SUB SERV *->* NOMBRE 00h --> Error de División 01h --> Paso a paso 02h --> NMI 03h --> Punto de Ruptura 04h --> Desbordamiento 05h --> BOUND fuera de rango 06h --> Coprocesador no disponible 07h --> IRQ0 08h --> IRQ1 de teclado 09h --> IRQ2 Reservada 0Ah --> IRQ3 (COM2) 0Bh --> IRQ4 (COM1) 0Ch --> IRQ5 Disco Duro 0Dh --> IRQ6 disquete 0Eh --> IRQ7 (LPT1)

MONITOR 10h --> Controlador de video 10h --> 00h --> Establecer modo de video 10h --> 01h --> Establecer tamaño de cursor 10h --> 02h --> Establece posición del cursor 10h --> 03h --> Lee la posición del cursor 10h --> 04h --> Lee de la posición del lápiz óptico 10h --> 05h --> Definición de la página de visualización activa 10h --> 06h --> Inicialización o desplazamiento de la ventana hacia arriba 10h --> 07h --> Inicialización o desplazamiento de la ventana hacia abajo 10h --> 08h --> Leer carácter y atributo 10h --> 09h --> Escribe un carácter y su atributo 10h --> 0Ah --> Escribe un carácter 10h --> 0Bh --> Definición de la paleta de cuatro colores 10h --> 0Ch --> Escritura de un pixel 10h --> 0Dh --> Lectura de un pixel 10h --> 0Eh --> Escribe un carácter en modo teletipo 01h --> 0Fh --> Obtener el modo de video 10h --> 10h --> 00h --> Definición del registro de la paleta 10h --> 10h --> 01h --> Especifica color del borde 10h --> 10h --> 02h --> Define la paleta y del borde 10h --> 10h --> 03h --> bits de parpadeo o intensidad 10h --> 10h --> 07h --> Lee un registro de color de borde 10h --> 10h --> 08h --> Leer el registro de color del borde 10h --> 10h --> 09h --> Lectura de la paleta y del borde 10h --> 10h --> 12h --> Definición del bloque de registros de color 10h --> 10h --> 13h --> Definición del estado de color de la página 10h --> 10h --> 15h --> Lectura del registro de color

Page 2: Interrupcciones

10h --> 10h --> 17h --> Lectura del bloque de registros de color 10h --> 10h --> 1Ah --> Lectura del estado del color de la página 10h --> 10h --> 1Bh --> Transforma a valores de la escala de grises 10h --> 11h --> 00h --> Carga caracteres del usuario 10h --> 11h --> 01h --> Carga del tipo de letra de 8 * 14 de la ROM 10h --> 11h --> 02h --> Carga del tipo de letra de 8 * 8 de la ROM 10h --> 11h --> 03h --> Definición del bloque especificado 10h --> 11h --> 04h --> Carga del tipo de letra de 8 * 16 10h --> 11h --> 20h --> Definición del puntero de tipos de interrupción 1Fh 10h --> 11h --> 21h --> Preparación de la interrupción 43h para los tipos de usuario 10h --> 11h --> 22h --> Preparación de la interrupción 43h para los tipos de 8 * 14 de la ROM 10h --> 11h --> 23h --> Preparación de la interrupción 43h para los tipos de 8 * 8 de la ROM 10h --> 11h --> 24h --> Preparación de la interrupción 43h para los tipos de 8 * 16 de la ROM 10h --> 11h --> 30h --> Obtener información del generador de carácter

MONITOR 10h --> 12h --> 10h --> Devuelve Información sobre configuración del video 10h --> 12h --> 20h --> Selección de impresión de pantalla alternativa 10h --> 12h --> 30h --> Definición de líneas de barrido 10h --> 13h --> Escritura de una cadena de caracteres 10h --> 1Ah --> Lee/escribe código de combinación de visualización 10h --> 1Bh --> Devolver operatividad/información de estado 10h --> 1Ch --> Salvaguarda o recuperación del estado de video

CONFIGURACION DE PC 11h --> Lee la configuración del equipo

LECTURA Y ESCRITURA 12h --> Tamaño convencional de memoria

DISCOS DUROS Y FLOPPYS 13h --> Controlador de disco 13h --> 00h --> Reinicialización del sistema de disco. 13h --> 01h --> Obtener estado del sistema de disco 13h --> 02h --> Lectura del sector 13h --> 03h --> Escritura del sector 13h --> 04h --> Verificación del sector 13h --> 05h --> Formateo de pista 13h --> 06h --> Formateo de pista defectuosa 13h --> 07h --> Formateo de una unidad de disco. 13h --> 08h --> Obtener parámetros de la unidad 13h --> 09h --> Inicialización las tablas de parámetros del disco duro 13h --> 0Ah --> Lectura larga (todo el sector) 13h --> 0Bh --> Escritura largo (todo el sector)

Page 3: Interrupcciones

13h --> 0Ch --> Buscar un cilindro 13h --> 0Dh --> Reinicialización del sistema de disco duro 13h --> 0Eh --> Lectura del registro intermedio del sector 13h --> 0Fh --> Escritura del registro intermedio del sector 13h --> 10h --> Test para estado de la unidad 13h --> 11h --> Recalibrar unidad 13h --> 12h --> Diagnóstico del controlador de la RAM 13h --> 13h --> Diagnóstico del controlador de la Unidad 13h --> 14h --> Diagnóstico interno del controlador 13h --> 15h --> Obtener tipo de disco duro 13h --> 16h --> Búsqueda del estado de cambio de disco 13h --> 17h --> Establecer tipo de disco 13h --> 18h --> Establecer tipo de medio para formatear 13h --> 19h --> Aparcar cabezas 13h --> 1Ah --> Formatear unidad

COMUNICACIONES 14h --> Controlador del puerto de comunicaciones serie 14h --> 00h --> Inicializar el puerto de comunicaciones 14h --> 01h --> Envío de un carácter al puerto de comunicaciones 14h --> 02h --> Lectura del carácter del puerto de comunicaciones 14h --> 03h --> Estado del puerto de comunicaciones 14h --> 04h --> Inicializa el puerto de comunicaciones 14h --> 05h --> Control del puerto de comunicaciones extendido

FUNCIONES BÁSICAS DE ENTRADA Y SALIDA 15h --> Extensiones de entrada/salida 15h --> 00h --> Enceder el motor del casete 15h --> 01h --> Apagar el motor del casete 15h --> 02h --> Lectura bloques de datos del casete 15h --> 03h --> Escribir bloques en el casete 15h --> 0Fh --> Interrupción periódica del formateo de la unidad ESDI 15h --> 21h --> 00h --> Lectura de información sobre errores detectados en la de arranque (POST) 15h --> 21h --> 01h --> Escritura de los errores detectados en la de arranque (POST) 15h --> 4Fh --> Intercepción del teclado 15h --> 80h --> Dispositivo abierto 15h --> 81h --> Dispositivo cerrado 15h --> 82h --> Fin de programa 15h --> 83h --> Espera de acción 15h --> 84h --> Lectura del mando del Joystick 15h --> 85h --> Pulsación de la Tecla Sys Req 15h --> 86h --> Espera durante un intervalo especificado 15h --> 87h --> Movimiento de datos en modo protegido 15h --> 88h --> Tamaño de la memoria extendida 15h --> 89h --> Cambio a modo protegido 15h --> 90h --> Dispositivo ocupado

Page 4: Interrupcciones

15h --> 91h --> Prueba tras arranque del dispositivo (POST) 15h --> C0h --> Identificación del equipo 15h --> C1h --> Obtener el segmento de datos del BIOS extendido 15h --> C2h --> 00h --> Activa/desactiva ell dispositivo puntero 15h --> C2h --> 01h --> Reinicialización del dispositivo puntero 15h --> C2h --> 02h --> Establece ratio de prueba del dispositvo apuntador 15h --> C2h --> 03h --> Definición de la resolución del apuntador 15h --> C2h --> 04h --> Tipo de dispositivo apuntador 15h --> C2h --> 05h --> Inicialización del dispositivo puntero 15h --> C2h --> 06h --> Definición de la escala o búsqueda del estado 15h --> C2h --> 07h --> Definición de la dirección del programa de tratamiento del dispositivo puntero 15h --> C3h --> Definición del tiempo de espera 15h -->C4h-->Selección de la opción programable

TECLADO 16h --> Controlador del teclado 16h --> 00h --> Lee carácter desde el teclado 16h --> 01h --> Informa si hay carácter preparado 16h --> 02h --> Búsqueda de las marcas del teclado 16h --> 03h --> Retardo de repetición 16h --> 04h --> Definición de la pulsación del teclado 16h --> 05h --> Escribir en el buffer del teclado 16h --> 10h --> Lectura del carácter extendido 16h --> 11h --> Búsqueda del estado del teclado expandido 16h --> 12h --> Búsqueda de las marcas del teclado expandido

IMPRESORA 17h --> Controlador del puerto paralelo de impresora 17h --> 00h --> Envío del carácter a la impresora 17h --> 01h --> Inicializar impresora 17h --> 02h --> Obtener estado de la impresora

REINICIALIZACIÓN DEL SISTEMA "REEBOT" 19h --> Reebot del sistema

CONTROLADOR DEL TIEMPO 1Ah --> Controlador del reloj de tiempo real (CMOS) 1Ah --> 00h --> Leer el reloj en tiempo real 1Ah --> 01h --> Establecer el reloj en tiempo real 1Ah --> 02h --> Leer la hora 1Ah --> 03h --> Establecer la hora 1Ah --> 04h --> Obtener fecha 1Ah --> 05h --> Fijar fecha

Page 5: Interrupcciones

1Ah --> 06h --> Establecer la alarma 1Ah --> 07h --> Desactiver la alarma 1Ah --> 0Ah --> Leer contador de días 1Ah --> 0Bh --> Establecer contador de días 1Ah --> 80h --> Sonido

Interrupciones de DOS Para accesar a los servicios de DOS es por medio de la instrucción INT. Los servicios de DOS, que se accesan con las interrupciones [0x20,0x3f]. La interrupción 0x21 es la fuente principal de los servicios de MS-DOS. Las funciones de la interrupción 0x21 se llaman colocando el número de la función deseada en el registro del procesador AH, colocando cualquier parámetro necesario en los demás registros y ejecutando la insterrupción 0x21. Los servicios que da esta interrupción se muestran en la tabla 3.1:

Table 3.1: Servicios de la interrupción 0x21

Servicio Acción

0x00 Termina Programa.

0x01 Entrada de Teclado

0x02 Salida de carácter a video

0x03 Entrada por el dispositivo Aux. estándar

0x04 Salida por el dispositivo Aux. estándar

0x05 Salida a impresora

0x06 Consola E/S

0x07 Entrada de consola sin eco

0x08 Entrada de consola sin eco sin checar ^C

0x09 Imprime cadena

0x0A Lee cadena

0x0B Checa el estado de la entrada

0x0C Limpia el buffer del teclado e invoca el servicio

0x0D Reset del disco

0x0E Selecciona disco

0x0F Abre archivo existente

0x10 Cierra archivo

0x11 Busca el primer archivo con algún atributo en el nombre

Page 6: Interrupcciones

0x12 Busca el siguiente archivo con algún atributo en el nombre

0x13 Borra archivos

0x14 Lectura secuencial

0x15 Escritura secuencial

0x16 Crea archivo

0x17 Renombra archivo

0x18 Servicio interno de DOS

0x19 Busca el disco actual

0x1A Habilita una localidad DTA

0x1B Información FAT del disco por omisión

0x1C Información FAT de un disco específico

0x1D - 0x20 Servicio interno de DOS

0x21 Lectura aleatoria

0x22 Escritura aleatoria

0x23 Tamaño de archivo

0x24 Habilita un campo de registro aleatorio

0x25 Habilita nueva dirección en el vector de interrupciones

0x26 Crea un nuevo PSP

0x27 Lectura de bloque aleatoria

0x28 Escritura de bloque aleatoria

0x29 Busca el nombre de archivo

0x2A Obtiene la fecha

0x2B Actualiza la fecha

0x2C Obtiene la hora

0x2D Actualiza la hora

0x2E Habilita o inicializa el switch verify

0x2F Obtiene el DTA actual

0x30 Obtiene el número de versión de DOS

0x31 Termina un proceso y lo mantiene residente

0x32 Servicio interno de DOS

Page 7: Interrupcciones

0x33 Checa por ^BREAK

0x34 Servicio interno de DOS

0x35 Obtiene una dirección del vector de interrupciones

0x36 Obtiene el espacio libre en disco

0x37 Servicio interno de DOS

0x38 Regresa la información dependiente a un país

0x39 Crea un subdirectorio

0x3A Borra un subdirectorio

0x3B Cambia de directorio actual

0x3C Crea un archivo

0x3D Abre un archivo

0x3E Cierra un manejador de archivo

0x3F Lee de un archivo o dispositivo

0x40 Escribe a un archivo o dispositivo

0x41 Borra un archivo

0x42 Mueve apuntador de lectura / escritura

0x43 Cambia los atributos de un archivo

0x44 Control de E/S

0x45 Duplica un manejador de archivo

0x46 Forza la duplicación de un manejador de archivo

0x47 Obtiene el directorio actual en una unidad de disco específico

0x48 Asigna memoria

0x49 Libera memoria asignada

0x4A Habilita Bloque

0x4B Carga o ejecuta un programa

0x4C Salir (este servicio puede terminar un programa)

0x4D Obtiene el código de regreso de un subproceso

0x4E Encuentra el primer archivo con algún atributo en el nombre

0x4F Encuentra el siguiente archivo con algún atributo en el nombre

0x50 - 0x53 Servicio interno de DOS

Page 8: Interrupcciones

0x54 Obtiene estado de verificación

0x55 Servicio interno de DOS

0x56 Renombre archivo

0x57 Obtiene o actualiza la fecha y hora de un archivo

0x58 Servicio interno de DOS

0x59 Obtiene error extendido de DOS 3+

0x5A Crea un archivo sencillo DOS 3+

0x5B Crea un nuevo archivo DOS 3+

0x5C Acceso a un archivo DOS 3+

0x5E00 Obtiene el nombre de una máquina DOS 3+

0x5E02 Habilita impresora para DOS 3+

0x5E03 Obtiene impresora para DOS 3+

0x5F03 Redirecciona un servicio de DOS 3+

0x5F04 Cancela la redirección DOS 3+

0x62 Obtiene el segmento de un programa DOS 3+

0x67 Habilita manejador de contador DOS 3.30

0x68 Asigna archivo DOS 3.30