> This sort of thing isn't all that uncommon. The old 6800
> had what we used to call the HCF opcode, "Halt and Catch
> Fire". When a program got lost in hyperspace it
> would inevitably hit either a Halt or this undocumented
> feature, at which point the address lines became a
> binary counter and the machine required a power reset
> to get it back.
>
> I wouldn't be surprised at all to find accidental or
> QA opdcodes hidden away in other processors.
>
Except that in this case the instruction does not behave according to
Intel's own Pentium documentation (241430_4.pdf, page 25-71, there may be
a more recent version):
"The destination operand must be a memory operand, not a register. If the
CMPXCHG8B instruction is executed with a modr/m byte representing a
register as the destination operand, #UD occurs."
A lock prefix should not change this behaviour, and much less enable to
lockup the processor from user mode. It seems AMD has read Intel's doc
better than Intel ;)
Gabriel.