Estoy escribiendo un compilador y he seguido todos los pasos (tokenización, análisis sintáctico, estructuras de árbol de sintaxis, etc.) que muestran en todos los libros de compilación. (¡No haga ningún comentario con el enlace a la pregunta "Recursos para escribir un compilador").Elegir el ensamblador correcto y de aprendizaje para compilación
He elegido usar NASM junto con alink como mi back-end.
Ahora mi problema es: simplemente no puedo encontrar ningún recurso bueno para aprender NASM y el montaje en general.
El wikibook (alemán) en el conjunto x86 es horrible. Ni siquiera explican el código que escriben allí, actualmente ni siquiera puedo obtener cosas simples como agregar 1 a 2 y dar salida al resultado.
- ¿Dónde puedo aprender NASM x86 assembly?
No hay ninguna razón para que un compilador tenga un ensamblador de salida. Haga que emita un idioma que le resulte familiar, como C, y luego use el compilador C (o lo que sea) para producir el ejecutable final. –
su pregunta es más como "¿Dónde puedo aprender NASM x86 ensamblado?" como tú mismo lo dijiste. Elija un tema mejor, ya que no tiene nada que ver con los compiladores. ¿Has considerado llvm? – topskip
Para obtener puntos de bonificación, envíe su código en la misma capa que está compilando. Entonces compila eso. –