Alpha >> InstructionSet
Instruction Set

Instruction set of 3niti alpha has 3 groups of commands:

Full instruction set:

TernaryDecimalMnemonicDescription
NNN-13SANSave value from register A to register N (memory cell with address DPn)
NNO-12SAOSave value from register A to register O (memory cell with address DPo)
NNP-11SAPSave value from register A to register P (memory cell with address DPp)
NON-10SAFSave value from register A to register F
NOO-9SPCDSave value from PC (program counter) to current DP (data pointer)
NOP-8SABSave value from register A to register B
NPN-7SALSave value from register A to register L (lower triad of current data pointer)
NPO-6SAMSave value from register A to register M (middle triad of current data pointer)
NPP-5SAHSave value from register A to register H (higher triad of current data pointer)
ONN-4RLARotate register A to the left through flag BCF
ONO-3ADDAdd register A with B and flag BCF, save result to A and BCF, modify sign flag RSF
ONP-2RRARotate register A to the right through flag BCF
OON-1LAI #Load register A from immediate triad
OOO0ADI #Add register A with immediate triad and flag BCF, save result to A and BCF, modify sign flag RSF
OOP1OPA #Perform unary "tritwise" operation over register A (function is defined by immediate triad), modify sign flag RSF
OPN2LDI ###Load current DP (data pointer) by immediate 3 triads (higher triad, middle triad, lower triad)
OPO3JMP ###Jump to address (copy to PC) set by immediate 3 triads (higher triad, middle triad, lower triad)
OPP4OPB ###Perform binary "tritwise" operation over registers A and B, save result to A (function is defined by immediate 3 triads), modify sign flag RSF
PNN5LANLoad register A by value from register N (memory cell with address DPn)
PNO6LAOLoad register A by value from register O (memory cell with address DPo)
PNP7LAPLoad register A by value from register P (memory cell with address DPp)
PON8LAFLoad register A by value from register F
POO9LPCDLoad PC (program counter) by value from current DP (data pointer)
POP10LABLoad register A by value from register B
PPN11LALLoad register A by value from register L (lower triad of current data pointer)
PPO12LAMLoad register A by value from register M (middle triad of current data pointer)
PPP13LAHLoad register A by value from register H (higher triad of current data pointer)

See Code Snippets for better understanding

Page last modified on October 09, 2015, at 12:38 AM

  © 2023 TERNARY RESEARCH CORPORATION All rights reserved. Users' works are copyrighted by their respective authors.