Para mí, solo parece un MOV funky. ¿Cuál es su propósito y cuándo debo
x86-64 es una extensión de 64 bits de la arquitectura Intel x86
Para mí, solo parece un MOV funky. ¿Cuál es su propósito y cuándo debo
Noté por primera vez en 2009 que GCC (al menos en mis proyectos y en mis máquinas) tienen la tendencia a generar un código notablemente más rápido si optimizo el tamaño ( -Os) en lugar de la velocidad ( -O2o -O3), y me he estado preguntando desde entonces por qué. He logrado crear un código...
Tengo una lista arbitraria de ensamblados .NET. Necesito verificar mediante programación si cada DLL se creó para x86 (a diferencia de x64 o Any CPU). es
He estado leyendo sobre divy muloperaciones de montaje, y decidí ver en acción al escribir un programa sencillo 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); return 0; } Y luego generar código de...
Antecedentes: Al optimizar un código Pascal con lenguaje ensamblador incorporado, noté una MOVinstrucción innecesaria y la eliminé. Para mi sorpresa, eliminar las instrucciones innecesarias hizo que mi programa se ralentizara . Descubrí que agregar MOVinstrucciones arbitrarias e inútiles...
Los siguientes enlaces explican las convenciones de llamadas al sistema x86-32 tanto para UNIX (sabor BSD) como para Linux: http://www.int80h.org/bsdasm/#system-calls http://www.freebsd.org/doc/en/books/developers-handbook/x86-system-calls.html Pero, ¿cuáles son las convenciones de llamadas al...
Quiero determinar si un ensamblado nativo se cumple como x64 o x86 desde una aplicación de código administrado ( C # ). Creo que debe estar en algún lugar del encabezado PE ya que el cargador del sistema operativo necesita conocer esta información, pero no pude encontrarla. Por supuesto, prefiero...
Creo que encontré un error en GCC al implementar PCG PRNG de O'Neill. ( Código inicial en el Explorador del compilador de Godbolt ) Después de multiplicar oldstatepor MULTIPLIER, (resultado almacenado en rdi), GCC no agrega ese resultado a INCREMENT, movabs'ing INCREMENTa rdx, que luego se usa...
Rust tiene enteros de 128 bits, estos se denotan con el tipo de datos i128(y u128para ints sin signo): let a: i128 = 170141183460469231731687303715884105727; ¿Cómo hace Rust para que estos i128valores funcionen en un sistema de 64 bits? por ejemplo, ¿cómo hace aritmética en estos? Dado que,...
En el Tour x86-64 de los manuales de Intel , leí Quizás el hecho más sorprendente es que una instrucción como MOV EAX, EBXautomáticamente pone a cero los 32 bits superiores del RAXregistro. La documentación de Intel (3.4.1.1 Registros de propósito general en modo de 64 bits en la arquitectura...
Tengo un pequeño dilema sobre cómo configurar las compilaciones de mi estudio visual para la orientación múltiple. Antecedentes: c # .NET v2.0 con p / invocando en DLL de 32 bits de terceros, SQL compact v3.5 SP1, con un proyecto de instalación. En este momento, el destino de la plataforma está...
AMD tiene una especificación ABI que describe la convención de llamadas para usar en x86-64. Todos los sistemas operativos lo siguen, excepto Windows, que tiene su propia convención de llamadas x86-64. ¿Por qué? ¿Alguien conoce las razones técnicas, históricas o políticas de esta diferencia, o es...
En su forma actual, esta pregunta no se ajusta bien a nuestro formato de preguntas y respuestas. Esperamos que las respuestas estén respaldadas por hechos, referencias o experiencia, pero es probable que esta pregunta solicite debate, argumentos, encuestas o una discusión extensa....
Estoy intentando instalar un servicio de Windows usando InstallUtil.exe y aparece el mensaje de error System.BadImageFormatException: no se pudo cargar el archivo o ensamblado ' {xxx.exe}' o una de sus dependencias. Se intentó cargar un programa con un formato incorrecto. ¿Lo que...
Estoy haciendo un trabajo crítico para el rendimiento en C ++ y actualmente estamos usando cálculos de números enteros para problemas que son inherentemente de punto flotante porque "es más rápido". Esto causa muchos problemas molestos y agrega mucho código molesto. Ahora, recuerdo haber leído...
En un libro leí lo siguiente: Los procesadores de 32 bits tienen 2 ^ 32 direcciones posibles, mientras que los procesadores actuales de 64 bits tienen un espacio de direcciones de 48 bits Mi expectativa era que si se trata de un procesador de 64 bits, el espacio de direcciones también debería...
¿Qué rep; nopsignifica? ¿Es lo mismo que la pauseinstrucción? ¿Es lo mismo que rep nop(sin el punto y coma)? ¿Cuál es la diferencia con la nopinstrucción simple ? ¿Se comporta de manera diferente en procesadores AMD e Intel? (bonificación) ¿Dónde está la documentación oficial de estas...
Trabajo con memoria compartida en este momento. No puedo entender alignofy alignas. cppreference no está claro: alignofdevuelve "alineación" pero ¿qué es "alineación"? número de bytes que se deben agregar para alinear el siguiente bloque? tamaño acolchado? Las entradas de stack overflow /...
Estaba estudiando el reencuentro en la programación. En este sitio de IBM (realmente bueno). He fundado un código, copiado a continuación. Es el primer código que viene rodando por el sitio web. El código intenta mostrar los problemas relacionados con el acceso compartido a la variable en un...