3 ms·
It might have been done for product differentiation, or to ensure the designers weren't constrained by needing to be compatible with features that would be burd
by msla 7y ago
It might have been done for product differentiation, or to ensure the designers weren't constrained by needing to be compatible with features that would be burdensome to replicate on future chips. Trivially, if every possible eight-bit value mapped to an opcode (or the first byte of an opcode) the designers were obligated to keep working with that value, because programmers and compiler writers had discovered them all, they would have no space in the opcode table to add new functionality, unless they happened to get lucky and find a byte sequence which was nonsense in the existing chip they could use as a prefix for new encodings. Intel likes prefixes for new x86 opcode encodings, but it does require having a sequence of bytes which can never validly occur in any machine code program for the current generation of chip.