INFORME DEL PRIMER TRABAJO
Integrantes:
Jorge Luis, Cruz Quijada
Iman Noriega Edinson Alberto
Rodríguez Rico Anghello
Curso:
Microcontroladores
Docente:
Antonio Esteban Fiestas Ugas
2023-2
Introducción
En el siguiente trabajo podremos explicar las herramientas y
procedimientos que se utilizaran para la resolución del problema
encargado.
Explicación de problemas y objetivos
El problema es implementar código que nos permita hacer un
seguimiento de los ciclos de reloj hasta llegar a un tiempo de un
segundo, todo usando lenguaje ensamblador, el número de ciclos
que nos están pidiendo es de 16 millones. ciclos
Solución del problema
Utilizando el lenguaje assembler junto con la guía proporcionada
en clase, con la implementación de los comandos:
● LDI: Carga directamente una constante de 8 bit directamente a
un registro del 16 al 31.
● NOP: Es 1 ciclo, no realiza ninguna otra operación.
● SUBI: Resta un registro y una constante, colocando el
resultado en el registro de destino Rd.
● BRNE: Salto condicional; cuando está en o realiza el salto a la
etiqueta que yo quiero, si es 1 sigue con el proceso.
● NOP: Esta instrucción realiza una operación No de un solo
ciclo.
Explicación del código
El código que desarrollamos es un código donde los ciclos estarán
uno dentro de otro en un bucle. Sabemos que los ciclos en cada
bucle que van desde el 0 hasta el FF son 765. Para nuestro
problema necesitaremos que el registro tenga una cantidad de
ciclos en específico ya que se multiplicará con los que se
encuentren dentro de este bucle para que lleguen a 16 millones de
ciclos. Así que armamos una ecuación en la que se va a
simplificar la operación, la cual sería 3P + 3PM + 3PMN, en la
cual P, M y N son registros.
Logramos sacar que P es CE, M es D0 y N es 00 dándonos un
total de 16 000 000.
Diagrama de flujo
Conclusión y comentarios
En resumen, pudimos dar una solución aproximada al problema
utilizando un valor de 456 para el número asignado. A través de
nuestra experiencia hemos aprendido que puede haber una
infinidad de combinaciones de códigos que podrían producir un
resultado aún más aproximado o preciso. El factor clave para
resolver el problema es el ingenio y la creatividad para dar a los
comandos una combinación correcta.