Opcode
El número al comienzo de una instrucción que indica cuál, de entre los cientos de operaciones del procesador, es la que se pide.
El código de operación identifica la instrucción; el resto de la palabra de instrucción especifica operandos, modos de direccionamiento y posibles prefijos. El espacio de codificación es un compromiso constante: los códigos cortos para las operaciones habituales ahorran memoria y caché, pero hacen la decodificación irregular. Tras cuarenta años de compatibilidad hacia atrás, x86 ha acumulado un mapa de opcodes de una complejidad asombrosa, con prefijos multibyte e interpretación dependiente del contexto.
Las consecuencias son tangibles. Un decodificador x86 necesita bastante más silicio y energía que su equivalente en RISC-V, y como las instrucciones tienen longitud variable, no se puede saber dónde empieza la siguiente sin decodificar la anterior. Eso hace difícil desensamblar x86, algo que a su vez aprovecha el código malicioso para esconder instrucciones dentro de otras.