turbo sistema que programacion caracteristicas assembler assembly intel nasm masm fasm

assembly - sistema - ASM: MASM, NASM, FASM?



sistema assembler (2)

He realizado la programación de ensamblaje ARM y me gustaría aprender el Ensamblador Intel. Sigo escuchando todos estos F / M / N / ASM diferentes, pero no estoy seguro de cómo se relacionan con lo que deseo lograr.

¿Podría alguien ayudarme a identificar lo que necesitaría para aprender a programar bajo nivel en la arquitectura Intel? No entiendo cómo se correlacionan los "diferentes ensambladores", incluso más con x86, IA64, AMD64 / x86-64, etc.

Si es de alguna ayuda, estoy más cómodo con Eclipse y Visual Studio 08/10 IDEs.


Solo para contarlo, RosAsm es un ensamblador de Windows de solo 32 bits que tiene varios puntos interesantes como

  • un IDE integrado que se auto compila con el código fuente disponible
  • una sintaxis inspirada en NASM
  • un potente macro sistema para el diseño de alto nivel del lenguaje
  • la particularidad de almacenar el código fuente dentro del .exe y .dll producidos (en una sección PE).

En cuanto al soporte de 64 bits, RosAsm no tiene ninguno, pero uno de sus colaboradores está trabajando actualmente en una reescritura de 64 bits (BUAsm, el ensamblador de abajo hacia arriba)


MASM (Microsoft Assembler) es el popular ensamblador para Windows. MASM es para aplicaciones de 16 bits y 32 bits ( x86 ). ML64 es para fuentes de 64 bits ( AMD64/x86-64 )

NASM (Netwide Assembler) es el popular ensamblador para Linux pero también está disponible en Windows . NASM admite programas de 16 bits, 32 bits y 64 bits.

FASM (Flat Assembler) está disponible para Windows y Linux. FASM también admite programas de 32 bits y de 64 bits.

Así que supongo que preferiría elegir MASM según sus requisitos.