En la presente práctica se utilizará el entorno web Troy’s Breadboard Computer, una plataforma educativa diseñada específicamente para el aprendizaje de arquitectura de computadoras y programación en lenguaje ensamblador de 8 bits.
Este entorno simula el funcionamiento real de una CPU construida físicamente en protoboard, permitiendo al estudiante observar de manera directa cómo interactúan los registros, la memoria, las banderas de estado y la unidad aritmético-lógica (ALU). Su objetivo principal es fortalecer la comprensión del funcionamiento interno del procesador más allá del nivel abstracto que normalmente se estudia en cursos teóricos.
La plataforma integra en un mismo sistema tres componentes fundamentales de cualquier entorno profesional de programación:
El ensamblador traduce el código fuente escrito en lenguaje ensamblador 8-bit a código máquina ejecutable por la CPU simulada.
Durante este proceso se:
- Interpretan etiquetas y saltos
- Resuelven constantes
- Asignan direcciones de memoria
- Generan instrucciones binarias
Este proceso permite comprender cómo una instrucción simbólica se convierte en una operación ejecutable por el hardware.
🔗 Assembler: https://cpu.visualrealmsoftware.com/asm
📘 Documentación oficial:
Aunque el sistema no presenta un enlazador separado como en arquitecturas modernas, el ensamblador cumple también funciones de organización del programa en memoria:
- Ubicación explícita mediante
#addr - Resolución de etiquetas
- Cálculo de direcciones efectivas
Este aspecto es fundamental para entender cómo el Program Counter (PC) gestiona el flujo del programa y cómo se estructuran rutinas y subrutinas en memoria.
El emulador permite ejecutar y analizar el comportamiento del programa en tiempo real, actuando como una herramienta de depuración académica.
A través del panel visual es posible observar:
-
Registros:
Ra,Rb,Rc,Rd,PC,SP,Acc -
Banderas del procesador:
- C (Carry)
- Z (Zero)
- N (Negative)
- O (Overflow)
-
Contenido de memoria
-
Salida en display decimal o LCD
🔗 Emulador: https://cpu.visualrealmsoftware.com/emu
Repositorio: https://github.com/visrealm/vrcpu
El entorno proporciona controles que permiten distintos modos de análisis del programa:
Ejecuta el programa de manera continua hasta encontrar una instrucción hlt o reinicio.
Ejecuta una sola instrucción por ciclo.
Desde el punto de vista didáctico, este botón es el más importante, ya que permite:
- Analizar el ciclo Fetch – Decode – Execute
- Observar cómo cambian los registros tras cada instrucción
- Ver la activación o desactivación de banderas
- Comprender el comportamiento de saltos condicionales (
jz,jnz,jc, etc.) - Estudiar efectos de overflow y acarreo en operaciones de 8 bits
Reinicia el estado completo del sistema.
Detiene la ejecución del programa.
El propósito educativo de esta herramienta es que el estudiante:
- Comprenda el funcionamiento interno de una CPU básica
- Analice operaciones aritméticas con limitaciones de 8 bits
- Entienda el manejo de pila mediante el Stack Pointer (SP)
- Implemente estructuras de control mediante saltos condicionales
- Observe directamente los efectos de cada instrucción sobre el estado del procesador
A diferencia de lenguajes de alto nivel, el ensamblador obliga al estudiante a razonar en términos de registros, memoria y flujo explícito de control, fortaleciendo así la comprensión profunda de la arquitectura computacional.
Trabajar con Troy’s Breadboard Computer es mucho más que realizar una práctica de ensamblador. Es una oportunidad para detenerse y observar, paso a paso, cómo realmente “piensa” una computadora.
Cada vez que ejecutamos una instrucción con STEP, no solo vemos cambiar un registro; estamos comprendiendo cómo se mueve la información, cómo una bandera se activa por un desbordamiento, cómo el contador de programa decide el siguiente paso. Estamos viendo el corazón del procesador en acción.
En un mundo donde los lenguajes de alto nivel ocultan casi todo el funcionamiento interno, esta experiencia nos devuelve a lo esencial. Nos obliga a razonar con precisión, a planificar cada instrucción y a asumir responsabilidad por cada bit que se modifica. Y justamente ahí es donde se fortalece el pensamiento lógico y la verdadera comprensión de la arquitectura computacional.
Más que aprender comandos, esta práctica busca que desarrollen criterio, análisis y una visión profunda de cómo funciona el hardware que sostiene toda la tecnología que utilizamos diariamente. Ese entendimiento es lo que diferencia a quien solo programa, de quien realmente entiende cómo funciona una computadora.
Aprovechen este entorno no solo para cumplir con la práctica, sino para explorar, equivocarse, analizar y descubrir. Porque entender el nivel más bajo del sistema les dará una base sólida para cualquier tecnología que estudien en el futuro.



