XGETBV
Consiga el valor de Extended registro de control
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
NP 0F 01 D0 | XGETBV | ZO | Valido | Valido | Lee un XCR especificado por ECX en EDX:EAX. |
Coste medido
Cargando las mediciones de arch-data...
Descripción
Lee el contenido del registro de control ampliado (XCR) especificado en el registro ECX en los registros EDX:EAX. (En los procesadores que soportan la arquitectura Intel 64, se ignoran los 32 bits de alto orden de RCX).El registro EDX se carga con los 32 bits de alto orden del XCR y el registro EAX se carga con los 32 bits de bajo orden. (En los procesadores que soportan la arquitectura Intel 64, los 32 bits de alto orden de cada uno de RAX y RDX son despejados.) Si se implementan menos de 64 bits en el XCR que se lee, los valores devueltos a EDX:EAX en sitios de bits unimplementados quedan indefinidas.
XCR0 es compatible con cualquier procesador que apoye la instrucción XGETBV. Si CPUID.0DH.01H:EAX.XGETBV1[2] = 1, ejecutando XGETBV con ECX = 1 devoluciones en EDX:EAX el lógico-AND de XCR0 y el valor actual del bitmap del estado-componente XINUSE. Esto permite que el software descubra el estado de la optimización de entrada utilizada por XSAVEOPT y XSAVES. Ver Capítulo 13, "Managing State Usando el Conjunto de Característica XSAVE", en Intel(R) 64 e IA-32 Architectures Software Developer's Manual, Volumen 1.
El uso de cualquier otro valor para ECX resulta en una excepción de protección general (#GP).
Operación
EDX:EAX := XCR[ECX];Banderas afectadas
None.
Intel C/C++ compilador intrínseco
XGETBV unsigned __int64 _xgetbv( unsigned int);Excepciones
Modo protegido
| #GP(0)Si un XCR inválido se especifica en ECX (incluye ECX = 1 si CPUID.0DH.01H:EAX.XGETBV1[2] = 0). | |
#UD | Si CPUID.01H:ECX[26, "XSAVE"] = 0. Si CR4.OSXSAVE[bit 18] = 0. Si el prefijo LOCK es usado. |
Modo real
| #GP(0)Si un XCR inválido se especifica en ECX (incluye ECX = 1 si CPUID.0DH.01H:EAX.XGETBV1[2] = 0). | |
#UD | Si CPUID.01H:ECX[26, "XSAVE"] = 0. Si CR4.OSXSAVE[bit 18] = 0. Si el prefijo LOCK es usado. |
Modo virtual-8086
| Las mismas excepciones que en modo protegido. |
Modo de compatibilidad
| Las mismas excepciones que en modo protegido. |
Modo de 64 bits
| Las mismas excepciones que en modo protegido. |