Цитата Сообщение от krotan Посмотреть сообщение
Синхронные запоминают по переднему фронту и не имеют "прозрачности", примеры: ТМ2, ТМ8, ТМ9.
Асинхронные запоминают по заднему фронту, между передним и задним фронтом есть период "прозрачности", примеры: ТМ5, ТМ7.
Мне кажется вы что-то путаете. Асинхронный D триггер не имеет прозрачности по той простой причине что он собран из двух Т триггеров и инвертора. По переднему фронту данные пишутся в первый триггер, по заднему переписываются во второй.

Цитата Сообщение от krotan Посмотреть сообщение
imho, чтобы заработал двухступенчатый схему изменять надо.
Учтите: полный вариант схемы (с D0...D2, D4...D7) отлавливает однобайтные команды.
Команда ввода-вывода то двухбайтная. Смотрите. На начало M1 на ШД выставлен КОП, он дешифруется, результат по переднему фронту записывается в триггер (то что на выходе в данном случае еще не важно). По заднему фронту результат появляется на выходе, порт блокируется, и на момент когда процессор начинает выборку аргумента порт уже оказывается заблокирован.

Поэтому в данном случае совершенно перпендикулярно когда появится сигнал блокировки на выходе триггера, по переднему или заднему фронту M1, важно чтобы он был там раньше IORQ. А до выставления IORQ в любом случае задний фронт M1 пройдет. Важно только чтобы данные c ШД защелкивались именно по переднему фронту, ну так это во всех виденных мной триггерах так.

Так что именно эта схема именно для блокировки порта будет работать как заявлено.