For anyone who works with x86 assembly, I'm curious which assembler you use.
Preferably, the name should be an acronym and end in "ASM" =)
For anyone who works with x86 assembly, I'm curious which assembler you use.
Preferably, the name should be an acronym and end in "ASM" =)
I haven't worked with Assembler in a few years, but when I did it was typically MASM. Did a little FASM as well.
"gcc"
Sorry it doesn't fit the spec, but I haven't done more than a few dozen lines of assembler in the last 10 years.
I've used both MASM & TASM in the past. Before that I used Macro-80.
In the past, I've always used NASM. I looked at moving to FASM or YASM for 64-bit work, but at the time YASM was not really mature and FASM's syntax was slightly different from my beloved NASM. I think NASM has acquired 64-bit support in recent releases (H. Peter Anvin picked up maintenance a while ago, and had been doing a great job whipping it back into shape last I looked), and I'd go back to it before considering another assembler, if I actually come across anything worth my time to rewrite in assembly (which hasn't happened in a couple years now).
Borland's TASM for its Ideal mode.
And getting a bit of help from assembler with distant conditional jumps is an icing in the cake, however anathema it is with regards to one-to-one correspondence of assembly and final machine code.
Definitely FASM. Not only for the amount of systems it supports, but because of it's speed and small installation footprint (no matter what OS, they are all under 1mb). The error checking is also great in FASM. NASM-like syntax makes it easier to make the change if you are already a NASM user. If you are interested in making a hobby OS, it also self compiles so you can easily port your code (without having to port gcc). The executables it produces are also usually the smallest out of the assemblers I have tried, and (more often than not) faster. It's a great piece of code.
I have used Borland Turbo Assembler. I loooooooved it. Especially because of the (at that time) state of the art debugger that came with it.
After that, I've used Microsoft Assembler, and lately, I try to limit myself to inline assembly when nothing else works.
But honestly, nothing can be compared to the Turbo Assembler (because of its ideal mode).
Netwide Assembler (NASM) I love Intel syntax... is cleany, easy and have many output formats.