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

2 la respuesta

Las ventajas de usar registros / instrucciones de 32 bits en x86-64

A veces, gcc usa un registro de 32 bits, cuando esperaría que use un registro de 64 bits. Por ejemplo, el siguiente código C: unsigned long long div(unsigned long long a, unsigned long long b){ return a/b; } se compila con la opción -O2 para ...

1 la respuesta

¿Por qué esta instrucción MOVSS utiliza direccionamiento relativo a RIP? [duplicar

Esta pregunta ya tiene una respuesta aquí: ¿Por qué es la dirección de las variables estáticas en relación con el puntero de instrucción? [/questions/40329260/why-is-the-address-of-static-variables-relative-to-the-instruction-pointer] 1 ...

1 la respuesta

o se pueden mover variables en .data a registros con Mac x86 Assembly

He escrito un pequeño ensamblaje con sintaxis de AT&T y actualmente he declarado tres variables en la.data sección. Sin embargo, cuando intento mover cualquiera de esas variables a un registro, como%eax, un error degcc es elevado. El código y el ...

1 la respuesta

¿Por qué este intento de usar sys_write no hace nada?

Aquí está .SECTION .data msg: .string "AAAA" .SECTION .text .globl _start _start: mov $1, %rax mov $1, %rdi mov msg, %rsi mov $4, %rdx syscallNo solo este códigon segfault, tampoco genera nada. e acuerdo con lo que he leído, un programa debería ...

3 la respuesta

¿Cómo obtener valores de argumentos usando el ensamblaje en línea en C sin Glibc?

¿Cómo obtener valores de argumentos usando el ensamblaje en línea en C sin Glibc? i requiero este código paraLinux archecturex86_64 yi386. si sabes sobreMAC OS X oWindows, también envíe y por favor guíe. void exit(int code) { //This function ...

1 la respuesta

Push and Pop en AMD64 [duplicado]

Esta pregunta ya tiene una respuesta aquí: ¿Cada instrucción PUSH empuja un múltiplo de 8 bytes en x64? [/questions/40305965/does-each-push-instruction-push-a-multiple-of-8-bytes-on-x64] 2 respuestas¿Cuál es el privilegio depushl %ecx ypopl ...

1 la respuesta

Es posible ejecutar código de 32 bits en un proceso de 64 bits haciendo un cambio de modo?

En esta página,http: //www.x86-64.org/pipermail/discuss/2004-August/005020.htm [http://www.x86-64.org/pipermail/discuss/2004-August/005020.html] Dijo que hay una manera de mezclar código de 32 bits y código de 64 bits en una aplicación. Asumió ...

1 la respuesta

glibc scanf Fallos de segmentación cuando se llama desde una función que no alinea RSP

Al compilar el siguiente código: global main extern printf, scanf section .data msg: db "Enter a number: ",10,0 format:db "%d",0 section .bss number resb 4 section .text main: mov rdi, msg mov al, 0 call printf mov rsi, number mov rdi, format ...

3 la respuesta

nsamblaje intrigante para comparar std :: opcional de tipos primitivos

Valgrind recogió una ráfaga El salto o movimiento condicional depende de los valores no inicializados en una de mis pruebas unitarias. l inspeccionar el ensamblaje, me di cuenta de que el siguiente código: bool operator==(MyType const& left, ...

2 la respuesta

¿Por qué el compilador reserva un poco de espacio en la pila pero no todo el tamaño de la matriz?

El siguiente código int main() { int arr[120]; return arr[0]; } Compila en esto: sub rsp, 360 mov eax, DWORD PTR [rsp-480] add rsp, 360 ret Sabiendo que las entradas son de 4 bytes y la matriz tiene un tamaño de 120, la matriz debe tomar 480 ...