Symbolic References To Memory

Normally when you refer to the contents of memory you do so using a symbolic reference called a variable name.

e.g.

X = 5
Here the variable X is assigned the value 5.

What this actually means is that the value 5 is stored in a memory location labelled X

The processor does not know about named memory, it can only deals with numbers. It is the job of the compiler to associated a unique number with each variable name. This number is the address of the memory where the value of the variable is located while a program is running.

e.g.

the programmer sees variables and values
X 17
Y 93
FRED 3
BERT 40

the processor sees addresses and values

100 17
101 93
102 3
103 40

The processor does not store the addresses as shown above, it calculates them each time it needs to find something. The processor actually stores the above information as

17
93
3
40

when the processor needs to access the value of FRED it calculates the address 102 and sees the value 3