Я понимаю, что итоговая симуляционная модель может иметь значительные упрощения и оптимизации, но мы сейчас говорим за конкретную транзисторную схему. И я вижу, что биты опкода ANDятся с битами шины, между прочим разряды которой соответствуют флагам. Дойду до АЛУ там и пойму что и как.
PS Для тех кто не понял всю красоту формирования JMPTAKE: OR результат бита с его позицией (позиция - комбинация битов 4 и 5 в опкоде) ANDится с битом 3 опкода. Причем, OR результат с прямым битом 3, а NOR результат с инверсным битом 3. На выходе по OR получаем результат. Таким образом, мы в одной маленькой схемке обрабатываем одновременно сброс флага в CNx/JNx и установку флага в Cx/Jx. Очень красиво, я считаю.
- - - Добавлено - - -
Последний кусочек листа №3: триггер-перекидушка, который перекинется только если в такте T2 будет замечена команда ID_XCHG. При этом это возможно только если F2 будет =1 (F2MX это инверсия F2):
Я сначала стормозил: почему он всегда перекидывается и не предустанавливается. Но потом понял, что он на выходе просто переключает роутинг управления регистрами DE и HL, и в сущности не важно кто из них кто. Таким образом работает однотактовый своп HL и DE. Уверен, что подобный трюк использован и в Z80 с регистровыми банками (команды EXX и EX AF,AF'). Так что третий лист закончен и прогресс следующий:
Что делать следующим: АЛУ или регистровый файл с 16ти битным INC/DEC?







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