vak: (Default)
[personal profile] vak
МЭСМ-6 уже проходит несколько тестов: работают команды uj, vtm, utm, mtj, vzm, v1m, j+m, vjm, vlm, utc, wtc.

Я добавил в фазу decode автоматическое приращение счётчика команд (PC), теперь некоторые команды выполняются за один такт (vtm, utm, mtj. j+m).

Описание микроархитектуры по мере разработки постепенно образуется на странице: https://github.com/besm6/mesm6/wiki/Microarchitecture

Date: 2019-03-12 18:52 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Команды UTC и WTC устанавливают значение регистра C, после остальных команд он сбрасывается в 0.

Не так просто. Регистр C может быть установлен командами UTC, WTC в любом режиме - при этом c_active присваивается 1, и командой ATI 16 в режиме супервизора; и сбрасывается в 0 всеми командами, отличными от UTC, WTC, при начале выполнения которых c_active был равен 1.

Date: 2019-03-12 20:30 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Я к тому, что если c_active установлен не был, то и C сбрасываться в 0 не должен.

Date: 2019-03-14 04:07 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Всё же UTC 0(0) - это абсолютный НОП, а другие две - условный НОП: только если C == 0.