0% encontró este documento útil (0 votos)
456 vistas7 páginas

Tarea 3

Este documento describe una práctica de captura, ensamblado y depuración de código en AVRStudio. Incluye 5 proyectos de programas en ensamblador que el estudiante captura, ensambla, ejecuta y depura, observando el contenido de los registros a través de las diferentes etapas. El objetivo es adquirir habilidad en el uso de las herramientas del entorno de desarrollo AVRStudio.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
456 vistas7 páginas

Tarea 3

Este documento describe una práctica de captura, ensamblado y depuración de código en AVRStudio. Incluye 5 proyectos de programas en ensamblador que el estudiante captura, ensambla, ejecuta y depura, observando el contenido de los registros a través de las diferentes etapas. El objetivo es adquirir habilidad en el uso de las herramientas del entorno de desarrollo AVRStudio.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

Práctica 1

Captura, ensamble y depuración-simulación en el AVRStudio

Nombre del alumno: Ricardo Maldonado Navarro


Fecha de realización: 11 de Febrero de 2024

Objetivo
El objetivo de esta práctica es desarrollar la habilidad necesaria para usar con
soltura las herramientas incluidas en el entorno de desarrollo AVRStudio: editor,
ensamblador y depurador/simulador.

Actividades
1.- Conociendo las herramientas del AVRStudio
Ejecuta el AVRStudio y, usando el ratón coloca el cursor (sin dar clic) sobre cada
opción del menú de herramientas (Ver Figura 1), y describe brevemente cada una
de las herramientas cuyos iconos aparecen en la Tabla 1:

Figura 1.- Menú de herramientas del AVRStudio

Llena las celdas correspondientes para cada uno de los iconos mostrados en la
Tabla 1:

Icono Nombre Atajo del teclado Breve descripción de su


función
Assemble F7 Ensambla el código
Assemble and Ctrl+F7 Ensambla y ejecuta el codigo
Run
Start Debuggig Ctrl+Mayusculas+Alt+F5 Empieza a depurar el
programa (busca errores)
Stop Debuggig Ctrl+Mayusculas+F5 Detiene la depuración del
programa
Run F5 Ejecución del programa
Reset Mayusculas+F5 Realiza un Reset del destino
de ejecución, si se está
ejecutando un programa
detendrá la ejecución.
Step Into F11 ejecuta una instrucción
cuando AVR Studio
Está en modo fuente, se
Práctica 1
Captura, ensamble y depuración-simulación en el AVRStudio

ejecuta una instrucción de


nivel de fuente y cuando se
desmonta Nivel, se ejecuta
una instrucción de nivel de
ensamblaje.
AutoStep Alt+F5 Hace las intrusiones en
automático
Toggle Register Alt+0 Cambia la ventana de registro
Windows
Run to Cursor F7 Ejecuta el cursor
Tabla 1.- Algunas funciones del AVRStudio

Ahora vamos a ejercitar el uso de esta herramienta capturando, ensamblando y


simulando la ejecución de un grupo de programas. No te preocupes si no
entiendes qué hacen los programas. El objetivo de la práctica es que adquieras
habilidad para usar la herramienta, más adelante empezarás a entender qué
hacen estos programas.

2.- Captura, ensamble y depuración/simulación de programas


2.1.- Crea un proyecto llamado prog1 y captura el siguiente código en el programa
[Link]:

; [Link]
; --------------------------------
; Programa 1 de la práctica 1
; --------------------------------
.NOLIST
.INCLUDE "[Link]" (se corrige esta parte para que pueda leer bien el archive
de definicion)
.LIST

.DEF reg1 = r16


.DEF reg2 = r17
.DEF reg3 = r18

rjmp Inicio

Inicio:
ldi reg1,10
ldi reg2,20
mov reg3,reg1
add reg3,reg2
inc reg3
rjmp Inicio
Práctica 1
Captura, ensamble y depuración-simulación en el AVRStudio

2.2.- Ensambla el archivo anterior y contesta las siguientes preguntas.

i) ¿Qué comando o icono usaste para ensamblar?

ii) Según la ventana de mensajes, ¿cuál es la dirección de inicio y cuál la


de fin del código (cseg)?
Dirección de inicio: [.cseg] 0x000000 y de fin 0x00000e

¿Cuántos bytes ocupa este código en lenguaje máquina? Bytes: 8192


bytes
Ejecuta el código anterior (con Ctrl+F7) y avanza paso a paso (con F11)
hasta que estés listo para ejecutar la instrucción rjmp Inicio, y reporta el
contenido de los siguientes registros (si no aparece la ventana de
registros, actívala con Alt+0):

R16 = R17 = R18 =

iii) Detén la ejecución del simulador (con Ctrl+Mayúsculas+F5) y cierra este


proyecto (Project  Close project)

3.- Proyecto prog2


3.1.- Ahora crea un nuevo proyecto, nómbralo prog2 y captura el siguiente código
en el archivo [Link]:

; Archivo: [Link]

.NOLIST
.INCLUDE "c:\Archivos de programa\Atmel\AVR Tools\AvrAssembler\Appnotes\
[Link]"
.LIST
rjmp main
main:
ldi r20,1
ldi r16,2
for_loop:
add r20,r16
cpi r20,100
brlo for_loop
loop:
rjmp loop

3.2.- Ensambla el archivo anterior y contesta las siguientes preguntas.


i) ¿Qué comando o icono usaste para ensamblar? F7
Práctica 1
Captura, ensamble y depuración-simulación en el AVRStudio

ii) Según la ventana de Proyecto, ¿qué archivos aparecen en la carpeta


Output? [Link] y [Link]
iii) Archivos: [Link] y [Link]

¿Qué archivo aparece en la carpeta Object File?


Archivo: [Link]
iv) Ejecuta el código anterior con Auto Step (Alt+F5) y detén la ejecución
cuando se esté ejecutando la instrucción rjmp loop (con Ctrl+F5).
Reporta el contenido de los siguientes registros (si no aparece la
ventana de registros, actívala con Alt+0):

R16 = R20 =

v) Detén la ejecución del simulador (con Ctrl+Mayúsculas+F5) y cierra este


proyecto (Project  Close project)

4.- Proyecto prog3


4.1.- Ahora crea un nuevo proyecto, nómbralo prog3 y captura el siguiente código
en el archivo [Link]:

; Archivo: [Link]

.NOLIST
.INCLUDE "c:\Archivos de programa\Atmel\AVR Tools\AvrAssembler\Appnotes\
[Link]"
.LIST

.DEF dato1 = r16


.DEF dato2 = r17
.DEF dato3 = r18

Inicio:
ldi dato1,65
ldi dato2,11
clr dato3

m1: cp dato1,dato2
brlo fm1
sub dato1,dato2
inc dato3
rjmp m1

fm1:
rjmp fm1

4.2.- Ensambla el archivo anterior y contesta las siguientes preguntas.


Práctica 1
Captura, ensamble y depuración-simulación en el AVRStudio

i) ¿Qué comando o icono usaste para ensamblar? F7


ii) Según la ventana de mensajes, ¿cuál es la dirección de inicio y cuál la
de fin del código (cseg)?
Dirección de inicio: Dirección de fin:
iii) ¿Cuántos bytes ocupa este código en lenguaje máquina? Bytes: 8192
Bytes.
iv) Ejecuta el código anterior con Auto Step (Alt+F5) y detén la ejecución
cuando se esté ejecutando la instrucción rjmp fm1 (con Ctrl+F5).
Reporta el contenido de los siguientes registros (si no aparece la
ventana de registros, actívala con Alt+0):

R16 = R17 = R18 =

v) Detén la ejecución del simulador (con Ctrl+Mayúsculas+F5) y cierra este


proyecto (Project  Close project)

5.- Proyecto prog4


5.1.- Ahora crea un nuevo proyecto, nómbralo prog4 y captura el siguiente código
en el archivo [Link]:

; Archivo: [Link]
.NOLIST
.INCLUDE " [Link]"
.LIST

main:
ldi r16,25
ldi r17,5
clr r18
clr r19
do1:
cp r18,r17
brge findo1
add r19,r16
inc r18
rjmp do1
findo1:
rjmp findo1

5.2.- Ensambla el archivo anterior y contesta las siguientes preguntas.


i) ¿Qué comando o icono usaste para ensamblar? F7
ii) Según la ventana de Proyecto, ¿qué archivos aparecen en la carpeta
Output?
Archivos: [Link] y [Link]
¿Qué archivo aparece en la carpeta Object File?
Archivo: [Link]
Práctica 1
Captura, ensamble y depuración-simulación en el AVRStudio

iii) Ejecuta el código anterior con Auto Step (Alt+F5) y detén la ejecución
cuando se esté ejecutando la instrucción rjmp findo1 (con Ctrl+F5).
Reporta el contenido de los siguientes registros (si no aparece la
ventana de registros, actívala con Alt+0):

R16 = R17 = R18 =


R19 =

iv) Detén la ejecución del simulador (con Ctrl+Mayúsculas+F5) y cierra este


proyecto (Project  Close project)

6.- Proyecto prog5


6.1 Ahora crea un nuevo proyecto, nómbralo prog5 y captura el siguiente código
en el archivo [Link]:

; Archivo: [Link]
.NOLIST
.INCLUDE " [Link]"
.LIST

main:
ldi r16,100
ldi r17,110

cp r16,r17
brlo do2
mov r18,r17
rjmp fin
do2:
mov r18,r16
fin:
rjmp fin

6.2.- Ensambla el archivo anterior y contesta las siguientes preguntas.

i) ¿Qué comando o icono usaste para ensamblar? F7


ii) Según la ventana de Proyecto, ¿qué archivos aparecen en la carpeta
Output?
Archivos: [Link] y [Link]
¿Qué archivo aparece en la carpeta Object File?
Archivo: [Link]

iii) Según la ventana de mensajes, ¿cuál es la dirección de inicio y cuál la


de fin del código (cseg)?
Dirección de inicio: Dirección de fin:
Práctica 1
Captura, ensamble y depuración-simulación en el AVRStudio

¿Cuántos bytes ocupa este código en lenguaje máquina? Bytes: 8192 -


bytes
iv) Ejecuta el código anterior con Auto Step (Alt+F5) y detén la ejecución
cuando se esté ejecutando la instrucción rjmp fin (con Ctrl+F5). Reporta
el contenido de los siguientes registros (si no aparece la ventana de
registros, actívala con Alt+0):

R16 = R17 = R18 =

v) Detén la ejecución del simulador (con Ctrl+Mayúsculas+F5) y cierra este


proyecto (Project  Close project)

7.- Comentarios y conclusiones


(En esta sección agrega comentarios sobre alguna situación problemática que
hayas enfrentado, si es el caso. También comenta sobre algún aspecto de la
práctica que te haya llamado la atención, y finalmente, comenta sobre lo que
hayas aprendido al realizar esta práctica.)

Tuve varios problemas a la hora de compilar pero fue un pequeño detalle, el cual
solo era un espacio en include : le mostrare .INCLUDE "C:\Program Files (x86)\
Atmel\AVR Tools\AvrAssembler2\Appnotes\ (aquí tenía un espacio se lo quite y
funciono)[Link]", solo ese error me salió después lo demás no fue
complicado se dio todo fácil, aprendí como compilar y ejecutar y detectar los
problemas. A y sin mencionar al momento de instalarlo no me dejo pro por fin se
logro

Nota: no se envía referencia por que no fue solicitada en esta tarea.

También podría gustarte