Resultados de la búsqueda a petición "assembly"
¿Cómo sé si gcc está de acuerdo en que algo es volátil?
Considera lo siguiente volatile uint32_t i; ¿Cómo sé si gcc trató o no i como volátil? Se declararía como tal porque ningún código cercano lo va a modificar, y es probable que su modificación se deba a alguna interrupción. No soy el peor ...
¿Por qué GCC no optimiza a * a * a * a * a * a a (a * a * a) * (a * a * a)?
Estoy haciendo una optimización numérica en una aplicación científica. Una cosa que noté es que GCC optimizará la llamadapow(a,2) compilándolo ena*a, pero la llamadapow(a,6) no está optimizado y en realidad llamará a la función de bibliotecapow, ...
Variación en la sobrecarga RDTSC
Estoy construyendo un micro-punto de referencia para medir los cambios de rendimiento mientras experimento con el uso de instrucciones intrínsecas SIMD en algunas operaciones de procesamiento de imágenes primitivas. Sin embargo, escribir ...
¿Cómo funcionan los lenguajes ensambladores?
Tengo mucha curiosidad por cómo funcionan los lenguajes de ensamblaje: sigo siendo general porque no estoy hablando solo del ensamblaje Intel x86 (aunque es el único con el que estoy remotamente familiarizado). Para ser un poco más ...
Protecting executable from reverse engineering
He estado contemplando cómo proteger mi código C / C ++ del desmontaje y la ingeniería inversa. Normalmente nunca aprobaría este comportamiento en mi código; sin embargo, el protocolo actual en el que he estado trabajando nunca debe ser ...
¿Cómo usar el código ARM Assembly en un proyecto de Android?
No tengo mucha experiencia con Assembly y ARM, pero pude escribir algunas rutinas y me gustaría ver cómo se ejecutan en un dispositivo Android equipado con ARM (Nexus S). ¿Cuál es el procedimiento para incluir un archivo de código de ensamblaje ...
¿Cómo especifico números de coma flotante inmediatos con ensamblaje en línea?
Cuando intento compilar este código: #include <stdio.h> main(int argc, char *argv[]) { double y = 0; __asm__ ("fldl $150;" "fsqrt;" "fstl %0;" : : "g" (y) ); printf("%f\n", y); return 0; } Me sale este error: sqrt.c: Assembler messages: ...
Ayuda con ensamblaje de 68k: ¿saltar mesa
Estoy trabajando en ingeniería inversa en un gran programa de Amiga en IDA, y he progresado mucho. Sin embargo, hay algunas cosas que no puedo entender. Es decir, he encontrado varias subrutinas que usan lo que creo que son "tablas de salto", ...
¿Qué hace cltq en el ensamblaje?
0x0000000000400553 <main+59>: mov -0x4(%rbp),%eax 0x0000000000400556 <main+62>: cltq 0x0000000000400558 <main+64>: shl $0x3,%rax 0x000000000040055c <main+68>: mov %rax,%rdxDe hecho, mi programa es tan simple como: 5 int main(int argc, char ...
Conjunto de 64 bits, cuándo utilizar registros de menor tamaño
Entiendo que en el ensamblaje x86_64 existe, por ejemplo, el registro rax (64 bits), pero también se puede acceder como un registro de 32 bits, eax, 16 bits, ax y 8 bits, al. ¿En qué situación no usaría los 64 bits completos y por qué, qué ...