Hello people. I was just wondering where one could start learning assembly language from. could you please suggest some place that can get me kick started with it ?
When I was in college I was used to use the awesome 8086 Microprocessor Emulator for Assembly programming on Windows. There are beginner tutorials available in its website.
No matter what resource you use, It's important to be patient to learn assembly language, you might understand nothing while reading the first hundred pages, keep on & afterward you'll understand 'em all.
If you're on Windows and have an x86 processor:
- Get Assembly Language for Intel-Based Computers, one of the best books on the subject. Alternatively, you may try Randall Hyde's free, online Art of Assembly Language book as well.
- Download Masm32 assembler, which you will use to compile your assembly code into executables.
- And, if you like IDEs, get Winasm as well. It'll simplify code editing a great deal.
I tried Programming from the Ground Up some months ago and it helped me a lot getting started on x86 assembly. Also, it's free :)
I began learning assembly from MIPS (a RISC microprocessor). An emulator called SPIM could be downloaded and installed freely from the author's website. http://pages.cs.wisc.edu/~larus/spim.html
SPIM provides an easy to use interface with a console to return the results. Users could also inspect registers from the emulator.
The author of SPIM recommends many useful resources, available on the website (scroll down to 'Resources').
The best way to learn assembler IMHO is to disassemble compiled code, and at first use it in inline assembler, which allows you to write stuff around it in a HLL. It is a nice intermediate step before going full asm.
I learned it that way in Turbo Pascal, but Delphi and e.g. the Free FreePascal still support this today. (easier than e.g. gcc inline asm)
Checkout the vtc videos.http://www.vtc.com/products/Assembly-Language-Programming-Tutorials.htm