2012-04-16 94 views
22

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.ASM: MASM, NASM, FASM?

¿Podría alguien ayudarme por favor 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.

+0

depende un poco de su sistema operativo preferido - Windows? Linux? Mac OS X ? ¿Otro? –

+0

¿Qué se usaría para Mac OS X? – Aristides

Respuesta

16

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

NASM (Netwide ensamblador) es el ensamblador popular para Linux, pero está disponible en Windows también. 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.

Supongo que preferiría elegir MASM según sus necesidades.

+1

NASM también está disponible para Windows. – stmax

+0

@stmax ¡actualizado! gracias :) –

+0

Gracias Pavan. ¿Hay alguna diferencia en la sintaxis? – user997112

0

Sólo para hablar de ella, RosAsm es un ventanas sólo 32 bits de ensamblador que tiene varios puntos interresting como

  • un IDE integrado que es auto-compilados con código fuente disponible
  • un NASM sintaxis inspirada
  • un potente sistema de macro para el diseño de lenguaje de alto nivel
  • 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 ha nadie más que uno de sus colaboradores está trabajando actualmente en un 64 bits de reescribir (BUAsm, el ensamblador de abajo hacia arriba)