NOP

No hay operación

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
NP 90NOPZOValidoValidoUna instrucción de no-operación.
NP 0F 1F /0NOP r/m16MValidoValidoInstrucción multi-byte de no-operación.
NP 0F 1F /0NOP r/m32MValidoValidoInstrucción multi-byte de no-operación.

Codificacion de operandos

Cada modo es un valor de la columna Op/En de arriba. Dice en que campo de la instruccion codificada va cada operando, en el orden en que se escriben, y si la instruccion lo lee, lo escribe o ambas cosas.

M

  1. modrm.rm lecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pide

Coste medido

Cargando las mediciones de arch-data...

Descripción

Esta instrucción no funciona. Es un NOP de un byte o multi-byte que ocupa espacio en la secuencia de instrucciones pero no afecta el contexto de la máquina, excepto el registro EIP.

La forma multibyte de NOP está disponible en procesadores con codificación modelo:

La instrucción NOP multibyte no altera el contenido de un registro y no emitirá una operación de memoria. La operación de la instrucción es la misma en modos no-64-bit y modo 64-bit.

Operación

The one-byte NOP instruction is an alias mnemonic for the XCHG (E)AX, (E)AX instruction.

The multi-byte NOP instruction performs no operation on supported processors and generates undefined opcode
exception on processors that do not support the multi-byte NOP instruction.

The memory operand form of the instruction allows software to create a byte sequence of "no operation" as one
instruction. For situations where multiple-byte NOPs are needed, the recommended operations (32-bit mode and
64-bit mode) are:

                   Table 4-12. Recommended Multi-Byte Sequence of NOP Instruction

Length             Assembly                                                Byte Sequence
2 bytes            66 NOP                                                  66 90H
3 bytes            NOP DWORD ptr [EAX]                                     0F 1F 00H
4 bytes            NOP DWORD ptr [EAX + 00H]                               0F 1F 40 00H
5 bytes            NOP DWORD ptr [EAX + EAX*1 + 00H]                       0F 1F 44 00 00H
6 bytes            66 NOP DWORD ptr [EAX + EAX*1 + 00H]                    66 0F 1F 44 00 00H
7 bytes            NOP DWORD ptr [EAX + 00000000H]                         0F 1F 80 00 00 00 00H
8 bytes            NOP DWORD ptr [EAX + EAX*1 + 00000000H]                 0F 1F 84 00 00 00 00 00H
9 bytes            66 NOP DWORD ptr [EAX + EAX*1 + 00000000H]              66 0F 1F 84 00 00 00 00 00H

Banderas afectadas

None.

Excepciones

Modo real
#UDSi se utiliza el prefijo LOCK.
Modo protegido
#UDSi se utiliza el prefijo LOCK.
Modo virtual-8086
#UDSi se utiliza el prefijo LOCK.
Modo de compatibilidad
#UDSi se utiliza el prefijo LOCK.
Modo de 64 bits
#UDSi se utiliza el prefijo LOCK.

Fuentes