Anyone good ideas on learning ASM ?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
SNeKKe

Anyone good ideas on learning ASM ?

Post by SNeKKe »

Hi everybody,

I'm completely new to OS programming but I'm very interested!
My knowledge of ASM is almost nothing so I was wondering if there are
good ASM tutorials. I use NASM (don't know if it can be of any help).

Thank you all!
Greetings, SNeKKe
Chase

RE:Anyone good ideas on learning ASM ?

Post by Chase »

Check out the Art of Assembly Language in the links section. It's what I used when learning assembly.

-Chase
fixa

RE:Anyone good ideas on learning ASM ?

Post by fixa »

you don't need to know asm very well.
To bootup your OS you can use GRUB.
Rest you can do in c. Of course you must set your GDT IDT and others, but to do this you can use some code from other OS (ie Linux).
Rest you can do with in* and out* macros (find in linux sources 'io.h' file)
Schol-R-LEA

RE:Anyone good ideas on learning ASM ?

Post by Schol-R-LEA »

The good news is, you don't need to use very much assembly language. The bad news is, when you do need it, there's no substitute, and you need to understand it very well.

For a beginner, my recommendation is to pony up the US$50 or so that it costs for a copy of _Assembly Language Step by Step_, 2nd ed., by Jeff Duntemann (yes, I know I always recommend it, but it truly is the best introductory book I know). It is a very thorough introductory text, somewhat limited in scope by very useful. It also gives all of it's examples in NASM (except for some examples using DEBUG), and discusses how to use NASM-IDE, which you should find helpful. It's coverage of real-mode programming under MS-DOS is excellent; it's coverage of protected-mode under Linux, somewhat less so. This is one of the best introductory texts I know of for any language; its major flaw is that it stops short just when you are building up steam.

See the book's web page at http://www.duntemann.com/assembly.htm for more details on the book. He includes links to many other relevant texts and web sites on the page as well.

One which he mentions, but doesn't include a link for, is _Michael Abrash's Graphics Programming Black Book, Special Edition_, which discusses the more advanced concepts of program optimization in depth, both in assembly language and in C. Even after six years, it is one of the most coveted works on the subject, going for over US$400 on Amazon.

Fortunately, you can find the *entire* book online as a set of PDFs at

http://public.planetmirror.com/pub/gpbb/

Apparently, it was released on the DDJ website at one point and never taken off the .au mirror, it seems. I recommend - to everyone - downloading the whole thing as ASAP, before the take it down. The legality of this is, admittedly, somewhat gray, but as far as I know it is an authorized offering.
Post Reply