¿Cuál es el número máximo de bytes que requeriría una instrucción completa en código asm x64?
Supongo que algo así como un salto a la dirección podría ocupar hasta 9 bytes: FF 00 00 00 00 11 12 3F 1F pero no sé si esa es la cantidad máxima de bytes que puede usar una instrucción x64
La instrucción más larga posible en x86 es de 15 bytes
– Error interno de servidor 500
5 de febrero de 2013 a las 0:50
Tenga en cuenta que, si bien es posible construir una sola instrucción que debe tener más de 15 bytes (mediante el uso de un montón de prefijos), la interfaz del decodificador de instrucciones x86 se atragantará. 15 bytes es un límite estricto.
– usuario149341
5 de febrero de 2013 a las 0:57
@duskwuff: el manual de Intel dice “Hasta cuatro prefijos de 1 byte cada uno”. Entonces, según la especificación, supongo que el decodificador debería rechazar instrucciones con más de cuatro prefijos, incluso si la instrucción tiene menos de 15 bytes en total. Aunque no lo probé.
– Yakov Galka
4 de junio de 2018 a las 3:01