bitborn — software nacido de bits
Probar el sitio · README completo · Idiomas
Escribe los bytes reales de un programa x86 con ceros y unos. Las instrucciones de Bitborn se escriben a mano en archivos .bits: ningún ensamblador ni compilador elige los códigos de operación, operandos o desplazamientos de salto. Los nombres de instrucciones en comentarios explican los bytes; no los generan. Python empaqueta los bytes y añade cabeceras o estructuras de sectores. JavaScript permite explorar el proyecto en el sitio educativo.
Tu primera instrucción
10111000 00101010 00000000
Con un tamaño de operando de 16 bits, estos tres bytes significan MOV AX,42. B8 selecciona el registro y 2A 00 almacena 42 empezando por el byte menos significativo. El modo importa: con operandos de 32 bits, B8 necesita cuatro bytes de valor inmediato en lugar de dos. El laboratorio del navegador ejecuta solo el subconjunto documentado de instrucciones de 16 bits.
Pruébalo
En el CPU Lab puedes ejecutar paso a paso, observar registros, indicadores, pila y memoria, y recuperar estados grabados con Back y Forward. El constructor de sectores de arranque permite editar y exportar una imagen completa de 512 bytes. Los retos enseñan a modificar bytes literales; el progreso se guarda en tu navegador.
Para construir el paquete y probar los programas de arranque reales necesitas Python 3.10+, Make y QEMU. En macOS: brew install qemu. En Ubuntu: sudo apt-get install python3 make qemu-system-x86.
git clone https://github.com/OthmaneBlial/bitborn.git
cd bitborn
make test
make run
make test verifica los bytes revisados y el comportamiento de la máquina virtual en QEMU sin interfaz gráfica. make run abre la imagen de arranque BIOS. Los ejemplos BIOS funcionan con QEMU en Apple Silicon; los ELF nativos necesitan Linux x86-64. Las pruebas de desarrollo del navegador requieren además Node.js y Playwright. Consulta la guía de contribución.
Alcance y progreso
El repositorio incluye programas de arranque BIOS, experimentos de teclado/VGA/disco, una shell interactiva, un experimento separado de interrupciones en modo protegido y ejemplos ELF para Linux. El navegador usa un modelo educativo limitado a 1 MiB de memoria y 4096 pasos, no una CPU o BIOS completa. Los programas importados se interpretan; no se ejecutan como código nativo del anfitrión. No se ha establecido compatibilidad con hardware físico, UEFI ni sistemas operativos de producción. Usa emuladores desechables para los experimentos nativos.
Hoja de ruta y pruebas · Progreso del sitio · Registro de cambios
Empieza con el tutorial y la guía de arquitectura. Respeta las reglas de contribución y el código de conducta. Comunica vulnerabilidades en privado. El código y la documentación usan la licencia MIT. La introducción inglesa es la fuente de esta traducción; las guías técnicas detalladas siguen en inglés.