Re: Recommendations for Self-Instruction?



Lee T. wrote:
Please forgive me but I'm searching for the correct area to post such
an inquiry as this.

You found it! :)

I've worked extensively with C, C++ and have
experience with other higher level languages however, I am quite
interested in learning assembly for the x86 architecture and I just
don't know where to start; I've been searching for tutorials and books
and would like a push towards a direction to start.

I wish to learn a low-level asm independent of the OS layer, but I work
with FreeBSD so if it's Unix ASM I wouldn't mind.

Actually, I'm up to all sorts of suggestions, I don't have enough
working knowledge to speak, maybe after I get some sense from
someone... just trying to help myself learn something new and the
options seem endless... Books, tutorials, you name it.

The BSD Developer's Handbook has quite a nice chapter on assemblt language programming.

<http://www.freebsd.org/doc/en/books/developers-handbook/x86.html>

Jonathan Bartlett's "Programming from the Ground Up" is for Linux - should "mostly" apply to BSD also - uses AT&T syntax.

<http://www.cafepress.com/bartlettpublish.8640017>

Or the "free - as in freeloader" version... :)

<http://savannah.nongnu.org/projects/pgubook/>

Despite the name,

<http://www.linuxassembly.org>

covers BSD as well - the macros in the "asmutils" section allow the same source to be assembled into either Linux or "native" BSD executables. For more "generic" asm info:

<http://www.drpaulcarter.com/pcasm>

Uses Nasm. Relies on C libraries for all OS-specific I/O, so it's "portable".

Kinda the "granddaddy" of assembly sites:

<http://webster.cs.ucr.edu>

leans towards HLA, the "High Level Assembler" - which runs on Windows and Linux - should run on BSD, too(?). Geared toward teaching students with a HLL background, AoA and HLA might be just what you're looking for. If it *doesn't* suit your taste (doesn't suit mine) there are links to *all* kinds of other things you might want to look at.

..... that ought to keep you busy for a while! :)

Best,
Frank

P.S. If Nasm doesn't ship with BSD (it may) and you want it:
<http://www.sf.net/projects/nasm>
(I'd download source and build it)

.