Ejercicio 1
En un microcontrolador de la familia MSP430 (modelo de almacenamiento de
tipo word, y little endian) el estado de la memoria, del registro R15 y del registro
SP es el que muestra la figura. En ese momento se ejecuta la instrucción:
PUSH R15
•Averiguar qué hace está instrucción. Pista: Esto es lo que dice la
documentación que hace: SP-2 → SP; R15 → @SP
(Introducción al Sistema de Programacion del MSP430 Texas)
•Asegurarse de que no hay errores en la representación de la memoria o
registros que vemos debajo.
•Describir el estado de R15, SP y la memoria después de la ejecución de la
instrucción.
R15 0x1234
0x9FB 0x0F 0x0E
0x9FE 0x0D 0x0C
SP 0x0A00
0xA00 0x0B 0x0A
Nota: la representación de la pila está al “revés” por ser así mas intuitiva.
Tema 3. Ejercicio 1
• PUSH sirve para meter datos en la pila
• La pila crece hacia direcciones más
pequeñas (siempre pares)
PUSH src = SP-2 → SP ; src → @SP
SP 0x0A00
0xA00 0x0B 0x0A
PUSH R15
SP
0x9FE 0x0D 0x0C
0x09FE
0xA00 0x0B 0x0A
PUSH R15
Tema 3. Ejercicio 1
• PUSH sirve para meter datos en la pila.
• La pila crece hacia direcciones más
pequeñas
PUSH src = SP-2 → SP ; src → @SP
SP
0x9FE 0x34 0x12
0x09FE
0xA00 0x0B 0x0A
PUSH R15
SP 0x09FE
0x9FE 0x34 0x12
0xA00 0x0B 0x0A
PUSH R15
Tema 3. Ejercicio 2
En un microcontrolador de la familia MSP430 (tipo word, little endian) el estado de la
memoria, del registro R6 y del registro PC es el que muestra la figura. En ese
momento se ejecuta la instrucción:
BR R6
•Averiguar qué hace está instrucción. Pista: Esto es lo que dice la documentación que
hace: R6 Æ PC
•Asegurarse de que no hay errores en la representación de la memoria o registros.
•Describir el estado de R6 y PC después de la ejecución de la instrucción.
PC 0x1203
SP 0x09F7
Tema 3. Ejercicio 4
En un microcontrolador de la familia MSP430 (tipo word, little endian) el estado de la
memoria, del registro R10 y del registro PC es el que muestra la figura. En ese
momento se ejecuta la instrucción:
ADD.B #0x3F,R10
•Averiguar qué hace está instrucción. Pista: Esto es lo que dice la documentación que
hace: src + dst → dst
•Asegurarse de que no hay errores en la representación de la memoria o registros.
(Nota: el código maquina para la instrucción es, word a word: “0x507A 0x003F”)
•Describir el estado de R10, PC y la memoria después de la ejecución de la
instrucción.
PC 0x1206