Hello there, I am a new member here, but i've been  a long time reader.

I know a bit of C++. So im not too knew to programming. Recently i decided to start learning Assembly. Mainly because i like the way the language looks. Its simple, yet complex.
My main goal is to create an OS. Which will be many many a'months away.
I plan to start small. Do some DOS stuff, win32... etc.

I chose nASM because its what i've seen being used in most OS dev articles i've searched for. I've installed it, setup DJGPP...(tell me if i should add more stuff.Should i use CyGWin(SP?)).

Anyways this brings me to my question.

Since i know that masm,tasm,fasm, and nasm are all pretty much the same, but have different syntax.. Where would be a good place for NASM tutorials?... Assembly is still hard to find(not really), but for nasm its pretty rare for beginner tuts..


Which assembler should i use first? How do i switch to nasm later.
should i just to MASM?... is NASM32(SkyFire Edition), sufficient?

I really want to learn all about Assembly.

Please tell me what to do, where to go, who to see, who to kill..
Posted on 2007-09-02 14:58:03 by RayneWolf
If you learn the "real basics" first, your choice of assembler won't really matter much, the instructions are the same (notable exceptions would be GNU GAS in AT&T syntax mode, Betov's spasm, and some of the even smaller homebrew assemblers). But masm/fasm/nasm/yasm? pick your poison.

Forget about DOS assembly, even if you do wind up playing with kernel development, the amount of 16bit assembly you will need is minimal.

mingw is imho better than cygwin, and I'd choose it over DJGPP as well - unless you want to be able to develop under straight dos, but then you're plain weird :P.

Personally I use MSVC + FASM for my toy kernel, but you can use pretty much whatever you want to, really.
Posted on 2007-09-02 15:06:38 by f0dder
hmm, so go with mingw. m'kay.

but although there isnt really a difference in instructions.... i have noticed that to try a masm example in nasm, doesnt work.

but that is because of the assembler itself, as i have read somewhere.

Thanks for the response, f0dder.
If anyone has any more suggestions feel free to pm me with suggestions as i am really trying to grasp the first step.
Posted on 2007-09-02 15:27:47 by RayneWolf
RayneWolf,

Try checking out the Asm Community Wikki Book's Links Section for resources. I'm not sure about tutorials but I know for a fact there are plenty of NASM assembly related links there which used NASM as their assembler. I'm sure they will come in handy.

Regards,
Bryant Keller
Posted on 2007-09-02 20:31:48 by Synfire
For NASM, you can get the hang of the syntax, in a comfortable environment such as Win32, with a package like NASM32.

Getting deeper in to stuff like OS development, tutorials aren't always the greatest thing and being able to read and apply official docs/specs/manuals is a must.

I would say, once you are comfortable enough to express ideas as real code in an already existing environment, such as Win32 application development, then you are ready to go OS dev'ing 8)

If you insist on a OS dev tutorial, with a practical approach to OS development with NASM, take a look at THIS set of tutorials.

HtH.
Posted on 2007-09-02 21:21:31 by SpooK
Hmm. Thanks guys.

I shall look at those, and do as you say.

OS dev is my goal, along with game dev, so i'll be doing small win32 things first..

I usually go for Text Editors..
Posted on 2007-09-02 23:22:14 by RayneWolf