I am wondering why the assembly instructions also have an adresses (When I open Olly and debug any program I see them there next to the op codes) ? Or this is the address where the result of the instruction is stored ?
In fact, the assembly instructions does not have addresses built-in... But, when analyzing a program, you may encounter more than once the same instruction. In order to make it 'unique' in the program (and, thus, understand the role it plays in the program), you have to link it to the address it has in the program.
Somehow, it is very similar to line numbers associated to a program you write in a programming language. The
if (test) line 10 is not the same than the
if (test) of line 25.