Biblioteca en C99 que implementa un metaensamblador, un metadesensamblador, y un metahipervisor para muchos microprocesadores.
- Portable: escrito en C99, corre tanto en Windows, en Linux, o incluso en tu navegador.
- Extensible: añade soporte para un microprocesador describiéndolo con un esquema.
- Fácil de integrar: se provee una API sencilla, en C y en JavaScript, para la biblioteca compartida.
La biblioteca compartida solo depende de liblua5.4. Si usas un sistema Unix, el script misc/scripts/install-lua instalará los archivos de biblioteca necesarios en tu sistema. Si vas a generar una compilación para web, se recomienda que uses este script en vez de instalar la versión provista por el administrador de paquetes de tu distribución. El cliente CLI requiere además libgettext.
Para compilar, necesitas make. La receta tratará de determinar tu sistema
operativo automáticamente, así que en general, bastará con hacer make y make install. Para hacer otros ajustes, revisa el Makefile para todas
las opciones disponibles.
Son bienvenidas las contribuciones, especialmente si éstas son esquemas de microprocesador para nuevas arquitecturas, o mejoras de las existentes. Para contribuciones sobre el núcleo, sería buena abrir una incidencia antes para discutir los posibles cambios.
Hay qué tener en cuenta una cosa en cuanto al código: se ha de tratar, en la medida de lo posible, de mantener al mínimo las dependencias necesarias para construir la biblioteca, para mantener simple la compilación y, el tamaño de los objetos generados.
Este proyecto es software libre, bajo la licencia GNU GPL versión 3 o posterior. El código fuente en misc/examples, y en test/ tienen licencia Unlicense.