Mar 30 2009
URISC / OISC: One Instruction Computers
URISC is an abstract computer designed to have a minimal instruction set, just one machine code instruction. The practical uses of URISC are debatable.URISC is an abbreviation of Ultimate RISC, although technically the machine doesn’t meet the criteria for RISC. OISC is an acronym for One Instruction Set Computer, although One Instruction Computer would be a clearer description.
Types of URISC
There are four common types of URISC - MOV, RSSB, SUBLEQ and SUBNEG.
MOV - Transport Triggered Architecture
In a MOV URISC machine there is just one instruction with two operands. When the instruction executes, it copies one location in memory to another, using the operands as pointers. Jumps, arithmetic and input / output are achieve with a memory mapped program counter, arithmetic unit and input / output ports.More information about MOV TTA:
RSSB - Reverse Subtract and Skip if Borrow
The instruction in a RSSB URISC machine is Reverse Subtract and Skip if Borrow. Each instruction has one operand which is a pointer into memory. When the instruction executes, it subtracts the accumulator from a memory location and stores the result in both. If the value in memory was lower than the accumulator, the next instruction will be skipped. The program counter, accumulator and input / output are mapped to memory.More information about RSSB:
- The Ultimate RISC, One Instruction Computers
- Hello World for the RSSB Virtual Computer
- Redcode Interpreter for the RSSB Virtual Computer
SUBNEG - Subtract and Branch if Negative
Also abbreviated to SBN, a SUBNEG computer uses an instruction with three operands. When executed, SUBNEG subtracts the contents of the first memory location from a second location, storing the result in the second. If the first value was higher than the second, SUBNEG jumps to where the third operand points. Input / output are memory mapped.More information about SUBNEG:
SUBLEQ - Subtract and Branch if Less than or Equal
SUBLEQ is similar to a SUBNEG computer, but also branches if the contents of the two memory locations is identical.More information about SUBLEQ:
- Hello‚ World! in SUBLEQ Assembly
- The SUBLEQ URISC / OISC Architecture
- SUBLEQ Interpreter in Redcode
- SUBLEQ Self Interpreter








I am just starting in programming - after seeing this post - long way to go - all new to me.