INCSSPD, INCSSPQ
Incremento Shadow puntero de pila
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
F3 0F AE /5 | INCSSPD r32 | R | Valido | Valido | Incremento SSP por 4 * r32[7:0]. |
F3 REX.W 0F AE /5 | INCSSPQ r64 | R | Valido | No codificable | Incremento SSP por 8 * r64[7:0]. |
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.
R
modrm.rmlecturabyte 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 se puede utilizar para aumentar la sombra actual puntero de pila por el tamaño de operando de los tiempos de instrucción el valor de 8 bits no firmado especificado por los bits 7:0 en el operando de origen. La instrucción realiza un pop y descarte del primer y último elemento en la pila de sombras en el rango especificado por el valor de 8 bits no firmado en los bits 7:0 del operando de origen.
Operación
IF CPL = 3
IF (CR4.CET & IA32_U_CET.SH_STK_EN) = 0
THEN #UD; FI;
ELSE
IF (CR4.CET & IA32_S_CET.SH_STK_EN) = 0
THEN #UD; FI;
FI;
IF (operand size is 64-bit)
THEN
Range := R64[7:0];
shadow_stack_load 8 bytes from SSP;
IF Range > 0
THEN shadow_stack_load 8 bytes from SSP + 8 * (Range - 1);
FI;
SSP := SSP + Range * 8;
ELSE
Range := R32[7:0];
shadow_stack_load 4 bytes from SSP;
IF Range > 0
THEN shadow_stack_load 4 bytes from SSP + 4 * (Range - 1);
FI;
SSP := SSP + Range * 4;
FI;Banderas afectadas
None.
Intel C/C++ compilador intrínseco
INCSSPD void _incsspd(int);
INCSSPQ void _incsspq(int);Excepciones
Modo protegido
#UD | Si se utiliza el prefijo LOCK. Si CR4.CET = 0. IF CPL = 3 y IA32_U_CET.SH_STK_EN = 0. IF CPL < 3 y IA32_S_CET.SH_STK_EN = 0. #PF(fault-code) Si ocurre un fallo de pagina. |
Modo real
#UD | La instrucción INCSSP no se reconoce en modo de direccion real. |
Modo virtual-8086
#UD | La instrucción INCSSP no se reconoce en modo virtual-8086. |
Modo de compatibilidad
| Las mismas excepciones que en modo protegido. |
Modo de 64 bits
| Las mismas excepciones que en modo protegido. |