

NASM Examples - nkurz
http://cs.lmu.edu/~ray/notes/nasmexamples/

======
zxcdw
I think it is worth mentioning that the author's website[1] lists course
websites which all seem to have similar notes about relevant topics. As an
example, there's the Computer Systems Organization course[2] which has NASM
Tutorial[3] page listed in notes which is much more suitable for actually
learning assembly than the NASM examples. And, of course, there's a notes page
for "x86 Assembly Language Programming" too.

Truly awesome stuff, definitely worth exploring.

[1]: [http://cs.lmu.edu/~ray/](http://cs.lmu.edu/~ray/)

[2]: [http://cs.lmu.edu/~ray/classes/sp/](http://cs.lmu.edu/~ray/classes/sp/)

[3]:
[http://cs.lmu.edu/~ray/notes/nasmtutorial/](http://cs.lmu.edu/~ray/notes/nasmtutorial/)

------
breadbox
A nice little page with some very helpful examples for someone just starting
out with using assembly on Linux. (There actually isn't much that's specific
to Nasm, though. Based on the page's title, I would have at least expected an
example that demonstrated setting up a .bss section, with the special resd [et
al.] directives, and some examples of Nasm macros, which have some
idiosyncratic features. But that's just a minor quibble about the name of the
page. The information that is there is plenty useful, and not always easy to
find.)

------
dvdkhlng
Note that the linked site, cs.lmu.edu, has a broken IPv6 DNS record:

    
    
        $ dig cs.lmu.edu AAAA
        cs.lmu.edu.             3493    IN      AAAA    ::1
    

When loaded on IPv6-enabled clients, you'll connect do localhost:80 instead.

------
Igglyboo
Seems like a good thread to ask, hope this isn't too OT.

I'm a CSE major about to graduate with about 18 months in the industry, mainly
using JS/Java/Python. I've recently wanted to start getting into low level
programming and wasn't sure where to start. I wanted to start with C and move
up to C++ eventually, would it be worthwhile to start with ASM? Also does
anyone know of any good resources for learning modern C? Is k&r still
relevant?

~~~
rectang
There's "Learn C The Hard Way" \--
[http://c.learncodethehardway.org/book/](http://c.learncodethehardway.org/book/)
. It teaches you the essential, modern practice of developing with Valgrind
right away.

I'd also suggest going though the exercises in "Computer Systems -- A
Programmer's Perspective", which uses Linux, C and some assembler.
[http://csapp.cs.cmu.edu/](http://csapp.cs.cmu.edu/) Good C programming is
mostly about good computer science, because the C language is small but you
operate close to the metal.

K&R remains a marvel of concision, but its blithe, unskeptical usage of the C
standard library is outdated and problematic.

~~~
cushychicken
I think the best (or at least my favorite) thing about Learn C The Hard Way
was an extra credit assignment of going through the K&R book and finding a way
to break every piece of sample code. Talk about a learning exercise.

------
zniperr
Nice explanation, the overall layout and text-to-code ratio make it easy/fun
to follow. I would like to see the finished post when all the TODO's are
filled in. I would suggest to add "AMD64" explicitly to the page title for
clarity.

------
codygman
This link seems to be broken :(

