Realmente estoy deseando aprender ensamblaje. Soy bastante bueno en c/C++, pero quiero una mejor comprensión de lo que está sucediendo en un nivel inferior.Para aprender a ensamblar, ¿debería comenzar con 32 bits o 64 bits?
que darse cuenta de que las cuestiones relacionadas con la asamblea se han preguntado antes, pero sólo estoy buscando alguna dirección que es particular, a mi situación:
Estoy Windows 7 corriendo, y estoy confundido acerca de cómo debería empezar a trabajar con montaje ¿Tengo tengo para comenzar con x64 porque estoy ejecutando Windows 7? Algunas personas han dicho 'empiecen con 32 bits primero' - ¿cómo hago esto? ¿Qué tiene que ver mi sistema operativo con mi capacidad para escribir el ensamblaje para "32" o "64" bits? De hecho, ¿qué significa ensamblado 'n bit', donde n es un número?
Editar:
Estos son algunos enlaces que me han ayudado a empezar con el montaje; otros que recién están comenzando pueden encontrarlos útiles. Seguiré actualizando esta lista mientras continúo en mi viaje de ensamblaje :)
Nota: Como he estado aprendiendo, he decidido centrarme en la programación con masm32. Por lo tanto, la mayoría de los recursos a continuación se centran en eso.
- x86tag wiki (guías para principiantes, manuales de referencia, documentación ABI, y más.)
- www.masm32.com
- X86 Assembly WikiBook
- X86 Dissassembly WikiBook (grandes para la comprensión de algunas convenciones y los fundamentos de cómo traduce el código más alto nivel en el montaje)
- WinAsm IDE (juega muy bien con masm32)
- Intro: Assembly for Windows (todos los ejemplos de código son para masm32)
- List of Interrupts
- Assembly Tutorial (ideal para ayudar a entender los conceptos básicos)
- x86 Assembly Guide
Agner Fog's Software optimization resources, incluyendo algunas cosas buenas acerca de convenciones de llamada en diferentes plataformas (Windows vs. Linux/OS X), así como muchos ejemplos de cómo hacer cosas específicas de manera eficiente. No es ideal para principiantes totales, pero ideal para lectores de nivel intermedio a avanzado.
(También tiene información de rendimiento detallada para cada instrucción para CPUs Intel y AMD, excelente para la micro optimización de rendimiento serio. Algunos principiantes pueden querer ver algo de eso para empezar a pensar cómo funcionan las CPU, y por qué podría hacer algo de una manera en lugar de otra.)
Considere la posibilidad de "Programación desde cero" –
Buena suerte amigo. El ensamblaje de escritura es una verdadera carga. No estoy tratando de desalentarlo, pero maldita sea, es toda la empresa – HumbleWebDev