Preguntas etiquetadas con assembly

Preguntas de programación en lenguaje ensamblador (asm). ASEGÚRESE DE TAMBIÉN TAG con el procesador y / o conjunto de instrucciones que está utilizando, así como el ensamblador. ADVERTENCIA: Para los ensamblados .NET, use la etiqueta [.net-assembly] en su lugar. Para Java ASM, use la etiqueta [java-bytecode-asm] en su lugar.

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

Una de las razones declaradas para conocer al ensamblador es que, en ocasiones, puede emplearse para escribir código que será más eficaz que escribir ese código en un lenguaje de nivel superior, C en particular. Sin embargo, también he oído que declaró muchas veces que a pesar de que no es del todo...

256
¿Usando GCC para producir un ensamblaje legible?

Me preguntaba cómo usar GCC en mi archivo fuente C para volcar una versión mnemónica del código de máquina para poder ver en qué se estaba compilando mi código. Puede hacer esto con Java, pero no he podido encontrar una manera con GCC. Estoy tratando de reescribir un método C en ensamblador y ver...

244
¿Qué es un retpoline y cómo funciona?

Con el fin de mitigar la divulgación de memoria de kernel o de procesos cruzados (el ataque Spectre ), el kernel 1 de Linux se compilará con una nueva opción , -mindirect-branch=thunk-externintroducida gccpara realizar llamadas indirectas a través de una llamada retpoline . Este parece ser un...

243
¿Cómo se ve el lenguaje ensamblador multinúcleo?

Érase una vez, para escribir el ensamblador x86, por ejemplo, tendría instrucciones que indicaran "cargue el registro EDX con el valor 5", "incremente el registro EDX", etc. Con las CPU modernas que tienen 4 núcleos (o incluso más), a nivel de código de máquina, ¿parece que hay 4 CPU separadas (es...