ZOWIE

ZOWIE is an assembly-like esoteric programming language designed by Chris Pressey between summer and winter of 2009.

The primary design goal of ZOWIE was for control flow to be both structured (i.e. not using explicit jumps or labels) and memory-mapped (triggered by reads and writes of registers.) This design goal was inspired by Jeffry Johnston's attempt to reduce the number of instructions in BitChanger by memory-mapping the loop operation.

The main challenge in meeting this design goal was that memory-mapping a loop structure like  requires some way to jump to the end of the loop -- but if the end of the loop is defined by when some memory location is changed, rather than when some point of the program text is reached, it is not possible to always detect it statically (by Rice's Theorem.)

It took several attempts to find something that worked (and it is not clear that this approach could be carried over to BitChanger.) Once it was clear that this was possible, it was decided to memory-map all operations in ZOWIE, so there is only one instruction, , with a handful of forms.

Syntax
ZOWIE's syntax is similar to that of SMITH. There are five instruction forms:

MOV register, immediate      e.g.  MOV R8, 141 MOV register, register             MOV R8, R9 MOV [register], register            MOV R[R8], R9 MOV register, [register]            MOV R8, R[R9] MOV [register], [register]         MOV R[R8], R[R9]

Unlike SMITH, the closing square bracket is purely for decoration --  is equivalent to , while   is equivalent to.

Computational class
ZOWIE is believed to be Turing-complete.