elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Ayuda como puedo saber que registro Opera?¿
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda como puedo saber que registro Opera?¿  (Leído 3,879 veces)
FFernandez

Desconectado Desconectado

Mensajes: 128



Ver Perfil
Ayuda como puedo saber que registro Opera?¿
« en: 23 Junio 2020, 23:16 pm »

KANDW k1, k2, k3    "Bitwise AND word masks k2 and k3 and place result in k1"
 Notacion Disamble  VEX.L1.0F.W0 41 /r
en EXA..    0xC5, 0xEC, 0x41, 0xCB    "Bitwise AND word masks k2 and k3 and place result in k1"



11000100                 W vvvv L pp

0xC5,
0xEC, 1             1101                  1           00

1 no se cambia el tamaño del operando "W"

1101 segun tabla ????       XMM02/YMM02  "vvvv"

(1    256 Bits Vector   "L")     L=1  3 operandos en mascara


00   Sin extensión del codigo de operacion  "pp"

0x41, 01000001      Opcode/Mapa  KANDW

0xCB  11001011      MordR/m


Como puedo saber que son los registros k1,k2,k3   ?¿?¿?¿?¿?¿? analizando el binario

.........................  No me he expresado bien, no encuentro la tabla que relacione esos tres registros k1,k2,k3  con el codigo de zeros y unos.

Resuelto lo tenia delante de las narices, jejejejej

aaa   Especificación de registro de máscara de operaciones integrada
Las instrucciones que requieren aaa <> 000 no permiten que EVEX.z se establezca en 1.


AVX-512 Opmask registers


Ejemplo de codificacion completo
 

Opcode Operando destino, operando, operando field

KANDW k1, k2, k3     modificamos el Operando destino k1

Prefixo VEX  +  W vvvv L pp + Opcode   + M/r
  
c5 ec 41 cb    k1   k2   k3           W vvvv L pp              M/r   11 001 011    k1 = base = 1

KANDW k4, k2, k3
c5 ec 41 e3    k4   k2   k3                                   M/r    11 100  011   k4 = base = 4

KANDW k7, k2, k3
c5 ec 41 fb    k7   k2   k3           1 1101 1 00                     11 111 011   k7 = base = 7



KANDW k1, k2, k3


c5 ec 41 cb    k1   k2   k3           W vvvv L pp              M/r   11 001 011     k3= m/r =3  

KANDW k1, k2, k4

c5 ec 41 cc                                                          11 001 100      k4= m/r =4

KANDW k1, k2, k7                                                      

c5 ec 41 cf                                                          11 001 111      k7= m/r =7    



KANDW k1, k2, k3                      

c5 ec 41 cb                            1 1101 1 00            101 bits invertidos 010 = 2 =k2

KANDW k1, k4, k3

c5 dc 41 cb                            1 1011 1 00            011 bits invertidos 100 = 4 =k4


KANDW k1, k7, k3

c5 c4 41 cb                             1 1000 1 00           000 bits invertidos 111 = 7 =k7

 
Aqui se codifica el Operando que en este caso no tiene sentido, pero se trata igual.


                                          
El Opcode lleva implicito que es una operacion con mascara "Opmask"





« Última modificación: 24 Junio 2020, 23:23 pm por FFernandez » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.513


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Ayuda como puedo saber que registro Opera?¿
« Respuesta #1 en: 24 Junio 2020, 15:36 pm »

Citar
13.5.5      AVX-512      State
The register state used by the Intel® Advanced Vector Extensions 512 (AVX-512) comprises the MXCSR register, the 8 64-bit opmask registers k0–k7, and 32 512-bit vector registers called ZMM0–ZMM31.

Fuente: https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf (pagina 327)

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines