miércoles, 20 de noviembre de 2013

Acceso a discos en lenguaje ensamblador




1.Qué es el acceso a dispositivos de almacenamiento?
Forma en que se puede leer y escribir datos en un dispositivo auxiliar a la memoria principal.

2.Como se hace el acceso a disco usando lenguaje ensamblador?

La interrupción 21h, función 7305h, es decir la lectura y escritura de disco absoluta, permite leer y escribir sectores lógicos de disco. La función 7305 trabaja en el sistema de archivos FAT12, FAT16 y FAT32. Cualquier programa que permita leer y escribir los sectores de disco puede sobrepasar los permisos de los archivos y directorios compartido

3. Busque y ejecute un programa de demuestre en su ejecucion el acceso a disco para grabar y leer


 un ejemplo podria ser : rutina_absolutedRead: transfiere de un o mas sectores al buffer especificado accesando directamente a los sectores logicos.
en caso de error se enciende el bit de acarreo y ax con el codigo de error.


invocacion: push<unidad de disco>
            push<numero de sectores a leer>
            push<primer sector a leer>
            push SEG<buffer>
            push OFFSET<buffer>
            call_AbsoluteRead


            PUBLIC_AbsoluteRead
_AbsoluteRead  PROCNEAR
            ARG Buffer:DWORD,Start:WORD,NumSect:WORD,Drive:BYTE=ArgLen
            push bp        ;salvar BP
            mov bp,sp      ;permitir acceso a los argumentos
            push bx        ;salvar registros
            push cx
            push dx 
            push ds 

            mov al,Drive   ;lectura absoluta del disco
            mov cx,NumSect
            mov dx,Start
            lds bx,Buffer
            int 25h
            pop bx

            pop ds         ;recuperar registros 
            pop dx
            pop cx
            pop bx
            pop bp
            ret ArgLen
AbsoluteRead  ENDP

1 comentario: