: I have some knowlege in C++, and I'm wondering: do I need to learn Assembly, I mean is it important, I have it as a course in the university because I'm studying computer sciences -but a sophomore student ;)- what basic knowlege do I need to start learning Assembly.
: I hope you can give me a website for newb's?
:
: I know I wrote too much ;) but I appreciate your help.
: Thanks is advance,
: Ammar...
:
"Do you need to know Assembly?"
That depends on what you are going to do, but almost guaranteedly no, you don't. (Of course, it may be helpful to pass that class...)
Obviously that begs the question, why learn assembly at all then? One reason, is the first sentence of my last paragraph: you may need it. OS development, device drivers and some speed/space critical applications will REQUIRE assembly. However, most programmers program at application level and those programs rarely need assembly themselves.
The main reason it's taught still is so that you as a programmer in any language have a better understanding of how your program works and what the computer is doing and a better understanding and appreciation of what the compiler is doing.
Anyways, the Art of Assembly is probably the best free online resource for learning x86 assembly. It's a college level textbook. It can be found as webster.ucr.edu. I always suggest reading the DOS version first as there are a LOT of interesting things in it that aren't in the Windows/Linux version. Also, those two versions use HLA instead of the much more common and common seeming MASM assembler.
Anyways, it can be found at webster.ucr.edu. The foreword has more information about the WHY of learning assembly.
"We can't do nothing and think someone else will make it right."
-Kyoto Now, Bad Religion