I don't consider myself a "real" assembly programmer. I can, however, try to debug compiled c code via gdb disassemble and not get totally lost.
I managed to pick up this ability after getting to know assembly programming, and the subsequent "higher level manifestations" in C/C++, from Paul Carter's open source ebook: http://www.drpaulcarter.com/pcasm/
When I first downloaded this book in 2002, I was fairly comfortable with the linux command line, gcc and emacs, but I knew nothing about assembly and computer architecture (registers/interrupts etc).
Whereas other books on assembly were somehow tied to DOS, this was a free book that wasn't tied to any OS and was easy to understand.
I managed to pick up this ability after getting to know assembly programming, and the subsequent "higher level manifestations" in C/C++, from Paul Carter's open source ebook: http://www.drpaulcarter.com/pcasm/
When I first downloaded this book in 2002, I was fairly comfortable with the linux command line, gcc and emacs, but I knew nothing about assembly and computer architecture (registers/interrupts etc).
Whereas other books on assembly were somehow tied to DOS, this was a free book that wasn't tied to any OS and was easy to understand.