magneto
ACCESO A DISCOS EN LENGUAJE ENSAMBLADOR
Para leer o escribir en un disco, no se realiza byte a byte, sino másbien en bloques de bytes, debido a que el acceso a disco implica movimientos mecánicos además de que el acceso se da por sectores; en este proceso no intervienen el CPU, puesto que solo envía loscomandos a la interface que maneja la unidad de disco y ésta es la que se encarga de leer o escribir información de un área especial de memoria, llamada DMA; este proceso es conocido como acceso directo amemoria.
Como se hace el acceso a disco usando lenguaje ensamblador: los datos se registran sobre la superficie del disco en una serie de circunferencias concéntricas llamadas pistas (track).variaspistas , una por cada cara del disco (generalmente 2) , componen un clúster. cada pista esta divida en porciones iguales llamadas sectores. un sector es la unidad básica del almacenamiento en undisco. el tamaño de un sector se mide en bytes y depende de las características del disco.
Un ejemplo de las 3 rutinas son : que permiten lectura y escritura absoluta de sectores, así como ladeterminación del espacio libre
disponible en un disco.
Rutina
Descripción
_AbsoluteRead
Transfiere el contenido de uno o más sectores del disco al buffer especificado accesando directamente a lossectores lógicos. En caso de errores, se enciende el bit de acarreo y AX contiene el código de error.
_AbsoluteWrite
Transfiere el contenido del buffer especificando a uno o mas sectores del disco,accesando directamente a los sectores lógicos. En caso de errores, se enciende el bit de acarreo y AX contiene el código de error.
_FreeDiskSpace
Devuelve en DX:AX el espacio libre en disco(en Kb).encaso de error, se enciende el bit de acarreo.
Rutina _AbsoluteRead: Transfiere el contenido de uno ó más sectores del disco al buffer especificado, accesando directamente a los sectores...
Regístrate para leer el documento completo.