I have done ARM assembly programming and I would like to learn the Intel Assembler. I keep hearing all these different F/M/N/ASMs mentioned- but I am unsure how they related to
MASM (Microsoft Assembler) is the popular assembler for Windows. MASM
is for 16-bit and 32-bit applications(x86
). ML64
is the one for 64 bit sources (AMD64/x86-64
)
NASM (Netwide Assembler) is the popular assembler for Linux but is available on Windows too. NASM supports 16-bit, 32 bit and 64 bit programs.
FASM (Flat Assembler) is available for both Windows and Linux. FASM too supports both 32-bit and 64-bit programs.
So I guess you would prefer choosing MASM
according to your requirements.
Just to tell about it, RosAsm is a windows only 32 bits assembler that has several interresting points like
Concerning the 64 bits support, RosAsm has none but one of its contributors is currently working on a 64 bits rewrite (BUAsm, the Bottom-Up assembler)