I downloaded a windows assembly tutorial from http://win32assembly.online.fr/tutorials.html. It says that i need masm to compile and link assembly files. Plz tell me can i use nasm to compile and link windows gui assembly programs. Plz tell me how to do this.

Posted on 2004-03-07 10:33:01 by chamsy
Stupid answer :
Why you don't use MASM (v6.15) ?
It is free and alive !!!
The NASM scene is not very active...

Posted on 2004-03-29 13:59:49 by N?cleo

It is free and alive !!!

That's somewhat wrong, actually.
If you get masm from the 98DDK (I believe that's the version included in hutches masm32 package), you're limited to doing windows application programming - ie, no linux or custom OS development. There might be even more restrictions, refer to the license.

If you get masm from the recent NTDDK, you're limited not only to windows, but even further to device drivers.

While microsoft aren't very likely to hunt you down for silly small asm projects, this could end up mattering if you do commercial app development or, even worse, OS programming.

So masm is far from free - if you want freedom with masm, you gotta buy it, or a product it's bundled with, like visual studio.

A decent alternative to nasm that's free and under active development is fasm, http://www.flatassembler.net . It's not as cross-platform yadda yadda, but you can develop for and under dos, windows, linux and menuetos.
Posted on 2004-03-29 14:11:18 by f0dder
Also you can stick with nasm,


see the tomcat package

Also you can use nagoa http://www.visual-assembler.pt.vu/

You can join the groups of http://groups.yahoo.com/group/win32-nasm-users/ or the linux side ;)

Have a nice day.
Posted on 2004-03-30 23:09:05 by rea
Hi chamsy,

NASM is just fine, don't use it myself but Nagoa is still doing some excellent work with his IDE and in reality MASM is updated much less often than NASM. Once a product becomes mature the development cycle lengthens and it seems to be inactive for long periods. This is normal and to be expected, the more complex a project, and the more complete it is, the less work is necessary and the longer it takes. NASM constructs can still be found everywhere, even AMD has NASM includes for the pseudo ops for it's 64 bit processor, there are few other assemblers that can say they have a working 64 bit implementation.

In short, stick with what you feel comfortable with and listen to the "this is better" stuff but remember that it is all just opinion. For a good IDE that seems to allow easy assembly of Windows applications have a look at the Nagoa IDE hgb posted.

RadASM, available in this section also fully supports NASM as well as other assemblers, this allows you to copy and paste code to the assembler it is written in, then with a debugger examine the output, a useful tool in translating.
Posted on 2004-03-30 23:15:51 by donkey
"Plz tell me can i use nasm to compile and link windows gui assembly programs"

Answer: Yes!

Maybe will be useull try follow the tomcats package, there you will find example for windows, and for dos in that section you will find a library for memory manipulation, strings and other things this are aimed to help the dos programmer to pass this 'repetitive' or 'normal' or 'common' manipulations, also you can use this codes to help you do some things under win, see that you normally not need this basic manipulations because you can use the counterparts of the "win API", see that here you will use the cmd line for assemble almost all the examples in this package.

Go to the section of win examples, then after you read then you can read the things that come with nagoa (the help or docs), try understand how nagoa work ;). Then you can go to radasm. And use the two (both?). Use more the one that you like.

Also like donkey say, NASM is a mature project but you dont see a NASM version > 1, there are things to do some bugs to correct, a rewrite, analise "fire points"... I dont know how to say "the parts that slow the processing". There are people that have modified (I in the past) I terminate to drop that version ;) it is a old glory, because I dont know nothing in that days about languages or assemblers, other people have other preprocessor, that is not the point, the point is that the normal sense is that nasm is not updated frequently, but there are guys interested (because is most for contributors, and some good people that are here from the start... ok not from the start), that have aported things and that will aport things, there exist yasm, that was first designed to be a rewrite of nasm, like other say.... not sure if is the actual objetive, but is nasm compatible (almost 98% or 99.9999%), some day, nasm will have a final realease.

I like the clean sintaxis that have(for me is clean).
I learn things with he (that will not be obious using other).

Sure that if you use other, you will learn sure ;).

Also you can read other assembler sintaxis... dont be afraid of that ;), and use the one of your choice... also you can read some c codes and get the idea... but you need know asm and C at less ok for do that, then you can read a win32 gui programming book orientated to C, and do the examples in asm, or a algorithm book, or a book on abstract data types, and do the examples with asm.

Have a nice day or night.
Posted on 2004-03-31 01:25:12 by rea
i don't particularly like the nagoa ide, its not very user-friendly, or english-friendly :rolleyes: besides, i think using alink's syntax has perverted nasm's nature of writing clean code, i think using -fwin32 and mslink is a better way (smaller exe/code too!)
Posted on 2004-06-10 13:12:10 by Drocon
if u like NASM, u might as well just use FASM
Posted on 2004-06-10 19:43:31 by comrade
thats not very developped :)

for some reason i like nasm

(thats not very developped either :) )
Posted on 2004-07-02 11:15:00 by HeLLoWorld