Shaos wrote: P.P.S. А вот интересно насколько оказалась бы полезной в триадоре команада Permutation, которая перемешивала бы триты в R1 любом порядке? Имея три трита в результате нам надо задать источник каждого трита, которые могут быть младшим тритом, средним тритом или старшим тритом регистра R1 - одного трита достаточно, чтобы это указать - получается одной триадой мы можем задать такой Permutation для целевой триады - тогда имеет смысл программировать это на лету допустим содержимым регистра R2 и команду такую назвать PRM, поставив её скажем на место EX -5. Такая команда легко покроет все возможные вращения в кольце, не задевающие флаг C (например записав в R2 триаду OPN мы сообщаем PRM, что хотели бы сдвинуть R1 на 1 трит влево по кольцу).
P.P.P.S. Если добавить источников - в дополнение к 3 тритам R1 добавим один трит флаг C плюс три константы N,O,P, то получаем 7 вариантов, программируемых двумя тритами (и ещё запас на 2 трита-источника остаётся - скажем на будущие теневые флаги?) на каждый трит результата - если выходной флаг C также будет результатом (для реализации вращений через флаг C), то нам надо 4*2=8 тритов, чтобы такую сложную пермутацию запрограммировать. Для круглоты ещё один трит можно задействовать скажем для указания того, что мы используем один из двух теневых флагов вместо основного флага C - вот это ваще будет гибкость неописуемая... |