Resultados de la búsqueda a petición "x86"
Cómo determinar si los registros se cargan de derecha a izquierda o viceversa
Al revisar la salida de gdb y mirar las llamadas de ensamblaje, generalmente puedo encontrar un comando usando valores codificados para determinar si los registros se están cargando de derecha a izquierda o viceversa. Por lo general, algo como ...
Siga obteniendo e8 00 00 00 00 como código de máquina para llamar a una función en ensamblado
Sé cuando usoobjdump -dr en mi archivocall aparece en el código de la máquina comoe8 00 00 00 00 porque aún no se ha vinculado. Pero necesito averiguar cuál es el00 00 00 00 se convertirá después de que el vinculador haya hecho su trabajo. Sé que ...
Cómo ver la memoria ocupada por la matriz inicializada frente a la matriz no inicializada
Actualmente estoy aprendiendo programación de ensamblaje siguiendo el "Lenguaje de ensamblaje para procesador x86" de Kip Irvine. En la sección 3.4.12, el autor declara: los.DATA? La directiva declara datos no inicializados. Al definir un gran ...
x86: ¿registrar la operación como contenido de memoria y dirección de memoria?
registrarse ---> dirección de memoria -> contenido de memoria dirección de memoria -> contenido de memoria ¿Es correcto el modelo anterior? y, si es así, ¿puede sugerirme si lo estoy pensando bien o no? movl% eax,% ebx -> mueve la dirección ...
¿Cuánto más rápido son las instrucciones de cadena SSE4.2 que SSE2 para memcmp?
Aquí está el ensamblador de mi código ¿Se puede incrustar en c ++ y verificar con SSE4? A velocidad Me gustaría mucho ver cómo entró en el desarrollo de SSE4. ¿O no está preocupado por él en absoluto? Vamos a comprobar (no tengo soporte por ...
Las operaciones escalares AVX son mucho más rápidas
Pruebo la siguiente función simple void mul(double *a, double *b) { for (int i = 0; i<N; i++) a[i] *= b[i]; }con matrices muy grandes, de modo que se vincula el ancho de banda de la memoria. El código de prueba que uso está debajo. Cuando ...
¿Cuál es la penalidad de mezclar el esquema codificado EVEX y VEX?
Es unproblema conocido [https://stackoverflow.com/questions/41303780/why-is-this-sse-code-6-times-slower-without-vzeroupper-on-skylake] que mezclar instrucciones codificadas con VEX e instrucciones que no sean VEX tiene una penalización y el ...
¿Cómo funciona la implementación de GCC del módulo (%) y por qué no utiliza la instrucción div?
Estaba tratando de calcular cómo calcular el módulo 10 en el ensamblaje, así que compilé el siguiente código c en gcc para ver qué ocurrió. unsigned int i=999; unsigned int j=i%10;Para mi sorpresa, tengo movl -4(%ebp), %ecx movl $-858993459, ...
Agregar dispositivos de cliente i2c en x86_64
En mi placa x86_64, hay un bus i2c que sale de un dispositivo MFD. Hay dispositivos en este bus i2c. Puedo detectar estos dispositivos usando el programa i2cdetect. # i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- ...
¿Es posible realizar algunos cálculos dentro de la RAM?
Teóricamente, ¿hay alguna forma de realizar cálculos dentro de la RAM, utilizando instrucciones relacionadas con la memoria, comomove, clflush o lo que sea, como unxor entre dos filas adyacentes, por ejemplo? Con mi conocimiento limitado sobre ...