Está en la página 1de 17

Desarrollar prototipos funcionales en lenguaje ensamblador para conocer el

funcionamiento de los registros de propósito general.

Yamith Eliecer Torres


William Leonardo Vargas
Juan Alexander Vargas
John Alejandro Hernandez Rodríguez

Mayo 2021.

Universidad Nacional abierta y a distancia-UNAD


Escuela de Ciencias Básicas, Tecnología e Ingeniería -ECBTI
Arquitectura de computadores
Introducción
En el presente trabajo se desarrolla la unidad 3 tarea 4 con el objetivo de conocer y
explicar en qué consiste las instrucciones de tipo salto del leguaje ensamblador, también
desarrollar códigos en leguaje ensamblador funcionales para prototipos de operaciones
matemáticas básicas como es identificar si un nuero es par, impar, cero o realizar una
multiplicación entre dos números.
Objetivos

• Conocer el proceso paso por paso de emu8086 para llegar al punto principal de
los ejercicios.
• Investigar conceptos sobre instrucciones tipo salto del leguaje ensamblador.
• Desarrollo de prototipos funcionales en lenguaje ensamblador.
• Identificar la estructura lenguaje ensamblador, los métodos que se pueden utilizar
en la exposición de este, así como los términos de Dirección corta, cercana y
lejana, etiquetas, saltos incondicionales, saltos condicionales, instrucciones de
testeo, decisiones y bucles.
Infografía
La infografía cumple con lo solicitado, presenta definiciones de los conceptos y ejemplos de los
bucles que se usan en el lenguaje ensamblador.
Códigos en lenguaje ensamblador

3 - El estudiante desarrolla un código en lenguaje ensamblador que permita leer


un número de un digito por teclado y determinar si el número es par, impar o cero.

.model small
.stack 64
.data
num db 0 ;almaceno el numero solicitado
inicio db "Par-impar-cero ==== Juan Vargas",10,13,10,13
txt1 db "Ingrese numero: ",10,13,10,13,'$'
txt2 db " el numero es igual a cero",'$'
txt3 db " el numero es impar",'$'
txt4 db " el numero es par ",'$'
.code
main:
mov ax,@data
mov ds,ax
call impr
mov ah,1h
int 21h
sub al,30h ;toma numero digitado
mov num,al ;almacenar numero en la varible num
jz cero
mov dl,al ;mover el dato de al a dl
mov dl,2h ;visualizar el caracter
div dl
cmp ah,0 ;comparar si es par o impar
jnp impar
jp par
impr:
mov ah,09h
int 21h
ret
cero:
mov dx, offset txt2 ;imprimir respuesta (0)
call impr
jmp break
impar:
mov dx, offset txt3 ;imprimir respuesta (impar)
call impr
jmp break
par:
mov dx, offset txt4 ;imprimir respuesta (par)
call impr
jmp break
break:
mov ah,4ch
int 21h
end main

El programa cumple con lo solicitado, validando numero par, numero impar, y valida el
número 0.
4. El estudiante desarrolla un código en lenguaje ensamblador que permita realizar
una multiplicación de dos números a través de sumas sucesivas y una potencia a
través de multiplicaciones sucesivas (para ello debe utilizar instrucciones tipo bucle).
Al inicio del programa se deben capturar por teclado dos números de un digito cada
uno.
; Yamith Eliecer Torres Camargo
; Arquitectura de Computadores Mayo 2021
.model small
.stack 64
.data
msgnum1 db "Por favor Ingrese el primer nuemro", '$'
var1 db 0
msgnum2 db "Por favor Ingrese el segundo nuemro", '$'
var2 db 00
msgmulti db "la multiplicacion es:", '$'
rta1 db 00
msgpoten db "la potencia es: ", '$'
rta2 db 00
salto db " ",10,13,'$'
.code
inicio proc far
mov ax, @data
mov ds,ax
mov ax,00
mov al,03h
int 10h
mov ah, 09
lea dx,msgnum1
int 21h
mov ah,01h
int 21h
sub al,30h
mov var1, al
mov ah, 09
lea dx, salto
int 21h
mov ax, @data
mov ds, ax
mov ah, 09
lea dx, msgnum2
int 21h
mov ah, 01h
int 21h
sub al, 30h
mov var2,al
mov ah, 09
lea dx, salto
int 21h
mov cl,var2
mov al,0
mov bl,var1
mult:
add al,bl
loop mult
mov rta1,al
mov cl, var2
mov al,1
mov bl,var1
pot:
mul bl
loop pot
mov rta2,al
mov ax, @data
mov ds,ax
mov ah, 09
lea dx, msgmulti
int 21h
mov dl, rta1
add dl, 30h
mov ah, 02h
int 21h
mov ah, 09
lea dx, salto
int 21h
mov ax, @data
mov ds, ax
mov ah, 09
lea dx, msgpoten
int 21h
mov dl,rta2
add dl,30h
mov ah,02h
fin:
int 21h
mov ax, 4c00h
inicio endp
end inicio
El programa cumple con lo solicitado, multiplica dos números y obtiene la potencia de estos dos
números.
Conclusiones
- Se concluye que el lenguaje ensamblador es un lenguaje el cual es empleado para
crear programas informáticos. Este lenguaje es creado a base de instrucciones para
intentar sustituir al lenguaje máquina. La importancia del legaje ensamblador es
que en él se pueden hacer cualquier tipo de programa que en otros lenguajes de
alto nivel no, al igual que ocupan menos espacio en la memoria.

- Vemos el uso de las sintaxis del lenguaje ensamblador y cómo podemos


emplearlas para hacer varios ejemplos

- Mediante el desarrollo en código ensamblador se pueden recrear textos, datos en


un ordenador e inclusive cifrar mensajes, es la base del procesador 8086 y es de
suma importancia comprender sus conceptos básicos para conocer más sobre la
arquitectura de computadores.

- El lenguaje ensamblador, se usa para crear sistemas operativos, compiladores para


crear un lenguaje de programación, este lenguaje también es muy usado en la IOT,
el cual se usa para programar circuitos o computadoras donde la optimización es
primordial

- El leguaje ensamblador es de suma importancia ya que permite integrar sistemas


binarios, sistemas decimales, operaciones matemáticas en base dos entre otros
para así poder desarrollar programas funciónales y aplicables.
Conclusiones de la actividad
A partir de esta actividad realizada, nos permitió conocer y explicar los conceptos sobre
las instrucciones de tipo salto, del leguaje ensamblador. Al igual que nos permitió el
desarrollo de prototipos funcionales en dicho leguaje con operaciones matemáticas
básicas.
Referencias
Castro Gil, M. (2014). Estructura y tecnología de computadores I (Gestión y Sistemas),
(P. 29-78). Madrid, Spain: UNED - Universidad Nacional de Educación a Distancia.
Recuperado de https://elibronet.
bibliotecavirtual.unad.edu.co/es/ereader/unad/48716?page=16
Rocabado Moreno, S. H. y Arias Figueroa, D. A. (2016). Arquitectura y organización
de
la computadora: microprocesadores y programación assembler. Argentina: D -
Editorial
de la Universidad Nacional de La Plata. (P. 7-18).Recuperado de https://elibronet.
bibliotecavirtual.unad.edu.co/es/ereader/unad/77190?page=8
Vegas, M. (2015). Definiciones sistema numéricos, (P. 2-23). Recuperado de
https://es.slideshare.net/MariaVegasArraez/parte-2-conversiones-1
Abre los Ojos al Ensamblador (2010). Recuperado de
https://w6h1uvmqkgffmqwddvae2q-on.drv.tw/Arquitectura/ensamblador/Index.html
Conclusiones
Referencias Bibliográficas

Normas APA actualizadas 7ª edición (2020). Portada. Recuperado de:


https://normas-apa.org/estructura/portada/

También podría gustarte