Смотрю на код загрузки из SMP, ПЗУ BASIC 2.0 - дизасм, полученный Петром.
Процесс загрузки вполне стандартный:
1. Сначала с СМП загружается бут-сектор, размером 0x200 = 512 байт, начиная с адреса ОЗУ 000000.
2. Проверяется, что первое слово равно 0xA0 = 000240 - инструкция NOP
3. Загрузчик запускается с адреса 000000
При форматировании СМП, туда записывается стандартный загрузчик, показывающий фразу "БЕЗ ЗАГРУЗЧИКА", при этом пропуска слов в начале там нет.
Предполагаю, что в приведённом выше коде загрузчика, пропущенные в начале слова оставлены для векторов прерываний.
- - - Updated - - -
Мои предположения, что прерывания в начале памяти такие же как на Немиге (процессор тоже на 588 комплекте), плюс из того что написано у Петра в дизасме ПЗУ:
000004 — нечётный адрес при обращении по слову; ошибка обращения к каналу; HALT в режиме USER; неверная адресация JMP/JSR
000010 — резерный код команды
000014 — прерывание по T-разряду или команда BPT
000020 — команда IOT
000030 — команда EMT
000034 — команда TRAP
000100 — прерывание EVNT
000310 — прерывание от клавиатуры
Вектора прерываний в ПЗУ:
160002 — сигнал/команда HALT в режиме HALT
160006 — двойное зависание
160012 — ошибка при приёме вектора прерывания





Ответить с цитированием
