The javascript version of the CPU seems to be turning into something really cool.
Here a person made a real-time IDE: http://dwilliamson.github.com/
Here a person made a real-time IDE: http://dwilliamson.github.com/
Thus an HLT instruction is virtually equivalent to an instruction setting the PC back to PC itself, which, unless an outside force sets PC or [PC] to something else (think shared memory between multiple CPUs), is an unbreakable infinite loop.
SET PC, [--SP]
SET PC, [location with I/O]
Good call, detecting (PC, SP) fixed point then, although using the stack to jump onto itself is wicked. I don't want to go and solve the halting problem either.
> SET PC, [location with I/O]
Qualifies as outside force. I'm not sure I want to write/run a program that JMP to an @ provided by I/O, this reads like an SQL injection.