Anda di halaman 1dari 5

ESCUELA POLITCNICA NACIONAL

FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA


LABORATORIO DE SISTEMAS MICROPROCESADOS

INFORME
SISTEMAS MICROPROCESADOS

Prctica # 01:

Tema: Algoritmos de multiplicacin y divisin.

Realizado por:

Alumno (s): Saico Edison

Grupo:

Fecha de entrega: 2015 / 10 / 14


Ao Mes Da

GR4

f. ______________________
Recibido por:

Sancin:

QUITO-ECUADOR

INFORME
Tema: Algoritmos de multiplicacin y divisin.

1.

Objetivo:
Realizar una revisin de la presentacin de nmeros binarios, y los algoritmos de
multiplicacin y divisin binarios.

Realizar un algoritmo para multiplicar dos nmeros binarios con sumas y


desplazamientos.

Algoritmo para la Multiplicacin


1. Inicia la operacin.
2. Identificar las expresiones A y B nmeros binarios de N bits para realizar la
operacin.
3. Modificar la expresin A o B (por propiedad conmutativa) con el mismo nmero de
bits a la izquierda de la expresin.
4. Inicializar un contador en cero, para llevar el conteo de N desplazamientos.
5. Comparo el LSB de A, si es un 0 saltar al paso 6, pero si es un 1 continuar con
el paso 5.
6. Realizar la suma de B ms los MSB de A.
7. Hacer un desplazamiento hacia la derecha completando un 0 en el MSB.
8. Comparo si el contador es <= n bits de A, si es verdad continuar con el paso 8, pero
si es falso saltar al paso 10.
9. Aumentar el contador en 1 unidad.
10. Regresar al paso 4
11. Termina la operacin.

2.

Hacer un diagrama de flujo para realizar la multiplicacin de binarios aplicando


sumas y desplazamientos.

3.

Consultar los comandos CLR, ROR, ROL, BRCS, BRCC, DEC y RJMP.
CLR: Este comando es usado para limpiar un registro indicado.
Ciclos: 1
Sintaxis:
clr r18 ; Borra el registro 18
ROR: Comando utilizado para hacer rotacin hacia la derecha.
Ciclos: 1
Sintaxis:
asr r17 ; Divide r17:r16 por dos
ror r16 ; r17:r16 es un nmero entero de 2bits.
ROL: Comando que sirve para hacer rotacin hacia la izquierda.
Ciclos: 1
Sintaxis:
lsl r18 ; Multiplica r19 y r18 por dos
rol r19 ; r19:r18 es un nmero entero con o sin signo de 2bits.
BRCS: En este comando su funcin es mostrar alertas en la bandera de Carry si cumple la
condicin en la sentencia de un cdigo, con un seteo.
Ciclos: 1 si condicin es falso, 2 si condicin es verdadera.
Sintaxis:
cpi r26, $56 ;
brcs carry ;
BRCC: En este comando su funcin es muy similar a la anterior, con la diferencia de que
muestra la alerta en la bandera de Carry cuanto el acarreo ha sido borrado, o limpiado.
Ciclos: 1 si condicin es falso, 2 si condicin es verdadera.
Sintaxis:
add r22,r23 ;
brcc nocarry ;
DEC: Hace referencia a un decremento de 1 del contenido del registro, o puede ser de una
posicin de memoria. El contenido que se hace el decremento puede ser un bit o una palabra.
Ciclos: 1
Sintaxis:
dec r17 ; Decrementa el registro r17.
RJMP: Este comando se utiliza para hacer saltos o desviar las instrucciones de un
programa.
Ciclos: 2
Sintaxis:
cpi r16,$42 ; Compare r16 to $42

brne error ; Branch if r16 $42


rjmpok ; Unconditional branch
CONCLUSIONES Y RECOMENDACIONES:

Entendimos acerca de los microcontroladores que es un dispositivo inteligente y trabaja con


seales digitales, as como para hacer las operaciones aritmticas trabaje con nmeros
binarios y que no tiene la operacin directa para hacer la divisin de dos nmeros.
Se cre un algoritmo para divisin de nmeros binarios acoplado al modo de operacin de
un microcontrolador, es decir un algoritmo de restas y desplazamientos.
Comprendimos que los algoritmos que se deben aplicarse de acuerdo al modo en que opera
el microcontrolador, por ejemplo, para la multiplicacin se debe realizar por medio de sumas
y desplazamientos.
Conocimos que existen varios tipos de microcontroladores, as como sus distintos tipos y
tamaos de memoria como la memoria FLASH, EEPROM y SRAM.
Como recomendacin es necesario conocer muy bien los tamaos de memoria disponible
para crear nuestro cdigo de programacin a la tarjeta, de la manera ms eficiente posible, a
fin de cargar ms instrucciones en menor cantidad de cdigo.

BIBLIOGRAFA
http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_BRCS.html.
http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_BRCC.html

Anda mungkin juga menyukai