> 
> **Possible Duplicate:**  
> 
> [Disassembling, modifying and then reassembling a Linux executable](https://stackoverflow.com/questions/4309771/disassembling-modifying-and-then-reassembling-a-linux-executable) 
> 
> 
> 

I've been told that assembly and dissassembly are not inverses. Apparently, you can't dissassemble a program, put that output directly into an assembler, and expect it to run correctly because information is lost.

My question is, why is information lost? Also, what information is lost?