Тишина, однако. Взорвем немножко? 
В телеграмме, в группе БК-0010 уже сутки как появилась информация про баг в ВМ1. Первооткрыватели Станислав и Дамир дали добро на публикацию здесь, присоединятся к дискуссии позже.
Выяснилось такое
Код:
sec
movb R0, R0
bcc 1$
Переход по bcc всегда выполняется.
А вот тут:
Код:
sec
movb R0, R0
nop
bcc 1$
Все работает правильно.
И еще такое:
Переход bcc срабатывает, но флаг С в регистре R0 сохраняется единичным.
Баг воспроизводится на реальных 1801ВМ1А и 1801ВМ1Г, а также на всех моделях, и похоже, не зависит от скорости выборки памяти.
Модели показывают что регистр PSW содержит корректные флаги, но инструкции ветвления используют внутренний регистр FSEL микропрограммного автомата. А этот регистр в инструкциях movb, mfps и swab не обновляется если приемник имеет нулевой режим адресации (регистр) и отображает последнюю операцию ALU - AND с маской старшего байта. Для битов NZV это нормально, они переписываются в PSW вполне законно, а вот с флагом С не все просто - он всегда нулевой. Для swab это OK, а для movb и mfps имеем ошибку.