Is there a difference? In my VS2010, if I run the debugger I have an option to view disassembly, and I've used it many times just to kind of see what's going on. But, I thought disassembling was more of a backwards approach, and assembly was just that, assembly language. Is there any difference or is this just some crazy Microsoft thing?
Ah that makes sense. Now, I've heard that if you compared the two sets of assembly languages it makes, that they could be different. Is there anyway with VS2010 to view the assembly that it makes before the machine language?
Also of note is that a disassembler doesn't know anything more about your program than is in the executable, which is nothing humans find very useful.
When you write a program, you name things and organize them to be useful to your understanding.
Once compiled, all that meta data is gone, and all that is left is nameless stuff. Reading disassembled output is not much better than just reading the byte-codes for the executable. JSYK.
Yeah, I've tried the Boomerang decompiler, which disassembles executables and then tries to produce C code from the assembly. The results are... well... even very simple programs can't be recompiled. Clearly further research into decompilation is needed :P