You are on page 1of 14

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

FACULTAD DE CIENCIAS BASICAS TECNOLOGÍA E INGENIERÍA

ARQUITECTURA DE COMPUTADORES

FASE 4: TRABAJO COLABORATIVO 2

TUTOR:
ANGELO GERLEY QUINTERO

PRESENTADO POR:
OSCAR JAVIER DELGADO Código: 80217860

301302_36

INGENIERIA DE SISTEMAS
CEAD JOSE ACEVEDO Y GOMEZ
BOGOTA D.C MAYO DE 2017
INTRODUCCION

El presente trabajo tiene como finalizar realizar la actividad individual de la Fase 4


del curso de acuerdo a los parámetros establecidos en la guía.

De acuerdo a lo anterior se elaborará en un gráfico las instrucciones de tipo salto


del lenguaje ensamblador, se solucionarán mediante el lenguaje ensamblador los
problemas propuestos en la guía.
OBJETIVOS

Explicar detalladamente las instrucciones de tipo salto del lenguaje


Ensamblador.

Dar solución a los problemas planteados en la guía de actividades por medio


del lenguaje ensamblador y presentar tanto las evidencias de la ejecución y
el código del mismo.
DESARROLLO DE LA ACTIVIDAD

1. Explicar mediante un gráfico en que consiste las instrucciones tipo salto del
enguaje Ensamblador (Direcciones corta, cercana y lejana, etiquetas, saltos
incondicionales, saltos condicionales, instrucciones de testeo, decisiones y
bucles)
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.
Generar tres capturas por pantalla de la ejecución del programa. Anexar
Archivo .asm del programa. Nota: No utilizar Simuproc.

Se utiliza el programa GUI Turbo Assembler x64 para la solución del problema

Ingresamos número par


Ingresamos Número Impar

Ingresamos el Número Cero


Código
;Ejercicio N?mero 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. Generar tres
capturas por pantalla de la ejecuci?n del programa.
;Anexar Archivo .asm del programa. Nota: No utilizar Simuproc
;Autor: OSCAR JAVIER DELGADO VILLAMIL
;C?digo: 80217860

.model small
.stack
.data
cadena db 10,13, 'Digitar un numero:$'
num_impar db 10,13, 'El numero digitado es Impar$'
num_par db 10,13,'El numero digitado es Par$'
num_cero db 10,13, 'El numero digitado es Cero$'

.code
inicio:

mov dx,@data
mov ds,dx

lea dx,cadena
mov ah,09h
int 21h

call lee_numeros
call comparar

lee_numeros:

mov ah,01
int 21h
sub al,30h
ret

comparar:
cmp AL,0h
je cero
and al,01h
cmp al,01h
jz impar
jmp par

impar:
lea dx, num_impar
mov ah,09
int 21h
jmp inicio

par:
lea dx, num_par
mov ah,09
int 21h
jmp inicio

cero:
lea dx,num_cero
mov ah,09
int 21h
jmp inicio

end inicio
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; Generar tres capturas por pantalla de la ejecución del
programa. Anexar Archivo .asm del programa. Nota: No utilizar Simuproc.

Se utiliza el programa GUI Turbo Assembler x64 para la solución del problema.
Código:

;Ejercicio Numero 3
;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; Generar tres capturas por
pantalla de la ejecución del programa.
;Anexar Archivo .asm del programa. Nota: No utilizar Simuproc
;Autor: OSCAR JAVIER DELGADO VILLAMIL
;C?digo: 80217860

.model small ;definicion modelo de memoria


.stack 100;

.data

msg1 db 'Digite el primer numero para la pontencia: ','$'


msg2 db 13,10, 'Digite el segundo numero para la base:','$'
msg3 db 13,10, 'El resultado de la Multiplicacion es: ','$'
msg4 db 13,10, 'La Potencia obtenida es: ','$'

linea db 13,10,'$'

v1 db 0
v2 db 0

.code
.startup

call limpiar
mov ah,09h
lea dx, msg1
int 21h

call leer
sub al,30h
mov v1,al
mov ah,09h
lea dx,msg2
int 21h

call leer
sub al,30h
mov v2,al
mov cl, v1
sub cl,1

repetir:
add al,v2
loop repetir

mov ah,09h
lea dx,msg3
int 21h
mov dl,al
add dl,30h
mov ah,02h
int 21h

mov cl,v1
mov bl,v2
mov al,v2
sub cl,1

repetir2:
mul bl
loop repetir2

mov ah,09h
lea dx,msg4
int 21h
mov dl,al
add dl,30h
mov ah,02h
int 21h
.exit

salto proc near


mov ah,09h
lea dx,linea
int 21h
mov dl,00h
ret
salto endp

leer proc near


mov ah,01h
int 21h
ret
leer endp

limpiar proc near


mov ah,00h
mov al,03h
int 10h
ret
limpiar endp
end
CONCLUSIONES

Se aplican los conocimientos adquiridos en esta unidad como lo son las


instrucciones de tipo salto del lenguaje Ensamblador. Dando solución óptima
a los problemas planteados en la guía de actividades por medio del lenguaje
ensamblador utilizando el programa Turbo Assembler 64.
BIBLIOGRAFIA

Universidad Carlos III de Madrid. (12 de 03 de 2016). OpenCourseWare.


Obtenido de
http://ocw.uc3m.es/ingenieria-informatica/arquitectura-de-
computadores-ii/otros-recursos-1/or-f-010.-clusters-y-
supercomputadores/view

Hurtado, A. V. (15 de 11 de 2016). http://www.abreojosensamblador.net.


Obtenido de
http://www.abreojosensamblador.net/Productos/AOE/html/Pags/Conteni
dos.html

Rocabado Moreno, S. H. (2016). Arquitectura y organización de la


computadora: microprocesadores y programación assembler (págs. 1-
95). Obtenido de:
http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=ed
selb&AN=edselb.11200895&lang=es&site=eds-live

Hyde, R. (2010). The Art of Assembly Language. San Francisco: No Starch


Press (págs.1 - 150). Disponible en:
http://bibliotecavirtual.unad.edu.co:2048/login?url=http://search.ebsco
host.com/login.aspx?direct=true&db=e000xww&AN=440013&lang=es&s
ite=ehost-live

Soriano Payá, A. (2002). Estructuras de computadores: problemas


resueltos. [Alicante]: Digitalia (págs.13 - 50). Disponible en:
http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=nl
ebk&AN=318079&lang=es&site=eds-live

You might also like