WRFSBASE, WRGSBASE
Write FS/GS Segment Base
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
F3 0F AE /2 | WRFSBASE r32 | M | Valido | No valido | Cargue la dirección base FS con el valor de 32 bits en el registro de origen. |
F3 REX.W 0F AE /2 | WRFSBASE r64 | M | Valido | No valido | Cargue la dirección base FS con el valor de 64 bits en el registro fuente. |
F3 0F AE /3 | WRGSBASE r32 | M | Valido | No valido | Cargue la dirección base GS con el valor de 32 bits en el registro de origen. |
F3 REX.W 0F AE /3 | WRGSBASE r64 | M | Valido | No valido | Cargue la dirección base GS con el valor de 64 bits en el registro de origen. |
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
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
Carga la dirección base del segmento FS o GS con el registro de proposito general indicado por el campo modR/M:r/m.
El operando de origen puede ser un registro de proposito general de 32 bits o de 64 bits. El prefijo REX.W indica que el tamaño de operando es de 64 bits. Si no se utiliza el prefijo REX.W, el tamaño de operando es de 32 bits; los 32 bits superiores del registro de origen son ignorados y los 32 bits superiores de la dirección base (para FS o GS) se limpian. Esta instrucción sólo se admite en modo de 64 bits.
Operación
FS/GS segment base address := SRC;Banderas afectadas
None.
C/C++ Compilador Equivalente Intrínseco
WRFSBASE void writefsbase u32( unsigned int ); WRFSBASE writefsbase u64( unsigned int64 ); WRGSBASE void writegsbase u32( unsigned int ); WRGSBASE writegsbase u64( unsigned int64 );
Excepciones
Modo protegido
#UD | Las instrucciones WRFSBASE y WRGSBASE no se reconocen en modo protegido. |
Modo real
#UD | Las instrucciones WRFSBASE y WRGSBASE no se reconocen en modo de direccion real. |
Modo virtual-8086
#UD | Las instrucciones WRFSBASE y WRGSBASE no se reconocen en modo virtual-8086. |
Modo de compatibilidad
#UD | Las instrucciones WRFSBASE y WRGSBASE no se reconocen en modo de compatibilidad. |
Modo de 64 bits
#UD | Si el prefijo LOCK es usado. Si CR4.FSGSBASE[bit 16] = 0. Si CPUID.07H.00H:EBX.FSGSBASE[0] = 0 |
#GP(0) | Si el registro de origen contiene una dirección no canónica. |