Copyright (C) 2000-2012 |
GNU Info (nasm.info)Section 1.1.11.1.1. Why Yet Another Assembler? --------------------------------- The Netwide Assembler grew out of an idea on `comp.lang.asm.x86' (or possibly `alt.lang.asm' - I forget which), which was essentially that there didn't seem to be a good _free_ x86-series assembler around, and that maybe someone ought to write one. * `a86' is good, but not free, and in particular you don't get any 32- bit capability until you pay. It's DOS only, too. * `gas' is free, and ports over DOS and Unix, but it's not very good, since it's designed to be a back end to `gcc', which always feeds it correct code. So its error checking is minimal. Also, its syntax is horrible, from the point of view of anyone trying to actually _write_ anything in it. Plus you can't write 16-bit code in it (properly). * `as86' is Minix- and Linux-specific, and (my version at least) doesn't seem to have much (or any) documentation. * `MASM' isn't very good, and it's (was) expensive, and it runs only under DOS. * `TASM' is better, but still strives for MASM compatibility, which means millions of directives and tons of red tape. And its syntax is essentially MASM's, with the contradictions and quirks that entails (although it sorts out some of those by means of Ideal mode). It's expensive too. And it's DOS-only. So here, for your coding pleasure, is NASM. At present it's still in prototype stage - we don't promise that it can outperform any of these assemblers. But please, _please_ send us bug reports, fixes, helpful information, and anything else you can get your hands on (and thanks to the many people who've done this already! You all know who you are), and we'll improve it out of all recognition. Again. automatically generated by info2www version 1.2.2.9 |