ahhhh i get ya now... so its like the OS has a memory map sorda... and so does the program itself.... but the OS places the program somewhere on it's map...so the program's map is unaffected...just offsetted in memory... but the variable addresses remain parrallel within the program....
Code:
Program Orignal Starting Memory: OxFFFFFF
Program Variable: 0xFFFFFA
Program Starting Memory After OS Movement: 0xFFFFFF + 1(or whatever value to get to the memory specified on the OS map)
Program Variable After OS Movement: 0xFFFFFA + 1(or whatever value to get to the memory specified on the OS map)
So its like saying that the OS controls Global Addresses? And the program controls local addresses that are just offsets of the Global Addresses?