OPERACIONES

BÁSICAS
SOBRE
ARCHIVOS EN
DISCO

A MAYO DEL 2015   . MARÍA ALEJANDRA ROSAS TORO   MATERIA: LENGUAJE ENSAMBLADOR   PRESENTA: ITURBIDE FRANCISCO ROSALVA MÉNDEZ GALLEGOS TANIA YADIRA REYES GARCÍA ESPERANZA CERRO AZUL. VER..INSTITUTO TECNOLOGICO DE CERRO AZUL   CATEDRÁTICO: LIC.

INTRODUCCIÓN Los servicios originales del DOS para procesamiento de archivos en disco usaban un método llamado bloques de control de archivo (FCB). Algunas de estas operaciones implican el uso de una cadena ASCIIZ para identificar inicialmente una unidad. un manejador de archivo para acceso subsecuente del archivo. una ruta y un nombre de archivo. . y un código de regreso especial para identificar errores.

Operaciones que usan manejadores de archivo 3CH Crea archivo 3DH Abre archivo 3EH Cierra archivo 3FH Lee registro 40H Escribe registro 42H Mueve apuntador de archivo Operaciones de usan FCB 0FH Abre archivo 10H Cierra archivo 14H Lee registro 15H Escribe registro 16H Crea archivo 21H Lectura directa de registro Otros servicios del DOS INT 25H Lectura absoluta INT 26H Escritura absoluta 22H Escritura directa de registro 27H Lectura directa de bloque 28H Escritura directa de bloque .

Para interrupciones que necesiten de una cadena ASCIIZ.ASM’. PATHNMAME . subdirectorio y nombre de archivo: PATHNM1 DB ‘D:/UTILITY/UN.EXE’. 00H Este código define una unidad. primero indique al DOS la dirección de una cadena ASCIIZ que contenga la ubicación del archivo: unidad de disco. actúa como un separador de ruta. La longitud máxima de la cadena es de 128 bytes. El código siguiente define una unidad y un nombre de archivo: PATHNM1 DB ‘D:/TEST. cargue su dirección de desplazamiento en el registro DX por ejemplo: como LEA DX. ruta al directorio y nombre de archivo. seguidos por un byte de ceros hexadecimales. de ahí el nombre de cadena ASCIIZ.CADENA ASCIIZ Cuando emplee muchos de los servicios ampliados para procesamiento de disco. 00H La diagonal inversa también puede ser diagonal derecha.

El manejador de archivo es un número único de una palabra regresado en el AX que usted guarda en un elemento del área de datos y que utiliza para todas las peticiones subsecuentes de acceso al archivo. el DOS tiene que direccionar los archivos en disco por medio de su directorio y entradas de la FAT y debe actualizar estas entradas. cada archivo referenciado debe ser asignado a su propio y único manejador de archivos. El DOS envía un manejador de archivo cuando uno abre un archivo para entrada o crea un archivo para salida. y uno debe solicitar un número de manejador de archivo desde el DOS. a diferencia de la transferencia de información desde el teclado o a la pantalla . .Manejadores de archivo Muchos de los servicios del DOS también implican el uso de un manejador de archivo para operaciones que accesan archivos. durante la ejecución del programa. Un archivo en disco primero debe ser abierto. Las operaciones implican el uso de una cadena ASCIIZ y la función 3CH O 3DH del DOS.

4. Utilice la función 3CH del DOS para crear el archivo. Al final. .Uso de manejadores de archivo para crear archivos en disco El procedimiento para escribir en un archivo es el siguiente: 1. Utilice una cadena ASCIIZ para obtener manejador de archivo del DOS. 3. Utilice la función 40H del DOS para escribir registros en el archivo. utilice la función 3EH del DOS para cerrar el archivo. 2.

FIL’. //Ejemplo: crea un archivo normal en la unidad D con atributo 0: PATHNM1 DB ‘D:\ACCOUNTS.Si hay error.Guarda el manejador en una palabra .INT 21H. 3CH . función 3CH: Crea archivo Para crear un archivo nuevo o sobrescribir en uno ya creado con el mismo nombre. Cargue el CX con el atributo de archivo requerido y el DX con la dirección de la cadena ASCIIZ (Donde el DOS envía archivo nuevo).petición para crear archivo MOV CX. sale MOV HANDLE1. use primero la función 3CH del DOS.00H HANDLE1 DW ? … MOV AH. AX .Atributo normal INT 21H .Cadena ASCIIZ JC error . 00 .

256 .Área de salida … MOV AH. Cargue el BX con el manejador de archivo almacenado. Ejemplo siguiente utiliza el manejador de archivo de operación de creación precedente para escribir un registro de 256 bytes desde OUTRECT: Handle1 DW ? OUTREC DB 256 DUP(‘ ‘) .Petición para escribir registro MOV BX. el CX con el número de bytes a escribir y el DX con la dirección del área de salida.Longitud de registro LEA DX.Llama al DOS JC error2 . 256 . OUTREC . utilice la función 40H del DOS. 40H . HANDLE1 .Dirección del área de salida INT 21H .INT 21H.Manejador de archivo MOV CX. función 40H: Escribe registro Para escribir registro en disco.¿Se han escritos todos los .Prueba por error CMP AX.

Manejador de archivo . HANDLE1 INT 21H . Una operación no exitosa pone en uno la bandera de acarreo y regresa el único código de error posible en el AX. . 3EH MOV BX. 06 (manejador no válido).Petición para cerrar .INT 21H.Llama al DOS Una operación correcta de cierre escribe cualquier registro restante en el búfer de la memoria y actualiza la FAT y el directorio con la fecha y tamaño del archivo. tiene que cerrarlo. Cargue el manejador de archivo en el BX y utilice la función 3EH del DOS: MOV AH. función 3EH: Cierra archivo Cuando ha terminado de escribir en un archivo.

Al final. utilice la función 3EH del DOS para cerrar el archivo. Utilice la función 3DH del DOS para abrir archivo 3. Utilice una cadena ASCIIZ para obtener una manejador de archivos del DOS. 2. .Uso de manejadores de archivo para leer archivos en disco Los requisitos para abrir y leer archivos en disco por medio de manejadores de archivo: El procedimiento para leer un archivo es el siguiente: 1. Utilice La función 3FH del DOS para leer registros en el archivo 4.

función 3DH: Abre archivo Si su programa es leer un archivo.INT 21H. Esta operación verifica que el archivo realmente exista. primero utilice la función 3DH del DOS para abrirlo. Cargue el DX con la dirección de la cadena ASCIIZ necesaria y establezca el AL con el código de acceso: BITS 0-2 3 4-6 7 PETICIÓN 000=sólo lectura 001=sólo escritura 010=lectura/escritura Reservada Modo compartido Bandera heredada .

.00 .cadena ACIIZ INT 21H .petición para abrir archivo MOV AL.si hay error sale MOV HANDLE2. PATHNM1 . AX . no la función 3DH para abrirlo. 3DH . El ejemplo siguiente abre un archivo para lectura: MOV AH. Sólo lectura LEA DX.guarda el manejador en una palabra. asegúrese de utilizar la función 3CH para crear el archivo.llama al DOS JC error4 .Al escribir en un archivo.

593 PAG. LENGUAJE ENSAMBLADOR Y PROGRAMACION PARA PC. .REFERENCIAS BIBLIOGRAFICAS PETER ABEL.