а это - что означает ?
OIR 7,R15
а это - что означает ?
OIR 7,R15
Документация на 1811 - https://github.com/1801BM1/cpu11/tree/master/f11/doc. Там есть описание системы команд DC302(К1811ВМ1).
OIR - это установка регистра инструкций в DC302, регистра ПЛМ в DC303 и одновременно передача управляющего слова. Вот семь в управляющем слове - это установка регистра расширения адреса.
Последний раз редактировалось Alex_K; 25.10.2025 в 21:07.
Дизассемблированный вариант в микрокоде, связанный с начальным стартом, обработкой прерываний и запуском команды. Так же выкладывается подкорректированный от ошибок вариант MicroODT и ПЛМ ВУ1 в удобном для просмотра виде.
Выложу обработку основных команд в F-11. Комментариев не делал, работа чисто ручная, поэтому могут быть ошибки. В ПЗУ с номером 0 обрабатываются все команды, кроме FPP, CIS, FIS. То есть все базовые команды плюс EIS.
Для анализа кода обязательно надо знать систему команд DC302(1811ВМ1), её можно найти у Vslav на github - https://github.com/1801BM1/cpu11/tree/master/f11/doc.
Из моментов, что были мною замечены:
1. Обработка команд RTI и RTT выполняется одним микрокодом, нету никаких различий. Прерывание по T-биту происходит после этих команд всегда. И уже при обработке прерывания смотрится, какая команда исполнялась до этого. Если это RTT, то маскируется прерывание по T-биту на один шаг.
2. На завершающем этапе команды MARK фактически делается операция RTS R5, чем разработчики и воспользовались. Они загружают в регистр инструкций код команды RTS R5 (000205) и переходят на адрес в ПЛМ 0F, где происходит декодирование команды.
3. Чтобы ускорить реализацию команды MUL разработчики частично развернули основной цикл. В счётчик цикла загружается пять, а в теле цикла три раза повторяется последовательность из команд сдвига и прибавления.
4. Очень интересно начинается выполнение команд MFPI, EIS (MUL, DIV, ASH, ASHC), MTPS, MFPD. Там команда JMP 0,15. Потом идёт загрузка регистра инструкций и переход на исполнение команды. Сама команда JMP 0,15 осуществляет переход на адрес 15 в ПЗУ номер ноль, на то же где и исполняется. Возможно, когда делали микрокод, реализация этих команд была в другом ПЗУ, но разработчики смогли сделать всё в одном.
5. Есть поддержка FIS (075xxx). Осуществляется переход на ПЗУ с номером 3. С этим же номером ПЗУ связано и прерывание с битом 6 в слове состояния процессора.
6. CIS поддерживается для диапазона 076000-076677. Для него осуществляется переход на ПЗУ с номером четыре. Для диапазона 076700-076777 переход идёт на ПЗУ с номером 31.
7. Ну и для FPP переход идёт на ПЗУ с номером 1.
Нет ли у кого-нибудь схем от СМ-2103 (процессор СМ3) ?
Только частично :-(
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)