Можно пойти по пути микроконтроллеров - команда фиксированной длины (например 5 тритов), включающая в себя все необходимые параметры (2 трита код инструкции и 3 трита параметр)
NN (-4) - расширение на будущее (сложение/вычитание с переносом/заёмом, пропуск следующей команды в зависимости от знака результата и флага переноса и т.д.)
NO (-3) - передать управление на ttt (в будущем можно переключать сегменты через регистр R13)
NP (-2) - разнообразные skip-ы (см.ниже)
ON (-1) - выполнить универсальную унарную троичную операцию ttt над R1 (результат записать в тот же R1)
OO (0) - копирование регистров (см. далее)
OP (+1) - записать триаду в регистр R1
PN (+2) - записать триаду в регистр R2
PO (+3) - записать триаду в регистр R3
PP (+4) - записать триаду в регистр R4
Копирование регистров (можно начать с 4 регистров):
OONNN - скопировать R1 в R13
OONNO - скопировать R1 в R12
OONNP - скопировать R1 в R11
OONON - скопировать R1 в R10
OONOO - скопировать R1 в R9
OONOP - скопировать R1 в R8
OONPN - скопировать R1 в R7
OONPO - скопировать R1 в R6
OONPP - скопировать R1 в R5
OOONN - скопировать R1 в R4
OOONO - скопировать R1 в R3
OOONP - скопировать R1 в R2
OOOON - декремент R1 и установка флага заёма
OOOOO - нет операции
OOOOP - инкремент R1 и установка флага переноса
OOOPN - скопировать R2 в R1
OOOPO - скопировать R3 в R1
OOOPP - скопировать R4 в R1OOPNN - скопировать R5 в R1
OOPNO - скопировать R6 в R1
OOPNP - скопировать R7 в R1
OOPON - скопировать R8 в R1
OOPOO - скопировать R9 в R1
OOPOP - скопировать R10 в R1
OOPPN - скопировать R11 в R1
OOPPO - скопировать R12 в R1
OOPPP - скопировать R13 в R1
P.S. 2-тритным инструкциям можно дать двухбуквенные названия, для упрощения программирования на гипотетическом ассемблере:
EX - расширение на будущее (NN)
JP - передать управление (NO)
SK - выполнить skip по разнообразным условиям (NP)
OP - выполнить унарную троичную операцию (ON)
RR - копирование регистров (OO)
R1 - записать триаду в R1 (OP)
R2 - записать триаду в R2 (PN)
R3 - записать триаду в R3 (PO)
R4 - записать триаду в R4 (PP)
параметр можно задавать десятичным числом, т.е.
R1 -1 будет означать сохранить -1 в регистр R1, а
RR -4 будет означать записать R1 в R4 (для подобных неочевидных команд можно нагородить макросов)
P.P.S. обозвать подобный "микроконтроллер" можно скажем
TRIADOR ( изменник или предатель на испанском и португальском языках : )
TRIADOR-0 : 4 регистра без EX-инструкций и с 3-тритной шиной адреса
TRIADOR-1 : 13 регистров без EX-инструкций и с 6-тритной шиной адреса (R13 используется при передаче управления)
TRIADOR-2 : 13 регистров с 6-тритной шиной адреса и некоторым набором EX-инструкций (программируемых переключателями)
TRIADOR-3 : 13 регистров с 6-тритной шиной адреса и полным набором EX-инструкций (программируемых программно) и дополнительной памятью данных с 6-тритным адресом...
P.P.P.S. 18 ноября 2017 переименовал LD в RR, убрал упоминание флага знака (он ненужен), а также добавил в заголовок топика название этой архитектуры - надеюсь топикстартер не против
P.P.P.P.S. 24 ноября 2017 нарисовал картинку для наглядности:
Также опкод NPxxx стал skip-ами - SK (порядок команд изменён для отрицательной части в мае 2020):
Вроде схемотехника вышеизложенного не должна быть сильно сложной и позволит сразу же задействовать условное ветвление например для циклов (decrement R1, skip if zero, jump)
Суть в том, что следующая инструкция подменяется на NOP (OOOOO) если условие выполняется
P.P.P.P.P.S. 17 декабря 2017 приаттачил текстовый файл на английском языке описывающий TRIADOR от haqreu (и в мае 2020 переаттачил с мелкими исправлениями)