Загадка первой инструкции

Aug 30, 2020 11:27


Сижу разбираюсь со схемотехникой компьютера "Специалист". Знаете почему самой первой командой, которую исполняет этот компьютер, является команда перехода на следующую команду? Сегодня я, наконец, понял почему это так.
Дело в том, что ПЗУ содержащее начальный загрузчик, находится по адресу 0С000h. А после старта компьютера, он начинает исполнять команду по адресу 0, где даже нет еще загруженной программы. Чтобы он мог начать выполнение с команды в ПЗУ, сразу после старта, старшие два бита адреса внешне принудительно устанавливаются в 1. Процессор думает что он исполняет команду по адресу 0, а на самом деле он исполняет инструкцию по адресу 0С000h. Чтобы внутренний адрес (счетчик команд), что в процессоре, привести в соответствие с адресом выполняемой команды, для этого и делается команда перехода. С этого момента старшие биты уже можно не устанавливать принудительно.
Previous post Next post
Up