On 29 Jan 2007, at 11:14, Nicholas Clark wrote:
You're forgetting the 2**24 variants of the NOOP instruction.

Beautiful symmetry :)

Although whether this is software is doubtful, and therefore the on- topicness
here is doubtful too.

Oh, and I'm told that the fact that accessing the process mode bits *isn't* a protected instruction is mildly hateful, as without this, you can't lie to code about which CPU mode you're in. (If you can lie about the mode, and all instructions for the privileged mode are themselves protected, then you can run privilege code sandboxed in an unprivileged mode, and decide just what it really gets to do, without it having the faintest idea of what's
going on.)

I didn't say it was flawless - just a really beautiful instruction set :)

There were certainly bugs - like the fact that you couldn't reliably restart a faulted LDM (load multiple) instruction that included the base register in the list of registers to be loaded because you couldn't tell whether that register had been overwritten at the time of the fault. Made implementing virtual memory a bit of a pisser if I remember correctly.

--
Andy Armstrong, hexten.net

Reply via email to