Академический Документы
Профессиональный Документы
Культура Документы
Lenguaje Ensamblador
Nombre de la Licenciatura
Ing. en Sistemas Computacionales
Nombre de la Tarea
Actividad 5
Unidad # 5
Introducción de Manejo de Archivos
Introducción
En muchas ocasiones se hace necesario cuando estamos haciendo un programa, almacenar información en un
archivo para luego volverla a recuperar, para estas situaciones tenemos en ensamblador una serie de
instrucciones que nos permiten manejar archivos.
La lectura y escritura se puede hacer de forma secuencial o aleatoria dependiendo de las necesidades de la
solución, para realizar el manejo de archivo se utiliza el servicio de interrupción 21H del sistema operativo.
Desarrollo
Una vez que hayas terminado de comprender los recursos de la unidad, reflexiona sobre tu experiencia
en el manejo de archivos con ensamblador. ¿Cómo podrías mejorar la operatividad del programa?
Una de las mejoras que podríamos introducción al programa seria agregar un menú en donde nos solicite
la acción que queremos realizar sobre el archivo, por ejemplo, el siguiente programa muestra un menú en
el inicio solicitando la acción sobre el archivo, a continuación, un ejemplo:
mov ax,data
mov ds,ax
2
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador
mov ah,09
int 21h
endm
.model small
.stack
.data
3
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador
vec db 50 dup('$')
handle db 0
linea db 10,13,'$'
.code
inicio:
menu:
imprime msj
imprime msj2
imprime msj3
imprime msj4
imprime msj5
imprime msj6
imprime msj7
mov ah,0dh
int 21h
4
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador
mov ah,01h
int 21h
cmp al,31h
je crear
cmp al,32h
je abrir
cmp al,33h
je pedir
cmp al,34h
je eliminar
cmp al,35h
je salir
crear:
mov ax,@data
mov ds,ax
;crear
5
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador
mov ah,3ch
mov cx,0
int 21h
imprime msjcrear
mov bx,ax
int 21h
jmp menu
abrir:
;abrir
mov ah,3dh
int 21h
mov ah,42h
6
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador
mov al,00h
mov bx,ax
mov cx,50
int 21h
;leer archivo
mov ah,3f
;mov bx,ax
mov bx,ax
mov cx,10
;mov dl,vec[si]
int 21h
mov ah,09h
int 21h
;Cierre de archivo
mov ah,3eh
int 21h
7
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador
jmp menu
pedir:
mov ah,01h
int 21h
mov vec[si],al
inc si
cmp al,0dh
ja pedir
jb pedir
editar:
;abrir
mov ah,3dh
mov al,1h
int 21h
8
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador
;Escritura de archivo
mov ah,40h
int 21h
imprime msjescr
cmp cx,ax
int 21h
jmp menu
eliminar:
mov ah,41h
int 21h
9
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador
imprime msjelim
salir:
mov ah,04ch
int 21h
end
Conclusiones
Existen en ensamblador dos formas de operar con los archivos la primer es el método FCB y la segunda la
metodología Handler , el método FCB nos permite tener un numero ilimitados de archivos abiertos y se basa
en la creación de volúmenes en los dispositivos de almacenamiento.
10
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador
En tanto el método Handler es mucho más simple, donde por ejemplo la estructura de directorios del sistema
operativo, haciendo compatible con las versiones más actuales de los sistemas operativos
11