es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: ANDROID-X86

Especificar un desplazamiento inmediato con GCC Extended ASM

Estoy utilizando GCC 10.3.0 y tengo este código fuente: __asm__ volatile ( “movl %%gs:%0, %%eax\n\t” : “=a”(some_output) : “i”(immediate_value) ); Quiero que GCC traduzca esta instrucción a: movl %gs:immediate_value, %eax pero debido a que estoy utilizando la sintaxis AT&T y un valor inmediato, obtengo un “$” adicional: movl %gs:$immediate_value, %eax . . . Read more

¿Cómo maneja una CPU las interrupciones asíncronas?

Las CPUs dividen una instrucción en varios micro-ops, esto funciona para núcleos x86 y ARM y posiblemente para varias otras arquitecturas. Los micro-ops se pueden ejecutar sin orden específico y se almacenan en un ROB. Se finalizan en orden desde este ROB. ¿Cómo maneja una CPU las interrupciones asíncronas? Pienso . . . Read more

¿Por qué redondear al más cercano con ties alejados de cero requiere más instrucciones y cuál es su propósito?

Considere el este ejemplo, en el que varias operaciones de redondeo (redondeo hacia arriba, redondeo hacia abajo, redondeo hacia cero y redondeo al más cercano con redondeo hacia el par más cercano) se pueden expresar con una sola instrucción roundsd: use_floor(double): roundsd xmm0, xmm0, 9 ret use_ceil(double): roundsd xmm0, xmm0, . . . Read more