Does anyone know some good ASM tutorials directed twords C/C++ programmers?
Printable View
Does anyone know some good ASM tutorials directed twords C/C++ programmers?
Although the website is designed poorly, I recommend The Art of Assembly Language by Randall Hyde, published by No Starch press.
It teaches you Assembly language starting with HLA (High Level Assembly) which is an assembler/compiler which basically creates a high level language (c/c++ programmers will find it easy to pick up) out of assembly. Then gradually weans you off the high level aspects until you're coding in low level assembly. Which is a boon, because by the end of your instruction, you'll find it easier to spot and identify common structures and more within assembly code.
As I mentioned, the website isn't the greatest, however it does provide the book in html or pdf format. I recommend purchasing the book, as there's some great reading there.
I used, "Assembly Language for Intel Processors, 4th ed. " by Kip Irvine when I took assembly in college. Good Book.
I'm afraid I don't have a good book to recommend, but I do have a recommendation nonetheless:
When I was first learning C++, the only programming experience I had before that was QuickBASIC. Every time I learned something new, I'd try and equate it with something in BASIC. It seems like a good learning strategy at first, but when I learnt new concepts that were native to C++, I held myself back considerably. If I may recommend, try not to look at Assembly from a C++ point of view. I understand that you're looking for a tutorial that is tailored towards people who already have experience in C++, and that's fine. I'm just saying that you should be open to the uniqueness of Assembly.
I would have to agree with sean with this one. It is not always good to try to learn one language from the perspective from another. Take it from the guy who went from quickbasic to assembly to C to C++. You will find it actually hurting you in the long run, as sean said with holding yourself back.
When changing programming languages it is not the uniqueness of the language that you want to take with you. It is the concept, the 'how to program' mentality.
Generally speaking good programmers are real good problem solvers. They know how to take a problem and look at it from different angles, then to find the general abstraction to lead them to the solution for all cases. It is this mentality that you should take with you across language barriers. The problem solving techniques will always be constant, it is the method, the specific abstraction, for solving the problem that changes.