Sunteți pe pagina 1din 10

ARQUITECTURA DE COMPUTADORES

Trabajo colaborativo 3

Arquitectura de computadores

Curso:
301302a _ 291

Grupo
29

Integrantes:
Jhonatan florez obando

código 1098628702

Jose Wilmar Jurado Contreras

código 1090389292

Luis Carlos Alvarado

código xxxxxxxxxxxx

Tutor:
Angelo gerley quintero

Universidad nacional abierta y a distancia unad


Escuela basica de tecnologia e ingenieria
Noviembre de 2016
ARQUITECTURA DE COMPUTADORES

INTRODUCCIÓN

El siguiente trabajo de arquitectura de computadores la voy a realizar teniendo en


cuenta lo manifestado en la guía integradora y lo manifestado por el apreciado
tutor
en el foro de participación del trabajo.
Es un tema nuevo el cual el objetivo es seguir adquiriendo nuevos conocimientos
en nuestro curso y de seguir aprendiendo y cumplir con lo manifestado.
ARQUITECTURA DE COMPUTADORES

1. Explicar mediante un gráfico 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)
ARQUITECTURA DE COMPUTADORES

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
model small ; modelo de memoria
.stack 64 ; tamaño de la pila
.data
var1 db ?
msg1 db 'INGRESE NUMERO: $'
msg2 db '=>EL NUMERO INGRESADO ES POSITIVO: $'
msg3 db '=>EL NUMERO INGRESADO ES NEGATIVO: $'
msg4 db '=>EL NUMERO INGRESADO ES CERO: $'
.code
start
mov ah,09h
lea dx, msg1
int 21h

mov ah,01h
int 21h
sub al,30h
mov var1,al
mov al,0h

cmp var1,al
ja mayor
jb menor
je igual
mayor:
mov ah,09h
lea dx,msg3
ARQUITECTURA DE COMPUTADORES
int 21h
jmp salir
menor:
mov ah,09h
lea dx,msg2
int 21h
jmp salir
igual:
mov ah,09h
lea dx,msg4
int 21h
jmp salir
salir:
.exit
end
ARQUITECTURA DE COMPUTADORES

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
.model small; modelo de memoria
.stack 100; tamaño de la pila
.data
msj1 db 'Numero 1 y Potencia:','$'
msj2 db 13,10,'Numero 2 y Base:','$'
msj3 db 13,10,'Multiplicacion:','$'
msj4 db 13,10,'Potencia:','$'

linea db 13,10,'$'
var1 db 0
var2 db 0

.code
startup; iniciamos el procedimiento

call limpia
mov ah,09h
lea dx, msj1
int 21h

call leer
sub al,30h
mov var1,al
mov ah,09
lea dx, msj2
int 21h
ARQUITECTURA DE COMPUTADORES

call leer
sub al,30h
mov var2,al
mov cl,var1
sub cl,1
;*****************Multiplicacion
repetir:
add al,var2
LOOP repetir

mov ah,09h
lea dx, msj3
int 21h
mov dl,al
add dl,30h
mov ah,02h
int 21h
;***************Potencia
mov cl,var1
mov bl,var2
mov al,var2
sub cl,1

repetir2:
mul bl
LOOP repetir2

mov ah,09h
lea dx, msj4
ARQUITECTURA DE COMPUTADORES
int 21h
mov dl,al
add dl,30h
mov ah,02h
int 21h
.exit

;************Procedimientos
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

limpia proc near


mov ah,00h
mov al,03h
int 10h
ret
limpia endp
end
ARQUITECTURA DE COMPUTADORES

S-ar putea să vă placă și