Sie sind auf Seite 1von 6

ESCUELA POLITÉCNICA NACIONAL

LABORATORIO DE SISTEMAS MICROPROCESADOS

Nombre:Marilyn Chimarro Lamar


Grupo: GR-8

INFORME

Práctica No. 03

Tema: CONOCIMIENTO DEL SOFTWARE DE DESARROLLO ATMEL STUDIO

Objetivo: Conocer una de las herramientas existentes para el desarrollo y depuración de


programas para aplicaciones con microcontroladores de 8 bits de Atmel, específicamente AVR
Studio 6.

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

DIVISIÓN 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 simulación con otros cuatro conjuntos de datos y presentar los resultados
mediante capturas de pantallas para la división de números de 16 bits

DIVISIÓN 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 código

Ejemplo 1
Ejemplo 2

Ejemplo 3
Ejemplo 4

CONCLUSIONES:

 Se comprobó que dependiendo de las necesidades que tengamos podemos compilar de


línea a línea, 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
máquina,etc.

REFERENCIAS BIBLIOGRÁFICAS

 Cuaycal A.(2017). Apuntes de clase “Laboratorio de sistemas microprocesados”


 Notas de aplicación AVR200: Multiply and Divide Routines
http://www.atmel.com/products/microcontrollers/avr/default.aspx?tab=docume
nts

Das könnte Ihnen auch gefallen