Вы находитесь на странице: 1из 11

Nombre de la materia

Lenguaje Ensamblador
Nombre de la Licenciatura
Ing. en Sistemas Computacionales

Nombre del alumno


Ian Carlos Téllez Rodríguez
Matrícula
000050401

Nombre de la Tarea
Actividad 5
Unidad # 5
Introducción de Manejo de Archivos

Nombre del Tutor


Jaime Humberto Pech Carmona
Fecha
14 Febrero 2018
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador

Introduccion al 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:

imprime macro cadena

mov ax,data

mov ds,ax

2
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador

mov ah,09

mov dx,offset cadena

int 21h

endm

.model small

.stack

.data

msj db 0ah,0dh, '***** Menu *****', '$'

msj2 db 0ah,0dh, '1.- Crear Archivo', '$'

msj3 db 0ah,0dh, '2.- Abrir Archivo', '$'

msj4 db 0ah,0dh, '3.- Modificar archivo', '$'

msj5 db 0ah,0dh, '4.- Eliminar archivo', '$'

msj6 db 0ah,0dh, '5.- Salir', '$'

msj7 db 0ah,0dh, 'El Cerrado de un archivo se hace automatico', '$'

msjelim db 0ah,0dh, 'Archivo eliminado con exito', '$'

msjcrear db 0ah,0dh, 'Archivo creado con exito', '$'

msjescr db 0ah,0dh, 'Archivo escrito con exito', '$'

msjnom db 0ah,0dh, 'Nombre del archivo: ', '$'

cadena db 'Cadena a Escribir en el archivo','$'

3
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador

nombre db 'archivo2.txt',0 ;nombre archivo y debe terminar en 0

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

;comparamos la opcion que se tecleo

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

mov dx,offset nombre

int 21h

jc salir ;si no se pudo crear

imprime msjcrear

mov bx,ax

mov ah,3eh ;cierra el archivo

int 21h

jmp menu

abrir:

;abrir

mov ah,3dh

mov al,0h ;0h solo lectura, 1h solo escritura, 2 lectura y escritura

mov dx,offset nombre

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 dx,offset vec

;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

mov dx,offset nombre

int 21h

jc salir ;Si hubo error

8
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador

;Escritura de archivo

mov bx,ax ; mover hadfile

mov cx,si ;num de caracteres a grabar

mov dx,offset vec

mov ah,40h

int 21h

imprime msjescr

cmp cx,ax

jne salir ;error salir

mov ah,3eh ;Cierre de archivo

int 21h

jmp menu

eliminar:

mov ah,41h

mov dx, offset nombre

int 21h

jc salir ;Si hubo error

9
Unidad # 5: Introducción a Manejo de Archivos
Lenguaje Ensamblador

imprime msjelim

salir:

mov ah,04ch

int 21h

end

 ¿en qué tipo de organización aplicarías el manejo de archivos?

El manejo de archivos se pude realizar en cualquier organización básicamente en programas de


ensamblador donde se necesite almacenar información, y donde los dispositivos en los que utilicemos el
lenguaje cuenten con algún medio de almacenamiento como un disco duro, por ejemplo.

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

Вам также может понравиться