С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Смотрю на код загрузки из 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 — ошибка при приёме вектора прерывания
Последний раз редактировалось nzeemin; 15.01.2022 в 01:44.
Oleg N. Cher(15.01.2022), piotr433(15.01.2022)
Если это прерывания самого процессора (нечётный адрес, резервный код, BPT, IOT и т.п.) - их адреса фиксированные.
Если это прерывания от внешнего устройства - что выдаст устройство - то и вектор (вроде как должно быть меньше 1000, но.. не помню в доках по процессорам, что так ДОЛЖНО БЫТЬ). Чисто формально - может быть любой, хоть 177774.
Отдельный вопрос, когда запрос прерывания имеет отдельную линию (типа EVNT) - тогда тоже фиксированные
piotr433(15.01.2022)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)