Resultados de la búsqueda a petición "assembly"
¿Cuál es la diferencia entre “lea eax, [ebx + eax]” y “agregar eax, ebx” en el ensamblaje x86-32?
GCC me hizo un código de ensamblaje, y dentro hay esta declaración: lea eax, [ebx+eax](Intel Syntax) Por curiosidad, ¿cuál sería la diferencia entre eso y: add eax, ebx¿Ser? eax y ebx contienen valores de retorno de funciones :) mov eax, ...
¿Cómo se implementan las estructuras en el lenguaje de programación C? [duplicar]
Esta pregunta ya tiene una respuesta aquí: Estructura de diseño de memoria en C [/questions/2748995/struct-memory-layout-in-c] 3 respuestas¿Cómo se asignan los miembros de estructura en la ...
¿Por qué se requiere "mov rcx, rax" al llamar a printf en el ensamblador x64?
Estoy tratando de aprender el ensamblador x64. Escribí "hola mundo" e intenté llamar a printf usando el siguiente código: EXTERN printf: PROC PUBLIC hello_world_asm .data hello_msg db "Hello world", 0 .code hello_world_asm PROC push rbp ; save ...
Compilar un AST para ensamblar
Tengo un árbol de sintaxis abstracta que necesito convertir en ensamblaje para una máquina virtual. No sé cómo hacer esto, así que comencé a usar una cadena de plantillas de cadenas. Ejemplo de pseudocódigo de lo que quiero decir, digamos que se ...
¿Es posible depurar el ensamblaje x64 en Mac OS?
Me gustaría poder escribir y depurar el ensamblaje x64 en mi Mac con Sierra 10.12.4. Uno pensaría que esto no sería un deseo particularmente difícil u oscuro, pero a pesar de muchas horas de esfuerzo y mucha búsqueda en línea, no he tenido éxito ...
Cómo acceder al indicador de acarreo al agregar dos números de 64 bits usando asm en C
Sí, gracias, eso funciona. @PeterCordes. también__int128 trabajos. Pero una cosa más como dijiste usando la intrínseca de la aritmética de multiprecisión que es_addcarry_u64 en C, usando el archivo de encabezadoimmintrin.h Tengo el siguiente ...
¿Por qué tengo dos implementaciones de destructor en mi salida de ensamblado? [duplicar]
Esta pregunta ya tiene una respuesta aquí: GNU GCC (g ++): ¿Por qué genera múltiples dtors? [/questions/6613870/gnu-gcc-g-why-does-it-generate-multiple-dtors] 2 respuestas Yobjdump de mi archivo .o revela que tengo dos destructores diferentes ...
¿Cuándo debo usar directivas de tamaño en x86?
Cuándo usar directivas de tamaño en x86 parece un poco ambiguo.Esta guía de montaje x86 [http://www.cs.virginia.edu/~evans/cs216/guides/x86.html]dice lo siguiente: En general, el tamaño previsto del elemento de datos en una dirección de ...
Sentencia if versus sentencia if-else, ¿cuál es más rápido? [cerrado]
Discutí con un amigo el otro día sobre esos dos fragmentos. ¿Cuál es más rápido y por qué? value = 5; if (condition) { value = 6; }y: if (condition) { value = 6; } else { value = 5; }Y sivalue es una matriz? Nota: se quevalue = condition ? 6 : ...
¿Cómo se puede escribir el código de arranque de Linux en C?
Soy un novato en el aprendizaje del desarrollo del sistema operativo. Del libro que leí, decía que el gestor de arranque copiará el primer MBR en 0x7c00, y comienza desde allí en modo real. Y, el ejemplo comienza con un código de ensamblaje de ...