На ПК всегда присутствует некоторая логика декодирования адресов, потому что в физическом адресном пространстве есть несколько «дыр / окон», через которые вместо ПЗУ доступны ПЗУ BIOS и устройства ввода-вывода (например, видеокарта).Это сделано по соображениям совместимости, поэтому старые программы могут по-прежнему выполняться на более новых компьютерах.
Что касается начального адреса, с которого ЦП начинает выполнение после сброса, если вы посмотрите документацию, вы увидите, чтоПроцессоры Pentium класса начинаются с этого:
EIP = 0xFFF0
CS.Selector = 0xF000
CS.Base = 0xFFFF0000
Если вы следуете обычной схеме адресации реального режима, физический адресдолжен быть CS.Selector * 16 + IP или, с подставленными значениями, 0xFFFF0.Однако ЦП фактически рассчитывает адрес с использованием CS.Base + (E) IP (в реальном и 16/32-битном защищенном режиме, но не в виртуальном 8086 или 64-битном защищенном режиме), следовательно, первый адрес, который запрашивает ЦПиз памяти будет 0xFFFFFFF0.Ваша неспособность использовать дальний переход к коду в ПЗУ по этому высокому адресу может быть связана с тем, что загрузка в CS приведет к сбросу CS.Base до 16 * нового значения CS.Selector.Итак, переход к, скажем, 0xF000: 0xFFF0 передаст управление в 0xFFFF0 вместо 0xFFFFFFF0, и если ПЗУ также не отображается в этом низком месте в памяти, а код в нем не подходит для работы с CS (.Selector) = 0xF000,он не будет работать.
Кроме того, ни ЦП, ни схемы вокруг него не должны поддерживать все 32 (или более) адресных линий, если ПК ограничен максимум 16 МБ (как это было на i80286 иi80386SX) или 4 ГБ (как это было на i80386DX / оригинальном i80386 и i80486) или 2 40-52 байтов (на 64-битных процессорах класса Pentium) и, если это так, если число старшихбиты в физическом адресном пространстве игнорируются, можно сказать, что выполнение эффективно начинается с адреса ниже теоретического максимума - 16, например, 0x00FFFFF0 (i80286 / i80386SX).
Если вам нужно решить проблемы с вашей платойсм. его документацию и схемы, чтобы узнать, как ПЗУ отображается в физическое адресное пространство на нем.