Resultados de la búsqueda a petición "assembly"
¿Por qué GCC usa la multiplicación por un número extraño en la implementación de la división de enteros?
He estado leyendo sobrediv ymul operaciones de ensamblaje, y decidí verlos en acción escribiendo un programa simple en C: File division.c#include <stdlib.h> #include <stdio.h> int main() { size_t i = 9; size_t j = i / 5; printf("%zu\n",j); ...
Calcule la hora del sistema usando rdtsc
Supongamos que todos los núcleos de mi CPU tienen la misma frecuencia, técnicamente puedo sincronizar la hora del sistema y los pares de contadores de sello de tiempo para cada núcleo cada milisegundo más o menos. Luego, según el núcleo actual ...
¿Cuáles son el segmento y el desplazamiento en el direccionamiento de memoria en modo real?
Estoy leyendo sobre direccionamiento de memoria. Leí sobre el desplazamiento del segmento y luego sobre el desplazamiento del descriptor. Sé cómo calcular las direcciones exactas en modo real. Todo esto está bien, pero no puedo entender qué es ...
Asamblea 8086 | Suma de una matriz, imprimiendo números de varios dígitos
Escribí un código bastante simple en asm x8086 y me enfrento a un error. Si alguien pudiera ayudarme con una breve explicación, lo agradecería enormemente. IDEAL MODEL small STACK 100h DATASEG ; -------------------------- array db 10h, 04h, 04h, ...
¿Cada instrucción PUSH empuja un múltiplo de 8 bytes en x64?
En x64, ¿cada instrucción PUSH empuja un múltiplo de 8 bytes? Si no, ¿cuánto empuja? Además, ¿cuánto espacio de pila consume cada parámetro de función?
¿Qué hace Windows antes de que se llame a Main ()?
Windows debe hacer algo para analizar el encabezado PE, cargar el ejecutable en la memoria y pasar argumentos de línea de comandos amain(). Usando OllyDbg, he configurado el depurador para que se rompa en main () para poder ver la pila de ...
¿Cuál es el efecto del segundo argumento en _builtin_prefetch ()?
El documento del CCGaquí [https://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Other-Builtins.html]especifica el uso de _buitin_prefetch. El tercer argumento es perfecto. Si es 0, el compilador genera la instrucción prefetchtnta (% rax) Si es 1, el ...
Diferencia entre movq y movabsq en x86-64
Soy un recién llegado aquí y recién estoy comenzando a estudiar lenguaje ensamblador. Así que corrígeme si me equivoco, o si esta publicación no tiene ningún sentido, la eliminaré. Estoy hablando de instrucciones de movimiento de datos en la ...
El código de auto modificación siempre falla en la segmentación en Linux
Encontré un artículo sobre el código auto modificable e intenté hacer algunos ejemplos, pero siempre tengo fallas de segmentación. Tan rápido como puedo entender, hay una violación en los permisos de memoria. El segmento de código es (r) ead / e ...
Bootloader funciona en emuladores pero no en hardware real
Estoy escribiendo un gestor de arranque en ensamblaje y parece funcionar bien en qemu, bochs y virtualbox. Sin embargo, no está cargando el kernel en hardware real (parece). El gestor de arranque comienza escribiendo un carácter en la memoria de ...