Está en la página 1de 15

UNIDAD 3 TAREA 4 DESAROLLAR CODIGOS EN LENGUAJE ENSAMBLADOR

GRUPO: 301302_35

Trabajo Presentado Por


JONATHAN MARTINEZ SALINAS

Trabajo Presentado A
HERNANDO JOSE PEÑA HIDALGO

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


ARQUITECTURA DE COMPUTADORES
DOSQUEBRADAS RISARALDA 14 DE MARZO
2021
INTRODUCCION

El lenguaje ensamblador es un lenguaje de programación de bajo nivel, con el podemos


codificar instrucciones básicas para los computadores, microprocesadores y otros circuitos
integrados programables. En esta actividad, daremos solución a los problemas planteados en
la rúbrica de evaluación y pondremos en práctica los conceptos estudiados en el entorno de
conocimiento.
 

 
OBJETIVOS

 Crear una infografía explicando en que consiste las instrucciones de tipo salto del
lenguaje ensamblador (Dirección corta, cercana y lejana, etiquetas, saltos
incondicionales, saltos condicionales, instrucciones de testeo, decisiones y bucles.)
 Desarrollar un código en lenguaje ensamblador que permita leer un número de un
número de un código por teclado y determinar si el número es par, impar o cero.
 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.

 
INFOGRAFIA

 
 
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. Documentar perfectamente todo el código
(incluir en el encabezado del código: nombre del autor, código, número de grupo y fecha).
Generar tres capturas por pantalla de la ejecución del programa.

.model small
.stack 100h

.data

msj1 db 'por favor, ingrese un digito $'


msj2 db 'el dijito es par $'
msj3 db 'el digito es impar$'
msj4 db 'el digito es cero$'

.code
start:

mov ax, data ;inicia el proceso


mov ds, ax

mov ah,9
lea dx, msj1 ;imprime el mensaje en pantalla
int 21h

mov ah,1
int 21h
mov bl, al;guarda el caracter en bl

mov ah,2; retorna el carro


mov dl,0ah
int 21h

mov dl, 0ah


int 21h

cmp bl, 30h

jz cero ;salta si es cero

and bl,1
jz par
jnz impar ;salta si no es cero

Par:
mov ah,9
lea dx, msj2 ;imprime el mensaje en pantalla
int 21h
jmp terminar

Impar:
mov ah,9
lea dx,msj3;imprime el mensaje en pantalla
int 21h
jmp TERMINAR

Cero:

mov ah,9
lea dx, msj4;imprime el mensaje en pantalla
int 21h
jmp Terminar

Terminar:
mov ah, 4ch
int 21h

end start
• 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. Documentar perfectamente todo el código (incluir en el
encabezado del código: nombre del autor, código, número de grupo y fecha). Generar tres
capturas por pantalla de la ejecución del programa.
.model small
.stack 100
.data

msj1 db "digite promer numero 1: $"


msj2 db 13,10, "digite segundo numero 2: ","$"
msj3 db 13,10, "el resultado de la multiplicacion es: ","$"
msj4 db 13,10, "la potencia es: ","$"

LINEA db 13,10,"$"
VAR1 db 0
VAR2 db 0

.code
.startup

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

call leer
sub al,30h
mov VAR1, al
mov ah,09h
lea dx, msj2
int 21h

call leer
sub al, 30h
mov VAR2, al
mov cl, VAR1
sub cl,1

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

mov cl, VAR1


mov bl, VAR2
mov al, VAR2
sub cl,1

REPETIR2:
mul bl
loop REPETIR2

mov ah,09h
lea dx,msj4
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
LIMPIA proc near
mov ah, 00h
mov al, 03h
int 10h
LIMPIA endp
end
inicio endp
end inicio
CONCLUSIONES

El lenguaje ensamblador a pesar de ser un lenguaje de bajo nivel, es muy complejo y difícil,
en el ejercicio 2 no se logra imprimir en pantalla el seudocódigo.

El lenguaje ensamblador, a consideración, es muy fascinante ya que si aprendemos su sintaxis


y su lógica, se logra entender de mayor manera como trabaja la máquina y el comportamiento
de la misma.
BIBLIOGRAFIA

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