Resultados de la búsqueda a petición "x86"

4 la respuesta

Deoptimizing a program for the pipeline in Intel Sandybridge-family CPU

He estado atormentando mi cerebro durante una semana tratando de completar esta tarea y espero que alguien aquí pueda guiarme hacia el camino correcto. Permítanme comenzar con las instrucciones del instructor: Su tarea es lo opuesto a nuestra ...

3 la respuesta

80x86 asm de 16 bits: lea cx, [cx * 8 + cx] causa un error en NASM (compilando el archivo .com)

El error que da NASM (a pesar de mi sistema operativo operativo) es "dirección efectiva no válida". Ahora he visto muchos ejemplos de cómo usar LEA y creo que lo hice bien, pero a mi NASM no le gusta. Lo intentélea cx, [cx+9] Y funcionó; @lea ...

1 la respuesta

¿Qué registro de segmento se usa por defecto?

Estoy estudiando arquitectura de computadoras del Manual de Intel. Lo que entiendo es que las instrucciones que damos son direcciones lógicas que consisten en un selector de segmento y un desplazamiento. Básicamente esCS register<<4 + offset. ...

1 la respuesta

Alternar un bit específico

Así que he visto las preguntas como alternar un poco con ith positon [https://stackoverflow.com/questions/3681684/toggle-a-bit-at-ith-positon] y ¿Cómo establece, borra y alterna un solo ...

1 la respuesta

¿Por qué printf sobrescribe el registro ECX?

Lo séprintf devuelve el número de caracteres impresos en EAX. Por que esprintf cambio de registro ECX a 0? Mi fragmento de código: push eax push intFormat call printf add esp,8 Estoy ejecutando mi código en una distribución de Linux de 64 bits.

3 la respuesta

¿Usa LEA en valores que no son direcciones / punteros?

Estaba tratando de entender cómo funciona la instrucción de cálculo de direcciones, especialmente conleaq comando. Entonces me confundo cuando veo ejemplos usandoleaq para hacer cálculos aritméticos. Por ejemplo, el siguiente código C, long ...

1 la respuesta

Merito de redondeo en línea-ASM mediante la colocación de flotante en la variable int

He heredado un código bastante interesante: inline int round(float a) { int i; __asm { fld a fistp i } return i; } Mi primer impulso fue descartarlo y reemplazar las llamadas con(int)std::round (anterior a C ++ 11, usaríastd::lround si sucedió ...

1 la respuesta

Referencia de los contenidos de una ubicación de memoria. (modos de direccionamiento x86)

Tengo una ubicación de memoria que contiene un personaje que quiero comparar con otro personaje (y no está en la parte superior de la pila, así que no puedo simplementepop eso). ¿Cómo hago referencia al contenido de una ubicación de memoria para ...

1 la respuesta

¿hay una instrucción inversa a la instrucción movemask en intel avx2?

Las instrucciones de máscara de movimiento toman un __m256i y devuelven un int32 donde cada bit (ya sea los primeros 4, 8 o los 32 bits dependiendo del tipo de elemento del vector de entrada) es el bit más significativo del elemento vectorial ...

1 la respuesta

¿Restaura una transacción xbegin cancelada el contexto de pila que existía al inicio de xbegin?

Estoy interesado en encapsular un xbegin transaccional y xend dentro de las funciones XBEGIN () y XEND (), en una lib ensambladora estática. Sin embargo, no estoy claro cómo (o si) la pila se restaura al estado original de llamada xbegin, dado ...