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

1 la respuesta

¿Qué significan los prefijos E y R en los nombres de los registros Intel de 32 y 64 bits?

Los nombres de registro de 32 bits comienzan con una E y los de 64 bits comienzan con una R. ¿Qué significan E y R? ¿Hay alguna razón para elegir estos alfabetos? Además, en los registros de 64 bits, también podemos ver en cualquier depurador de ...

4 la respuesta

¿Trabaja el ensamblaje en línea en C para la paridad de bits?

Estoy tratando de calcular elparidad de bitsde una gran cantidad de uint64's. Por paridad de bits me refiero a una función que acepta un uint64 y genera 0 si el número de bits establecidos es par, y 1 en caso contrario. Actualmente estoy usando ...

2 la respuesta

¿Por qué la inicialización de objetos estáticos locales utiliza banderas de protección ocultas?

Los objetos estáticos locales en C ++ se inicializan una vez, la primera vez que se necesitan (lo cual es relevante si la inicialización tiene un efecto secundario): void once() { static bool b = [] { std::cout << "hello" << std::endl; ...

1 la respuesta

¿Ya no se permiten direcciones absolutas de 32 bits en Linux x86-64?

Linux de 64 bits utiliza el modelo de memoria pequeña de forma predeterminada, que coloca todo el código y los datos estáticos por debajo del límite de dirección de 2 GB. Esto asegura que pueda usar direcciones absolutas de 32 bits. Las versiones ...

1 la respuesta

x64: ¿Por qué este código me da "Error de límite de dirección"

¿Por qué el siguiente ensamblaje x64 me da "Error de límite de dirección"? Solo sucede cuando agrego código despuéscall _print_string. Supongo que algunos de los registros se han modificado, pero ¿no se supone que deben revertirse una ...

1 la respuesta

Compilador utilizando variables locales sin ajustar RSP

En cuestiónCompiladores: comprensión del código de ensamblaje generado a partir de pequeños programas [https://stackoverflow.com/questions/42994231/compilers-understanding-assembly-code-generated-from-small-programs/42994347#42994347] el ...

1 la respuesta

¿Cuál es la diferencia entre retq y ret?

Consideremos el siguiente programa, que calcula un cuadrado sin signo del argumento: .global foo .text foo: mov %rdi, %rax mul %rdi retEsto es compilado adecuadamente poras, pero se desmonta a 0000000000000000 <foo>: 0: 48 89 f8 mov %rdi,%rax ...

2 la respuesta

C ++ en x86-64: ¿cuándo se pasan las estructuras / clases y se devuelven en los registros?

Suponiendo el x86-64 ABI en Linux, ¿bajo qué condiciones en C ++ se pasan las estructuras a las funciones en los registros frente a la pila? ¿En qué condiciones se devuelven en registros? ¿Y cambia la respuesta para las clases? Si ayuda a ...

1 la respuesta

Error de acceso a memoria sys_rt_sigaction (controlador de señal)

Siguiendo estoInterfaz de señales de Linux [http://syprog.blogspot.mx/2011/10/iterfacing-linux-signals.html]artículo, he estado tratando de usarsys_rt_sigaction enamd64, pero siempre obtenererror de acceso a memoriaAl enviar la señal.estructura ...

2 la respuesta

Diferencias en la inicialización del registro EAX cuando se llama a una función en C y C ++

Existe una curiosa diferencia entre los ensamblajes de un pequeño programa, cuando se compila como un programa C o como un programa C ++ (para Linux x86-64). El código en cuestión: int fun(); int main(){ return fun(); }Compilarlo como un ...