Está en la página 1de 16

ARQUITECTURA DE COMPUTADORES

UNIDAD 3 TAREA 4

DESARROLLAR CODIGOS EN LENGUAJE ENSAMBLADOR

GRUPO: 202016893_84

TUTOR: JAIME RUBIANO LLORENTE

JUAN SEBASTIAN HERNANDEZ

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

MAYO 2021
INTRODUCCION
EL lenguaje ensamblador es un tipo de lenguaje que representa el código maquina
especifico para cada arquitectura de microprocesador, cuando se crearon las primeras
computadoras electrónicas se necesito programarlas para almacenar en memoria la
información sobre la tarea que iba a ejecutar.
El lenguaje ensamblador traduce directamente al lenguaje de maquina facilitando el uso
para las personas y caso contrario ya que las computadoras no entienden directamente el
lenguaje ensamblador
OBJETIVOS
Conocer el lenguaje ensamblador, comprenderlo para desenvolver al estudiante dando
soluciones a problemas básico y complejos.
Conocer el funcionamiento de los registros de propósito general.
Conocer las instrucciones tipo salto de lenguaje ensamblador
2.INFOGRAFIA
3.CODIGO LENGUAJE ENSAMBLADOR
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

.data

mensajeS db 13,10,'Digite el numero:$'


mensajeP db 13,10,'El numero es par$'
mensajeI db 13,10, 'El numero es impar$'
mensaje0 db 13,10, 'El numero es cero$'

n db 0

.code
ejecucion:

mov ax, @data


mov ds, ax

mov dx, offset mensajeS


call imprimir

mov ah, 1h
int 21h
sub al, 30h
mov n, al
jz cero

mov dl, al
mov bl, 2h
div bl

cmp ah, 0
jnp impar
jp par

imprimir:
mov ah,9h
int 21h
ret
par:
mov dx, offset mensajeP
call imprimir
jmp fin

impar:
mov dx, offset mensajeI
call imprimir
jmp fin

cero:
mov dx, offset mensaje0
call imprimir
jmp fin

fin:
mov ah, 4ch
int 21h

end ejecucion
CAPTURAS DE LA EJECUCION DEL PROGRAMA
4.SEGUNDO CODIGO LENGUAJE ENSAMBLADOR

name "multiplicacion"
.model small
.stack 64
.data

num1 db 0
num2 db 0
res db 0

ti db 13,10, 'Programa que multiplica dos numeros', '$'


n1 db 13,10, 'Digite el exponente: ', '$'
n2 db 13,10, 'Digite la base: ','$'
r db 13,10, 'El producto es: ', '$'
r2 db 13,10, 'La potencia es: ','$'

.code
.startup

mov ah, 09h


lea dx, ti
int 21h
lea dx, n1
int 21h

call leer
sub al, 30h
mov num1, al
mov ah, 09h
lea dx, n2
int 21h

call leer
sub al,30h
mov num2, al
mov cx, 0
mov cl, num1
mov bl, 0

;suma sucesiva
suma:
add bl, num2
loop suma
mov res, bl
mov ah, 09h
lea dx, r
int 21h
call imprimir

;multiplicacion sucesiva
mov cx, 0
mov cl, num1
mov al, 1
multi:
mul num2
loop multi
mov res, al
mov ah, 09h
lea dx, r2
int 21h
call imprimir

leer proc near


mov ah, 01h
int 21h
ret
leer endp

imprimir proc near


cmp res, 10
jnae imp
mov ax, 0
mov al, res
mov dl, 10
div dl
mov dh, ah
mov dl, al
add dl, 30h
mov ah, 02h
int 21h
mov dl, dh
add dl, 30h
mov ah, 02h
int 21h
jmp ter

imp:
mov dl, res
add dl, 30h
mov ah, 02h
int 21h
ter:

ret
imprimir endp
CAPTURAS DE LA EJECUCION DEL PROGRAMA
CONCLUSIONES
El lenguaje ensamblador para mi es mas complejo de aprende ya que cuenta con
abreviaciones y estas se usan para almacenar, capturar, escribir, leer etc, como principiante
en esta área no fue fácil realizar este programa a pesar de ser un problema muy básico ya
que no estoy familiarizado comparado con otros lenguajes de programación que son más
simples y fáciles de aprender.
Es necesario usar y practicar mas con este tipo de lenguaje, profundiza al estudiante en el
área de programación, despejando la imaginación y así desenvolvernos dando soluciones a
problemas que serán mas complejos.
REFERENCIAS BIBLIOGRAFICAS

 Hurtado, A. (2016). http://www.abreojosensamblador.net. (Cap. 1-7). Recuperado


de https://w6h1uvmqkgffmqwddvae2q-
on.drv.tw/Arquitectura/ensamblador/Index.html

 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. 24-52).
Recuperado de https://elibro-
net.bibliotecavirtual.unad.edu.co/es/ereader/unad/77190?page=25

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


Digitalia (P. 13-50). Recuperado de https://bibliotecavirtual.unad.edu.co/login?
url=http://search.ebscohost.com/login.aspx?
direct=true&db=nlebk&AN=318079&lang=es&site=eds-
live&scope=site&ebv=EB&ppid=pp_13

También podría gustarte