Está en la página 1de 11

Repertorio de Instrucciones

Trabajo Grupal
Fase 4 – Trabajo Colaborativo 3

Presentado por:
Fabio Hernández Páez – Código: 80.172.707
Johnn Jairo Gómez Morales – Código: 80.217.968
John Jairo Martínez Nieto – Código: 80.170.712
Jorge Andrés Gómez Navarrete – Código: 80.191.363
Julián Eduardo Onoa – Código 80.205.925

Presentado a:
Anyelo Gerley Quintero
Tutor

Universidad Nacional Abierta y a Distancia – UNAD


Escuela de Ciencias Básicas, Tecnología e Ingeniería
Arquitectura de Computadores - Código: 301302A_471
Grupo: 34
Bogotá D.C. – mayo 11 de 2018
Introducción

Con el desarrollo del siguiente trabajo se pretende mostrar los principales


conceptos que hacen parte de las instrucciones tipo salto en el lenguaje ensamblador,
como son: direcciones corta, cercana y lejana, etiquetas, saltos condicionales e
incondicionales, instrucciones de testeo, decisiones y bucles; los cuales se aplican en
dos ejercicios desarrollados en este lenguaje mediante la aplicación EMU8086.
Objetivos

1. Comprender las instrucciones típicas y el formato de instrucciones en lenguaje


ensamblador mediante un gráfico.
2. Aplicar las instrucciones tipo salto y las básicas en el desarrollo de códigos en
lenguaje ensamblador.
Desarrollo de la Actividad

1. Gráfico de Instrucciones Tipo Salto:


2. Desarrollar 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.
;Nombre del autor: Julian Eduardo Onoa
;Codigo: 80205925
;Grupo No: 301302_34
;Fecha: Mayo 5 de 2018

data segment
;Pedimos el numero a revisar. Con "10" movemos el cursor a la siguiente
linea, y con "13" al comienzo de dicha linea. Solo formato, para que se vea
organizado
msj1 db 10,13,'Ingresa un numero y te dire si es par, impar o cero: $'
msj2 db 10,13,'El numero es par!$';Mensaje a mostrar si es par
msj3 db 10,13,'El numero es impar!$';Mensaje a mostrar si es impar
msj4 db 10,13,'El numero es cero!$';Mensaje a mostrar si es igual a cero
data ends

display macro msg


mov ah,9;Despliega una cadena en el area de datos
lea dx,msg ;carga la direccion de cadena en dx
int 21h;llama a DOS
endm
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
display msj1;Muestra el mensaje de bienvenida al programa
mov ah,1;lee un caracter
int 21h;llama a DOS para que ejecute el comando
sub al,30h;restar 30 para obtener el numero
;validamos si el numero es igual a 0
cero:
cmp al,0
jz cero_msj
;Dividimos y con el residuo sabemos si es par o impar
dividir:
mov dl,2
div dl;Dividimos el numero entre 2
cmp ah,0;Comparamos si el residuo de la division es igual a 0
jne impar;Si no es igual a cero, salta al segmento de codigo "impar"
par:
display msj2;Imprimo en pantalla el mensaje si es # par
jmp salir
impar:
display msj3;Imprimo en pantalla el mensaje si es # impar
jmp salir
cero_msj:
display msj4;Imprimo en pantalla el mensaje si el # es igual a cero
salir:
mov ah,4ch
int 21h
code ends
end start
Capturas de pantalla:
3. Desarrollar 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.
Capturas de pantalla:
Conclusiones

1. El conocimiento del lenguaje ensamblador es de vital importancia para un


desarrollador de software, ya que permite optimizar el manejo de los recursos
durante la escritura de un código en lenguaje de alto nivel, así mismo, para tener
conciencia de cómo es el flujo y procesamiento de los datos en la CPU de un
computador.
2. Como resultado del desarrollo del trabajo colaborativo, es posible aplicar los
conocimientos adquiridos a partir de los recursos actualmente disponibles en el
ambiente virtual, con estos recursos se trabaja de forma coordinada y motivada con
los compañeros ya que existen los suficientes recursos para apoyarse en el
desarrollo del trabajo grupal.
Bibliografía

1. Quintero Reyes, A. ( 28,11,2016). Registros de un procesador 8086. [Archivo


de video]. Recuperado de: http://hdl.handle.net/10596/9475
2. Rocabado Moreno, S. H. (2016). Arquitectura y organización de la
computadora: microprocesadores y programación assembler (págs. 1- 95).
Recuperado de:
http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=edselb&A
N=edselb.11200895&lang=es&site=eds-live
3. Hyde, R. (2010). The Art of Assembly Language. San Francisco: No Starch
Press (págs.1 - 150). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2048/login?url=http://search.ebscohost.co
m/login.aspx?direct=true&db=e000xww&AN=440013&lang=es&site=ehost-
live
4. (2018). Universidad de Sevilla. Ensamblador 8086/88. Retrieved 9 May 2018,
from https://www.cs.buap.mx/~mgonzalez/asm_mododir2.pdf
5. Tutorial ASM (básico) + ejemplos. (2018). Foro.elhacker.net. Retrieved 9 May
2018, from https://foro.elhacker.net/asm/tutorial_asm_basico_ejemplos-
t102701.0.html
6. Hurtado, A. (2018). Abre los Ojos al Ensamblador - Capítulo
04. Abreojosensamblador.net. Retrieved 9 May 2018, from
http://www.abreojosensamblador.net/Productos/AOE/html/Pags/Cap04.html

También podría gustarte