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

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 ...

3 la respuesta

División entera repetida por un valor constante de tiempo de ejecución

En algún momento de mi programa calculo un divisor enterod. Desde ese punto en adelanted va a ser constante Más adelante en el código dividiré por esod varias veces: realizar una división entera, ya que el valor ded no es una constante de tiempo ...

5 la respuesta

¿Por qué la división de enteros por -1 (negativa) da como resultado FPE?

Tengo la tarea de expandir algunosaparentemente comportamientos extraños del código C (ejecutándose en x86). Puedo completar fácilmente todo lo demás, pero este realmente me ha confundido. Fragmento de código 1 salidas-2147483648 int a = ...

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 ...

3 la respuesta

¿Por qué puedo acceder a dword / word / byte más bajo en un registro pero no más arriba?

Empecé a aprender ensamblador, y esto no me parece lógico. ¿Por qué no puedo usar varios bytes más altos en un registro? Entiendo la razón histórica derax->eax->axasí que centrémonos ennuevo Registros de 64 bits. Por ejemplo, puedo usarr8 yr8d, ...

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 ...

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

¿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 ...

5 la respuesta

¿Existen beneficios al ejecutar X86-64 Python en una CPU de 64 bits en un sistema operativo de 64 bits?

¿Qué tipo de beneficios existen al ejecutar las compilaciones amd64 de Python y sus extensiones? (Muchas extensionescompilado para amd64 aquí [http://www.lfd.uci.edu/~gohlke/pythonlibs/].) Tengo un procesador i5 y Win7 de 64 bits, por lo que ...

4 la respuesta

¿Por qué la construcción de std :: opcional <int> es más costosa que una std :: pair <int, bool>?

Considere estos dos enfoques que pueden representar un "opcionalint": using std_optional_int = std::optional<int>; using my_optional_int = std::pair<int, bool>;Dadas estas dos funciones ... auto get_std_optional_int() -> std_optional_int { ...