As a part of my work in Blancco, I encounter a very low-level code. By low-level I mean Assembler (AT&T syntax) for x86 processors family. A bit shame for computer scientist: I have NO experience in assembly. Thus, I spent a lot of time looking for good tutorials. Sounds interesting?
Let me introduce you to Programming from the Ground Up Book by Jonathan Bartlett. What is so special about it?
This is an introductory book to programming and computer science using assembly language. It assumes the reader has never programmed before, and introduces the concepts of variables, functions, and flow control.
I've spent less than half an hour of reading it and already know much much more about processor's registers, interrupts, assembly language basics. The code examples are clear and explained very well. The language of the book is easy to understand and very interesting to read. I'd like to thank the author for this achievement. Great work!