There are times when understanding disassemblies from higher languages such as C or C++ are useful. Reading a book on assembly is obviously a necessary part of understanding compiler output, but in my experience writing assembly code from scratch is quite a different thing than reading and understanding the opcodes a compiler produces. The books i know on assembly don't cover that part very well, altough I believe if you ever get in touch with assembly then mostly by trying to understand compiler output.
Do you know good in-depth tutorials (or maybe books) on how to interpret compiler output?
What I have in mind would be a presentation of common high language idioms and how they are translated to assembly by common compilers (msvc and gcc).
Many similar questions here on SO:
Most posters aim to the same thing as you, that is read assembly code and not write new one.
Everything[*] I know about reading x86 assembly, I learned by single-stepping in a debugger in disassembly view. It's useful to have an opcode reference open at the same time, but to be honest you can live without most of the time, because as long as the compiler isn't optimizing too much, you know what it's actually doing from the C source, contents of variables, etc.
[*] Well, most things.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With