The BASIC command most commonly used to reset a Sinclair ZX Spectrum. On the Spectrum, the only way to call a machine code routine from BASIC was to use the function USR with a numeric address. However the BASIC was harsh and required that the USR's function return value to be stored somewhere. For example, issuing LET a = USR 0 would have the same effect.

On the Spectrum, the operating system (such as it is) lived in ROM at address zero and above, hence jumping to that address caused an effective software reset.

A shortcut to invoking machine code routines whereby you didn't need to do any variable assignment was to use it in conjunction with the RANDOMIZE command. The RANDOMIZE command reseeds the pseudorandom number generator with the given value. Effectively, it had no side effect in this context.

Log in or register to write something here or to contact authors.