¿A dónde voy para un gran tutorial de ensamblaje?

Me pregunto exactamente qué es lo que estás buscando. Si desea un tutorial paso a paso para un principiante total, creo que puede parecer en vano, pero este es un buen comienzo.

El arte de la programación en lenguaje ensamblador

Entonces visita aquí –

Aplicaciones de lenguaje ensamblador para Windows

Encuentre uno o tres ejemplos en la plataforma de su elección y lea el código fuente hasta que lo entienda. Si quieres comenzar con algo más simple, busca un tutorial 8051. Este es uno de los favoritos de las universidades y Google devuelve 200,000 visitas.

¿Qué plataforma quieres aprender? Windows, Linux? x86, ARM, alguna otra CPU? Esa es la primera decisión. Una vez que haya elegido su plataforma, deberá adquirir el conjunto de herramientas: ensamblador y enlazador. Para x86, el estándar es Microsoft MASM o ML como lo llamaron después de la versión 5. Solía ​​estar en el estante en las tiendas de computadoras, pero luego Microsoft lo recuperó y lo escondió en uno de los paquetes del SDK de NT4. Más recientemente, lo han puesto a disposición como descarga gratuita.

Paquete de Microsoft Macro Assembler 8.0 (MASM) (x86)

Hay otros ensambladores x86: NASM, AS en el paquete GNU GCC y uno o dos más. La sintaxis es muy diferente entre los ensambladores, lo que dificulta el puerto de un ensamblador a otro que el puerto a un procesador completamente diferente. Creo que el problema es que las personas que escribieron a estos ensambladores nunca han usado ensambladores en sus vidas . No se me ocurre ninguna otra razón por la que no sean tan habituales que los autores no saben que existe una manera estándar de hacer las cosas. Volviendo a los años sesenta. Si estás trabajando con Linux, no tienes más remedio que usar el AS horrible. De lo contrario recomiendo encarecidamente MASM.

Los críticos del ensamblador generalmente no tienen experiencia con él y no conocen el Gran Secreto, que ahora les revelaré.

Todos los lenguajes ensambladores son básicamente los mismos. Sólo difieren en los detalles de la sintaxis. El método es exactamente el mismo, ya sea que esté programando un 8080 o un Pentium o un Power PC. Cuando te vuelves competente en un procesador, puedes manejar cualquiera de ellos. Pero sí necesita saber cómo leer la hoja de datos y comprender el núcleo del procesador y sus registros. Esto es un poco más difícil que golpear un script de Python.

PD: únete al foro MASM

Abajo: un programador de ASM invoca el enlazador.