Você está na página 1de 12

Nombre de la materia

Lenguaje Ensamblador
Nombre de la Licenciatura
Ingeniería en Sistemas

Nombre del alumno


Edgar Jafet Murillo Silva
Matrícula
000563292

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

Nombre del Tutor


Noé Amir Rodríguez Olivares
Fecha
07/08/2018
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

INTRODUCCION

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:

2
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

imprime macro cadena

mov ax,data

mov ds,ax

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', '$'

3
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

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

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

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

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

4
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

mov ah,0dh

int 21h

;comparamos la opcion que se tecleo

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:

5
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

mov ax,@data

mov ds,ax

;crear

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

6
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

mov dx,offset nombre

int 21h

mov ah,42h

mov al,00h

mov bx,ax

mov cx,50

int 21h

;leer archivo

mov ah,3fh

;mov bx,ax

mov bx,ax

mov cx,10

mov dx,offset vec

;mov dl,vec[si]

int 21h

mov ah,09h

int 21h

7
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

;Cierre de archivo

mov ah,3eh

int 21h

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

8
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

mov dx,offset nombre

int 21h

jc salir ;Si hubo error

;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

9
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

mov dx, offset nombre

int 21h

jc salir ;Si hubo error

imprime msjelim

salir:

mov ah,04ch

int 21h

end

10
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

¿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.
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
Unidad 4: Introducción al Manejo de Archivos
Lenguaje Ensamblador

BIBLIOGRAFIAS
Para ayudarte a responder la pregunta de la clase, consulta los siguientes recursos:

Archivo adjunto

 Introducción al manejo de archivos (Jiménez, 2014).


Documento que nos introduce al conjunto de instrucciones para el manejo de archivos, junto con un ejemplo
clásico de aplicación del lenguaje ensamblador.

Video
ASM - Crear archivos de texto (n.d). Video que muestra los comandos básicos para ingresar valores, mostrar el estado y
realizar cálculos en la memoria

12

Você também pode gostar