RDFSBASE, RDGSBASE

Lea la base de segmentos FS/GS

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
F3 0F AE /0RDFSBASE r32MValidoNo validoCargue el registro de destino de 32 bits con la dirección base FS.
F3 REX.W 0F AE /0RDFSBASE r64MValidoNo validoCargue el registro de destino de 64 bits con la dirección base FS.
F3 0F AE /1RDGSBASE r32MValidoNo validoCargue el registro de destino de 32 bits con la dirección base GS.
F3 REX.W 0F AE /1RDGSBASE r64MValidoNo validoCargue el registro de destino de 64 bits con la dirección base GS.

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 escriturabyte 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 el registro de proposito general indicada por el campo ModR/M:r/m con la dirección base del segmento FS o GS.

El operando de destino 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; se ignoran los 32 bits superiores de la dirección base de origen (para FS o GS) y se eliminan 32 bits superiores del registro de destino. Esta instrucción sólo se admite en modo de 64 bits.

Operación

DEST := FS/GS segment base address;

Banderas afectadas

None.

C/C++ Compilador Equivalente Intrínseco

RDFSBASE unsigned int readfsbase u32(void ); RDFSBASE unsigned int64 readfsbase u64(void ); RDGSBASE unsigned int readgsbase u32(void ); RDGSBASE unsigned int64 readgsbase u64(void );

Excepciones

Modo protegido
#UDLas instrucciones RDFSBASE y RDGSBASE no se reconocen en modo protegido.
Modo real
#UDLas instrucciones RDFSBASE y RDGSBASE no se reconocen en modo de direccion real.
Modo virtual-8086
#UDLas instrucciones RDFSBASE y RDGSBASE no se reconocen en modo virtual-8086.
Modo de compatibilidad
#UDLas instrucciones RDFSBASE y RDGSBASE no se reconocen en modo de compatibilidad.
Modo de 64 bits
#UDSi se utiliza el prefijo LOCK. Si CR4.FSGSBASE[bit 16] = 0. Si CPUID.07H.00H:EBX.FSGSBASE[0] = 0.

Fuentes