assembly

¿Cómo logro el máximo teórico de 4 FLOPs por ciclo?

¿Cómo se puede lograr el rendimiento máximo teórico de 4 operaciones de punto flotante (doble precisión) por ciclo en una CP ... ulsd xmm5, xmm3 mulsd xmm1, xmm3 mulsd xmm8, xmm3 addsd xmm10, xmm2 addsd xmm9, xmm2 addsd xmm13, xmm2 ...

¿Usando GCC para producir ensamblado legible?

Me preguntaba cómo usar GCC en mi archivo fuente C para volcar una versión mnemotécnica del código máquina para poder ver en ... contrar una manera con GCC. Estoy tratando de reescribir un método C en assembly y ver cómo lo hace GCC sería de gran ayuda.

¿Qué es exactamente el puntero base y el puntero de pila? A qué apuntan?

Usando este ejemplo procedente de wikipedia, en el que DrawSquare () llama a DrawLine (), (Tenga en cuenta que este di ... funciona el prolog, solo quiero saber qué está sucediendo después de empujar los argumentos en la pila y antes de la prolog).

¿Cómo es el lenguaje ensamblador multinúcleo?

Érase una vez, para escribir el ensamblador x86, por ejemplo, tendría instrucciones que indicaban "cargar el registro EDX con ... dos los núcleos? ¿Qué cambios se han realizado en el código de máquina x86 para admitir la funcionalidad de varios núcleos?

¿Cómo se obtiene la salida del ensamblador del código fuente C / C++ en gcc?

¿Cómo se hace esto? Si quiero analizar cómo se está compilando algo, ¿cómo obtendría el código ensamblador emitido?

Ayúdame a entender este exploit de JavaScript

Normalmente no tengo dificultad para leer el script JavaScript, pero este no puedo entender la lógica. El código es de un Exp ... cribir para desarrolladores: length < 0xd0000? Me gustaría una comprensión más profunda, no sólo la teoría de este código.

Es posible "descompilar" un Windows.exe? ¿O al menos ver la Asamblea?

Un amigo mío descargó un malware de Facebook, y tengo curiosidad por ver lo que hace sin infectarme. Sé que realmente no se p ... uedo al menos verlo en Ensamblado o adjuntar un depurador? Editar para decir que no es un ejecutable.NET, sin cabecera CLI.

¿Cuándo es el montaje más rápido que C?

Una de las razones indicadas para conocer a assembler es que, en ocasiones, se puede emplear para escribir código que será má ... s existen, pero realmente quiero saber exactamente cuán esotéricos son estos casos, ya que parece ser un punto de contención.

¿Por qué GCC genera código 15-20% más rápido si optimizo el tamaño en lugar de la velocidad?

Noté por primera vez en 2009 que GCC (al menos en mis proyectos y en mis máquinas) tienen la tendencia a generar código notab ... anteriormente. Los errores de caché son muy, muy ruidosos y muestran poca o ninguna correlación con los tiempos de ejecución.

¿Qué es una retpolina y cómo funciona?

Con el fin de mitigar la divulgación de memoria del kernel o del proceso cruzado (el ataque Spectre), el kernel de Linux1 se ... strucción similar o idéntica parece ser utilizada como parte de las estrategias de mitigación en otros sistemas operativos.

Código C++ para probar la conjetura de Collatz más rápido que el ensamblado escrito a mano-¿por qué?

Escribí estas dos soluciones para el Proyecto Euler Q14, en ensamblado y en C++. Son el mismo enfoque de fuerza bruta idénti ... 200 ms @hidefromkgb asm optimizado por @ Peter Cordes promedio de 145 ms @Veedrac C++ avg 81 ms con -O3, 305 ms con -O0

¿Cómo puedo construir un sistema operativo pequeño en una computadora de escritorio antigua? [cerrado]

Esto podría ser en vano, ya que sé que escribir un sistema operativo es insoportablemente complicado (especialmente por uno m ... todo desde cero. ¿Alguna sugerencia sobre cómo obtenerla gráfica? Diferentes modos de vídeo y cómo trabajar con ellos, etc?

¿Proteger el ejecutable de la ingeniería inversa?

He estado contemplando cómo proteger mi código C/C++ del desmontaje y la ingeniería inversa. Normalmente nunca toleraría est ... jadas y / o calculadas por los analistas de código dado el marco de tiempo adecuado. ¿Hay alguna otra alternativa que tenga?

¿El lenguaje ensamblador en línea es más lento que el código nativo de C++?

Traté de comparar el rendimiento del lenguaje ensamblador en línea y el código C++, así que escribí una función que agrega do ... fiar en el rendimiento del lenguaje ensamblador escrito por mis manos, enfocarme en C++ y olvidarme del lenguaje ensamblador?

¿Por qué la introducción de instrucciones MOV inútiles acelerar un bucle apretado en el montaje x86 64?

Antecedentes: Mientras optimizaba un código Pascal con lenguaje ensamblador incrustado, noté una instrucción MOV innecesari ... as, y una desaceleración en otras? ¿Es este comportamiento algo que podría ser explotado previsiblemente por un compilador?

¿Para qué se utilizan las directivas CFI en Gnu Assembler (GAS)?

Parece haber un .Directiva CFI después de cada línea y también hay amplias variaciones de estos ex.,.cfi_startproc , .cfi_end ... .ident "GCC: (Ubuntu 4.4.1-4ubuntu9) 4.4.1" .section .note.GNU-stack,"",@progbits No entendí el propósito de estos.

Mostrar las instrucciones de montaje actuales en GDB

Estoy haciendo una depuración a nivel de ensamblado en GDB. ¿Hay alguna manera de conseguir que GDB me muestre la instrucción ... actual, pero tengo que seguir refiriéndome a la salida de disassemble para ver qué instrucción estoy ejecutando actualmente.

¿Cuál es la diferencia entre MOV y LEA?

Me gustaría saber cuál es la diferencia entre estas instrucciones: MOV AX, [TABLE-ADDR] Y LEA AX, [TABLE-ADDR]

¿Cómo se programan las máquinas cotidianas?

¿Cómo se programan las máquinas cotidianas (no tanto ordenadores y dispositivos móviles como electrodomésticos, relojes digi ... con código fuente si es posible. Si alguien sabe de tal recurso (la búsqueda no produjo nada para mí), eso sería fantástico.