A register machine program for computing the square root of two with four correct decimal places. Most of the code consists of reads and writes to registers. The arithmetical functions are assumed to be present, but are easily implemented with just reads, writes and conditional jumps. A register machine consists of set of instructions executed serially that operate on registers that contain the data. The machine has a set of basic operations that theoretically can be very few, consisting only of conditional jump, comparison and assignment.
All modern computers have a linear memory containing the instructions as well as the data.
We tend to take this for granted when dealing with computers, but this idea, pioneered by Alan Turing and developed by John von Neumann is absolutely essential to practical machines. In the pure register machine, though, as with the Turing machine, the instructions are simply taken for granted. The storage method is not specified. Programming it is quite intuitive, since this is the way we normally formulate algorithms. Computer scientists tend to take the register machine for granted as the only reasonable computing system, but in fact it has many shortcomings, the main one being the serialization of instructions.