Turing instruction set
Turing has been designed to be a reasonably complex CPU with instructions that reflect most of the operations that real CPUs can carry out:
- Simple arithmetic (but limited to add and subtract)
- Logical operations (and,or and bit shifts)
- Register loading to and from each other and memory
- Input and Output instructions
- Instructions that change the flow of the program (decisions)
- Stack operations (push and pop)
The processor is capable of a range of different addressing modes to allow this feature of CPUs to be explored.
Memory locations can contain data of three different types:
- program instructions/data
- numbers (assumed to be integers)
- character data
This narrow range of numeric represention still allows users to explore wider algorithms including floating point and other numeric representations by software emulation (ie writing algorithms).