jueves, 21 de noviembre de 2013

Acceso a discos en lenguaje ensamblador



1¿Qué es el acceso a dispositivos de almacenamiento?

Es cualquier tipo de dispositivo de almacenamiento secundario que tiene un tiempo de acceso bajo en proporción a su capacidad.

Son dispositivos periféricos del sistema, que actúan como medio de soporte para grabar los programas de usuario, y de los datos y ficheros que va a manejar la CPU durante el proceso en curso, de forma permanente o temporal mediante sus propias tecnologías, ya sea electrónica u ópticamente.
 


Los Dispositivos de Almacenamiento se pueden clasificar de acuerdo al modo de acceso a los datos que contienen:
  • Acceso secuencial: En el acceso secuencial, el elemento de lectura del dispositivo debe pasar por el espacio ocupado por la totalidad de los datos almacenados previamente al espacio ocupado físicamente por los datos almacenados que componen el conjunto de información a la que se desea acceder.

  • Acceso aleatorio: En el modo de acceso aleatorio, el elemento de lectura accede directamente a la dirección donde se encuentra almacenada físicamente la información que se desea localizar sin tener que pasar previamente por la almacenada entre el principio de la superficie de grabación y el punto donde se almacena la información buscada.  


2. ¿Cómo se hace el acceso a disco usando lenguaje ensamblador?
El sistema de almacenamiento en disco constituye el soporte externo de Ia información. Los datos se registran sobre Ia superficie del disco en una serie de circunferencias concéntricas llamadas pistas (track). Varias pistas, una por cada cara del disco (generalmente 2), componen un cluster. Cada pista está dividida en porciones iguales llamadas sectores. Un sector es Ia unidad básica de almacenamiento en disco. El tamaño de un sector se mide en bytes, y depende de Ias características del disco.

En esta sección se presentan 3 rutinas que permiten lectura y escritura absoluta de sectores, así como Ia determinación del espacio libre disponible en un disco.


Rutina _AbsoluteRead: Transfiere el contenido de un o más sectores del disco al buffer especificado, accesando directamente a los sectores lógicos. En caso de error, se enciende el bit de acarreo y AX contiene el código del error.



Rutina _AbsoluteWrite: Transfiere el contenido del buffer especificado a uno o más sectores de disco, accesando directamente a los sectores lógicos. En caso de error, se enciende el bit de acarreo y AX contiene el código del error.


Los programas no se ejecuta correctamente, ya que sale un error que dice que no es una aplicación Win32 válida, pero estos procesos son rutinas que se usan para acceder a disco en lenguaje ensamblador algunas posibles respuestas a este error puede ser http://es.kioskea.net/faq/608-exe-no-es-una-aplicacion-win32-valida.



 Bibliografia:
http://es.wikipedia.org/wiki/Dispositivo_de_almacenamiento_de_acceso_directo

http://www.monografias.com/trabajos35/dispositivos-almacenamiento/dispositivos-almacenamiento.shtml

 http://www.sisman.utm.edu.ec/libros/FACULTAD%20DE%20CIENCIAS%20ZOOT%C3%89CNICAS/CARRERA%20DE%20INGENIER%C3%8DA%20EN%20INFORMATICA%20AGROPECUARIA/05/PROGRAMACION%20IV/P.%20Avanzada%20lenguaje%20ensamblador.PDF#page=3&zoom=auto,0,143



No hay comentarios:

Publicar un comentario