Skip to content

Instantly share code, notes, and snippets.

@IoTeacher
Last active February 27, 2026 01:21
Show Gist options
  • Select an option

  • Save IoTeacher/c3062400be52f8a572808660a6e6d91c to your computer and use it in GitHub Desktop.

Select an option

Save IoTeacher/c3062400be52f8a572808660a6e6d91c to your computer and use it in GitHub Desktop.
Conociendo 8 bit computer.

🖥️ Introducción a la Práctica

Troy’s Breadboard Computer – Entorno de Desarrollo 8-bit

Image

Image

Image

Image

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.


🔧 Entorno Integrado de Desarrollo

La plataforma integra en un mismo sistema tres componentes fundamentales de cualquier entorno profesional de programación:

1️⃣ Ensamblador (Assembler)

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:


2️⃣ Organización en Memoria (Proceso de Enlace)

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.


3️⃣ Emulador y Depurador (Debugger)

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


🎮 Controles de Ejecución

El entorno proporciona controles que permiten distintos modos de análisis del programa:

▶ Run

Ejecuta el programa de manera continua hasta encontrar una instrucción hlt o reinicio.

⏭ Step

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

🔄 Reset

Reinicia el estado completo del sistema.

⏸ Halt

Detiene la ejecución del programa.


🎓 Enfoque Académico de la Práctica

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.


📌 Conclusión

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.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment