Interrupciones Del DOS PDF
Interrupciones Del DOS PDF
Interrupciones Del DOS PDF
INT 21H
La mayoría de servicios ó funciones del sistema operativo MS-DOS se obtienen a través de la
interrupción software 21H. Es por esto que se le denomina DOS-API: DOS-APPLICATION-
PROGRAM-INTERFACE La INT 21H está compuesta por un grupo de funciones. Cuando se accede a
la INT 21H, hay que indicar el número de función que queremos ejecutar. La llamada a la INT 21H se
realizará como sigue:
- Introducimos en (AH) el número de función a la que deseamos acceder.
- En caso de que deseemos acceder a una sub-función dentro de una función, debemos indicarlo
introduciendo en (AL) el número de esa sub-función.
- Llamar a la INT 21H.
EFECTO: Se lee un carácter del dispositivo de entrada estándar, y se envía al dispositivo estándar de
salida. Si al llamar a la función no había ningún carácter disponible, se esperará a que lo haya.
Normalmente el dispositivo estándar de entrada es el teclado, y el dispositivo estándar de salida es la
pantalla.
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011
INT 21H Página 2 de 10
LLAMADA:
AH = 06H
DL = símbolo entre "cuotation marks" 'A' ó "#".
DEVUELVE: NADA
DEVUELVE: NADA.
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011
INT 21H Página 3 de 10
EFECTO: Se comprueba si hay algún carácter procedente del dispositivo estándar de entrada. La entrada
puede ser redireccionada. Si no hay tal redirección, se comprueba el buffer de teclado
EFECTO: Selecciona una unidad de disco para que se convierta en la unidad por defecto o actual.
Ofrece además información acerca del número total de unidades lógicas del sistema. Una unidad física
como un disco duro puede estar particionada en varias unidades lógicas designadas por C , D, E ,etc
EFECTO: Se crea un nuevo directorio usando la unidad de disco y la vía de acceso especificada en la
cadena ASCIIZ.
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011
INT 21H Página 4 de 10
DEVUELVE:
Si se ejecutó correctamente: Flag de acarreo (Cf) = 0
Si NO se ejecutó correctamente: Flag de acarreo (Cf) = 1
AX = Código de error.
EFECTO: Establece como directorio actual el indicado mediante la cadena ASCII. Esta función se
abortará (indicándolo mediante Cf y AX) si el código de unidad no es válido.
DEVUELVE:
Si se ejecutó correctamente: Flag de acarreo (Cf) = 0
AX = Handle o manejador de fichero.
Si NO se ejecutó correctamente: Flag de acarreo (Cf) = 1
AX = Código de error.
EFECTO: Si el fichero indicado mediante la cadena ASCII ya existía, entonces se vacía su contenido,
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011
INT 21H Página 5 de 10
quedando con longitud 0. Si el fichero no existía, entonces se crea. En ambos casos, el fichero se abre, y
se devuelve un Handle ó manejador de fichero para los restantes accesos a dicho fichero. Esta función se
abortará (indicándolo mediante Cf y AX) si:
-La vía de acceso indicada en la cadena ASCII es errónea.
-Se va a crear el fichero en el directorio raíz y éste ya está lleno
El Handle es un número mediante el cual se referencia a un fichero dado. De esta forma es más cómodo
trabajar con ficheros. Para cada uno de los ficheros con que trabajemos, tendremos un número (Handle)
que lo representará.
DEVUELVE:
Si se ejecutó correctamente Flag de acarreo (Cf) = 0
AX = Handle o manejador de fichero
Si NO se ejecutó correctamente: Flag de acarreo (Cf) = 1
AX = Código de error.
EFECTO: Mediante esta función se abre un fichero ya existente, y se devuelve un Handle para acceder
al fichero en lo sucesivo.
DEVUELVE:
Si se ejecutó correctamente:
Flag de acarreo (Cf) = 0
Si NO se ejecutó correctamente: Flag de acarreo (Cf) = 1
AX = Código de error.
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011
INT 21H Página 6 de 10
EFECTO: Mediante esta función se cierra un fichero que estuviera abierto. Se utiliza el Handle para
indicar el fichero a cerrar. Tras cerrar el fichero, dicho Handle se libera para nuevos ficheros. Se vuelvan
al disco todos los buffers internos asociados al fichero.
DEVUELVE:
Si se ejecutó correctamente: Flag de acarreo (Cf) = 0
AX = Bytes transferidos
Si NO se ejecutó correctamente: Flag de acarreo (Cf) = 1
AX = Código de error.
EFECTO: Dado un handle válido, se realiza una transferencia desde el fichero referenciado por ese
handle hacia el buffer de memoria especificado mediante DS:DX. Se transferirán tantos caracteres como
se especifique en CX. Acto seguido, se actualiza el puntero de fichero hasta el carácter que sigue al
bloque leído. Mediante esta función es posible leer caracteres del teclado, usando el handle 0.
DEVUELVE:
Si se ejecutó correctamente: Flag de acarreo (Cf) = 0
AX = Bytes transferidos.
Si NO se ejecutó correctamente: Flag de acarreo (Cf) = 1
AX = Código de error
EFECTO Dado un handle válido, se realiza una transferencia desde el buffer de memoria indicado
mediante DS:DX hacia el fichero o dispositivo referenciado por el Handle. Se transferirán tantos
caracteres como se especifique en CX. Acto seguido, se actualiza el puntero de fichero una posición por
delante del bloque escrito, para que futuras escrituras no 'machaquen' los datos que ya hubiera. Mediante
esta función es posible escribir caracteres en la pantalla, usando el handle 1.
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011
INT 21H Página 7 de 10
DEVUELVE:
Si se ejecutó correctamente: Flag de acarreo (Cf) = 0
Si NO se ejecutó correctamente: Flag de acarreo (Cf) = 1
AX = Código de error.
DEVUELVE:
Si se ejecutó correctamente
Flag de acarreo (Cf) = 0
DX = Mitad más significativa del puntero actualizado.
AX = Mitad menos significativa del puntero actualizado.
Si NO se ejecutó correctamente
Flag de acarreo (Cf) = 1
AX = Código de error.
EFECTO:
Cambia el valor del puntero de fichero, permitiendo así un acceso aleatorio al fichero. Podremos,
mediante esta función, escribir y leer caracteres en cualquier posición del fichero, sin pasar por las
anteriores.
DEVUELVE
Si se ejecutó correctamente:
Flag de acarreo (Cf) = 0
CX = Atributos del fichero
Si Bit 0 = 1, Fichero de sólo lectura.
Si Bit 1 = 1, Fichero oculto.
Si Bit 2 = 1, Fichero de sistema.
Si Bit 5 = 1, El archivo ha sido modificado desde el último backup.
Si NO se ejecutó correctamente:
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011
INT 21H Página 8 de 10
EFECTO: Mediante esta función se obtiene información acerca de los atributos de un determinado
fichero, indicado mediante la cadena ASCII.
DEVUELVE:
Si se ejecutó correctamente
Flag de acarreo (Cf) = 0
Si NO se ejecutó correctamente:
Flag de acarreo (Cf) = 1
AX = Código de error.
EFECTO:
Mediante esta función se establecen nuevos atributos a un fichero dado. Este fichero se indica
mediante la cadena ASCII.
EFECTO:
Esta función permite cambiar el nombre a un fichero dado. También permite mover el fichero a otro
directorio dentro del mismo dispositivo. En el segundo caso, lo que debemos hacer es cambiar el camino
que nos lleva al fichero, en vez del nombre de fichero en sí.
VERSION DE MS-DOS: 2.0 ó superior.
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011
INT 21H Página 9 de 10
DEVUELVE:
NADA
DEVUELVE:
NADA.
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011
INT 21H Página 10 de 10
DEVUELVE:
NADA
http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html 29/04/2011