Да, верное замечание, флаги P, AC, Z, S ставятся как при обычном сложении A+R. Флаг C сохраняет свое значение, но устанавливается если добавлялся 0x60. Скорректированный алгоритм:
R = 0;
if (((A & 0x0F) > 9) || AC) R |= 0x06;
if (((A & 0xF0) > 0x90) || C) {R |= 0x60; C=1;}
A = A + R;
установить флаги S, Z, AC, P согласно результата сложения.
А теперь то же самое, но на схеме. :3
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Иногда проще использовать повторяемый косвенный эффект зависящий от железной реализации, чем городить сфероконичную логическую схему.
В качестве примера - с точки зрения сфероконной логической схемы динамическая и флэш память в принципе неработоспособные вещи (хотя на кристалле как таковых отдельных конденсаторов чуть меньше чем совсем нет). А по крайней мере в Z80 существует емкостная "подтяжка" шин.
Не, на сфероконичную логику это переложить конечно можно (применительно к процессору), мультиплексоров натыкать например. Только вот это только усложняет дело.
Поэтому думать полезно шырше.
Последний раз редактировалось ram_scan; 20.12.2014 в 15:51.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)