Como Funcionan Los Interrupciones De Microprocer
Son principalmente subrutinas de la BIOS o el DOS que
pueden ser llamadas por un programa, por ejemplo la función 21h est
dedicada especialmente atratamiento de archivos.
Para utilizarlas, tendremos que poner los registros con un determinado
valor para que se realice el propósito que buscamos. Cada interrupción
tiene varias funciones, ypodremos elegir cual ejecutamos según el valor
de AH.
El formato de la órden es INT X, donde X puede ir desde 1 a 255 ( aunque
normalmente se escribe en formato hexadecimal ).
Cuando se ejecutauna interrupción, el ordenador empuja todos los flags
a la pila, un 'PUSHF', y despu‚s mira en la tabla de vectores de
interrupción, de la que hablaremos mas adelante, para transferir el controldel programa al punto que indica esa tabla respecto a la interrupción
pedida mediante un 'CALL'. Cuando la interrupción ha terminado, acabar con
un IRET, que es una combinación entre 'POPF'y 'RET'.
La tabla de Vectores de Interrupción es una tabla de direcciones para
la dirección a la que debe saltar cada interrupción. Comienza en la
dirección de memoria 0000:0000 y acaba enla 0000:0400, siendo cada
dirección de 4 bytes de longitud. Para averiguar cual corresponde a cada
interrupción, no hay m s que multiplicar el número de interrupción por
cuatro. Por ejemplo,la dirección de memoria donde est el punto al que
salta una INT 21h, es 0000:21h*4. Ahí se contienen el CS e IP a los que
saltar el programa cuando se ejecute la interrupción. Estos valores,son
modificables, pero hay que tener mucho cuidado con ello.
Vamos con un ejemplo. Ahora, queremos cambiar el nombre de un fichero.
La interrupción para ello es la 21h, y la función quequeremos es la 56h,
con lo que en AH tendremos que poner ese valor.
El par DS:DX, es la dirección de la cadena que contiene la unidad, camino
y nombre del fichero, tal y como sucedía en el...
Regístrate para leer el documento completo.