ESCUELA POLITÉCNICA NACIONAL
LABORATORIO DE SISTEMAS MICROPROCESADOS
INFORME-PRÁCTICA N° 4
NOMBRE: Hansel Lara GRUPO: GR2-1
1. TEMA
Instrucciones de movimiento de datos
2. OBJETIVOS
Comprobar mediante ejercicios en el simulador ATMEL Studio el funcionamiento de las
instrucciones de movimiento de datos.
3. INFORME
3.1. Resolver las siguientes preguntas:
1. AVR is a(n) 8 -bit microcontroller.
2. The general purpose registers are 8 bits wide.
3. The value in LDI is 8 bits wide.
4. The largest number that can be loaded into the GPRs is 0XFF in hex.
5. What is the result of the following code and where is it kept?
LDI R20, $15
LDI R21, $13
ADD R20, R21
El resultado de la suma se almacena en el registro 20.
6. Which of the following is (are) illegal?
(a) LDI R20, 500
(b) LDI R23, 50
(c) LDI R1, 00
(d) LDI R16, $255
(e) LDI R42, $25 (f) LDI R23, 0xF5
(g) LDI 123, 0x50
7. Which of the following is (are) illegal?
(a) ADD R20, R11 (b) ADD R16, R1 (c) ADD R52, R16
8. What is the result of the following code and where is it kept?
LDI R19, $25
ADD R19, $1F
9. What is the result of the following code and where is it kept?
LDI R21, 0x15
ADD R21, 0xEA
10. True or False. We have 32 general purpose register registers in the AVR.
La respuesta es verdadera dado que se tienen los registros desde el 0 al 31, dando un total de 32
registros de propósito general.
11. AVR data memory consists of internal SRAM.
Verdadero, esta se encuentra en los últimos registros, es ahí donde se encuentran los punteros de
direccionamiento indirecto.
12. True or false. The special function register in AVR is called the I/O register.
Verdadero es conocido con I/O register (SFRs)
13. True or false. The I/O registers are part of the data memory space.
La respuesta es verdadera, dado que forman parte de dicha memoria, esto se constata en manual de
instrucciones.
14. True or false. The general-purpose registers are not part of the data memory space.
Falso, estos si forman parte de la memoria de datos SRAM.
15. True or false. The data memory is the same size in all members of AVR.
Falso se observa que los registros de direccionamiento indirecto constan de un tamaño diferente, 16
bits.
16. Show a simple code to load values $30 and $97 into locations $105 and $106, respectively
El Código propuesto es el siguiente:
17. Show a simple code to load the value $5F into the PORT I/O register.
18. True or False. We cannot load immediately load values into the internal RAM directly
Verdadero dado que para cargar valores inmediatos se utiliza la instrucción LDI y solo permite
registro del 16 al 31 y en estos no constan los registros de la RAM interna
19. Write a simple code to complement the contents of location $68 and place the result in R27.
20. Write a simple code to copy data from location $68 to PORTC using R19.
3.2 Conclusiones y Recomendaciones.
3.2.1 Conclusiones
• Las instrucciones de movimientos de datos son muy importantes dado que nos ayudan a
guardar, copiar, mover datos de un registro a otro.
• Las instrucciones se detallan en el manual de instrucciones esto garantiza que el usuario
pueda entenderlas e interpretarlas sobre todo saber cómo es su sintaxis y bajo que
restricciones trabaja.
• Se puede realizar diversas operaciones mediante varios comandos, e incluso es permitido
utilizar registros auxiliares para hacer más efectivas estás operaciones, así como obtener
direccionamientos directos e indirectos que ayudaran de mejor manera al desarrollo del
código.
3.2.2. Recomendaciones.
• Se recomienda recordar cuales son los diferentes partes que caracterizan la memoria de datos
para así no confundir las instrucciones a aplicarse.
• Es recomendable tener siempre el manual de instrucciones a la mano.
Referencias:
[1]. Atmel, “AVR Instruction Set”, [En línea], Disponible en:
[Link]
[Ultimo acceso: 09/06/2022]