Мне кажется вы что-то путаете. Асинхронный D триггер не имеет прозрачности по той простой причине что он собран из двух Т триггеров и инвертора. По переднему фронту данные пишутся в первый триггер, по заднему переписываются во второй.
Команда ввода-вывода то двухбайтная. Смотрите. На начало M1 на ШД выставлен КОП, он дешифруется, результат по переднему фронту записывается в триггер (то что на выходе в данном случае еще не важно). По заднему фронту результат появляется на выходе, порт блокируется, и на момент когда процессор начинает выборку аргумента порт уже оказывается заблокирован.
Поэтому в данном случае совершенно перпендикулярно когда появится сигнал блокировки на выходе триггера, по переднему или заднему фронту M1, важно чтобы он был там раньше IORQ. А до выставления IORQ в любом случае задний фронт M1 пройдет. Важно только чтобы данные c ШД защелкивались именно по переднему фронту, ну так это во всех виденных мной триггерах так.
Так что именно эта схема именно для блокировки порта будет работать как заявлено.





Ответить с цитированием