In case you don't know the details of assembly, understand that, no real memory addresses are assigned to data when code is compiled. It's merely an offset in memory from the beginning of your program's scope. The program itself can open anywhere in memory. The static variables will always be so far away from the beginning of that memory block.