Solar wrote:
Ah, didn't get that one this morning: Of course you can also use GNU as, which is part of the binutils package. But they'll look at you in funny ways if you do. (Can't really understand why, it's a fine assembler and I can use the same syntax in inline assembly and make supports it very well with implicit rules...

)
You can of course use GNU AS. It supports AT&T syntax x86 assembly very well and delivers exactly what you expect (if you use AT&T syntax, that is). It's also handy if you have a code file you want to speed up (note from Knuth: premature optimization is the root of all evil) since you can compile the code with gcc with the -S flag and it outputs the exact code GNU AS can use for the same output file.
On the other hand, for Intel syntax, you should also be able to use it (have seen mention of a -masm=intel or something flag) but based on my own experience (of a long time ago) it was a bastardized intel syntax with all the aspects I don't like about at&t except for parameter order.
If you prefer either and some programs gives you the wrong output type, try intel2gas (which gives the idea it can only go one way, but it has an invert switch). It can convert nearly all code flawless and the lines that usually don't work aren't needed. You do need to understand the original code for the tool to work, so it's smart to learn both of these.
For completing the assembler list, there's also TASM and MASM. TASM isn't being developed anymore (as far as I can tell) but was developed by Borland. MASM is being developed (however unlikely and slowly) by Microsoft and can be ordered using a very complicated ordering mechanism which involves Visual Studio and hand-writing a request for it. It can also be downloaded from
www.masmforum.com for free, iirc.
HTH, Candy