Open mati1297 opened 5 years ago
Respecto al puntero Z Intento una expliación: Z apunta a un byte (numera los bytes de la memoria flash), en tanto que la etiqueta de la tabla en flash, por ejemplo (en segmento de código) TABLA_FLASH: .DB dato1, dato2, etc numera los WORDS de memoria (y 1 WORD = 2 BYTES). O sea en la dirección TABLA_FLASH están dato1 dato2 concatenados como un bloque de 16 bits. En la dirección TABLA_FLASH+1, están los 2 bytes dato3 y dato4 como un bloque de 16 bits, y así sucesivamente. Z se usa como puntero (iterador, numerador) para acceder a 1 byte, por lo que necesita la posición de dato1 contada en bytes (no en words), por simple aritmética, TABLA_FLASH*2 (= TABLA_FLASH<<1 = TABLA_FLASH+TABLA_FLASH) es la posición del byte dato1 contando byte por byte de la memoria flash. Si no te queda claro, lo intentamos de vuelta.
Respecto al ejercicio del flip-flop, hice comentarios en https://github.com/fiuba-labo-de-micro-miercoles/2019-2c-primer-proyecto-mati1297/blob/master/ejercicios/flipflop_jk.asm Podrías hacerlo mucho más fácil, y lo que no está bien es que leés 3 veces el pin B (con una vez es suficiente). De hecho, uno quisiera, que ni bien sube el clock, se muestrean J y K en simultáneo, para emular lo mejor posible el comportamiento de un flip-flop real.
En cuanto al promedio con signo, optimicé tu código en https://github.com/fiuba-labo-de-micro-miercoles/2019-2c-primer-proyecto-mati1297/blob/master/ejercicios/promedio_holamundo.asm
Hola, ya subí el ejercicio del flip flop JK de la clase pasada y el que dieron de tarea (promedio de Hola mundo). Tengo una duda respecto al de la tarea (aunque lo pude hacer), como los datos se guardaban en la memoria de programa ustedes hicieron una aclaración sobre el puntero, pero no pude entenderla bien, me fije en la teorica y lo que hace es, cuando carga el puntero, shiftea uno a la izquierda, es decir: LDI ZH, HIGH(DATA<<1) LDI ZL, LOW(DATA<<1) hice esto y funcionó bien, pero no entiendo porqué.
Les dejo el link a la carpeta https://github.com/fiuba-labo-de-micro-miercoles/2019-2c-primer-proyecto-mati1297/tree/master/ejercicios
El micro con el que lo probé en el simulador es un ATmega328p a 8MHz
Muchas gracias Saludos