Professional Documents
Culture Documents
I. PORTADA
UNIVERSIDAD TÉCNICA DE AMBATO
Facultad de Ingeniería en Sistemas, Electrónica e Industrial
“Proyecto Académico de Fin de Semestre”
Título:
Módulo y Docente:
Arquitectura de Computadores
Ing. Chicaiza Dennis
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
1.2 Objetivos
Objetivo General
Objetivos Específicos
1.3 Resumen
Este de lenguaje puede manejar varios tipos de datos como por ejemplo las cadenas
(Strings). El manejo de Strings cuenta con cinco instrucciones:
Las instrucciones para cadenas trabajan en conjunto con la instrucción CLD (pone en
cero el bit correspondiente a la bandera de dirección) la cual permite establecer que
el sentido en el que las cadenas serán procesadas será de izquierda a derecha.
1.4 Introducción
Para las instrucciones que manipulan las cadenas es necesario comentar el uso de los
prefijos de repetición, modificadores que sólo se pueden usar con las instrucciones de
manipulación de cadenas.
REP: este modificador repite la instrucción a la que acompaña mientras que CX sea
distinto de 0 (decrementa CX cada vez). Las instrucciones con las que se puede usar
son MOVS, MOVDSW o STOS.
MOVS/MOVSW: copia un byte o un WORD de una parte a otra de la memoria.
Materiales
Computador
El lenguaje ensamblador o assembler
Emu 8086
Metodología
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.- Salir', '$'
msj6 db 0ah,0dh, 'Opcion ==> ', '$'
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','$'
nombre db 'Archivo.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
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
imprime msj4
imprime msj5
imprime msj6
mov ah,0dh
int 21h
mov ah,01h
int 21h
cmp al,31h
je crear
cmp al,32h
je abrir
cmp al,33h
je pedir
cmp al,34h
je salir
crear:
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
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
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
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
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
;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
mov ah,3eh ;Cierre de archivo
int 21h
jmp menu
salir:
mov ah,04ch
int 21h
end
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
1.7 Conclusiones
El lenguaje ensamblador es más rápido que cualquier otro lenguaje pero también es
demasiado complejo ya que es creado a base de instrucciones para intentar sustituir
al lenguaje maquina por uno similar utilizado por el hombre.
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES E INFORMÁTICOS
PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018