Tarea3 Ensamblaores

También podría gustarte

Está en la página 1de 7

Práctica 1

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

Nombre del alumno: Ricardo Maldonado Navarro


Fecha de realización: 12 de agosto 2017

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
prog1.asm:

; Prog1.asm
; --------------------------------
; Programa 1 de la práctica 1
; --------------------------------
.NOLIST
.INCLUDE "c:\Archivos de programa\Atmel\AVR Tools\AvrAssembler\Appnotes\
8515def.inc"
.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: 0x000000
Dirección 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 prog2.asm:

; Archivo: prog2.asm

.NOLIST
.INCLUDE "c:\Archivos de programa\Atmel\AVR Tools\AvrAssembler\Appnotes\
8515def.inc"
.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? Prog2.hex y Prog2.map
iii) Archivos: Prog2.hex y Prog2.map

¿Qué archivo aparece en la carpeta Object File?


Archivo: Prog2.obj
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 prog3.asm:

; Archivo: prog3.asm

.NOLIST
.INCLUDE "c:\Archivos de programa\Atmel\AVR Tools\AvrAssembler\Appnotes\
8515def.inc"
.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 prog4.asm:

; Archivo: prog4.asm
.NOLIST
.INCLUDE "c:\Archivos de programa\Atmel\AVR Tools\AvrAssembler\Appnotes\
8515def.inc"
.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: Prog4.hex y Prog4.map
¿Qué archivo aparece en la carpeta Object File?
Práctica 1
Captura, ensamble y depuración-simulación en el AVRStudio

Archivo: Prog4.obj
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 prog5.asm:

; Archivo: prog5.asm
.NOLIST
.INCLUDE "c:\Archivos de programa\Atmel\AVR Tools\AvrAssembler\Appnotes\
8515def.inc"
.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: Prog5.hex y Prog5.map
¿Qué archivo aparece en la carpeta Object File?
Archivo: Prog5.obj

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)?
Práctica 1
Captura, ensamble y depuración-simulación en el AVRStudio

Dirección de inicio: Dirección de fin:

¿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)8515def.inc", 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.

También podría gustarte