Историческая справка
Размещение первой инструкции в конце адресного пространства имеет историческое обоснование. При разработке процессора Intel® 8086 в начале адресного пространства находился вектор прерываний, за которым следовала оперативная память, объем которой мог быть любым. Чтобы не возникло пересечений с оперативной памятью, адрес первой команды был взят в конце адресного пространства.
С появлением Intel® 80286 вектор прерываний можно было передвинуть в любое место. Тем не менее, даже современные процессоры запускаются в режиме совместимости с 8086 и вектором прерываний по адресу 0x0.