View Full Version: FASM vs. NASM/YASM

dex >>General Discussion >>FASM vs. NASM/YASM


Dragon_Hilord- 01-05-2006
FASM vs. NASM/YASM
I noticed everybody here likes FASM. Is there a particulure reason? I personally like NASM (and the recent branch-off, YASM), for it's simplicity and good documentation (PC-ASM rings a bell). I also noticed that FASM seems to not support file formats without includes (eg. elf, and windows PE. I will mention, there is this on Win32 headers :D). Cheers, DH.

bubach- 01-05-2006

afaik, all you have to do is write "format PE", "format MZ" etc as the first line to get a file format. No include files required. maybe the docs are outdated? Anyway, fasm is small, fast and better.. :)

Dex- 01-05-2006

It so simple, i know lots of nasm uses move other to fasm and would never go back, but i have never heard of some one moving from fasm to nasm. The genius who made fasm Tomasz Grysztar, want it for a OS he was making, called Titan OS, but most of the OS was lost, so he continued with the assembler. That why its so great for OS dev's You can find bits of "Titan OS" here: http://board.flatassembler.net/topic.php?t=153 Nasm is more for C programmer, who want to add a bit of asm.

Dragon_Hilord- 01-05-2006

What about C++ who want ASM for ALL things that want a speed boost (eg. where C++ is not really approipate like parts of task switching and memory management). You can't just judge NASM because of its compatability with C. Then again, FASM probably could be made to put out ELF binaries. Must investagate!

RedGhost- 01-08-2006

fasm has better documentation than nasm by far (imo) fasm is faster and smaller, and easy to use, not 100 parameters via commandline, i reccomend fasm, i used to use nasm too :wink:

crc- 01-08-2006

; Create a PE header for the Win32 console subsystem format PE console ; Create a PE header for the Win32 gui subsystem format PE gui ; Create an ELF relocatable object file format elf ; Create an ELF executable format elf execuable The Win32 headers you link to are for automatic creation of the import/export tables for Win32. They aren't necessary to create a PE executable, just use the "format PE <type>" line as shown above. Personally, I switched from NASM to FASM due to the more active development cycle FASM has, the community support, and the generally (IMO) more capable macro facilities offered by FASM. The support for 64-bit apps since FASM 1.64 is also nice :)

tonyMac- 01-09-2006

I used NASM for a (very) short time, then moved to this project, and was simply thrilled with FASM and its simplicity. I can make a program in minutes, and there really isn't any formatting except for the individual platform.

Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.