Hi, I've only ever used MASM but I'm wondering what are its advantages over NASM or SPASM, theres even one called GASM. Its just that if NASM is a sutible alternative then I'd personally prefeer it, seen as its maintained freely and it will compile for Linux (I believe). Plus I hate microsoft. I know nothing about other compilers, I don't even know where to get NASM but it sounds intresting.
It seems that NASM have some difficulties to maintain a page alive. A few weeks ago, the new adress was: http://nasm.dhs.org/ i just tested it > don't work again... Maybe another day... my page: http://betov.free.fr/SpAsm.html Still works for download, but i can't no more upload and my Forum is broken too. I search another provider in my country but others are WORST... betov.
You all will be happy to know that NASM is alive and well at: http://nasm.2y.net/
Thanks for the link, Also does anyone know of any other assemblers, specifically those that use very little higher level stuff and produce tiny exes. Maybe none exist
>Also does anyone know of any other assemblers, specifically >those that use very little higher level stuff and produce >tiny exes. What do you mean? "tiny exes" is all about your coding style (and linker options) -- it doesn't really have anything to do with the assembler. Also, why would you want to give up "higher level stuff"? It sure does make everyday programming a bit easier. As for nasm...I kinda like it. When messing around with lowlevel stuff (which is what I mostly use asm for), I always write it in nasm, without really considering masm. Why? Well, nasm gives a bit better control over opcode generation (useful when assembling a jump from realmode to pmode... osdev stuff), and it can assemble directly to binary format (useful when dealing with exe encryption). Also, I've become more or less familiar with NASM's macros, where I still need to read a lot about them in masm. As for the people bitching about "baaah, nasm is lowlevel, it doesn't have invoke yadda yadda", I can only say one thing: write macros. Or fetch them off the net. More or less all the same stuff that's possible in masm is also possible in NASM. However, I still prefer masm when doing "win32asm" programs. This is because the masm32 package is a nice thing, with all those include files. It would be a pain to translate them to nasm syntax. And the way NASM handles STRUCTs isn't very satisfying, either. Ah well. Since I do most my win32 projects in C (or C+asm), and my asm projects are sorta lowlevel, I run nasm 98% of the time and masm the remaining 2%. But when doing those remaining 2%, I would certainly be less happy without masm. /raving again/
Thanks, I agree that HLL stuff is useful but for some reason I don't like it. I'm just tryinmg to get an idea of the differences between the assemblers, TASM is one I'd like some info on, I know it costs money but that aside how does it compare to MASM I just want to write small programs and DLL for specific tasks and I want to use the assembler which generates the least crap in addition to my code. I realise I'll probably have to look into PE stuff, but for now I'm researching the different assemblers. So to ask anagin, anyone who has, or knows where to find info on TASM, NASM, GASM, BASM, etc please share it. This message was edited by Zadkiel, on 5/28/2001 3:47:51 PM
The only thruth in your statements is that tasm is in general faster. As to HLL - it was first made in TASM and after that in masm, and all other things such as invoke is possible in tasm (in fact in tasm you don't need it at all - if you stated stdcall you may use call instead of invoke with line of args.) As to "true" code you most lakely use masm to achieve it or something else. TASM is too "smart" - it is one of resone why I quited it. "no smart" was my favorite switch. Without it you can not be sure exact representation of code like "lea eax,something" and such. So all advantages you stated for masm can be applied to tasm. You took programming style spreaded by exelent Iczelion tuts as fitures of MASM. But if he had written them in TASM you would have been able to see very simular code.