|Learn assembler for free|
|Written by Mike James|
|Sunday, 14 August 2011|
If you want to learn assembly language then there is a classic text that is the place to start. It's now available online, together with lecture notes from an undergraduate university course.
Assembly language - you don't need to know how to program in it but you will be a better programmer if you do. The reason for this bold assertion is that only by programming in assembler do you get any feel for how the machine actually works. Yes there is a big difference between the programmer who just writes a high level language function in C#, C++ or Java say from one who knows what happens to make it all work. It is rare that you actually need to write assembler - perhaps a driver or some other systems module - but if you are trying to get back to native code then without doubt it doesn't get any more native than assembler.
So where to begin?
You could try the material that goes with the CS306 Processing Systems and Structures course at Washington University in St Louis. Not only are the lecture notes online but so is the (more or less complete) text of the classic first edition of The Art of Assembly Language Programming by Randell Hyde. This is the version of the book that explains x86 16-bit assembly language and not the second edition which moved on to using a high level assembler that is more like C - (Review 2nd ed). If you are serious about learning assembler it is the first edition you need.
If you are prepared to work your way through it and take the task seriously you will learn to write assembly language and a lot of very basic ideas about how computers work and some very basic programming techniques.
Update: Some of the materials referred to are no longer available.
Much of it can still be found, however, at Webster, a site compiled by Randell Hyde, now with reference to the 2nd Edition of his book.
Other resources can be found in Assembly Language Introduction.
The Art of Assembly Language 2nd Ed (Review)
|Last Updated ( Wednesday, 18 May 2016 )|