Не совсем. Если был перенос, то он останется. А просто в результате сложения A + R переноса может и не быть:
0x90+0x90=0x20 C=1
0x20+0x60=0x80 C=0
Вид для печати
Да, верное замечание, флаги 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
Я тоже согласен, что большинству железячников ближе к пониманию именно логическая схема (в виде законченных блоков типа триггеров, счетчиков и т.д.), а не транзисторная или на непонятном иноземном языке верилоге. Я за то, чтобы приводить реверсенные чипы в логическую схему.
Иногда проще использовать повторяемый косвенный эффект зависящий от железной реализации, чем городить сфероконичную логическую схему.
В качестве примера - с точки зрения сфероконной логической схемы динамическая и флэш память в принципе неработоспособные вещи (хотя на кристалле как таковых отдельных конденсаторов чуть меньше чем совсем нет). А по крайней мере в Z80 существует емкостная "подтяжка" шин.
Не, на сфероконичную логику это переложить конечно можно (применительно к процессору), мультиплексоров натыкать например. Только вот это только усложняет дело.
Поэтому думать полезно шырше.