You are on page 1of 17

REPERTORIO DE INSTRUCCIONES

ARQUITECTURA DE COMPUTADORES
301302_43

TUTOR: ANYELO GERLEY QUINTERO

MILLER DUVAN LEMUS HORTA 1037573271


JORGE ALBERTO CORTS MONTOYA 1039596480
ROLANDO A PEREZ H 15271865
ANA MILENA RUIZ HERNNDEZ 1027942753
ESCUELA DE CIENCIAS BSICAS DE TECNOLOGA E INGENIERA
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
NOVIEMBRE DE 2016

1|Pgina
Introduccin

El presente documento tiene como propsito plasmar mediante evidencias lo


aprendido en la unidad tres del curso de arquitectura de computadores, en el que
se explicara mediante un diagrama las instrucciones tipo salto para el lenguaje
ensamblador, seguidamente se plasma la evidencia de un programa que tiene como
objetivo comparar nmeros pares, impares y el cero con el manejo de registros del
procesador del computador y la lectura del teclado del mismo procesara y
determinara si es lo que se solicita, se requiere haber estudiado la unidad tres para
tener la capacidad de desarrollar las lneas de comandos en ensamblador.

2|Pgina
Objetivos

Objetivo General

Explorar las instrucciones tipo salto en lenguaje ensamblador, aplicndolo a


ejercicios reales para programar.

Objetivos Especficos
Realizar un grfico indicando los conceptos de: instrucciones tipo de salto,
instrucciones saltos condicionales e incondicionales, instrucciones de
etiquetas, instrucciones de bucles.
Identificar los diferentes cdigos en lenguaje ensamblador.
Desarrollar casos reales con cdigos fuentes, reconociendo la forma de
realizar operaciones matemticas.

3|Pgina
1. Explicar mediante un grfico en que consiste las instrucciones tipo salto del
Lenguaje Ensamblador (Direcciones corta, cercana y lejana, etiquetas, saltos
incondicionales, saltos condicionales, instrucciones de testeo, decisiones y
bucles).

4|Pgina
Instruccin Descripcin
Estos saltos son designados por
el mnemotcnico JMP, cuando es JMP Salto incondicional directo
encontrado esta indicacin se JE Salto por igual
ejecuta invariablemente, es decir JNE Salto por no igual
aade la distancia del salto al JNG Salto por mayor
registro IP. Su sintaxis es: etiqueta JGE Salto no por mayor
JMP direccin corta, cercana o JL Salto por mayor igual
lejana. JNL Salto por no menor
JLE Salto por menor igual
Dentro de las etiquetas de salto JNLE Salto por no menor igual
incondicional se encuentran las JS Salto negativo
siguientes:
Concepto
Enva control del programa a un
conjunto de instrucciones que se Son nombres que se asignan
Etiquetas
identifican pro medio de una a las direcciones de cualquier
etiqueta instruccin o localizacin de
memoria, una vez el

Incondicionales
ensamblador encuentra una
etiqueta, es reemplazada por la
direccin correcta, por ejemplo:
un salto a A90; es una etiqueta

Saltos
dada a un atributo a una
Corta-Cercana-Lejana instruccin cercana a MOV.
Son saltos de tres tipos y estn
determinados por la longitud del
salto. Se describe a continuacin: Instrucciones tipo
salto lenguaje
Direccin Corta: Esta es ensamblador Las instrucciones de
alcanzada por un desplazamiento Direcciones Instrucciones decisiones son
de un byte, y est limitado a una de decisiones representadas para toma
distancia de 128-127 bytes. de decisiones, el lenguaje
ensamblador del MIPS

condicionales
Direccin Cercana: Aqu se da el Instrucciones incluye dos instrucciones

Instrucciones
desplazamiento de una palabra, de bucles de toma de decisiones
limitado a una distancia de 32, 768

de testeo
similares a una sentencia If
Saltos

a 32, 767 bytes en el mismo Los saltos condicionales con go to. La primera
segmento. transfieren control instruccin es beg
dependiendo de las registro1, registro2, L1.
Direccin Lejana: Se alcanza por configuraciones en el registro, Esta instruccin significa ir
medio segmentos y solo tiene esto indica que cuando salta
Las instrucciones de a la sentencia etiquetada
sentido en programas tipo Exe. de un lugar a otro si se cumple Las instrucciones de
bucles, Son instrucciones con L1.
cierta condicin lo ejecuta y testeo, compara
sino continua en la siguiente lgicamente los simples que posibilitan un
lnea operandos, destino fuente grupo de control elemental
Test. Esta instruccin en los programas. Un bluce
desarrolla una conjuncin es un bloque de cdigo que
de bit por bit de los se ejecuta varias veces.
operandos, a diferencia del Hay varias tipos de bucles:
AND no coloca el resultado Bucles sin fin 5|Pgina
en el operando destino, Bucles por conteo
solo hace en el estado de Bucles hasta
las banderas. Bucles mientras
2. Desarrollar un cdigo en lenguaje ensamblador que permita leer un
nmero de un digito por teclado y determinar si el nmero es par, impar
o cero. Generar tres capturas por pantalla de la ejecucin del programa.
Anexar Archivo .asm del programa. Nota: No utilizar Simuproc.
Este cdigo se escribi en emu8086 y a continuacin de evidencia el trabajo
realizado.

Imagen 1 captura del cdigo. (25/11/2016). "Elaboracin Propia"


En esta imagen se evidencia el desarrollo del punto, la captura de los datos por
teclado, el movimiento del contenido de los registros, saltos a las etiquetas.

6|Pgina
Imagen 2 captura del cdigo en ejecucin. (25/11/2016). "Elaboracin Propia"
En esta imagen podemos apreciar el programa emu8086 ejecutndose y corriendo
las lneas de comando del cdigo propuesto, se evidencia la solicitud del dato por
parte del usuario.

Imagen 3 captura del cdigo en ejecucin resultado. (25/11/2016). "Elaboracin


Propia"

7|Pgina
En esta imagen el cdigo devuelve el dato despus de procesar la informacin la
cual dice que el 5 es un nmero impar.
Cdigo escrito:

.model samll
.stack 64
.data

var1 dw 0
var2 db 2

msg1 db 'Ingrese un numero:', 15, '$'


msg2 db 'El numero es cero.', 11, '$'
msg3 db 'El numero es par. ', 12, '$'
msg4 db 'El numero es impar.',13, '$'

.code
general proc far

mov ax, @data


mov ds, ax

mov ah, 09
lea dx, msg1
int 21h

mov ah, 01
int 21h

sub al, 30h

mov var1, ax
8|Pgina
cmp al,0
JE mostrar

mov ax, var1


div var2

cmp ah,0
JG mostrar2
jmp mostrar1

mostrar:
mov ah, 09
lea dx, msg2
int 21h
jmp fin

mostrar1:
mov ah, 09
lea dx, msg3
int 21h
jmp fin

mostrar2:
mov ah, 09
lea dx, msg4
int 21h
jmp fin
fin:
mov ah, 4ch

9|Pgina
int 21h

general endp

end

3- Desarrollar un cdigo en lenguaje ensamblador que permita realizar una


multiplicacin de dos nmeros a travs de sumas sucesivas y una potencia a
travs de multiplicaciones sucesivas (para ello debe utilizar instrucciones tipo
bucle). Al inicio del programa se deben capturar por teclado dos nmeros de
un digito cada uno; Generar tres capturas por pantalla de la ejecucin del
programa.
Solucin

Imagen 4 captura edicin del instrucciones emu8086. (27/11/2016). "Elaboracin


Propia"

10 | P g i n a
Se puede observar en donde se declaran las etiquetas y se inicia la lectura de los
nmeros por teclado.

Imagen 5 captura ejecucin del cdigo en donde se introducen los datos. (27/11/2016).
"Elaboracin Propia"

11 | P g i n a
Imagen 6 captura ejecucin del programa entregando resultados. (27/11/2016). "Elaboracin
Propia"

Se puede observar el cdigo al pedir los dato al usuario discrimina la base y el


exponente ya que en algunos casos existe diferencias y es importante saber cul
es el exponente.

.model samll
.stack 64
.data

;codigo para multiplicar y potenciardos numeros

msg0 db 10, 'Ingrese primer numero base operacion: ', '$'


prn db 0
msg1 db 10, 'Ingrese segundo numero operacion: ', '$'
sgn db 10
msg2 db 00, 'El valor de la multiplicacion es: ', '$'
res1 db 00
msg3 db 00, 'El valor de la potencia es: ', '$'
res2 db 00
jump db "",10,10,13,11,'$'
base db 00
exp db 00

.code
main proc far

mov ax, @data


mov ds, ax

12 | P g i n a
mov ax, 00
mov al, 03h
int 10h

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

mov ah, 01h


int 21h
sub al, 30h
mov prn, al
mov exp,al

mov ah, 09
lea dx, jump
int 21h

mov ax,@data
mov ds,ax
mov ah,09
lea dx,msg1
int 21h

mov ah,01h
int 21h
sub al, 30h
mov sgn,al
mov base,al

13 | P g i n a
mov ah,09
lea dx, jump
int 21h

;bucle multiplicacion
mov cl,sgn
mov al,0
mov bl,prn
x:
add al,bl
loop x
mov res1,al
;bucle potenciancion
mov cl,base
mov al,1
mov bl,exp
xx:
mul bl
loop xx

mov res2,al
mov ax,@data
mov ds,ax
mov ah,09

lea dx,msg2
int 21h

14 | P g i n a
; implimiendo resultado de la multiplicaicon
mov dl,res1
add dl,30h
mov ah,02h
int 21h

mov ah,09
lea dx, jump
int 21h

mov ax, @data


mov ds,ax
mov ah,09
lea dx, msg3

int 21h
;imprimiendo resultado de la potencia
mov dl,res2
add dl,30h
mov ah,02h

fin:
int 21h
mov ax,4c00h

main endp
end main

15 | P g i n a
Conclusiones

El lenguaje ensamblador es una forma de comunicacin con el computador


para la creacin de programas o software que hoy da son utilizados en el
mundo empresarial, este trabajo permiti reconocer y explorar los conceptos
bsicos de instrucciones de salto, y los elementos necesarios para que este
funcione oportunamente. Algunos de estas herramientas son: instrucciones
de bucles, de decisiones, saltos condiciones, saltos incondicionales, entre
ellos. Programar no es una tarea fcil, sin embargo la creatividad e
imaginacin juega un papel importante, los cdigos y la sintaxis de la misma
permite finalmente disear cualquier programa.
El lenguaje de bajo nivel representa retos importantes ya que se debe
considerar lo ms bsico de la instruccin, a diferencia de otros lenguajes de
programacin en los que se da por entendido implcito algunas instrucciones.
Ayuda al aprendizaje de los registros del procesador en donde para elaborar
un cdigo es necesario saber el comportamiento de cada uno.
El repertorio de instrucciones es de poca cantidad pero es complejo el uso al
iniciar, se debe entender la lgica de funcionamiento muy buen reto.

16 | P g i n a
Referencias Bibliogrficas

Recuperado de:
http://comunidad.dragonjar.org/f177/tutorial-completo-de-lenguaje-
ensamblador-8845/#post21426.
http://www.abreojosensamblador.net/Productos/AOE/html/Pags/Cap04.html
https://es.scribd.com/doc/6643575/unidad-2-ensamblador.
https://books.google.com.co/books?id=z1ukg428VjcC&pg=PA115&lpg=PA1
15&dq=que+son+instrucciones+de+decision+en+saltos+de+lenguaje+ensa
mblador&source=bl&ots=VIXz8ohBtf&sig=3FmpEQntBPyEPYkY4oQmypLJ
PyY&hl=es-
19&sa=X&ved=0ahUKEwj2sqabsLzQAhWLNiYKHQT6Ci8Q6AEIRjAI#v=on
epage&q&f=false
http://www.ittux.edu.mx/sites/default/files/MICROCOMPUTADORAS_AL_D
ETALLE.pdf
http://moisesrbb.tripod.com/unidad5.htm

17 | P g i n a

You might also like