2012-04-16 28 views
22

Ho eseguito la programmazione dell'assemblaggio ARM e vorrei conoscere Intel Assembler. Continuo a sentire tutti questi diversi F/M/N/ASM menzionati, ma non sono sicuro di come si relazionano a ciò che desidero raggiungere?ASM: MASM, NASM, FASM?

Qualcuno potrebbe aiutarmi a identificare cosa avrei bisogno di imparare come programmare un basso livello sull'architettura Intel? Non capisco bene come i "diversi Assembler" siano correlati, ancor più con x86, IA64, AMD64/x86-64, ecc.

Se è di aiuto, mi sento a mio agio con gli IDE di Eclipse e Visual Studio 08/10.

+0

Dipende un po 'sul vostro sistema operativo preferito - Windows? Linux? Mac OS X? Altro ? –

+0

Cosa verrebbe utilizzato per Mac OS X? – Aristides

risposta

16

MASM (Microsoft Assembler) è il popolare assemblatore per Windows. MASM è per applicazioni a 16 e 32 bit (x86). ML64 è quello per 64 fonti bit (AMD64/x86-64)

NASM (nasm) è l'assemblatore popolare per Linux, ma è accessibile anche Windows. NASM supporta programmi a 16 bit, 32 bit e 64 bit.

FASM (Flat Assembler) è disponibile per Windows e Linux. FASM supporta anche i programmi a 32 e 64 bit.

Quindi immagino che preferiresti scegliere MASM in base alle tue esigenze.

+1

NASM è disponibile anche per Windows. – stmax

+0

@stmax aggiornato! grazie :) –

+0

Grazie Pavan. Ci sono differenze nella sintassi? – user997112

0

solo per dire a questo proposito, RosAsm è una finestra solo 32 bit assembler che ha diversi punti interresting come

  • un IDE integrato che si auto-compilati con il codice a disposizione fonte
  • un NASM sintassi ispirata
  • un potente sistema macro per la progettazione del linguaggio di alto livello
  • la particolarità di memorizzare il codice sorgente all'interno del file .exe e .dll prodotto (in una sezione PE).

Per quanto riguarda il supporto a 64 bit, RosAsm ha nessuno, ma uno dei suoi collaboratori sta attualmente lavorando su un 64 bit riscrivere (BUAsm, l'assemblatore bottom-up)