Основная идея заключается в том, что для обеспечения переносимости программ и обеспечения возможности запуска различных программ в одной и той же системе без коллизий то, что вы видите, в основном равнозначно относительным адресам, которые ОС переводит в реальные адреса при запуске программы.
Причина, по которой вам вообще нужны адреса, - это инструкции, которые ссылаются на адреса других инструкций, таких как прыжки.