Publicado el 20 de Febrero del 2021
1.190 visualizaciones desde el 20 de Febrero del 2021
128,4 KB
8 paginas
Creado hace 11a (20/02/2014)
C.2 Interrupciones de la PC
651
C.2 Interrupciones de la PC
Tabla C-1
Lista general de números de interrupciones de la PC.a
Operación
Descripción
0
1
2
3
4
5
6
7
8
9
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
Error de división. Generada por la CPU: se activa cuando hay un intento de dividir entre cero
Paso individual. Generada por la CPU: se activa cuando se activa la bandera Trap de la CPU
Interrupción no enmascarable. Hardware externo: se activa cuando ocurre un error en la memoria
Punto de interrupción. Generada por la CPU: se activa cuando se ejecuta la instrucción 0CCh (INT 3)
Desbordamiento detectado por INTO. Generada por la CPU: se activa cuando se ejecuta la instrucción
INTO y se activa la bandera Desbordamiento
Imprimir pantalla. Se activa mediante la instrucción INT 5 o al oprimir las teclas Mayús-ImprPant
Código de operación inválido (80286+)
Extensión del procesador no disponible (80286+)
IRQ0: interrupción del temporizador del sistema. Actualiza el reloj del BIOS 18.2 veces por segundo. Para
su propia programación, vea INT 1Ch
IRQ1: interrupción de hardware del teclado. Se activa cuando se oprime una tecla. Lee la tecla del puerto
del teclado y la almacena en el búfer de escritura adelantada
IRQ2: controlador de interrupciones programable
IRQ3: comunicaciones seriales (COM2)
IRQ4: comunicaciones seriales (COM1)
IRQ5: disco fi jo
IRQ6: interrupción del disquete. Se activa cuando hay una búsqueda de disco en progreso
IRQ7: impresora paralela
Servicios de video. Rutinas para manipular la pantalla de video (vea la lista completa en la tabla C-3)
Revisión de equipo. Devuelve una palabra que muestra todos los periféricos conectados al sistema
Tamaño de memoria. Devuelve la cantidad de memoria (en bloques de 1024 bytes) en AX
Servicios de disco fl exible. Restablece el controlador de disco, obtiene el estado del acceso más reciente al
disco, lee y escribe en sectores físicos, y da formato a un disco
Servicios de puerto asíncrono (serial). Inicializa y lee o escribe en el puerto de comunicaciones asíncronas,
y devuelve el estado del puerto
Controlador de casete
Servicios de teclado. Lee e inspecciona la entrada del teclado (vea la lista completa en la tabla C-4)
Servicios de impresora. Inicializa, imprime y devuelve el estado de la impresora
BASIC de ROM. Ejecuta el lenguaje BASIC de casete en la ROM
Cargador de arranque (bootstrap loader). Reinicio para MS-DOS
(Continúa)
652
Apéndice C Interrupciones del BIOS y de MS-DOS
Tabla C-1
(Continuación)
Operación
Descripción
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
Hora del día. Obtiene el número de pulsaciones del temporizador desde que se encendió la máquina, o
establece el contador a un nuevo valor. Las pulsaciones ocurren 18.2 veces por segundo
Interrupción del teclado. Este manejador de interrupciones se ejecuta mediante INT 9h, al oprimir CTRL-
INTER
Interrupción del temporizador del usuario. Rutina vacía, que se ejecuta 18.2 veces por segundo. Usted
puede utilizarla en sus propios programas
Parámetros de video. Apunta a una tabla que contiene inicialización e información para el chip controlador
de video
Parámetros de disquete. Apunta a una tabla que contiene información de inicialización para el controla-
dor de disquete
Tabla de gráfi cos. Fuente de gráfi cos de 8 ⫻ 8. La tabla se mantiene en la memoria de todos los caracteres
de gráfi cos extendidos, con códigos ASCII mayores a 127
Terminar programa. Termina un programa COM (es mejor usar la función 4Ch de INT 21h)
Servicios de MS-DOS (vea la lista completa en la tabla C-2)
Dirección de terminación de MS-DOS. Apunta a la dirección del programa o proceso padre. Cuando termina
el programa actual, ésta es la dirección de retorno
Dirección de interrupción de MS-DOS. MS-DOS salta aquí cuando se oprime CTRL-INTER
Dirección de error crítico de MS-DOS. DOS salta a esta dirección cuando hay un error crítico en el pro-
grama actual, como un error de medios de disco
Lectura absoluta de disco (obsoleta)
Escritura absoluta de disco (obsoleta)
Terminar y permanecer residente (obsoleta)
28-FF
(Reservada)
33
Ratón de Microsoft. Funciones para rastrear y controlar el ratón
34-3E
Emulación de punto fl otante
3F
Administrador superpuesto (Overlay Manager)
40-41
42-5F
60-6B
6C-7F
80-F0
F1-FF
Servicios de disco fi jo. Controlador de disco fi jo
Reservada: usos especializados
Disponible para que la utilicen los programas de aplicaciones
Reservada: usos especializados
Reservada: utilizada por ROM BASIC
Disponible para los programas de aplicaciones
a Fuentes de información: Ray Duncan, Advanced MS-DOS, 2ª edición, Microsoft Press, 1998. Ralf Brown’s Interrupt List,
disponible en Web.
C.3 Funciones de la interrupción 21H (Servicios de MS-DOS)
653
C.3 Funciones de la interrupción 21H (Servicios de MS-DOS)
Hay tantos servicios de MS-DOS disponibles a través de INT 21h, que no es posible documentarlos todos aquí.
En vez de ello, la tabla C-2 muestra un resumen de las generalidades acerca de las funciones de uso común.
Tabla C-2 Funciones de la interrupción 21h (Servicios de MS-DOS).
Operación
Descripción
1
2
3
4
5
6
7
8
9
0A
0B
0C
0E
Leer carácter de la entrada estándar. Si no hay un carácter listo, espera la entrada. Devuelve: AL ⫽ carácter
Escribir carácter a la salida estándar. Recibe: DL ⫽ carácter
Leer carácter de entrada auxiliar estándar (puerto serial)
Escribir carácter en salida auxiliar estándar (puerto serial)
Escribir carácter en impresora. Recibe: DL ⫽ carácter
Dirigir entrada/salida de consola. Si DL ⫽ FFh, lee un carácter en espera de la entrada estándar. Si DL es
cualquier otro valor, escribe el carácter que hay en DL a la salida estándar
Dirigir entrada de carácter sin eco. Espera un carácter de la entrada estándar. Devuelve: AL ⫽ carácter
Entrada de carácter sin eco. Espera un carácter del dispositivo de entrada estándar. Devuelve: AL ⫽ carác-
ter. El carácter no se imprime (eco). Puede terminarse mediante Ctrl-Inter
Escribir cadena a salida estándar. Recibe: DS:DX ⫽ dirección de la cadena
Entrada de teclado con búfer. Lee una cadena de caracteres del dispositivo de entrada estándar. Recibe:
DS:DX apunta una estructura predefi nida del teclado
Comprobar estado de la entrada estándar. Verifi ca si hay un carácter de entrada en espera. Devuelve:
AL ⫽ 0FFh si el carácter está listo; en caso contrario, AL ⫽ 0
Borrar búfer del teclado e invocar a la función de entrada. Borra el búfer de entrada de la consola y des-
pués ejecuta una función de entrada. Recibe: AL ⫽ función deseada (1, 6, 7, 8 o 0Ah)
Seleccionar unidad predeterminada. Recibe: DL ⫽ número de unidad (0 ⫽ A, 1 ⫽ B, etcétera)
0F-18
Funciones de archivo FCB (obsoleta)
19
1A
25
26
27-29
2A
2B
2C
2D
2E
Obtener unidad predeterminada actual. Devuelve: AL ⫽ número de unidad (0 ⫽ A, 1 ⫽ B, etcétera)
Establecer dirección de transferencia de disco. Recibe: DS:DX contiene la dirección del área de transfe-
rencia del disco
Establecer vector de interrupción. Establece una entrada en la Tabla de vectores de interrupción a una
nueva dirección. Recibe: DS:DX apunta a la rutina de manejo de interrupciones que se inserta en la tabla;
AL ⫽ el número de interrupción
Crear nuevo prefi jo de segmento del programa. Recibe: DX ⫽ dirección de segmento para el nuevo PSP
Funciones de archivo FCB (obsoleta)
Obtener fecha del sistema. Devuelve: AL ⫽ Día de la semana (0-6, en donde Domingo ⫽ 0), CX ⫽ año,
DH ⫽ mes, y DL ⫽ día
Establecer fecha del sistema. Recibe: CX ⫽ año, DH ⫽ mes, y DL ⫽ día. Devuelve: AL ⫽ 0 si la fecha es válida
Obtener hora del sistema. Devuelve: CH ⫽ hora, CL ⫽ minutos, DH ⫽ segundos, y DL ⫽ centésimas de segundos
Establecer hora del sistema. Recibe: CH ⫽ hora, CL ⫽ minutos, DH ⫽ segundos, y DL ⫽ centésimas de
segundos. Devuelve: AL ⫽ 0 si la hora es válida
Establecer bandera de verifi cación. Recibe: AL ⫽ nuevo estado de la bandera de Verifi cación de MS-DOS
(0 ⫽ apagada, 1 ⫽ encendida), DL ⫽ 00h
(Continúa)
654
Apéndice C Interrupciones del BIOS y de MS-DOS
Tabla C-2
(Continuación)
Operación
Descripción
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
Obtener dirección de transferencia de disco (DTA). Devuelve: ES:BX ⫽ dirección
Obtener número de versión de MS-DOS. Devuelve: AL ⫽ número mayor de versión, AH ⫽ número menor
de versión, BH ⫽ número de serie OEM, BL:CX ⫽ número de serie de usuario de 24 bits
Terminar y permanecer residente. Termina el programa o proceso actual, dejando parte de sí mismo en la
memoria. Recibe: AL ⫽ código de retorno y DX ⫽ número solicitado de párrafos
Obtener bloque de parámetros de unidad de MS-DOS. Recibe: DL ⫽ número de unidad. Devuelve: AL ⫽
estado; DS:BX apunta al bloque de parámetros de la unidad
Comprobación de interrupción extendida. Indica si MS-DOS está comprobando o no que se oprima Ctrl-
Inter
Obtener dirección de bandera INDOS (Sin documentar)
Obtener vector de interrupción. Recibe: AL ⫽ número de interrupción. Devuelve: ES:BX ⫽ segmento/
desplazamiento del manejador de interrupciones
Obtener espacio libre en disco. (sólo FAT16). Recibe: DL ⫽ número de unidad (0 ⫽ predeterminada,
1 ⫽ A, etcétera). Devuelve: AX ⫽ sectores por clúster, o FFFFh si el número de unidad es inválido; BX ⫽
número de clústeres disponibles, CX ⫽ bytes por sector y DX ⫽ clústeres por unidad
Obtener carácter de conmutación (Sin documentar)
Obtener o establecer información regionala
Crear subdirectorio. Recibe: DS:DX apunta a una cadena ASCIIZ con la ruta y el nombre de directorio.
Devuelve: AX ⫽ código de error si se activa la bandera Acarreo
Eliminar subdirectorio. Recibe: DS:DX apunta a una cadena ASCIIZ con la ruta y el nombre de directo-
rio. Devuelve: AX ⫽ código de error si se activa la bandera Acarreo
Cambiar directorio actual. Recibe: DS:DX apunta a una cadena ASCIIZ c
Comentarios de: C Interrupciones de la PC (0)
No hay comentarios