RSSB
RSSB is an esoteric programming language which implements a Turing Complete single instruction computer.
Overview
RSSB stands for Reverse Subtract and Skip if Borrow, taking the principles of RISC to the extreme. The specification defines one instruction, RSSB. Each instruction has one operand, a pointer into memory. There are two registers, IP the instruction pointer, and ACC the accumulator.
The reverse subtract and skip if borrow operation subtracts the accumulator from the contents of memory. The result is stored in both memory and the accumulator. If the result was below zero, the next instruction will be skipped. The instruction pointer is mapped to memory location 0 and the accumulator is mapped to location 1. The complete list of special memory locations is as follows:
Location | Description |
---|---|
0 | instruction pointer |
1 | accumulator |
2 | always contains 0 |
3 | character input |
4 | character output |
Example
Hello, World
This program prints out the words Hello, World!:
; RSSB Hello World, John Metcalf loop rssb acc ; acc = character from ptr ptr rssb hello rssb out ; display character rssb zero ; acc = -acc rssb zero ; always skipped rssb sum ; subtract acc from sum rssb ip ; skipped if sum is <0 ; otherwise jump to 0 rssb acc ; subtract 1 from ptr rssb one rssb ptr rssb acc ; jump to loop rssb loopoff rssb ip loopoff rssb $-loop sum rssb -1116 one rssb 1 rssb 33 ; '!' rssb 100 ; 'd' rssb 108 ; 'l' rssb 114 ; 'r' rssb 111 ; 'o' rssb 87 ; 'W' rssb 32 ; ' ' rssb 44 ; ',' rssb 111 ; 'o' rssb 108 ; 'l' rssb 108 ; 'l' rssb 101 ; 'e' hello rssb 72 ; 'H'