SMITH is a self-modifying assembly-like language which completely lacks any kind of jump instructions whatsoever. Despite this handicap, it has been shown to be Turing-complete.
Sample Program
MOV R0, 10
MOV R2, 0
SUB R2, 1
MOV R[R0], "Hello, world!"
MOV TTY, R[R0]
SUB R0, R2
MOV R1, R0
SUB R1, 23
NOT R1
NOT R1
MUL R1, 8
COR +1, -7, R1
Computational Class
Programming Paradigms
Documentation
Implementations
-
smith.pl, an interpreter in Perl
To run this implementation, you need:
- an implementation of Perl (we suggest perl 5.8.8)
Download
Development
Github: catseye/SMITH
Bitbucket: catseye/smith
Issue tracker: on github