ИТАК, получившаяся система команд следующая:

0 - NOP: нет операции - "ничего не делает" загружает в регистр команд слово по адресу из PC, PC увеличивается на единицу
1 - LIT: загрузка литерала - ( --> dd) загружает в регистр TR слово по адресу из PC, PC увеличивается на единицу
2 - CALL: вызов подпрограммы по непосредственному адресу - PC+1 заталкивается в стек возвратов, в PC загружается слово по адресу из PC
3 - RET: возврат из подпрограммы - Выталкивается из стека возвратов последнее значение и вписывается в PC
4 - IF: условный переход ( --> ) ЕСЛИ регистр TR содержит нуль PC увеличивается на единичку (переходит на адрес следующий после адреса перехода) ИНАЧЕ в PC загружается слово по адресу из PC

5 - DUP* префикс команды типа dup - ( dd  --> dd2 dd1) - глубина используемого стека увеличивается
    набор команд с префиксом DUP*:
    DUP-0 -- DUP ( dd --> dd dd)
    DUP-1 -- OVER ( dd1 dd2 --> d1 dd2 dd1)
    DUP-3 -- TRUE ( dd --> dd FFFF)
    DUP-4 -- FALSE ( dd --> dd 0)
    DUP-5 -- 1 ( dd --> dd 1)
    DUP-5...15 -- зарезервированы (пока эквивалентны DUP-5)
6 - DROP* префикс команды типа dup - ( dd1 --> dd1 dd2 ) - глубина используемого стека уменьшается
    набор команд с префиксом DROP*:
    DROP-0 -- DROP ( dd2 dd1 --> dd2)
    DROP-2 -- ADD ( dd2 dd1 --> dd2+dd1)
    DROP-3 -- SUB ( dd2 dd1 --> dd2-dd1)
    DROP-4 -- MUL ( dd2 dd1 --> dd2*dd1)
    DROP-5 -- AND ( dd2 dd1 --> dd2 and dd1)
    DROP-6 -- OR ( dd2 dd1 --> dd2 or dd1)
    DROP-7 -- XOR ( dd2 dd1 --> dd2 xor dd1)
    DROP-8..15 -- зарезервированы (пока эквивалентны DROP-0)
7 - SWAP* префикс команды типа swap - ( dd1 dd2 --> dd1 dd2 ) - глубина используемого стека не меняется
    набор команд с префиксом SWAP*:
    SWAP-0 -- SWAP (dd2 dd1 --> dd1 dd2)
    SWAP-1 -- INC (dd2 dd1 --> dd2 dd1+1)
    SWAP-2 -- DEC (dd2 dd1 --> dd2 dd1-1)
    SWAP-3 -- NEG (dd2 dd1 --> dd2 - dd1)
    SWAP-4..15 -- зарезервированы (пока эквивалентны SWAP-0)
    
8 - @ разыменование (dd --> mem) - (слово из памяти по адресу из TR записывается в TR) сначала PC запоминается в стеке возвртов, а в PC записывается адрес из TR, 
    принудительно устанавливается следующий исполняемый код команды - 9 для продолжения исполнения команды @
9 - ret-@ продолжение рзыменования - происходит считывание слова из адреса в PC и запись его в TR, a в PC возвращается значение из стека возвратов
    чистое использование этого кода как команды - сомнительно, поэтому в будущем код будет маскирован и, возможно в чистом виде будет исполнять что-то полезное
10 - ! присводение (dd aa --> ) - (слово dd записывается в память по адресу аа) сначала сначала PC запоминается в стеке возвртов, а в PC записывается адрес из TR,
    принудительно устанавливается следующий исполняемый код команды - 11 для продолжения исполнения команды !
11 - ret-! продолжение присвоения - происходит запись слова из TR в память по адресу из PC, a в PC возвращается значение из стека возвратов
    чистое использование этого кода как команды - сомнительно, поэтому в будущем код будет маскирован и, возможно в чистом виде будет исполнять что-то полезное
12 - >R на-Эр - (dd -->) слово из TR заталкивается на стек возвратов, в TR записывается слово вытолкнутое из стека данных
13 - R> с-Эр - (--> dd) слово из TR заталкивается на стек данных, в TR записывается слово вытолкнутое из стека возвратов
15 - NOP* резервный код
16 - NOP* резервный код
