The translation from symbolic program into binary is done in Two passes.
It is done by Assembler.
The Assembler scans the symbolic program twice.
In 1st pass Assembler generates an 'Address-Symbol Table' that connects all user-defined address symbols with their binary equivalent value.
& in 2nd pass Binary translation is done.