Sunteți pe pagina 1din 6

ESCUELA POLITCNICA NACIONAL

LABORATORIO DE SISTEMAS MICROPROCESADOS

Nombre:Marilyn Chimarro Lamar


Grupo: GR-8

INFORME

Prctica No. 03

Tema: CONOCIMIENTO DEL SOFTWARE DE DESARROLLO ATMEL STUDIO

Objetivo: Conocer una de las herramientas existentes para el desarrollo y depuracin de


programas para aplicaciones con microcontroladores de 8 bits de Atmel, especficamente AVR
Studio 6.

1. Repetir la simulacin con otros cuatro conjuntos de datos y presentar los resultados
mediante capturas de pantallas

DIVISIN PARA 8 BITS

; Created: 12/05/2017 14:12:43


; Author : Chimarro Marilyn
;*"div8u"-8/8 Bit Unsigned Division
;****************************************************
;****** Subroutine Register Variables
.def drem8u = r15 ;remainder
;.def dres8u = r16 ;result
.def dd8u = r16 ;dividend
.def dv8u = r17 ;divisor
.def dcnt8u = r18 ;loop counter
;***** code
.org 0x00
ldi dd8u,244
ldi dv8u,45
div8u:
sub drem8u,drem8u ;clear remainder and carry
ldi dcnt8u,9 ;int loop counter
d8u_1:
rol dd8u ;shift left dividend
dec dcnt8u ;decrement counter
brne d8u_2 ;if done
rjmp fin ;return
d8u_2:
rol drem8u ;shift dividend into remainder
sub drem8u, dv8u ;remainder -divisor
brcc d8u_3 ;if result negative
add drem8u,dv8u ;restore remainder
clc ;clear carry to be shifted into result
rjmp d8u_1 ;else

d8u_3:
sec ;set carry to be shifted into result
rjmp d8u_1
fin:
rjmp fin
Ejemplo 1

Ejemplo 2

Ejemplo 3
Ejemplo 4

2. Repetir la simulacin con otros cuatro conjuntos de datos y presentar los resultados
mediante capturas de pantallas para la divisin de nmeros de 16 bits
DIVISIN PARA 16 BITS
; informe3.asm
; Created: 18/5/2017 9:23:53
; Author : Marilyn Chimarro
.def drem16uL=r14
.def drem16uH=r15
.def dres16uL=r16
.def dres16uH=r17
.def dd16uL =r16
.def dd16uH=r17
.def dv16uL =r18
.def dv16uH=r19
;***** Code
;***** Divide Two Unsigned 16-Bit Numbers
ldi dd16uL,low(47225)
ldi dd16uH,high(47225)
ldi dv16uL,low(10889)
ldi dv16uH,high(10889)
rcall div16u
div16u: clr drem16uL ;clear remainder Low byte
sub drem16uH,drem16uH;clear remainder High byte and carry

rol dd16uL ;shift left dividend


rol dd16uH
rol drem16uL ;shift dividend into remainder
rol drem16uH
sub drem16uL,dv16uL ;remainder = remainder - divisor
sbc drem16uH,dv16uH ;
brcc d16u_1 ;if result negative

**Fragmento del cdigo

Ejemplo 1

Ejemplo 2
Ejemplo 3

Ejemplo 4
CONCLUSIONES:

Se comprob que dependiendo de las necesidades que tengamos


podemos compilar de lnea a lnea, hasta un punto o compilar todo el
proyecto
Se concluye que mediante Processor Status es de gran utilidad ya
que podemos observar paso a paso el comportamiento del
microprocesador, de modo que se puede observar los valores que se
cargan en los registros, tiempo, banderas, ciclos de mquina,etc.

REFERENCIAS BIBLIOGRFICAS

Cuaycal A.(2017). Apuntes de clase Laboratorio de sistemas


microprocesados
Notas de aplicacin AVR200: Multiply and Divide Routines
http://www.atmel.com/products/microcontrollers/avr/default.aspx?
tab=documents

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