Está en la página 1de 13

Arquitectura de computadores - 301302

Unidad 3 - Fase 6 – Evaluación final

Presentado a:
ANYELO GERLEY QUINTERO
Tutor

Entregado por:
Yespeter Ancervic Medina Becerra
Código: 80.251.133
Oscar Mauricio Molina Macana
Codigo: 80.722.476
Giovanni Martínez.
Código: 80382363

Grupo: 16

Universidad Nacional Abierta a Distancia - UNAD


Escuela de ciencias básicas tecnología e ingeniería
Octubre de 2018
Bogotá
Introducción

En el desarrollo del presente trabajo aprenderemos la importancia de


conocer detalladamente el lenguaje ensamblador y las diferentes estructuras
que lo componen, lo que nos ayudara a entender el funcionamiento interno
microprocesadores, ayudándonos a elaborar criterios de valor para la toma
de decisiones en el área de la informática en pro de la solución de
problemáticas de la vida real, en nuestro entorno laboral como futuros
ingenieros de sistemas, para el desarrollo de soluciones empleando
lenguajes de bajo nivel.
Objetivos

 Entender el funcionamiento de los microprocesadores, sus alcances


y limitaciones.
 Identificar las estructuras empleadas en los lenguajes
ensambladores y ponerlas en prácticas para el desarrollo de
soluciones.

 Emplear correctamente los códigos ensambladores identificando


errores en gramaticales que detienen su correcto funcionamiento.

 Desarrollar iniciativas a través del empleo de lenguajes de bajo


nivel para generar soluciones prácticas a situaciones de la vida
real que se pueden generar en las organizaciones.

 Elaborar un criterio definido como futuros ingenieros de sistemas


la implementación de los lenguajes adecuados en situaciones
específicas empelando herramientas informáticas de simulación.
Desarrollo de la actividad

1. Realice el prototipo funcional en lenguaje Ensamblador, que incluya


el siguiente menú de opciones:

MENÚ
1. Datos del autor
2. Suma de dos números
3. Resta de dos números
4. Multiplicación de dos números
5. División de dos números
6. Validar si un número es positivo o negativo
7. Salir

Explicación del código realizado


 Primero vamos a generar el modelo teniendo en cuenta que solo
se va a trabajar un espacio de la memoria
 Empleamos por la configuración de mi equipo una pila de 64 bits
 Primero declaramos variables igualando los números a “0”
 Realizamos las solicitudes con el respectivo ingreso y retorno.
 Realizamos las variables cadenas que nos digan el respectivo
resultado de la operación.
 Posteriormente iniciamos con el código para operar la informacion
que ingresamos en nuestro data
 Configuramos nuestra consola.
 Se mueve el registro para poder solicitar la información del
teclado.
 Movemos el valor a num1 para que sea convertido en número.
 Replicamos el proceso solo configurando la solicitud para el
numero 2.
 Por ultimo configuramos la realización de las funciones y
operaciones.
Código realizado

;Trabajo final sistemas operativos unad


; GRUPO No 301302_16
.model smmall
.stack 64
.data

Num1 db 0
Num2 db 0
Suma db 0
Resta db 0
Multiplicacion db 0
Division db 0

Solicitud1 db 13, 10,'Buen dia! UNADISTA por favor digite el Primer


Numero ', 13,10 ,'$'
Solicitud2 db 13, 10,'Muchas gracias! UNADISTA por favor digite el
Segundo Numero ', 13,10 ,'$'

Msuma db 13, 10 , 'La Suma de los Numeros es: $'


Mresta db 13, 10 , 'La Resta de los numeros es:$'
Mmultiplicacion db 13,10 , 'La Multiplicacion de los Numeros es: $'
Mdivision db 13, 10 , 'La Division de los Numeros es: $'

.code
inicio:

mov ax, @data


mov ds, ax

mov ah, 9
lea dx, Solicitud1
int 21h
mov ah, 1
int 21h
sub al, 30h
mov Num1, al

mov ah, 9
lea dx, Solicitud2
int 21h
mov ah, 1
int 21h
sub al, 30h
mov Num2, al

; en este punto iniciamos con el procedimiento de las Operaciones

mov al, Num1


add al, Num2
mov Suma, al

mov al, Num1


sub al, Num2
mov Resta, al
mov al, Num1
mul Num2
mov Multiplicacion, al

mov al, Num1


div Num2
mov Division, al

mov ah,9
lea dx, Msuma
int 21h
mov dl, Suma
add dl, 30h
mov ah, 2
int 21h

mov ah,9
lea dx, Mresta
int 21h
mov dl, Resta
add dl, 30h
mov ah, 2
int 21h

mov ah,9
lea dx, Mmultiplicacion
int 21h
mov dl, Multiplicacion
add dl, 30h
mov ah, 2
int 21h

mov ah,9
lea dx, Mdivision
int 21h
mov dl, Division
add dl, 30h
mov ah, 2
int 21h
.exit
ret

Código ensamblador planteado.


Ejecución del código

Código ensamblador simulado


Ejemplo 1 operando dos dígitos.

Ejemplo 2 operando dos dígitos diferentes.


Ejemplo 3 operando dos dígitos diferentes.
Bibliografía

Erik (2014). Importancia del Lenguaje Ensamblador. Recuperado de: https://prezi.com/-


btxqeayltxk/importancia-del-lenguaje-ensamblador/

Recurso sisc (2018). Unidad I: Introducción al lenguaje ensamblador. Recuperado de:


http://itpn.mx/recursosisc/6semestre/lenguajesdeinterfaz/Unidad%20I.pdf

Wikipedia (2018). Lenguaje ensamblador. Recuperado de:


https://es.wikipedia.org/wiki/Lenguaje_ensamblador

TRIPOD (2018). Las instrucciones del ensamblador. Recuperado de:


http://moisesrbb.tripod.com/unidad3.htm

También podría gustarte