Tecnología
del PC
Servicios
BIOS
§1 Sinopsis
La tabla de vectores de
interrupción IDT
("Interrupt Description Table") del PC es una zona de 1024
bytes en la memoria baja, que contiene un máximo de 256 vectores
(punteros) a los programas que atienden las interrupciones ISR 's
("Interrupt service routine"). Estos punteros son de 4
bytes y están en forma segmentada (
0.3.4b ); los dos
primeros bytes indican el desplazamiento
y los dos siguientes el segmento .
Cuando el procesador necesita encontrar alguna ISR ,
el dato de inicio es su número de servicio (también conocido como
número de interrupción); a partir de este dato, multiplicando por 4 se
obtiene la dirección absoluta
del puntero (la IDT comienza en la
dirección 0).
Por ejemplo: Cuando se pulsa una tecla, se
genera una interrupción hardware (
0.3.1d ) con el número 9;
su dirección es 9 x 4 = 36d = 24h, que en forma segmentada sería
0000:0024.
Nota :
Para obtener el contenido de esta dirección (que es la dirección de
inicio del ISR del teclado) puede utilizarse el programa DEBUG (
1.7.1w2 ). La
forma es la siguiente:
Invocar
DEBUG desde una ventana DOS
(suponemos que estamos en Windows; el "prompt" es un
guión "-")
introducir
el comando D 0000:0024 L 4
(pedimos que nos muestre 4 bytes a partir de la dirección
indicada).
Salir
de Debug con Q
En mi PC la respuesta al
comando es: 0000:0020
D2 08 DB 0A
El grupo a la derecha indica
el contenido hexadecimal de los 4 bytes solicitados, en el orden en que
están en memoria (de izquierda a derecha los contenidos de las
posiciones 0000:0024; 0000:0025; 0000:0026 y 0000:0027
respectivamente). Teniendo en cuenta lo señalado respecto al
almacenamiento (back-wo
![]()
![]()







![]()



![]()

![]()

![]()

![]()





![]()