Articles of asamblea

Apague la computadora usando ensamblaje

¿Cómo puedo apagar la computadora usando solo el código de ensamblaje?

¿Es posible usar SSE (v2) para hacer un entero de 128 bits de ancho?

Estoy buscando comprender un poco más las capacidades de SSE2, y me gustaría saber si se podría hacer un entero de 128 bits que admita la sum, la resta, el XOR y la multiplicación. Gracias, Erkling.

Cómo sembrar para generar números aleatorios?

No genera la aleatoriedad deseada. Pensé comenzar con una semilla como $ 66 y anotar los dos últimos bits más bajos y ror me daría el siguiente número aleatorio, y así sucesivamente, pero solo muestra $ B3 y no cambia en absoluto. ¿Cómo debo alimentarme? La línea superior aleatoria muestra el número en el puerto […]

¿Por qué es necesario ExitProcess en Win32 cuando puede usar un RET?

Me he dado cuenta de que muchos ejemplos de lenguaje ensamblador creados con llamadas directas de Win32 (sin dependencia de C Runtime) ilustran el uso de una llamada explícita a ExitProcess () para finalizar el progtwig al final del código de punto de entrada. No estoy hablando de usar ExitProcess () para salir en alguna […]

¿Por qué el progtwig C comstackdo por GCC necesita la sección .eh_frame?

La prueba es en Linux de 32 bits x86 con gcc 4.6.3 Cuando uso gcc para comstackr un progtwig C y usar readelf para verificar la información de la sección, puedo ver las secciones .eh_frame_hdr y .eh_frame_hdr dentro. Por ejemplo, aquí está la información de la sección del progtwig binario Perlbench . readelf -S perlbench […]

Cómo imprimir un número en el ensamblado NASM?

Supongamos que tengo un número entero en un registro, ¿cómo puedo imprimirlo? ¿Puedes mostrar un código de ejemplo simple? Ya sé cómo imprimir una cadena como “hola, mundo”. Estoy desarrollando en Linux.

¿’Cambiar’ es más rápido que ‘si’?

¿Es una instrucción switch realmente más rápida que una instrucción if ? Ejecuté el siguiente código en el comstackdor x64 C ++ de Visual Studio 2010 con el indicador /Ox : #include #include #include #define MAX_COUNT (1 << 29) size_t counter = 0; size_t testSwitch() { clock_t start = clock(); size_t i; for (i = […]