Я бы сказал, что вы можете разделить компьютеры на две категории:
1) Небольшие системы, такие как современные встроенные системы (хотя многие настольные компьютеры раньше выглядели так, когда-то). Существует только один большой диапазон памяти, и когда компоновщик говорит, что он находится по определенному адресу, он действительно сохраняется там.
2) Большие системы с системами управления памятью. В этих системах каждый процесс представлен с представлением, которое выглядит как полный диапазон памяти, но адрес, который он использует, может не соответствовать физическим адресам реальной памяти. Кроме того, части памяти могут быть перенесены на диск и позже перечитаны по другому физическому адресу. Это одна из причин, почему часто говорят о местоположении , а не адресе объектов.
Я бы порекомендовал вам начать с простого компилятора для простого компилятора и посмотреть, что он выводит. Например, вы можете использовать встроенный процессор MSP430 и, скажем, бесплатную версию Kickstart компилятора IAR. В руководстве описано, как организована память и как выполняется процесс запуска и т. Д.